diff --git a/README.md b/README.md index dc19f6b..a63581b 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,20 @@ Python SDK is under development. ## Deployments +### v3.2 - Somnia Testnet + +```txt +ENSEMBLE_CREDITS_ADDRESS=0xfEE4F3a034B242f2DdadC2f3090787FFaaa0a7b6 + +# Proxy Addresses (Use these for interactions) +AGENTS_REGISTRY_ADDRESS=0xF8509bE0589Ba90BE8c9cd011EC05FcD0127673F +TASK_REGISTRY_ADDRESS=0xfd35138F35e1F39766E6a4a9F01eB326EFEF6B58 + +# Implementation Addresses (For verification and upgrades) +AGENTS_REGISTRY_IMPLEMENTATION_ADDRESS=0x346Fb1e8B84427510b8F916e2863D0f9e9cae7Df +TASK_REGISTRY_IMPLEMENTATION_ADDRESS=0x57f335f38E9900E15f4Fb3d97F745DC7eDC13ffa +``` + ### v3.2 - Base Sepolia ```txt diff --git a/packages/contracts/README.md b/packages/contracts/README.md index b074c98..f1b6802 100644 --- a/packages/contracts/README.md +++ b/packages/contracts/README.md @@ -237,6 +237,20 @@ Before mainnet deployment: Contracts are deployed to the following networks. +### v3.2 - Somnia Testnet + +```txt +ENSEMBLE_CREDITS_ADDRESS=0xfEE4F3a034B242f2DdadC2f3090787FFaaa0a7b6 + +# Proxy Addresses (Use these for interactions) +AGENTS_REGISTRY_ADDRESS=0xF8509bE0589Ba90BE8c9cd011EC05FcD0127673F +TASK_REGISTRY_ADDRESS=0xfd35138F35e1F39766E6a4a9F01eB326EFEF6B58 + +# Implementation Addresses (For verification and upgrades) +AGENTS_REGISTRY_IMPLEMENTATION_ADDRESS=0x346Fb1e8B84427510b8F916e2863D0f9e9cae7Df +TASK_REGISTRY_IMPLEMENTATION_ADDRESS=0x57f335f38E9900E15f4Fb3d97F745DC7eDC13ffa +``` + ### v3.2 - Base Sepolia ```txt diff --git a/packages/contracts/hardhat.config.ts b/packages/contracts/hardhat.config.ts index 5568215..6b7825a 100644 --- a/packages/contracts/hardhat.config.ts +++ b/packages/contracts/hardhat.config.ts @@ -59,6 +59,15 @@ const config: HardhatUserConfig = { allowUnlimitedContractSize: false, gas: "auto", gasPrice: "auto", + }, + somniaTestnet: { + url: "https://dream-rpc.somnia.network", + accounts: process.env.PRIVATE_KEY ? [process.env.PRIVATE_KEY] : [], + chainId: 50312, + gasMultiplier: 1.2 + // allowUnlimitedContractSize: false, + // gas: "auto", + // gasPrice: "auto", } }, paths: { @@ -91,6 +100,14 @@ const config: HardhatUserConfig = { apiURL: "https://api-sepolia.basescan.org/api", browserURL: "https://sepolia.basescan.org" } + }, + { + network: "somniaTestnet", + chainId: 50312, + urls: { + apiURL: "https://dream-rpc.somnia.network", + browserURL: "https://shannon-explorer.somnia.network/" + } } ] }, diff --git a/packages/contracts/ignition/deployments/chain-50312/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.dbg.json b/packages/contracts/ignition/deployments/chain-50312/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.dbg.json new file mode 100644 index 0000000..26a6898 --- /dev/null +++ b/packages/contracts/ignition/deployments/chain-50312/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../build-info/fab9518c2cef19300334ce4b9b347f6b.json" +} \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-50312/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.json b/packages/contracts/ignition/deployments/chain-50312/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.json new file mode 100644 index 0000000..0991120 --- /dev/null +++ b/packages/contracts/ignition/deployments/chain-50312/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.json @@ -0,0 +1,890 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "AgentsRegistryUpgradeable", + "sourceName": "contracts/AgentsRegistryUpgradeable.sol", + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "type": "error" + }, + { + "inputs": [], + "name": "FailedCall", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "inputs": [], + "name": "UUPSUnauthorizedCallContext", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + } + ], + "name": "UUPSUnsupportedProxiableUUID", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "agentUri", + "type": "string" + } + ], + "name": "AgentDataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "agentUri", + "type": "string" + } + ], + "name": "AgentRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "AgentRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "ProposalAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "ProposalRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "ProposalUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newReputation", + "type": "uint256" + } + ], + "name": "ReputationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "string", + "name": "serviceName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "servicePrice", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "addProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_rating", + "type": "uint256" + } + ], + "name": "addRating", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "agentRegistryV1", + "outputs": [ + { + "internalType": "contract IAgentRegistryV1", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "agents", + "outputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "agentUri", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "uint256", + "name": "reputation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalRatings", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_agent", + "type": "address" + } + ], + "name": "getAgentData", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "agentUri", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "uint256", + "name": "reputation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalRatings", + "type": "uint256" + } + ], + "internalType": "struct AgentsRegistryUpgradeable.AgentData", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "getProposal", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "issuer", + "type": "address" + }, + { + "internalType": "string", + "name": "serviceName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isActive", + "type": "bool" + } + ], + "internalType": "struct IProposalStruct.ServiceProposal", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + } + ], + "name": "getReputation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IAgentRegistryV1", + "name": "_agentRegistryV1", + "type": "address" + }, + { + "internalType": "contract ServiceRegistryUpgradeable", + "name": "_serviceRegistry", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + } + ], + "name": "migrateAgent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nextProposalId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "proposals", + "outputs": [ + { + "internalType": "address", + "name": "issuer", + "type": "address" + }, + { + "internalType": "string", + "name": "serviceName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isActive", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "agentUri", + "type": "string" + } + ], + "name": "registerAgent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "agentUri", + "type": "string" + }, + { + "internalType": "string", + "name": "serviceName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "servicePrice", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "registerAgentWithService", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + } + ], + "name": "removeAgent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "removeProposal", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "serviceRegistry", + "outputs": [ + { + "internalType": "contract ServiceRegistryUpgradeable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "agentUri", + "type": "string" + } + ], + "name": "setAgentData", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_serviceRegistry", + "type": "address" + } + ], + "name": "setServiceRegistry", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_taskRegistry", + "type": "address" + } + ], + "name": "setTaskRegistry", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "taskRegistry", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb062000104600039600081816118f0015281816119190152611a5a0152612eb06000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033", + "deployedBytecode": "0x6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033", + "linkReferences": {}, + "deployedLinkReferences": {} +} \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/build-info/92a867347047d071fbd362c460decd54.json b/packages/contracts/ignition/deployments/chain-50312/build-info/fab9518c2cef19300334ce4b9b347f6b.json similarity index 96% rename from packages/contracts/ignition/deployments/chain-84532/build-info/92a867347047d071fbd362c460decd54.json rename to packages/contracts/ignition/deployments/chain-50312/build-info/fab9518c2cef19300334ce4b9b347f6b.json index 146d846..e642155 100644 --- a/packages/contracts/ignition/deployments/chain-84532/build-info/92a867347047d071fbd362c460decd54.json +++ b/packages/contracts/ignition/deployments/chain-50312/build-info/fab9518c2cef19300334ce4b9b347f6b.json @@ -1,5 +1,5 @@ { - "id": "92a867347047d071fbd362c460decd54", + "id": "fab9518c2cef19300334ce4b9b347f6b", "_format": "hh-sol-build-info-1", "solcVersion": "0.8.22", "solcLongVersion": "0.8.22+commit.4fc1097e", @@ -19,19 +19,19 @@ "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\nimport {Initializable} from \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract ContextUpgradeable is Initializable {\n function __Context_init() internal onlyInitializing {\n }\n\n function __Context_init_unchained() internal onlyInitializing {\n }\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n" }, "@openzeppelin/contracts/interfaces/draft-IERC1822.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC1822.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n * proxy whose upgrades are fully controlled by the current implementation.\n */\ninterface IERC1822Proxiable {\n /**\n * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n * address.\n *\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n * function revert if invoked through a proxy.\n */\n function proxiableUUID() external view returns (bytes32);\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC1822.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n * proxy whose upgrades are fully controlled by the current implementation.\n */\ninterface IERC1822Proxiable {\n /**\n * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n * address.\n *\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n * function revert if invoked through a proxy.\n */\n function proxiableUUID() external view returns (bytes32);\n}\n" }, "@openzeppelin/contracts/interfaces/IERC1967.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1967.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.\n */\ninterface IERC1967 {\n /**\n * @dev Emitted when the implementation is upgraded.\n */\n event Upgraded(address indexed implementation);\n\n /**\n * @dev Emitted when the admin account has changed.\n */\n event AdminChanged(address previousAdmin, address newAdmin);\n\n /**\n * @dev Emitted when the beacon is changed.\n */\n event BeaconUpgraded(address indexed beacon);\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1967.sol)\n\npragma solidity >=0.4.11;\n\n/**\n * @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.\n */\ninterface IERC1967 {\n /**\n * @dev Emitted when the implementation is upgraded.\n */\n event Upgraded(address indexed implementation);\n\n /**\n * @dev Emitted when the admin account has changed.\n */\n event AdminChanged(address previousAdmin, address newAdmin);\n\n /**\n * @dev Emitted when the beacon is changed.\n */\n event BeaconUpgraded(address indexed beacon);\n}\n" }, "@openzeppelin/contracts/proxy/beacon/IBeacon.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (proxy/beacon/IBeacon.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev This is the interface that {BeaconProxy} expects of its beacon.\n */\ninterface IBeacon {\n /**\n * @dev Must return an address that can be used as a delegate call target.\n *\n * {UpgradeableBeacon} will check that this address is a contract.\n */\n function implementation() external view returns (address);\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (proxy/beacon/IBeacon.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev This is the interface that {BeaconProxy} expects of its beacon.\n */\ninterface IBeacon {\n /**\n * @dev Must return an address that can be used as a delegate call target.\n *\n * {UpgradeableBeacon} will check that this address is a contract.\n */\n function implementation() external view returns (address);\n}\n" }, "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.2.0) (proxy/ERC1967/ERC1967Utils.sol)\n\npragma solidity ^0.8.22;\n\nimport {IBeacon} from \"../beacon/IBeacon.sol\";\nimport {IERC1967} from \"../../interfaces/IERC1967.sol\";\nimport {Address} from \"../../utils/Address.sol\";\nimport {StorageSlot} from \"../../utils/StorageSlot.sol\";\n\n/**\n * @dev This library provides getters and event emitting update functions for\n * https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.\n */\nlibrary ERC1967Utils {\n /**\n * @dev Storage slot with the address of the current implementation.\n * This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /**\n * @dev The `implementation` of the proxy is invalid.\n */\n error ERC1967InvalidImplementation(address implementation);\n\n /**\n * @dev The `admin` of the proxy is invalid.\n */\n error ERC1967InvalidAdmin(address admin);\n\n /**\n * @dev The `beacon` of the proxy is invalid.\n */\n error ERC1967InvalidBeacon(address beacon);\n\n /**\n * @dev An upgrade function sees `msg.value > 0` that may be lost.\n */\n error ERC1967NonPayable();\n\n /**\n * @dev Returns the current implementation address.\n */\n function getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the ERC-1967 implementation slot.\n */\n function _setImplementation(address newImplementation) private {\n if (newImplementation.code.length == 0) {\n revert ERC1967InvalidImplementation(newImplementation);\n }\n StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value = newImplementation;\n }\n\n /**\n * @dev Performs implementation upgrade with additional setup call if data is nonempty.\n * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n * to avoid stuck value in the contract.\n *\n * Emits an {IERC1967-Upgraded} event.\n */\n function upgradeToAndCall(address newImplementation, bytes memory data) internal {\n _setImplementation(newImplementation);\n emit IERC1967.Upgraded(newImplementation);\n\n if (data.length > 0) {\n Address.functionDelegateCall(newImplementation, data);\n } else {\n _checkNonPayable();\n }\n }\n\n /**\n * @dev Storage slot with the admin of the contract.\n * This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\n\n /**\n * @dev Returns the current admin.\n *\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n * the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\n */\n function getAdmin() internal view returns (address) {\n return StorageSlot.getAddressSlot(ADMIN_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the ERC-1967 admin slot.\n */\n function _setAdmin(address newAdmin) private {\n if (newAdmin == address(0)) {\n revert ERC1967InvalidAdmin(address(0));\n }\n StorageSlot.getAddressSlot(ADMIN_SLOT).value = newAdmin;\n }\n\n /**\n * @dev Changes the admin of the proxy.\n *\n * Emits an {IERC1967-AdminChanged} event.\n */\n function changeAdmin(address newAdmin) internal {\n emit IERC1967.AdminChanged(getAdmin(), newAdmin);\n _setAdmin(newAdmin);\n }\n\n /**\n * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n * This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;\n\n /**\n * @dev Returns the current beacon.\n */\n function getBeacon() internal view returns (address) {\n return StorageSlot.getAddressSlot(BEACON_SLOT).value;\n }\n\n /**\n * @dev Stores a new beacon in the ERC-1967 beacon slot.\n */\n function _setBeacon(address newBeacon) private {\n if (newBeacon.code.length == 0) {\n revert ERC1967InvalidBeacon(newBeacon);\n }\n\n StorageSlot.getAddressSlot(BEACON_SLOT).value = newBeacon;\n\n address beaconImplementation = IBeacon(newBeacon).implementation();\n if (beaconImplementation.code.length == 0) {\n revert ERC1967InvalidImplementation(beaconImplementation);\n }\n }\n\n /**\n * @dev Change the beacon and trigger a setup call if data is nonempty.\n * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n * to avoid stuck value in the contract.\n *\n * Emits an {IERC1967-BeaconUpgraded} event.\n *\n * CAUTION: Invoking this function has no effect on an instance of {BeaconProxy} since v5, since\n * it uses an immutable beacon without looking at the value of the ERC-1967 beacon slot for\n * efficiency.\n */\n function upgradeBeaconToAndCall(address newBeacon, bytes memory data) internal {\n _setBeacon(newBeacon);\n emit IERC1967.BeaconUpgraded(newBeacon);\n\n if (data.length > 0) {\n Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data);\n } else {\n _checkNonPayable();\n }\n }\n\n /**\n * @dev Reverts if `msg.value` is not zero. It can be used to avoid `msg.value` stuck in the contract\n * if an upgrade doesn't perform an initialization call.\n */\n function _checkNonPayable() private {\n if (msg.value > 0) {\n revert ERC1967NonPayable();\n }\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (proxy/ERC1967/ERC1967Utils.sol)\n\npragma solidity ^0.8.21;\n\nimport {IBeacon} from \"../beacon/IBeacon.sol\";\nimport {IERC1967} from \"../../interfaces/IERC1967.sol\";\nimport {Address} from \"../../utils/Address.sol\";\nimport {StorageSlot} from \"../../utils/StorageSlot.sol\";\n\n/**\n * @dev This library provides getters and event emitting update functions for\n * https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.\n */\nlibrary ERC1967Utils {\n /**\n * @dev Storage slot with the address of the current implementation.\n * This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /**\n * @dev The `implementation` of the proxy is invalid.\n */\n error ERC1967InvalidImplementation(address implementation);\n\n /**\n * @dev The `admin` of the proxy is invalid.\n */\n error ERC1967InvalidAdmin(address admin);\n\n /**\n * @dev The `beacon` of the proxy is invalid.\n */\n error ERC1967InvalidBeacon(address beacon);\n\n /**\n * @dev An upgrade function sees `msg.value > 0` that may be lost.\n */\n error ERC1967NonPayable();\n\n /**\n * @dev Returns the current implementation address.\n */\n function getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the ERC-1967 implementation slot.\n */\n function _setImplementation(address newImplementation) private {\n if (newImplementation.code.length == 0) {\n revert ERC1967InvalidImplementation(newImplementation);\n }\n StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value = newImplementation;\n }\n\n /**\n * @dev Performs implementation upgrade with additional setup call if data is nonempty.\n * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n * to avoid stuck value in the contract.\n *\n * Emits an {IERC1967-Upgraded} event.\n */\n function upgradeToAndCall(address newImplementation, bytes memory data) internal {\n _setImplementation(newImplementation);\n emit IERC1967.Upgraded(newImplementation);\n\n if (data.length > 0) {\n Address.functionDelegateCall(newImplementation, data);\n } else {\n _checkNonPayable();\n }\n }\n\n /**\n * @dev Storage slot with the admin of the contract.\n * This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\n\n /**\n * @dev Returns the current admin.\n *\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n * the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\n */\n function getAdmin() internal view returns (address) {\n return StorageSlot.getAddressSlot(ADMIN_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the ERC-1967 admin slot.\n */\n function _setAdmin(address newAdmin) private {\n if (newAdmin == address(0)) {\n revert ERC1967InvalidAdmin(address(0));\n }\n StorageSlot.getAddressSlot(ADMIN_SLOT).value = newAdmin;\n }\n\n /**\n * @dev Changes the admin of the proxy.\n *\n * Emits an {IERC1967-AdminChanged} event.\n */\n function changeAdmin(address newAdmin) internal {\n emit IERC1967.AdminChanged(getAdmin(), newAdmin);\n _setAdmin(newAdmin);\n }\n\n /**\n * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n * This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;\n\n /**\n * @dev Returns the current beacon.\n */\n function getBeacon() internal view returns (address) {\n return StorageSlot.getAddressSlot(BEACON_SLOT).value;\n }\n\n /**\n * @dev Stores a new beacon in the ERC-1967 beacon slot.\n */\n function _setBeacon(address newBeacon) private {\n if (newBeacon.code.length == 0) {\n revert ERC1967InvalidBeacon(newBeacon);\n }\n\n StorageSlot.getAddressSlot(BEACON_SLOT).value = newBeacon;\n\n address beaconImplementation = IBeacon(newBeacon).implementation();\n if (beaconImplementation.code.length == 0) {\n revert ERC1967InvalidImplementation(beaconImplementation);\n }\n }\n\n /**\n * @dev Change the beacon and trigger a setup call if data is nonempty.\n * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n * to avoid stuck value in the contract.\n *\n * Emits an {IERC1967-BeaconUpgraded} event.\n *\n * CAUTION: Invoking this function has no effect on an instance of {BeaconProxy} since v5, since\n * it uses an immutable beacon without looking at the value of the ERC-1967 beacon slot for\n * efficiency.\n */\n function upgradeBeaconToAndCall(address newBeacon, bytes memory data) internal {\n _setBeacon(newBeacon);\n emit IERC1967.BeaconUpgraded(newBeacon);\n\n if (data.length > 0) {\n Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data);\n } else {\n _checkNonPayable();\n }\n }\n\n /**\n * @dev Reverts if `msg.value` is not zero. It can be used to avoid `msg.value` stuck in the contract\n * if an upgrade doesn't perform an initialization call.\n */\n function _checkNonPayable() private {\n if (msg.value > 0) {\n revert ERC1967NonPayable();\n }\n }\n}\n" }, "@openzeppelin/contracts/utils/Address.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.2.0) (utils/Address.sol)\n\npragma solidity ^0.8.20;\n\nimport {Errors} from \"./Errors.sol\";\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev There's no code at `target` (it is not a contract).\n */\n error AddressEmptyCode(address target);\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n if (address(this).balance < amount) {\n revert Errors.InsufficientBalance(address(this).balance, amount);\n }\n\n (bool success, bytes memory returndata) = recipient.call{value: amount}(\"\");\n if (!success) {\n _revert(returndata);\n }\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason or custom error, it is bubbled\n * up by this function (like regular Solidity function calls). However, if\n * the call reverted with no returned reason, this function reverts with a\n * {Errors.FailedCall} error.\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n if (address(this).balance < value) {\n revert Errors.InsufficientBalance(address(this).balance, value);\n }\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target\n * was not a contract or bubbling up the revert reason (falling back to {Errors.FailedCall}) in case\n * of an unsuccessful call.\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata\n ) internal view returns (bytes memory) {\n if (!success) {\n _revert(returndata);\n } else {\n // only check if target is a contract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n if (returndata.length == 0 && target.code.length == 0) {\n revert AddressEmptyCode(target);\n }\n return returndata;\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the\n * revert reason or with a default {Errors.FailedCall} error.\n */\n function verifyCallResult(bool success, bytes memory returndata) internal pure returns (bytes memory) {\n if (!success) {\n _revert(returndata);\n } else {\n return returndata;\n }\n }\n\n /**\n * @dev Reverts with returndata if present. Otherwise reverts with {Errors.FailedCall}.\n */\n function _revert(bytes memory returndata) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n assembly (\"memory-safe\") {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert Errors.FailedCall();\n }\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/Address.sol)\n\npragma solidity ^0.8.20;\n\nimport {Errors} from \"./Errors.sol\";\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev There's no code at `target` (it is not a contract).\n */\n error AddressEmptyCode(address target);\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n if (address(this).balance < amount) {\n revert Errors.InsufficientBalance(address(this).balance, amount);\n }\n\n (bool success, bytes memory returndata) = recipient.call{value: amount}(\"\");\n if (!success) {\n _revert(returndata);\n }\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason or custom error, it is bubbled\n * up by this function (like regular Solidity function calls). However, if\n * the call reverted with no returned reason, this function reverts with a\n * {Errors.FailedCall} error.\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n if (address(this).balance < value) {\n revert Errors.InsufficientBalance(address(this).balance, value);\n }\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target\n * was not a contract or bubbling up the revert reason (falling back to {Errors.FailedCall}) in case\n * of an unsuccessful call.\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata\n ) internal view returns (bytes memory) {\n if (!success) {\n _revert(returndata);\n } else {\n // only check if target is a contract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n if (returndata.length == 0 && target.code.length == 0) {\n revert AddressEmptyCode(target);\n }\n return returndata;\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the\n * revert reason or with a default {Errors.FailedCall} error.\n */\n function verifyCallResult(bool success, bytes memory returndata) internal pure returns (bytes memory) {\n if (!success) {\n _revert(returndata);\n } else {\n return returndata;\n }\n }\n\n /**\n * @dev Reverts with returndata if present. Otherwise reverts with {Errors.FailedCall}.\n */\n function _revert(bytes memory returndata) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n assembly (\"memory-safe\") {\n revert(add(returndata, 0x20), mload(returndata))\n }\n } else {\n revert Errors.FailedCall();\n }\n }\n}\n" }, "@openzeppelin/contracts/utils/Errors.sol": { "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/Errors.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Collection of common custom errors used in multiple contracts\n *\n * IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library.\n * It is recommended to avoid relying on the error API for critical functionality.\n *\n * _Available since v5.1._\n */\nlibrary Errors {\n /**\n * @dev The ETH balance of the account is not enough to perform the operation.\n */\n error InsufficientBalance(uint256 balance, uint256 needed);\n\n /**\n * @dev A call to an address target failed. The target may have reverted.\n */\n error FailedCall();\n\n /**\n * @dev The deployment failed.\n */\n error FailedDeployment();\n\n /**\n * @dev A necessary precompile is missing.\n */\n error MissingPrecompile(address);\n}\n" @@ -7982,12 +7982,12 @@ "id": 692, "literals": [ "solidity", - "^", - "0.8", - ".20" + ">=", + "0.4", + ".11" ], "nodeType": "PragmaDirective", - "src": "107:24:4" + "src": "107:25:4" }, { "abstract": false, @@ -7998,7 +7998,7 @@ "documentation": { "id": 693, "nodeType": "StructuredDocumentation", - "src": "133:101:4", + "src": "134:101:4", "text": " @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC." }, "fullyImplemented": true, @@ -8007,7 +8007,7 @@ 711 ], "name": "IERC1967", - "nameLocation": "245:8:4", + "nameLocation": "246:8:4", "nodeType": "ContractDefinition", "nodes": [ { @@ -8015,13 +8015,13 @@ "documentation": { "id": 694, "nodeType": "StructuredDocumentation", - "src": "260:68:4", + "src": "261:68:4", "text": " @dev Emitted when the implementation is upgraded." }, "eventSelector": "bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", "id": 698, "name": "Upgraded", - "nameLocation": "339:8:4", + "nameLocation": "340:8:4", "nodeType": "EventDefinition", "parameters": { "id": 697, @@ -8033,10 +8033,10 @@ "indexed": true, "mutability": "mutable", "name": "implementation", - "nameLocation": "364:14:4", + "nameLocation": "365:14:4", "nodeType": "VariableDeclaration", "scope": 698, - "src": "348:30:4", + "src": "349:30:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8047,7 +8047,7 @@ "id": 695, "name": "address", "nodeType": "ElementaryTypeName", - "src": "348:7:4", + "src": "349:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8057,22 +8057,22 @@ "visibility": "internal" } ], - "src": "347:32:4" + "src": "348:32:4" }, - "src": "333:47:4" + "src": "334:47:4" }, { "anonymous": false, "documentation": { "id": 699, "nodeType": "StructuredDocumentation", - "src": "386:67:4", + "src": "387:67:4", "text": " @dev Emitted when the admin account has changed." }, "eventSelector": "7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f", "id": 705, "name": "AdminChanged", - "nameLocation": "464:12:4", + "nameLocation": "465:12:4", "nodeType": "EventDefinition", "parameters": { "id": 704, @@ -8084,10 +8084,10 @@ "indexed": false, "mutability": "mutable", "name": "previousAdmin", - "nameLocation": "485:13:4", + "nameLocation": "486:13:4", "nodeType": "VariableDeclaration", "scope": 705, - "src": "477:21:4", + "src": "478:21:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8098,7 +8098,7 @@ "id": 700, "name": "address", "nodeType": "ElementaryTypeName", - "src": "477:7:4", + "src": "478:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8113,10 +8113,10 @@ "indexed": false, "mutability": "mutable", "name": "newAdmin", - "nameLocation": "508:8:4", + "nameLocation": "509:8:4", "nodeType": "VariableDeclaration", "scope": 705, - "src": "500:16:4", + "src": "501:16:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8127,7 +8127,7 @@ "id": 702, "name": "address", "nodeType": "ElementaryTypeName", - "src": "500:7:4", + "src": "501:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8137,22 +8137,22 @@ "visibility": "internal" } ], - "src": "476:41:4" + "src": "477:41:4" }, - "src": "458:60:4" + "src": "459:60:4" }, { "anonymous": false, "documentation": { "id": 706, "nodeType": "StructuredDocumentation", - "src": "524:59:4", + "src": "525:59:4", "text": " @dev Emitted when the beacon is changed." }, "eventSelector": "1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e", "id": 710, "name": "BeaconUpgraded", - "nameLocation": "594:14:4", + "nameLocation": "595:14:4", "nodeType": "EventDefinition", "parameters": { "id": 709, @@ -8164,10 +8164,10 @@ "indexed": true, "mutability": "mutable", "name": "beacon", - "nameLocation": "625:6:4", + "nameLocation": "626:6:4", "nodeType": "VariableDeclaration", "scope": 710, - "src": "609:22:4", + "src": "610:22:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8178,7 +8178,7 @@ "id": 707, "name": "address", "nodeType": "ElementaryTypeName", - "src": "609:7:4", + "src": "610:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -8188,13 +8188,13 @@ "visibility": "internal" } ], - "src": "608:24:4" + "src": "609:24:4" }, - "src": "588:45:4" + "src": "589:45:4" } ], "scope": 712, - "src": "235:400:4", + "src": "236:400:4", "usedErrors": [], "usedEvents": [ 698, @@ -8203,7 +8203,7 @@ ] } ], - "src": "107:529:4" + "src": "107:530:4" }, "id": 4 }, @@ -8223,12 +8223,12 @@ "id": 713, "literals": [ "solidity", - "^", - "0.8", - ".20" + ">=", + "0.4", + ".16" ], "nodeType": "PragmaDirective", - "src": "113:24:5" + "src": "113:25:5" }, { "abstract": false, @@ -8239,7 +8239,7 @@ "documentation": { "id": 714, "nodeType": "StructuredDocumentation", - "src": "139:204:5", + "src": "140:204:5", "text": " @dev ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n proxy whose upgrades are fully controlled by the current implementation." }, "fullyImplemented": false, @@ -8248,14 +8248,14 @@ 721 ], "name": "IERC1822Proxiable", - "nameLocation": "354:17:5", + "nameLocation": "355:17:5", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { "id": 715, "nodeType": "StructuredDocumentation", - "src": "378:438:5", + "src": "379:438:5", "text": " @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n address.\n IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n function revert if invoked through a proxy." }, "functionSelector": "52d1902d", @@ -8264,13 +8264,13 @@ "kind": "function", "modifiers": [], "name": "proxiableUUID", - "nameLocation": "830:13:5", + "nameLocation": "831:13:5", "nodeType": "FunctionDefinition", "parameters": { "id": 716, "nodeType": "ParameterList", "parameters": [], - "src": "843:2:5" + "src": "844:2:5" }, "returnParameters": { "id": 719, @@ -8284,7 +8284,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 720, - "src": "869:7:5", + "src": "870:7:5", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8295,7 +8295,7 @@ "id": 717, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "869:7:5", + "src": "870:7:5", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8304,22 +8304,22 @@ "visibility": "internal" } ], - "src": "868:9:5" + "src": "869:9:5" }, "scope": 721, - "src": "821:57:5", + "src": "822:57:5", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 722, - "src": "344:536:5", + "src": "345:536:5", "usedErrors": [], "usedEvents": [] } ], - "src": "113:768:5" + "src": "113:769:5" }, "id": 5 }, @@ -8353,7 +8353,7 @@ "solidity", "^", "0.8", - ".22" + ".21" ], "nodeType": "PragmaDirective", "src": "114:24:6" @@ -11873,12 +11873,12 @@ "id": 1017, "literals": [ "solidity", - "^", - "0.8", - ".20" + ">=", + "0.4", + ".16" ], "nodeType": "PragmaDirective", - "src": "108:24:7" + "src": "108:25:7" }, { "abstract": false, @@ -11889,7 +11889,7 @@ "documentation": { "id": 1018, "nodeType": "StructuredDocumentation", - "src": "134:79:7", + "src": "135:79:7", "text": " @dev This is the interface that {BeaconProxy} expects of its beacon." }, "fullyImplemented": false, @@ -11898,14 +11898,14 @@ 1025 ], "name": "IBeacon", - "nameLocation": "224:7:7", + "nameLocation": "225:7:7", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { "id": 1019, "nodeType": "StructuredDocumentation", - "src": "238:168:7", + "src": "239:168:7", "text": " @dev Must return an address that can be used as a delegate call target.\n {UpgradeableBeacon} will check that this address is a contract." }, "functionSelector": "5c60da1b", @@ -11914,13 +11914,13 @@ "kind": "function", "modifiers": [], "name": "implementation", - "nameLocation": "420:14:7", + "nameLocation": "421:14:7", "nodeType": "FunctionDefinition", "parameters": { "id": 1020, "nodeType": "ParameterList", "parameters": [], - "src": "434:2:7" + "src": "435:2:7" }, "returnParameters": { "id": 1023, @@ -11934,7 +11934,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 1024, - "src": "460:7:7", + "src": "461:7:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11945,7 +11945,7 @@ "id": 1021, "name": "address", "nodeType": "ElementaryTypeName", - "src": "460:7:7", + "src": "461:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11955,22 +11955,22 @@ "visibility": "internal" } ], - "src": "459:9:7" + "src": "460:9:7" }, "scope": 1025, - "src": "411:58:7", + "src": "412:58:7", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 1026, - "src": "214:257:7", + "src": "215:257:7", "usedErrors": [], "usedEvents": [] } ], - "src": "108:364:7" + "src": "108:365:7" }, "id": 7 }, @@ -14999,7 +14999,7 @@ "body": { "id": 1283, "nodeType": "Block", - "src": "5614:432:8", + "src": "5614:379:8", "statements": [ { "condition": { @@ -15066,7 +15066,7 @@ "falseBody": { "id": 1281, "nodeType": "Block", - "src": "5989:51:8", + "src": "5936:51:8", "statements": [ { "errorCall": { @@ -15079,7 +15079,7 @@ "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 1307, - "src": "6010:6:8", + "src": "5957:6:8", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_Errors_$1307_$", "typeString": "type(library Errors)" @@ -15090,11 +15090,11 @@ "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "6017:10:8", + "memberLocation": "5964:10:8", "memberName": "FailedCall", "nodeType": "MemberAccess", "referencedDeclaration": 1298, - "src": "6010:17:8", + "src": "5957:17:8", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" @@ -15109,7 +15109,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6010:19:8", + "src": "5957:19:8", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", @@ -15118,107 +15118,87 @@ }, "id": 1280, "nodeType": "RevertStatement", - "src": "6003:26:8" + "src": "5950:26:8" } ] }, "id": 1282, "nodeType": "IfStatement", - "src": "5686:354:8", + "src": "5686:301:8", "trueBody": { "id": 1275, "nodeType": "Block", - "src": "5713:270:8", + "src": "5713:217:8", "statements": [ { "AST": { - "nativeSrc": "5840:133:8", + "nativeSrc": "5840:80:8", "nodeType": "YulBlock", - "src": "5840:133:8", + "src": "5840:80:8", "statements": [ - { - "nativeSrc": "5858:40:8", - "nodeType": "YulVariableDeclaration", - "src": "5858:40:8", - "value": { - "arguments": [ - { - "name": "returndata", - "nativeSrc": "5887:10:8", - "nodeType": "YulIdentifier", - "src": "5887:10:8" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "5881:5:8", - "nodeType": "YulIdentifier", - "src": "5881:5:8" - }, - "nativeSrc": "5881:17:8", - "nodeType": "YulFunctionCall", - "src": "5881:17:8" - }, - "variables": [ - { - "name": "returndata_size", - "nativeSrc": "5862:15:8", - "nodeType": "YulTypedName", - "src": "5862:15:8", - "type": "" - } - ] - }, { "expression": { "arguments": [ { "arguments": [ + { + "name": "returndata", + "nativeSrc": "5869:10:8", + "nodeType": "YulIdentifier", + "src": "5869:10:8" + }, { "kind": "number", - "nativeSrc": "5926:2:8", + "nativeSrc": "5881:4:8", "nodeType": "YulLiteral", - "src": "5926:2:8", + "src": "5881:4:8", "type": "", - "value": "32" - }, - { - "name": "returndata", - "nativeSrc": "5930:10:8", - "nodeType": "YulIdentifier", - "src": "5930:10:8" + "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "5922:3:8", + "nativeSrc": "5865:3:8", "nodeType": "YulIdentifier", - "src": "5922:3:8" + "src": "5865:3:8" }, - "nativeSrc": "5922:19:8", + "nativeSrc": "5865:21:8", "nodeType": "YulFunctionCall", - "src": "5922:19:8" + "src": "5865:21:8" }, { - "name": "returndata_size", - "nativeSrc": "5943:15:8", - "nodeType": "YulIdentifier", - "src": "5943:15:8" + "arguments": [ + { + "name": "returndata", + "nativeSrc": "5894:10:8", + "nodeType": "YulIdentifier", + "src": "5894:10:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5888:5:8", + "nodeType": "YulIdentifier", + "src": "5888:5:8" + }, + "nativeSrc": "5888:17:8", + "nodeType": "YulFunctionCall", + "src": "5888:17:8" } ], "functionName": { "name": "revert", - "nativeSrc": "5915:6:8", + "nativeSrc": "5858:6:8", "nodeType": "YulIdentifier", - "src": "5915:6:8" + "src": "5858:6:8" }, - "nativeSrc": "5915:44:8", + "nativeSrc": "5858:48:8", "nodeType": "YulFunctionCall", - "src": "5915:44:8" + "src": "5858:48:8" }, - "nativeSrc": "5915:44:8", + "nativeSrc": "5858:48:8", "nodeType": "YulExpressionStatement", - "src": "5915:44:8" + "src": "5858:48:8" } ] }, @@ -15228,14 +15208,14 @@ "declaration": 1267, "isOffset": false, "isSlot": false, - "src": "5887:10:8", + "src": "5869:10:8", "valueSize": 1 }, { "declaration": 1267, "isOffset": false, "isSlot": false, - "src": "5930:10:8", + "src": "5894:10:8", "valueSize": 1 } ], @@ -15244,7 +15224,7 @@ ], "id": 1274, "nodeType": "InlineAssembly", - "src": "5815:158:8" + "src": "5815:105:8" } ] } @@ -15305,21 +15285,21 @@ "src": "5614:0:8" }, "scope": 1285, - "src": "5559:487:8", + "src": "5559:434:8", "stateMutability": "pure", "virtual": false, "visibility": "private" } ], "scope": 1286, - "src": "233:5815:8", + "src": "233:5762:8", "usedErrors": [ 1035 ], "usedEvents": [] } ], - "src": "101:5948:8" + "src": "101:5895:8" }, "id": 8 }, @@ -43420,7 +43400,7 @@ "upgradeToAndCall(address,bytes)": "4f1ef286" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy. A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing `UUPSUpgradeable` with a custom implementation of upgrades. The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"UPGRADE_INTERFACE_VERSION\":{\"details\":\"The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)` and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called, while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string. If the getter returns `\\\"5.0.0\\\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must be the empty byte string if no function should be called, making it impossible to invoke the `receive` function during an upgrade.\"},\"__self\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":\"UUPSUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy. A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing `UUPSUpgradeable` with a custom implementation of upgrades. The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"UPGRADE_INTERFACE_VERSION\":{\"details\":\"The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)` and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called, while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string. If the getter returns `\\\"5.0.0\\\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must be the empty byte string if no function should be called, making it impossible to invoke the `receive` function during an upgrade.\"},\"__self\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":\"UUPSUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -43550,7 +43530,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":\"IERC1967\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":\"IERC1967\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -43596,7 +43576,7 @@ "proxiableUUID()": "52d1902d" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified proxy whose upgrades are fully controlled by the current implementation.\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":\"IERC1822Proxiable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified proxy whose upgrades are fully controlled by the current implementation.\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":\"IERC1822Proxiable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -43650,8 +43630,8 @@ "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e274eaccba5882a0af048d39959ca6e8cdf4933e54498c57fc57a9f23851c56b64736f6c63430008160033", - "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE2 PUSH21 0xEACCBA5882A0AF048D39959CA6E8CDF4933E54498C JUMPI 0xFC JUMPI 0xA9 CALLCODE CODESIZE MLOAD 0xC5 PUSH12 0x64736F6C6343000816003300 ", + "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209baa0f683dcc124e324ea3c0ab526cc62e34d6c5576b9108a0aa3731af9601ad64736f6c63430008160033", + "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0xAA 0xF PUSH9 0x3DCC124E324EA3C0AB MSTORE PUSH13 0xC62E34D6C5576B9108A0AA3731 0xAF SWAP7 ADD 0xAD PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", "sourceMap": "496:5741:6:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;496:5741:6;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { @@ -43659,13 +43639,13 @@ "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e274eaccba5882a0af048d39959ca6e8cdf4933e54498c57fc57a9f23851c56b64736f6c63430008160033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE2 PUSH21 0xEACCBA5882A0AF048D39959CA6E8CDF4933E54498C JUMPI 0xFC JUMPI 0xA9 CALLCODE CODESIZE MLOAD 0xC5 PUSH12 0x64736F6C6343000816003300 ", + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209baa0f683dcc124e324ea3c0ab526cc62e34d6c5576b9108a0aa3731af9601ad64736f6c63430008160033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0xAA 0xF PUSH9 0x3DCC124E324EA3C0AB MSTORE PUSH13 0xC62E34D6C5576B9108A0AA3731 0xAF SWAP7 ADD 0xAD PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", "sourceMap": "496:5741:6:-:0;;;;;;;;" }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidBeacon\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"This library provides getters and event emitting update functions for https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.\",\"errors\":{\"ERC1967InvalidAdmin(address)\":[{\"details\":\"The `admin` of the proxy is invalid.\"}],\"ERC1967InvalidBeacon(address)\":[{\"details\":\"The `beacon` of the proxy is invalid.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}]},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ADMIN_SLOT\":{\"details\":\"Storage slot with the admin of the contract. This is the keccak-256 hash of \\\"eip1967.proxy.admin\\\" subtracted by 1.\"},\"BEACON_SLOT\":{\"details\":\"The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. This is the keccak-256 hash of \\\"eip1967.proxy.beacon\\\" subtracted by 1.\"},\"IMPLEMENTATION_SLOT\":{\"details\":\"Storage slot with the address of the current implementation. This is the keccak-256 hash of \\\"eip1967.proxy.implementation\\\" subtracted by 1.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":\"ERC1967Utils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidBeacon\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"This library provides getters and event emitting update functions for https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.\",\"errors\":{\"ERC1967InvalidAdmin(address)\":[{\"details\":\"The `admin` of the proxy is invalid.\"}],\"ERC1967InvalidBeacon(address)\":[{\"details\":\"The `beacon` of the proxy is invalid.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}]},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ADMIN_SLOT\":{\"details\":\"Storage slot with the admin of the contract. This is the keccak-256 hash of \\\"eip1967.proxy.admin\\\" subtracted by 1.\"},\"BEACON_SLOT\":{\"details\":\"The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. This is the keccak-256 hash of \\\"eip1967.proxy.beacon\\\" subtracted by 1.\"},\"IMPLEMENTATION_SLOT\":{\"details\":\"Storage slot with the address of the current implementation. This is the keccak-256 hash of \\\"eip1967.proxy.implementation\\\" subtracted by 1.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":\"ERC1967Utils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -43711,7 +43691,7 @@ "implementation()": "5c60da1b" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is the interface that {BeaconProxy} expects of its beacon.\",\"kind\":\"dev\",\"methods\":{\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {UpgradeableBeacon} will check that this address is a contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":\"IBeacon\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is the interface that {BeaconProxy} expects of its beacon.\",\"kind\":\"dev\",\"methods\":{\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {UpgradeableBeacon} will check that this address is a contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":\"IBeacon\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -43738,22 +43718,22 @@ "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205965a49a4005a86ed954ab6e57bfedc675ff3c6b372d5d68bd315532662a642c64736f6c63430008160033", - "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MSIZE PUSH6 0xA49A4005A86E 0xD9 SLOAD 0xAB PUSH15 0x57BFEDC675FF3C6B372D5D68BD3155 ORIGIN PUSH7 0x2A642C64736F6C PUSH4 0x43000816 STOP CALLER ", - "sourceMap": "233:5815:8:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;233:5815:8;;;;;;;;;;;;;;;;;" + "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f0a467a10c04721c0fddc955e88d253117cad803d69d1e92bde08fd95759797764736f6c63430008160033", + "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CREATE LOG4 PUSH8 0xA10C04721C0FDDC9 SSTORE 0xE8 DUP14 0x25 BALANCE OR 0xCA 0xD8 SUB 0xD6 SWAP14 0x1E SWAP3 0xBD 0xE0 DUP16 0xD9 JUMPI MSIZE PUSH26 0x7764736F6C634300081600330000000000000000000000000000 ", + "sourceMap": "233:5762:8:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;233:5762:8;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205965a49a4005a86ed954ab6e57bfedc675ff3c6b372d5d68bd315532662a642c64736f6c63430008160033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MSIZE PUSH6 0xA49A4005A86E 0xD9 SLOAD 0xAB PUSH15 0x57BFEDC675FF3C6B372D5D68BD3155 ORIGIN PUSH7 0x2A642C64736F6C PUSH4 0x43000816 STOP CALLER ", - "sourceMap": "233:5815:8:-:0;;;;;;;;" + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f0a467a10c04721c0fddc955e88d253117cad803d69d1e92bde08fd95759797764736f6c63430008160033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CREATE LOG4 PUSH8 0xA10C04721C0FDDC9 SSTORE 0xE8 DUP14 0x25 BALANCE OR 0xCA 0xD8 SUB 0xD6 SWAP14 0x1E SWAP3 0xBD 0xE0 DUP16 0xD9 JUMPI MSIZE PUSH26 0x7764736F6C634300081600330000000000000000000000000000 ", + "sourceMap": "233:5762:8:-:0;;;;;;;;" }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -44968,8 +44948,8 @@ } ], "linkReferences": {}, - "object": "60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb162000104600039600081816118f0015281816119190152611a5a0152612eb16000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d4565b610544565b6040516101b89695949392919061223d565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f5565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ac565b610736565b6101e16102353660046124e5565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612548565b6108a8565b34801561027b57600080fd5b506101f961028a366004612565565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612591565b610bd9565b3480156102d057600080fd5b506102e46102df366004612565565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612591565b610d9d565b34801561034d57600080fd5b506101e161035c366004612548565b610ecf565b34801561036d57600080fd5b506101f961037c366004612548565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612548565b611035565b6040516101b89190612606565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612682565b34801561043157600080fd5b506101e1610440366004612695565b611207565b34801561045157600080fd5b506101e1610460366004612548565b61130e565b34801561047157600080fd5b506104856104803660046121d4565b611380565b6040516101b89190612700565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612548565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612548565b61153a565b34801561051e57600080fd5b5061053261052d366004612548565b611578565b6040516101b896959493929190612768565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bc565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f6565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612682565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612842565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5c83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f6565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b5565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612994565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a7565b6001600160a01b038616600090815260036020526040902060040154610b3491906129ba565b610b3e9190612994565b610b4891906129d1565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f6565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f3565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a72565b506001600160a01b0384166000908152600360205260409020600101610e858382612a72565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b31565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612186565b610fc7600183016000612186565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bc565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bc565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f3565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612682565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612842565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bc565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bc565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bc565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a72565b50600181016116fd8582612a72565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b31565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a72565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b56565b60405180910390a26005805490600061189783612b90565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5c833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba9565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5c8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba9565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc2565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612682565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612842565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c66565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612682565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c83565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d48565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8b565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3f565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612192906127bc565b6000825580601f106121a2575050565b601f01602090049060005260206000209081019061157591905b808211156121d057600081556001016121bc565b5090565b6000602082840312156121e657600080fd5b5035919050565b60005b838110156122085781810151838201526020016121f0565b50506000910152565b600081518084526122298160208601602086016121ed565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225f60c0840189612211565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d4576122d461229c565b60405290565b60405160a081016001600160401b03811182821017156122d4576122d461229c565b604051608081016001600160401b03811182821017156122d4576122d461229c565b604051606081016001600160401b03811182821017156122d4576122d461229c565b604051601f8201601f191681016001600160401b03811182821017156123685761236861229c565b604052919050565b60006001600160401b038211156123895761238961229c565b50601f01601f191660200190565b60006123aa6123a584612370565b612340565b90508281528383830111156123be57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e657600080fd5b61215683833560208501612397565b60008060008060008060c0878903121561240e57600080fd5b863561241981612287565b955060208701356001600160401b038082111561243557600080fd5b6124418a838b016123d5565b9650604089013591508082111561245757600080fd5b6124638a838b016123d5565b9550606089013591508082111561247957600080fd5b5061248689828a016123d5565b9350506080870135915060a087013561249e81612287565b809150509295509295509295565b600080604083850312156124bf57600080fd5b82356124ca81612287565b915060208301356124da81612287565b809150509250929050565b600080604083850312156124f857600080fd5b823561250381612287565b915060208301356001600160401b0381111561251e57600080fd5b8301601f8101851361252f57600080fd5b61253e85823560208401612397565b9150509250929050565b60006020828403121561255a57600080fd5b813561215681612287565b6000806040838503121561257857600080fd5b823561258381612287565b946020939093013593505050565b6000806000606084860312156125a657600080fd5b83356125b181612287565b925060208401356001600160401b03808211156125cd57600080fd5b6125d9878388016123d5565b935060408601359150808211156125ef57600080fd5b506125fc868287016123d5565b9150509250925092565b602081526000825160c0602084015261262260e0840182612211565b90506020840151601f1984830301604085015261263f8282612211565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612211565b600080600080608085870312156126ab57600080fd5b84356126b681612287565b935060208501356001600160401b038111156126d157600080fd5b6126dd878288016123d5565b9350506040850135915060608501356126f581612287565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272f60e0850182612211565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277b60c0830189612211565b828103602084015261278d8189612211565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127d057607f821691505b6020821081036127f057634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283d57600080fd5b919050565b60006020828403121561285457600080fd5b6121568261282d565b600082601f83011261286e57600080fd5b815161287c6123a582612370565b81815284602083860101111561289157600080fd5b6128a28260208301602087016121ed565b949350505050565b805161283d81612287565b6000602082840312156128c757600080fd5b81516001600160401b03808211156128de57600080fd5b9083019060c082860312156128f257600080fd5b6128fa6122b2565b82518281111561290957600080fd5b6129158782860161285d565b82525060208301518281111561292a57600080fd5b6129368782860161285d565b602083015250612948604084016128aa565b6040820152612959606084016128aa565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297e565b81810381811115610bbf57610bbf61297e565b8082028115828204841417610bbf57610bbf61297e565b6000826129ee57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a535750805b601f850160051c820191505b8181101561072e57828155600101612a5f565b81516001600160401b03811115612a8b57612a8b61229c565b612a9f81612a9984546127bc565b84612a2a565b602080601f831160018114612ad45760008415612abc5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0357888601518255948401946001909101908401612ae4565b5085821015612b215787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b446040830185612211565b82810360208401526120d68185612211565b848152608060208201526000612b6f6080830186612211565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba257612ba261297e565b5060010190565b600060208284031215612bbb57600080fd5b5051919050565b600060208284031215612bd457600080fd5b81516001600160401b0380821115612beb57600080fd5b9083019060a08286031215612bff57600080fd5b612c076122da565b8251612c1281612287565b8152602083015182811115612c2657600080fd5b612c328782860161285d565b6020830152506040830151604082015260608301516060820152612c586080840161282d565b608082015295945050505050565b600060208284031215612c7857600080fd5b815161215681612287565b600060208284031215612c9557600080fd5b81516001600160401b0380821115612cac57600080fd5b9083019060808286031215612cc057600080fd5b612cc86122fc565b825182811115612cd757600080fd5b612ce38782860161285d565b825250602083015182811115612cf857600080fd5b612d048782860161285d565b602083015250604083015182811115612d1c57600080fd5b612d288782860161285d565b604083015250612d3a6060840161282d565b606082015295945050505050565b606081526000612d5b6060830186612211565b8281036020840152612d6d8186612211565b90508281036040840152612d818185612211565b9695505050505050565b600060208284031215612d9d57600080fd5b81516001600160401b0380821115612db457600080fd5b9083019060608286031215612dc857600080fd5b612dd061231e565b825182811115612ddf57600080fd5b612deb8782860161285d565b825250602083015182811115612e0057600080fd5b612e0c8782860161285d565b602083015250604083015182811115612e2457600080fd5b612e308782860161285d565b60408301525095945050505050565b60008251612e518184602087016121ed565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c34ae9367ae33ccdec2ae0c3c4929f6e386373f088b7309b6dccdc0f92542dcf64736f6c63430008160033", - "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x2EB1 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x18F0 ADD MSTORE DUP2 DUP2 PUSH2 0x1919 ADD MSTORE PUSH2 0x1A5A ADD MSTORE PUSH2 0x2EB1 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x181 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x97A6278E GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xB2D78069 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD7071B1F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD7071B1F EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0xDCA60776 EQ PUSH2 0x4D2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4F2 JUMPI DUP1 PUSH4 0xFD66091E EQ PUSH2 0x512 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xB2D78069 EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0xC7F758A8 EQ PUSH2 0x465 JUMPI DUP1 PUSH4 0xCBCF252A EQ PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x97A6278E EQ PUSH2 0x341 JUMPI DUP1 PUSH4 0x9C89A0E2 EQ PUSH2 0x361 JUMPI DUP1 PUSH4 0x9E498F16 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0xAAC9F15A EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x3E7 JUMPI DUP1 PUSH4 0xAEBFD80E EQ PUSH2 0x425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x7216FE48 GT PUSH2 0x118 JUMPI DUP1 PUSH4 0x7216FE48 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0x7B5C219D EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x96A45139 EQ PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0x70370A81 EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x28F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x13CF08B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x270BAAA8 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x2AB09D14 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x485CC955 EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x23A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D4 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x223D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0x23F5 JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x24AC JUMP JUMPDEST PUSH2 0x736 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x24E5 JUMP JUMPDEST PUSH2 0x86C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x88B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x8A8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x28A CALLDATASIZE PUSH1 0x4 PUSH2 0x2565 JUMP JUMPDEST PUSH2 0xA07 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0xBC5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x2BF CALLDATASIZE PUSH1 0x4 PUSH2 0x2591 JUMP JUMPDEST PUSH2 0xBD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E4 PUSH2 0x2DF CALLDATASIZE PUSH1 0x4 PUSH2 0x2565 JUMP JUMPDEST PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x309 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x33C CALLDATASIZE PUSH1 0x4 PUSH2 0x2591 JUMP JUMPDEST PUSH2 0xD9D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x35C CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0xECF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DA PUSH2 0x3D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2606 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x418 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2682 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x440 CALLDATASIZE PUSH1 0x4 PUSH2 0x2695 JUMP JUMPDEST PUSH2 0x1207 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x451 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x460 CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x130E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x485 PUSH2 0x480 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D4 JUMP JUMPDEST PUSH2 0x1380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2700 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x4CD CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x14C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x50D CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x153A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x532 PUSH2 0x52D CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2768 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 SWAP2 PUSH2 0x570 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x59C SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP2 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 POP PUSH1 0xFF AND DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x65E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x68E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6AB 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 0x6CF SWAP2 SWAP1 PUSH2 0x2842 JUMP JUMPDEST PUSH2 0x714 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x722 DUP7 DUP7 DUP7 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x72E DUP7 DUP5 DUP5 DUP5 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x740 PUSH2 0x18A3 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x767 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x783 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x791 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x7AF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x7D9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x7E2 CALLER PUSH2 0x18CC JUMP JUMPDEST PUSH2 0x7EA PUSH2 0x18DD JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP3 DUP10 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR DUP2 SSTORE PUSH1 0x5 SSTORE DUP4 ISZERO PUSH2 0x863 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x874 PUSH2 0x18E5 JUMP JUMPDEST PUSH2 0x87D DUP3 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x887 DUP3 DUP3 PUSH2 0x1992 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x895 PUSH2 0x1A4F JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x8E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F6 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5564F8AD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xAAC9F15A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x92F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x957 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x28B5 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x995 JUMPI POP PUSH2 0x980 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x9E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F74206F776E6572206F72206167656E74206F776E65720000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x9FE DUP3 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x20 ADD MLOAD DUP5 PUSH1 0x40 ADD MLOAD DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x887 DUP3 PUSH2 0x1A98 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865205461736B526567697374727920636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x64 DUP3 GT ISZERO PUSH2 0xAB5 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0xAE1 SWAP1 DUP5 SWAP1 PUSH2 0x2994 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP3 PUSH2 0xB0E PUSH1 0x1 DUP4 PUSH2 0x29A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH2 0xB34 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0xB3E SWAP2 SWAP1 PUSH2 0x2994 JUMP JUMPDEST PUSH2 0xB48 SWAP2 SWAP1 PUSH2 0x29D1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP4 SWAP1 SSTORE MLOAD SWAP1 SWAP2 PUSH32 0xFC577563F1B9A0461E24ABEF1E1FCC0D33D3D881F20B5DF6DDA59DE4AAE2C821 SWAP2 PUSH2 0xB99 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBCD PUSH2 0x1BEF JUMP JUMPDEST PUSH2 0xBD7 PUSH1 0x0 PUSH2 0x1C21 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0xC15 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F6 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 DUP4 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP2 DUP5 SWAP2 AND CALLER EQ PUSH2 0xC68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND SWAP2 AND EQ PUSH2 0xCD1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0xCFB PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2186 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP5 SWAP2 AND CALLER EQ PUSH2 0xDDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xE3D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xE5F DUP5 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD PUSH2 0xE85 DUP4 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x244B747F2AC491B7662C44209B5F6110934A8725F40D2BD91805F9D919A78B10 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xEC1 SWAP3 SWAP2 SWAP1 PUSH2 0x2B31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP2 AND CALLER EQ PUSH2 0xF0D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xF6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD AND PUSH2 0xF96 DUP4 PUSH2 0x1C92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0xFB9 DUP3 DUP3 PUSH2 0x2186 JUMP JUMPDEST PUSH2 0xFC7 PUSH1 0x1 DUP4 ADD PUSH1 0x0 PUSH2 0x2186 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP3 SWAP1 DUP7 AND SWAP2 PUSH32 0x4CE8B3FE8E0BF47A6FEFBECDFD7C799755CEDE6061655521B10FC2E4B1FCC6B3 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1080 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD SWAP1 SWAP2 SWAP1 DUP3 SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH2 0x10B7 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10E3 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1130 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1105 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1130 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1113 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1149 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1175 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11C2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1197 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11C2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11A5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x3 DUP4 ADD SLOAD AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP6 SWAP2 AND CALLER EQ PUSH2 0x1245 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1275 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1292 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 0x12B6 SWAP2 SWAP1 PUSH2 0x2842 JUMP JUMPDEST PUSH2 0x12FB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1307 DUP6 DUP6 DUP6 DUP6 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1316 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x135E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x13CD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x1409 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1435 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1482 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1457 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1482 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1465 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14D0 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1518 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x156C JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1C21 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP2 SWAP1 PUSH2 0x1593 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x15BF SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x160C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x160C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x15EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1621 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x164D SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x169A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x166F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x169A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x167D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP5 SWAP3 SWAP1 SWAP2 AND SWAP3 POP SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 PUSH2 0x16EE DUP7 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0x16FD DUP6 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP2 DUP11 AND SWAP2 SWAP1 SWAP3 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP4 ADD DUP5 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x2A562EFB52E7CEC209321F57200606311256DA6D2A1B19D44DB7837A3209DE28 SWAP1 PUSH2 0x176B SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH2 0x2B31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP8 DUP2 MSTORE DUP4 DUP6 ADD DUP8 SWAP1 MSTORE DUP6 DUP4 AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x5 SLOAD PUSH1 0x80 DUP6 ADD DUP2 SWAP1 MSTORE PUSH1 0x1 PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x4 SWAP1 SWAP4 MSTORE SWAP5 SWAP1 SWAP5 KECCAK256 DUP4 MLOAD DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR DUP3 SSTORE SWAP3 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP3 ADD SWAP1 PUSH2 0x17F3 SWAP1 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x40 DUP3 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x3 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND OR SWAP1 SSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x4 DUP5 ADD SSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD MLOAD PUSH1 0x5 SWAP3 DUP4 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE SWAP1 SLOAD SWAP1 MLOAD SWAP2 DUP8 AND SWAP2 PUSH32 0xA6E87A4BA187A506BB81720F5FBD241C879EC33DF712DE8C1BFCCC354DBE450F SWAP2 PUSH2 0x187F SWAP2 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH2 0x2B56 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x5 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x1897 DUP4 PUSH2 0x2B90 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0xBBF JUMP JUMPDEST PUSH2 0x18D4 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1DA0 JUMP JUMPDEST PUSH2 0xBD7 PUSH2 0x1D7B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x196C JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1960 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1575 PUSH2 0x1BEF JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x19EC JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x19E9 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2BA9 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1A14 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x1A45 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 PUSH2 0x1DA8 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2AB09D14 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 0x1AEC 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 0x1B10 SWAP2 SWAP1 PUSH2 0x2BA9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1B8F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2BC2 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x1BB8 JUMPI POP DUP1 PUSH1 0x80 ADD MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x1BC3 JUMPI POP PUSH2 0x1BE7 JUMP JUMPDEST PUSH2 0x1BD0 DUP2 PUSH1 0x20 ADD MLOAD PUSH2 0x1DFE JUMP JUMPDEST PUSH2 0x1BE5 DUP5 DUP3 PUSH1 0x20 ADD MLOAD DUP4 PUSH1 0x40 ADD MLOAD PUSH1 0x0 PUSH2 0x177B JUMP JUMPDEST POP JUMPDEST PUSH1 0x1 ADD PUSH2 0x1B15 JUMP JUMPDEST CALLER PUSH2 0x1BF8 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 SLOAD DUP2 LT ISZERO PUSH2 0x887 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP2 AND EQ DUP1 ISZERO PUSH2 0x1CD9 JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x1D73 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0x1D08 PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2186 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST PUSH1 0x1 ADD PUSH2 0x1C95 JUMP JUMPDEST PUSH2 0x1D83 PUSH2 0x1FEA JUMP JUMPDEST PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1542 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1DB1 DUP3 PUSH2 0x2004 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1DF6 JUMPI PUSH2 0xC23 DUP3 DUP3 PUSH2 0x2069 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1E2E SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E4B 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 0x1E6F SWAP2 SWAP1 PUSH2 0x2842 JUMP JUMPDEST PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xCBCF252A 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 0x1EC7 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 0x1EEB SWAP2 SWAP1 PUSH2 0x2C66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3CA3AC5F PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 POP DUP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x794758BE SWAP1 PUSH2 0x1F1F SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F3C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1F64 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2C83 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD SWAP1 MLOAD PUSH4 0x3BD5F621 PUSH1 0xE2 SHL DUP2 MSTORE SWAP5 SWAP6 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP4 PUSH4 0xEF57D884 SWAP4 PUSH2 0x1FA3 SWAP4 SWAP3 SWAP2 PUSH1 0x4 ADD PUSH2 0x2D48 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1FC2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1307 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D8B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF4 PUSH2 0x18A3 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x203A JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x2086 SWAP2 SWAP1 PUSH2 0x2E3F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x20C1 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 0x20C6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x20D6 DUP6 DUP4 DUP4 PUSH2 0x20FE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x2113 JUMPI PUSH2 0x210E DUP3 PUSH2 0x215D JUMP JUMPDEST PUSH2 0x2156 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x212A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2153 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x216D JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP1 SLOAD PUSH2 0x2192 SWAP1 PUSH2 0x27BC JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x21A2 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1575 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x21D0 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x21BC JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x21E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2208 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x21F0 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x2229 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x21ED JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP10 AND DUP4 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x225F PUSH1 0xC0 DUP5 ADD DUP10 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD SWAP8 SWAP1 SWAP8 MSTORE SWAP5 SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xA0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x80 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x2368 JUMPI PUSH2 0x2368 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x2389 JUMPI PUSH2 0x2389 PUSH2 0x229C JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23AA PUSH2 0x23A5 DUP5 PUSH2 0x2370 JUMP JUMPDEST PUSH2 0x2340 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x23BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x23E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x2397 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x240E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x2419 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2435 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2441 DUP11 DUP4 DUP12 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2463 DUP11 DUP4 DUP12 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2479 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2486 DUP10 DUP3 DUP11 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x249E DUP2 PUSH2 0x2287 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x24CA DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x24DA DUP2 PUSH2 0x2287 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2503 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x251E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x252F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x253E DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x2397 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x255A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2156 DUP2 PUSH2 0x2287 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2578 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2583 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x25A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x25B1 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x25CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x25D9 DUP8 DUP4 DUP9 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x25EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25FC DUP7 DUP3 DUP8 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2622 PUSH1 0xE0 DUP5 ADD DUP3 PUSH2 0x2211 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP5 DUP4 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x263F DUP3 DUP3 PUSH2 0x2211 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x60 DUP7 ADD MSTORE DUP1 PUSH1 0x60 DUP8 ADD MLOAD AND PUSH1 0x80 DUP7 ADD MSTORE POP POP PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2156 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x26AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x26B6 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26DD DUP8 DUP3 DUP9 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x26F5 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP5 MLOAD AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0xC0 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x272F PUSH1 0xE0 DUP6 ADD DUP3 PUSH2 0x2211 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP2 PUSH1 0x60 DUP7 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xA0 DUP6 ADD MLOAD ISZERO ISZERO PUSH1 0xC0 DUP6 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x277B PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x2211 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x278D DUP2 DUP10 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND PUSH1 0x40 DUP6 ADD MSTORE SWAP6 SWAP1 SWAP7 AND PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x27D0 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x27F0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x18 SWAP1 DUP3 ADD MSTORE PUSH32 0x4167656E7420616C726561647920726567697374657265640000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x283D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2854 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP3 PUSH2 0x282D JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x286E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x287C PUSH2 0x23A5 DUP3 PUSH2 0x2370 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x2891 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28A2 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x21ED JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH2 0x283D DUP2 PUSH2 0x2287 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x28DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x28F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28FA PUSH2 0x22B2 JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2909 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2915 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x292A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2936 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x2948 PUSH1 0x40 DUP5 ADD PUSH2 0x28AA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2959 PUSH1 0x60 DUP5 ADD PUSH2 0x28AA JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297E JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297E JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297E JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x29EE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865206F776E6572206F6620746865206167656E74000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2A53 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2A5F JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2A8B JUMPI PUSH2 0x2A8B PUSH2 0x229C JUMP JUMPDEST PUSH2 0x2A9F DUP2 PUSH2 0x2A99 DUP5 SLOAD PUSH2 0x27BC JUMP JUMPDEST DUP5 PUSH2 0x2A2A JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2AD4 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2ABC JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2B03 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2AE4 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x2B21 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2B44 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2211 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x20D6 DUP2 DUP6 PUSH2 0x2211 JUMP JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2B6F PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2BA2 JUMPI PUSH2 0x2BA2 PUSH2 0x297E JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BBB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2BEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xA0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2BFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C07 PUSH2 0x22DA JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2C12 DUP2 PUSH2 0x2287 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2C26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C32 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x2C58 PUSH1 0x80 DUP5 ADD PUSH2 0x282D JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2156 DUP2 PUSH2 0x2287 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2CAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x80 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2CC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CC8 PUSH2 0x22FC JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CE3 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D04 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2D1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D28 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH2 0x2D3A PUSH1 0x60 DUP5 ADD PUSH2 0x282D JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2D5B PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2211 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2D6D DUP2 DUP7 PUSH2 0x2211 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x2D81 DUP2 DUP6 PUSH2 0x2211 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x60 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2DC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DD0 PUSH2 0x231E JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DEB DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E0C DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E30 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2E51 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x21ED JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220C3 0x4A 0xE9 CALLDATASIZE PUSH27 0xE33CCDEC2AE0C3C4929F6E386373F088B7309B6DCCDC0F92542DCF PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "object": "60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb062000104600039600081816118f0015281816119190152611a5a0152612eb06000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033", + "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x2EB0 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x18F0 ADD MSTORE DUP2 DUP2 PUSH2 0x1919 ADD MSTORE PUSH2 0x1A5A ADD MSTORE PUSH2 0x2EB0 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x181 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x97A6278E GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xB2D78069 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD7071B1F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD7071B1F EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0xDCA60776 EQ PUSH2 0x4D2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4F2 JUMPI DUP1 PUSH4 0xFD66091E EQ PUSH2 0x512 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xB2D78069 EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0xC7F758A8 EQ PUSH2 0x465 JUMPI DUP1 PUSH4 0xCBCF252A EQ PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x97A6278E EQ PUSH2 0x341 JUMPI DUP1 PUSH4 0x9C89A0E2 EQ PUSH2 0x361 JUMPI DUP1 PUSH4 0x9E498F16 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0xAAC9F15A EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x3E7 JUMPI DUP1 PUSH4 0xAEBFD80E EQ PUSH2 0x425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x7216FE48 GT PUSH2 0x118 JUMPI DUP1 PUSH4 0x7216FE48 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0x7B5C219D EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x96A45139 EQ PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0x70370A81 EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x28F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x13CF08B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x270BAAA8 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x2AB09D14 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x485CC955 EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x23A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D3 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x223C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0x23F4 JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x24AB JUMP JUMPDEST PUSH2 0x736 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x24E4 JUMP JUMPDEST PUSH2 0x86C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x88B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x8A8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x28A CALLDATASIZE PUSH1 0x4 PUSH2 0x2564 JUMP JUMPDEST PUSH2 0xA07 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0xBC5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x2BF CALLDATASIZE PUSH1 0x4 PUSH2 0x2590 JUMP JUMPDEST PUSH2 0xBD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E4 PUSH2 0x2DF CALLDATASIZE PUSH1 0x4 PUSH2 0x2564 JUMP JUMPDEST PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x309 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x33C CALLDATASIZE PUSH1 0x4 PUSH2 0x2590 JUMP JUMPDEST PUSH2 0xD9D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x35C CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0xECF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DA PUSH2 0x3D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2605 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x418 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2681 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x440 CALLDATASIZE PUSH1 0x4 PUSH2 0x2694 JUMP JUMPDEST PUSH2 0x1207 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x451 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x460 CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x130E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x485 PUSH2 0x480 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D3 JUMP JUMPDEST PUSH2 0x1380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x26FF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x4CD CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x14C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x50D CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x153A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x532 PUSH2 0x52D CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2767 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 SWAP2 PUSH2 0x570 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x59C SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP2 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 POP PUSH1 0xFF AND DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x65E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x68E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6AB 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 0x6CF SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x714 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x722 DUP7 DUP7 DUP7 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x72E DUP7 DUP5 DUP5 DUP5 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x740 PUSH2 0x18A3 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x767 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x783 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x791 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x7AF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x7D9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x7E2 CALLER PUSH2 0x18CC JUMP JUMPDEST PUSH2 0x7EA PUSH2 0x18DD JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP3 DUP10 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR DUP2 SSTORE PUSH1 0x5 SSTORE DUP4 ISZERO PUSH2 0x863 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x874 PUSH2 0x18E5 JUMP JUMPDEST PUSH2 0x87D DUP3 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x887 DUP3 DUP3 PUSH2 0x1992 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x895 PUSH2 0x1A4F JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x8E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5564F8AD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xAAC9F15A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x92F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x957 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x28B4 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x995 JUMPI POP PUSH2 0x980 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x9E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F74206F776E6572206F72206167656E74206F776E65720000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x9FE DUP3 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x20 ADD MLOAD DUP5 PUSH1 0x40 ADD MLOAD DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x887 DUP3 PUSH2 0x1A98 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865205461736B526567697374727920636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x64 DUP3 GT ISZERO PUSH2 0xAB5 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0xAE1 SWAP1 DUP5 SWAP1 PUSH2 0x2993 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP3 PUSH2 0xB0E PUSH1 0x1 DUP4 PUSH2 0x29A6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH2 0xB34 SWAP2 SWAP1 PUSH2 0x29B9 JUMP JUMPDEST PUSH2 0xB3E SWAP2 SWAP1 PUSH2 0x2993 JUMP JUMPDEST PUSH2 0xB48 SWAP2 SWAP1 PUSH2 0x29D0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP4 SWAP1 SSTORE MLOAD SWAP1 SWAP2 PUSH32 0xFC577563F1B9A0461E24ABEF1E1FCC0D33D3D881F20B5DF6DDA59DE4AAE2C821 SWAP2 PUSH2 0xB99 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBCD PUSH2 0x1BEF JUMP JUMPDEST PUSH2 0xBD7 PUSH1 0x0 PUSH2 0x1C21 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0xC15 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 DUP4 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP2 DUP5 SWAP2 AND CALLER EQ PUSH2 0xC68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND SWAP2 AND EQ PUSH2 0xCD1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0xCFB PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP5 SWAP2 AND CALLER EQ PUSH2 0xDDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xE3D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xE5F DUP5 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD PUSH2 0xE85 DUP4 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x244B747F2AC491B7662C44209B5F6110934A8725F40D2BD91805F9D919A78B10 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xEC1 SWAP3 SWAP2 SWAP1 PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP2 AND CALLER EQ PUSH2 0xF0D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xF6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD AND PUSH2 0xF96 DUP4 PUSH2 0x1C92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0xFB9 DUP3 DUP3 PUSH2 0x2185 JUMP JUMPDEST PUSH2 0xFC7 PUSH1 0x1 DUP4 ADD PUSH1 0x0 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP3 SWAP1 DUP7 AND SWAP2 PUSH32 0x4CE8B3FE8E0BF47A6FEFBECDFD7C799755CEDE6061655521B10FC2E4B1FCC6B3 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1080 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD SWAP1 SWAP2 SWAP1 DUP3 SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH2 0x10B7 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10E3 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1130 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1105 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1130 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1113 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1149 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1175 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11C2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1197 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11C2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11A5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x3 DUP4 ADD SLOAD AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP6 SWAP2 AND CALLER EQ PUSH2 0x1245 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1275 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1292 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 0x12B6 SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x12FB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1307 DUP6 DUP6 DUP6 DUP6 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1316 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x135E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x13CD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x1409 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1435 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1482 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1457 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1482 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1465 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14D0 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1518 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x156C JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1C21 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP2 SWAP1 PUSH2 0x1593 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x15BF SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x160C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x160C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x15EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1621 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x164D SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x169A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x166F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x169A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x167D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP5 SWAP3 SWAP1 SWAP2 AND SWAP3 POP SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 PUSH2 0x16EE DUP7 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0x16FD DUP6 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP2 DUP11 AND SWAP2 SWAP1 SWAP3 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP4 ADD DUP5 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x2A562EFB52E7CEC209321F57200606311256DA6D2A1B19D44DB7837A3209DE28 SWAP1 PUSH2 0x176B SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP8 DUP2 MSTORE DUP4 DUP6 ADD DUP8 SWAP1 MSTORE DUP6 DUP4 AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x5 SLOAD PUSH1 0x80 DUP6 ADD DUP2 SWAP1 MSTORE PUSH1 0x1 PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x4 SWAP1 SWAP4 MSTORE SWAP5 SWAP1 SWAP5 KECCAK256 DUP4 MLOAD DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR DUP3 SSTORE SWAP3 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP3 ADD SWAP1 PUSH2 0x17F3 SWAP1 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x40 DUP3 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x3 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND OR SWAP1 SSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x4 DUP5 ADD SSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD MLOAD PUSH1 0x5 SWAP3 DUP4 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE SWAP1 SLOAD SWAP1 MLOAD SWAP2 DUP8 AND SWAP2 PUSH32 0xA6E87A4BA187A506BB81720F5FBD241C879EC33DF712DE8C1BFCCC354DBE450F SWAP2 PUSH2 0x187F SWAP2 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH2 0x2B55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x5 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x1897 DUP4 PUSH2 0x2B8F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0xBBF JUMP JUMPDEST PUSH2 0x18D4 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1DA0 JUMP JUMPDEST PUSH2 0xBD7 PUSH2 0x1D7B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x196C JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1960 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1575 PUSH2 0x1BEF JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x19EC JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x19E9 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1A14 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x1A45 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 PUSH2 0x1DA8 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2AB09D14 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 0x1AEC 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 0x1B10 SWAP2 SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1B8F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2BC1 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x1BB8 JUMPI POP DUP1 PUSH1 0x80 ADD MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x1BC3 JUMPI POP PUSH2 0x1BE7 JUMP JUMPDEST PUSH2 0x1BD0 DUP2 PUSH1 0x20 ADD MLOAD PUSH2 0x1DFE JUMP JUMPDEST PUSH2 0x1BE5 DUP5 DUP3 PUSH1 0x20 ADD MLOAD DUP4 PUSH1 0x40 ADD MLOAD PUSH1 0x0 PUSH2 0x177B JUMP JUMPDEST POP JUMPDEST PUSH1 0x1 ADD PUSH2 0x1B15 JUMP JUMPDEST CALLER PUSH2 0x1BF8 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 SLOAD DUP2 LT ISZERO PUSH2 0x887 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP2 AND EQ DUP1 ISZERO PUSH2 0x1CD9 JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x1D73 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0x1D08 PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST PUSH1 0x1 ADD PUSH2 0x1C95 JUMP JUMPDEST PUSH2 0x1D83 PUSH2 0x1FEA JUMP JUMPDEST PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1542 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1DB1 DUP3 PUSH2 0x2004 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1DF6 JUMPI PUSH2 0xC23 DUP3 DUP3 PUSH2 0x2069 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1E2E SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E4B 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 0x1E6F SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xCBCF252A 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 0x1EC7 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 0x1EEB SWAP2 SWAP1 PUSH2 0x2C65 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3CA3AC5F PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 POP DUP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x794758BE SWAP1 PUSH2 0x1F1F SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F3C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1F64 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2C82 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD SWAP1 MLOAD PUSH4 0x3BD5F621 PUSH1 0xE2 SHL DUP2 MSTORE SWAP5 SWAP6 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP4 PUSH4 0xEF57D884 SWAP4 PUSH2 0x1FA3 SWAP4 SWAP3 SWAP2 PUSH1 0x4 ADD PUSH2 0x2D47 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1FC2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1307 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D8A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF4 PUSH2 0x18A3 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x203A JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x2086 SWAP2 SWAP1 PUSH2 0x2E3E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x20C1 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 0x20C6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x20D6 DUP6 DUP4 DUP4 PUSH2 0x20FE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x2113 JUMPI PUSH2 0x210E DUP3 PUSH2 0x215D JUMP JUMPDEST PUSH2 0x2156 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x212A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2153 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x216C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP1 SLOAD PUSH2 0x2191 SWAP1 PUSH2 0x27BB JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x21A1 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1575 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x21CF JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x21BB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x21E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2207 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x21EF JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x2228 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x21EC JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP10 AND DUP4 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x225E PUSH1 0xC0 DUP5 ADD DUP10 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD SWAP8 SWAP1 SWAP8 MSTORE SWAP5 SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xA0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x80 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x2367 JUMPI PUSH2 0x2367 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x2388 JUMPI PUSH2 0x2388 PUSH2 0x229B JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23A9 PUSH2 0x23A4 DUP5 PUSH2 0x236F JUMP JUMPDEST PUSH2 0x233F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x23BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x23E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x2396 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x240D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x2418 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2434 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2440 DUP11 DUP4 DUP12 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2456 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2462 DUP11 DUP4 DUP12 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2478 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2485 DUP10 DUP3 DUP11 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x249D DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x24C9 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x24D9 DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2502 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x251D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x252E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x253D DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x2396 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2559 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2156 DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2577 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2582 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x25A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x25B0 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x25CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x25D8 DUP8 DUP4 DUP9 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x25EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25FB DUP7 DUP3 DUP8 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2621 PUSH1 0xE0 DUP5 ADD DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP5 DUP4 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x263E DUP3 DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x60 DUP7 ADD MSTORE DUP1 PUSH1 0x60 DUP8 ADD MLOAD AND PUSH1 0x80 DUP7 ADD MSTORE POP POP PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2156 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x26AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x26B5 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26DC DUP8 DUP3 DUP9 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x26F4 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP5 MLOAD AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0xC0 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x272E PUSH1 0xE0 DUP6 ADD DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP2 PUSH1 0x60 DUP7 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xA0 DUP6 ADD MLOAD ISZERO ISZERO PUSH1 0xC0 DUP6 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x277A PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x278C DUP2 DUP10 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND PUSH1 0x40 DUP6 ADD MSTORE SWAP6 SWAP1 SWAP7 AND PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x27CF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x27EF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x18 SWAP1 DUP3 ADD MSTORE PUSH32 0x4167656E7420616C726561647920726567697374657265640000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x283C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP3 PUSH2 0x282C JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x286D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x287B PUSH2 0x23A4 DUP3 PUSH2 0x236F JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x2890 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28A1 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x21EC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH2 0x283C DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x28DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x28F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28F9 PUSH2 0x22B1 JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2908 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2914 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2929 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2935 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x2947 PUSH1 0x40 DUP5 ADD PUSH2 0x28A9 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2958 PUSH1 0x60 DUP5 ADD PUSH2 0x28A9 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x29ED JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865206F776E6572206F6620746865206167656E74000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2A52 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2A5E JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2A8A JUMPI PUSH2 0x2A8A PUSH2 0x229B JUMP JUMPDEST PUSH2 0x2A9E DUP2 PUSH2 0x2A98 DUP5 SLOAD PUSH2 0x27BB JUMP JUMPDEST DUP5 PUSH2 0x2A29 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2AD3 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2ABB JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2B02 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2AE3 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x2B20 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2B43 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x20D6 DUP2 DUP6 PUSH2 0x2210 JUMP JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2B6E PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2BA1 JUMPI PUSH2 0x2BA1 PUSH2 0x297D JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2BEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xA0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2BFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C06 PUSH2 0x22D9 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2C11 DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2C25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C31 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x2C57 PUSH1 0x80 DUP5 ADD PUSH2 0x282C JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C77 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2156 DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2CAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x80 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2CBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CC7 PUSH2 0x22FB JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CE2 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D03 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2D1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D27 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH2 0x2D39 PUSH1 0x60 DUP5 ADD PUSH2 0x282C JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2D5A PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2D6C DUP2 DUP7 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x2D80 DUP2 DUP6 PUSH2 0x2210 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x60 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2DC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DCF PUSH2 0x231D JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DEA DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E0B DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E2F DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2E50 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x21EC JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220E6 PUSH28 0x6B991D09FEF792E3DB660BFACD5075339C91E8CDDAD24262B3C4C2FC 0xDC 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", "sourceMap": "961:13134:11:-:0;;;1171:4:2;1128:48;;1762:53:11;;;;;;;;;-1:-1:-1;1786:22:11;:20;:22::i;:::-;961:13134;;7709:422:1;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:1;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:1;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:1;-1:-1:-1;;;;;8033:33:1;;;;;8085:29;;158:50:17;;;8085:29:1;;146:2:17;131:18;8085:29:1;;;;;;;7979:146;7758:373;7709:422::o;14:200:17:-;961:13134:11;;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { @@ -45299,121 +45279,121 @@ "returnSlots": 1 }, "abi_decode_address_fromMemory": { - "entryPoint": 10410, + "entryPoint": 10409, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_available_length_string": { - "entryPoint": 9111, + "entryPoint": 9110, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_bool_fromMemory": { - "entryPoint": 10285, + "entryPoint": 10284, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_string": { - "entryPoint": 9173, + "entryPoint": 9172, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_string_fromMemory": { - "entryPoint": 10333, + "entryPoint": 10332, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_address": { - "entryPoint": 9544, + "entryPoint": 9543, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_address_fromMemory": { - "entryPoint": 11366, + "entryPoint": 11365, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_addresst_bytes_memory_ptr": { - "entryPoint": 9445, + "entryPoint": 9444, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptr": { - "entryPoint": 9617, + "entryPoint": 9616, "id": null, "parameterSlots": 2, "returnSlots": 3 }, "abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_uint256t_address": { - "entryPoint": 9205, + "entryPoint": 9204, "id": null, "parameterSlots": 2, "returnSlots": 6 }, "abi_decode_tuple_t_addresst_string_memory_ptrt_uint256t_address": { - "entryPoint": 9877, + "entryPoint": 9876, "id": null, "parameterSlots": 2, "returnSlots": 4 }, "abi_decode_tuple_t_addresst_uint256": { - "entryPoint": 9573, + "entryPoint": 9572, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_bool_fromMemory": { - "entryPoint": 10306, + "entryPoint": 10305, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_bytes32_fromMemory": { - "entryPoint": 11177, + "entryPoint": 11176, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_contract$_IAgentRegistryV1_$3258t_contract$_ServiceRegistryUpgradeable_$2577": { - "entryPoint": 9388, + "entryPoint": 9387, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_struct$_AgentData_$3220_memory_ptr_fromMemory": { - "entryPoint": 10421, + "entryPoint": 10420, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_struct$_Proposal_$3231_memory_ptr_fromMemory": { - "entryPoint": 11202, + "entryPoint": 11201, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_struct$_Service_$1448_memory_ptr_fromMemory": { - "entryPoint": 11395, + "entryPoint": 11394, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_struct$_Service_$2382_memory_ptr_fromMemory": { - "entryPoint": 11659, + "entryPoint": 11658, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_uint256": { - "entryPoint": 8660, + "entryPoint": 8659, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -45425,13 +45405,13 @@ "returnSlots": 1 }, "abi_encode_string": { - "entryPoint": 8721, + "entryPoint": 8720, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 11839, + "entryPoint": 11838, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -45443,7 +45423,7 @@ "returnSlots": 1 }, "abi_encode_tuple_t_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__to_t_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__fromStack_reversed": { - "entryPoint": 8765, + "entryPoint": 8764, "id": null, "parameterSlots": 7, "returnSlots": 1 @@ -45479,25 +45459,25 @@ "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 9858, + "entryPoint": 9857, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 11057, + "entryPoint": 11056, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__fromStack_reversed": { - "entryPoint": 10088, + "entryPoint": 10087, "id": null, "parameterSlots": 7, "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 11592, + "entryPoint": 11591, "id": null, "parameterSlots": 4, "returnSlots": 1 @@ -45509,13 +45489,13 @@ "returnSlots": 1 }, "abi_encode_tuple_t_stringliteral_333080ba9ab8738c4a0b47b5b79d2c142d573a23f488baafda66363f88786955__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 10739, + "entryPoint": 10738, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_encode_tuple_t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 10230, + "entryPoint": 10229, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -45557,13 +45537,13 @@ "returnSlots": 1 }, "abi_encode_tuple_t_struct$_AgentData_$1479_memory_ptr__to_t_struct$_AgentData_$1479_memory_ptr__fromStack_reversed": { - "entryPoint": 9734, + "entryPoint": 9733, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_t_struct$_ServiceProposal_$3273_memory_ptr__to_t_struct$_ServiceProposal_$3273_memory_ptr__fromStack_reversed": { - "entryPoint": 9984, + "entryPoint": 9983, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -45575,43 +45555,43 @@ "returnSlots": 1 }, "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_uint256_t_address__to_t_uint256_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed": { - "entryPoint": 11094, + "entryPoint": 11093, "id": null, "parameterSlots": 5, "returnSlots": 1 }, "allocate_memory": { - "entryPoint": 9024, + "entryPoint": 9023, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "allocate_memory_3052": { - "entryPoint": 8882, + "entryPoint": 8881, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "allocate_memory_3054": { - "entryPoint": 8922, + "entryPoint": 8921, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "allocate_memory_3056": { - "entryPoint": 8956, + "entryPoint": 8955, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "allocate_memory_3058": { - "entryPoint": 8990, + "entryPoint": 8989, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "array_allocation_size_string": { - "entryPoint": 9072, + "entryPoint": 9071, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -45623,49 +45603,49 @@ "returnSlots": 1 }, "checked_add_t_uint256": { - "entryPoint": 10644, + "entryPoint": 10643, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "checked_div_t_uint256": { - "entryPoint": 10705, + "entryPoint": 10704, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "checked_mul_t_uint256": { - "entryPoint": 10682, + "entryPoint": 10681, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "checked_sub_t_uint256": { - "entryPoint": 10663, + "entryPoint": 10662, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "clean_up_bytearray_end_slots_string_storage": { - "entryPoint": 10794, + "entryPoint": 10793, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 10866, + "entryPoint": 10865, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "copy_memory_to_memory_with_cleanup": { - "entryPoint": 8685, + "entryPoint": 8684, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "extract_byte_array_length": { - "entryPoint": 10172, + "entryPoint": 10171, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -45677,25 +45657,25 @@ "returnSlots": 1 }, "increment_t_uint256": { - "entryPoint": 11152, + "entryPoint": 11151, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "panic_error_0x11": { - "entryPoint": 10622, + "entryPoint": 10621, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x41": { - "entryPoint": 8860, + "entryPoint": 8859, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "validator_revert_address": { - "entryPoint": 8839, + "entryPoint": 8838, "id": null, "parameterSlots": 1, "returnSlots": 0 @@ -68065,9 +68045,9 @@ ] }, "linkReferences": {}, - "object": "6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d4565b610544565b6040516101b89695949392919061223d565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f5565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ac565b610736565b6101e16102353660046124e5565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612548565b6108a8565b34801561027b57600080fd5b506101f961028a366004612565565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612591565b610bd9565b3480156102d057600080fd5b506102e46102df366004612565565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612591565b610d9d565b34801561034d57600080fd5b506101e161035c366004612548565b610ecf565b34801561036d57600080fd5b506101f961037c366004612548565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612548565b611035565b6040516101b89190612606565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612682565b34801561043157600080fd5b506101e1610440366004612695565b611207565b34801561045157600080fd5b506101e1610460366004612548565b61130e565b34801561047157600080fd5b506104856104803660046121d4565b611380565b6040516101b89190612700565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612548565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612548565b61153a565b34801561051e57600080fd5b5061053261052d366004612548565b611578565b6040516101b896959493929190612768565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bc565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f6565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612682565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612842565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5c83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f6565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b5565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612994565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a7565b6001600160a01b038616600090815260036020526040902060040154610b3491906129ba565b610b3e9190612994565b610b4891906129d1565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f6565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f3565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a72565b506001600160a01b0384166000908152600360205260409020600101610e858382612a72565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b31565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612186565b610fc7600183016000612186565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bc565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bc565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f3565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612682565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612842565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bc565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bc565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bc565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a72565b50600181016116fd8582612a72565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b31565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a72565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b56565b60405180910390a26005805490600061189783612b90565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5c833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba9565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5c8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba9565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc2565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612682565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612842565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c66565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612682565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c83565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d48565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8b565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3f565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612192906127bc565b6000825580601f106121a2575050565b601f01602090049060005260206000209081019061157591905b808211156121d057600081556001016121bc565b5090565b6000602082840312156121e657600080fd5b5035919050565b60005b838110156122085781810151838201526020016121f0565b50506000910152565b600081518084526122298160208601602086016121ed565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225f60c0840189612211565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d4576122d461229c565b60405290565b60405160a081016001600160401b03811182821017156122d4576122d461229c565b604051608081016001600160401b03811182821017156122d4576122d461229c565b604051606081016001600160401b03811182821017156122d4576122d461229c565b604051601f8201601f191681016001600160401b03811182821017156123685761236861229c565b604052919050565b60006001600160401b038211156123895761238961229c565b50601f01601f191660200190565b60006123aa6123a584612370565b612340565b90508281528383830111156123be57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e657600080fd5b61215683833560208501612397565b60008060008060008060c0878903121561240e57600080fd5b863561241981612287565b955060208701356001600160401b038082111561243557600080fd5b6124418a838b016123d5565b9650604089013591508082111561245757600080fd5b6124638a838b016123d5565b9550606089013591508082111561247957600080fd5b5061248689828a016123d5565b9350506080870135915060a087013561249e81612287565b809150509295509295509295565b600080604083850312156124bf57600080fd5b82356124ca81612287565b915060208301356124da81612287565b809150509250929050565b600080604083850312156124f857600080fd5b823561250381612287565b915060208301356001600160401b0381111561251e57600080fd5b8301601f8101851361252f57600080fd5b61253e85823560208401612397565b9150509250929050565b60006020828403121561255a57600080fd5b813561215681612287565b6000806040838503121561257857600080fd5b823561258381612287565b946020939093013593505050565b6000806000606084860312156125a657600080fd5b83356125b181612287565b925060208401356001600160401b03808211156125cd57600080fd5b6125d9878388016123d5565b935060408601359150808211156125ef57600080fd5b506125fc868287016123d5565b9150509250925092565b602081526000825160c0602084015261262260e0840182612211565b90506020840151601f1984830301604085015261263f8282612211565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612211565b600080600080608085870312156126ab57600080fd5b84356126b681612287565b935060208501356001600160401b038111156126d157600080fd5b6126dd878288016123d5565b9350506040850135915060608501356126f581612287565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272f60e0850182612211565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277b60c0830189612211565b828103602084015261278d8189612211565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127d057607f821691505b6020821081036127f057634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283d57600080fd5b919050565b60006020828403121561285457600080fd5b6121568261282d565b600082601f83011261286e57600080fd5b815161287c6123a582612370565b81815284602083860101111561289157600080fd5b6128a28260208301602087016121ed565b949350505050565b805161283d81612287565b6000602082840312156128c757600080fd5b81516001600160401b03808211156128de57600080fd5b9083019060c082860312156128f257600080fd5b6128fa6122b2565b82518281111561290957600080fd5b6129158782860161285d565b82525060208301518281111561292a57600080fd5b6129368782860161285d565b602083015250612948604084016128aa565b6040820152612959606084016128aa565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297e565b81810381811115610bbf57610bbf61297e565b8082028115828204841417610bbf57610bbf61297e565b6000826129ee57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a535750805b601f850160051c820191505b8181101561072e57828155600101612a5f565b81516001600160401b03811115612a8b57612a8b61229c565b612a9f81612a9984546127bc565b84612a2a565b602080601f831160018114612ad45760008415612abc5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0357888601518255948401946001909101908401612ae4565b5085821015612b215787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b446040830185612211565b82810360208401526120d68185612211565b848152608060208201526000612b6f6080830186612211565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba257612ba261297e565b5060010190565b600060208284031215612bbb57600080fd5b5051919050565b600060208284031215612bd457600080fd5b81516001600160401b0380821115612beb57600080fd5b9083019060a08286031215612bff57600080fd5b612c076122da565b8251612c1281612287565b8152602083015182811115612c2657600080fd5b612c328782860161285d565b6020830152506040830151604082015260608301516060820152612c586080840161282d565b608082015295945050505050565b600060208284031215612c7857600080fd5b815161215681612287565b600060208284031215612c9557600080fd5b81516001600160401b0380821115612cac57600080fd5b9083019060808286031215612cc057600080fd5b612cc86122fc565b825182811115612cd757600080fd5b612ce38782860161285d565b825250602083015182811115612cf857600080fd5b612d048782860161285d565b602083015250604083015182811115612d1c57600080fd5b612d288782860161285d565b604083015250612d3a6060840161282d565b606082015295945050505050565b606081526000612d5b6060830186612211565b8281036020840152612d6d8186612211565b90508281036040840152612d818185612211565b9695505050505050565b600060208284031215612d9d57600080fd5b81516001600160401b0380821115612db457600080fd5b9083019060608286031215612dc857600080fd5b612dd061231e565b825182811115612ddf57600080fd5b612deb8782860161285d565b825250602083015182811115612e0057600080fd5b612e0c8782860161285d565b602083015250604083015182811115612e2457600080fd5b612e308782860161285d565b60408301525095945050505050565b60008251612e518184602087016121ed565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c34ae9367ae33ccdec2ae0c3c4929f6e386373f088b7309b6dccdc0f92542dcf64736f6c63430008160033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x181 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x97A6278E GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xB2D78069 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD7071B1F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD7071B1F EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0xDCA60776 EQ PUSH2 0x4D2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4F2 JUMPI DUP1 PUSH4 0xFD66091E EQ PUSH2 0x512 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xB2D78069 EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0xC7F758A8 EQ PUSH2 0x465 JUMPI DUP1 PUSH4 0xCBCF252A EQ PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x97A6278E EQ PUSH2 0x341 JUMPI DUP1 PUSH4 0x9C89A0E2 EQ PUSH2 0x361 JUMPI DUP1 PUSH4 0x9E498F16 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0xAAC9F15A EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x3E7 JUMPI DUP1 PUSH4 0xAEBFD80E EQ PUSH2 0x425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x7216FE48 GT PUSH2 0x118 JUMPI DUP1 PUSH4 0x7216FE48 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0x7B5C219D EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x96A45139 EQ PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0x70370A81 EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x28F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x13CF08B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x270BAAA8 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x2AB09D14 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x485CC955 EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x23A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D4 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x223D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0x23F5 JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x24AC JUMP JUMPDEST PUSH2 0x736 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x24E5 JUMP JUMPDEST PUSH2 0x86C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x88B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x8A8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x28A CALLDATASIZE PUSH1 0x4 PUSH2 0x2565 JUMP JUMPDEST PUSH2 0xA07 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0xBC5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x2BF CALLDATASIZE PUSH1 0x4 PUSH2 0x2591 JUMP JUMPDEST PUSH2 0xBD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E4 PUSH2 0x2DF CALLDATASIZE PUSH1 0x4 PUSH2 0x2565 JUMP JUMPDEST PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x309 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x33C CALLDATASIZE PUSH1 0x4 PUSH2 0x2591 JUMP JUMPDEST PUSH2 0xD9D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x35C CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0xECF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DA PUSH2 0x3D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2606 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x418 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2682 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x440 CALLDATASIZE PUSH1 0x4 PUSH2 0x2695 JUMP JUMPDEST PUSH2 0x1207 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x451 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x460 CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x130E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x485 PUSH2 0x480 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D4 JUMP JUMPDEST PUSH2 0x1380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2700 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x4CD CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x14C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x50D CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x153A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x532 PUSH2 0x52D CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2768 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 SWAP2 PUSH2 0x570 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x59C SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP2 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 POP PUSH1 0xFF AND DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x65E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x68E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6AB 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 0x6CF SWAP2 SWAP1 PUSH2 0x2842 JUMP JUMPDEST PUSH2 0x714 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x722 DUP7 DUP7 DUP7 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x72E DUP7 DUP5 DUP5 DUP5 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x740 PUSH2 0x18A3 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x767 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x783 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x791 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x7AF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x7D9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x7E2 CALLER PUSH2 0x18CC JUMP JUMPDEST PUSH2 0x7EA PUSH2 0x18DD JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP3 DUP10 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR DUP2 SSTORE PUSH1 0x5 SSTORE DUP4 ISZERO PUSH2 0x863 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x874 PUSH2 0x18E5 JUMP JUMPDEST PUSH2 0x87D DUP3 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x887 DUP3 DUP3 PUSH2 0x1992 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x895 PUSH2 0x1A4F JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x8E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F6 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5564F8AD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xAAC9F15A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x92F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x957 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x28B5 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x995 JUMPI POP PUSH2 0x980 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x9E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F74206F776E6572206F72206167656E74206F776E65720000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x9FE DUP3 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x20 ADD MLOAD DUP5 PUSH1 0x40 ADD MLOAD DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x887 DUP3 PUSH2 0x1A98 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865205461736B526567697374727920636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x64 DUP3 GT ISZERO PUSH2 0xAB5 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0xAE1 SWAP1 DUP5 SWAP1 PUSH2 0x2994 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP3 PUSH2 0xB0E PUSH1 0x1 DUP4 PUSH2 0x29A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH2 0xB34 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0xB3E SWAP2 SWAP1 PUSH2 0x2994 JUMP JUMPDEST PUSH2 0xB48 SWAP2 SWAP1 PUSH2 0x29D1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP4 SWAP1 SSTORE MLOAD SWAP1 SWAP2 PUSH32 0xFC577563F1B9A0461E24ABEF1E1FCC0D33D3D881F20B5DF6DDA59DE4AAE2C821 SWAP2 PUSH2 0xB99 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBCD PUSH2 0x1BEF JUMP JUMPDEST PUSH2 0xBD7 PUSH1 0x0 PUSH2 0x1C21 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0xC15 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F6 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 DUP4 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP2 DUP5 SWAP2 AND CALLER EQ PUSH2 0xC68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND SWAP2 AND EQ PUSH2 0xCD1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0xCFB PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2186 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP5 SWAP2 AND CALLER EQ PUSH2 0xDDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xE3D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xE5F DUP5 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD PUSH2 0xE85 DUP4 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x244B747F2AC491B7662C44209B5F6110934A8725F40D2BD91805F9D919A78B10 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xEC1 SWAP3 SWAP2 SWAP1 PUSH2 0x2B31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP2 AND CALLER EQ PUSH2 0xF0D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xF6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD AND PUSH2 0xF96 DUP4 PUSH2 0x1C92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0xFB9 DUP3 DUP3 PUSH2 0x2186 JUMP JUMPDEST PUSH2 0xFC7 PUSH1 0x1 DUP4 ADD PUSH1 0x0 PUSH2 0x2186 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP3 SWAP1 DUP7 AND SWAP2 PUSH32 0x4CE8B3FE8E0BF47A6FEFBECDFD7C799755CEDE6061655521B10FC2E4B1FCC6B3 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1080 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD SWAP1 SWAP2 SWAP1 DUP3 SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH2 0x10B7 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10E3 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1130 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1105 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1130 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1113 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1149 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1175 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11C2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1197 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11C2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11A5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x3 DUP4 ADD SLOAD AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP6 SWAP2 AND CALLER EQ PUSH2 0x1245 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1275 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1292 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 0x12B6 SWAP2 SWAP1 PUSH2 0x2842 JUMP JUMPDEST PUSH2 0x12FB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1307 DUP6 DUP6 DUP6 DUP6 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1316 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x135E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x13CD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x1409 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1435 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1482 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1457 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1482 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1465 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14D0 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1518 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x156C JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1C21 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP2 SWAP1 PUSH2 0x1593 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x15BF SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x160C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x160C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x15EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1621 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x164D SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x169A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x166F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x169A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x167D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP5 SWAP3 SWAP1 SWAP2 AND SWAP3 POP SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 PUSH2 0x16EE DUP7 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0x16FD DUP6 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP2 DUP11 AND SWAP2 SWAP1 SWAP3 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP4 ADD DUP5 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x2A562EFB52E7CEC209321F57200606311256DA6D2A1B19D44DB7837A3209DE28 SWAP1 PUSH2 0x176B SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH2 0x2B31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP8 DUP2 MSTORE DUP4 DUP6 ADD DUP8 SWAP1 MSTORE DUP6 DUP4 AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x5 SLOAD PUSH1 0x80 DUP6 ADD DUP2 SWAP1 MSTORE PUSH1 0x1 PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x4 SWAP1 SWAP4 MSTORE SWAP5 SWAP1 SWAP5 KECCAK256 DUP4 MLOAD DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR DUP3 SSTORE SWAP3 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP3 ADD SWAP1 PUSH2 0x17F3 SWAP1 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x40 DUP3 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x3 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND OR SWAP1 SSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x4 DUP5 ADD SSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD MLOAD PUSH1 0x5 SWAP3 DUP4 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE SWAP1 SLOAD SWAP1 MLOAD SWAP2 DUP8 AND SWAP2 PUSH32 0xA6E87A4BA187A506BB81720F5FBD241C879EC33DF712DE8C1BFCCC354DBE450F SWAP2 PUSH2 0x187F SWAP2 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH2 0x2B56 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x5 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x1897 DUP4 PUSH2 0x2B90 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0xBBF JUMP JUMPDEST PUSH2 0x18D4 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1DA0 JUMP JUMPDEST PUSH2 0xBD7 PUSH2 0x1D7B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x196C JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1960 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1575 PUSH2 0x1BEF JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x19EC JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x19E9 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2BA9 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1A14 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x1A45 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 PUSH2 0x1DA8 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2AB09D14 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 0x1AEC 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 0x1B10 SWAP2 SWAP1 PUSH2 0x2BA9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1B8F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2BC2 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x1BB8 JUMPI POP DUP1 PUSH1 0x80 ADD MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x1BC3 JUMPI POP PUSH2 0x1BE7 JUMP JUMPDEST PUSH2 0x1BD0 DUP2 PUSH1 0x20 ADD MLOAD PUSH2 0x1DFE JUMP JUMPDEST PUSH2 0x1BE5 DUP5 DUP3 PUSH1 0x20 ADD MLOAD DUP4 PUSH1 0x40 ADD MLOAD PUSH1 0x0 PUSH2 0x177B JUMP JUMPDEST POP JUMPDEST PUSH1 0x1 ADD PUSH2 0x1B15 JUMP JUMPDEST CALLER PUSH2 0x1BF8 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 SLOAD DUP2 LT ISZERO PUSH2 0x887 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP2 AND EQ DUP1 ISZERO PUSH2 0x1CD9 JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x1D73 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0x1D08 PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2186 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST PUSH1 0x1 ADD PUSH2 0x1C95 JUMP JUMPDEST PUSH2 0x1D83 PUSH2 0x1FEA JUMP JUMPDEST PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1542 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1DB1 DUP3 PUSH2 0x2004 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1DF6 JUMPI PUSH2 0xC23 DUP3 DUP3 PUSH2 0x2069 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1E2E SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E4B 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 0x1E6F SWAP2 SWAP1 PUSH2 0x2842 JUMP JUMPDEST PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xCBCF252A 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 0x1EC7 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 0x1EEB SWAP2 SWAP1 PUSH2 0x2C66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3CA3AC5F PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 POP DUP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x794758BE SWAP1 PUSH2 0x1F1F SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F3C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1F64 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2C83 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD SWAP1 MLOAD PUSH4 0x3BD5F621 PUSH1 0xE2 SHL DUP2 MSTORE SWAP5 SWAP6 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP4 PUSH4 0xEF57D884 SWAP4 PUSH2 0x1FA3 SWAP4 SWAP3 SWAP2 PUSH1 0x4 ADD PUSH2 0x2D48 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1FC2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1307 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D8B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF4 PUSH2 0x18A3 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x203A JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x2086 SWAP2 SWAP1 PUSH2 0x2E3F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x20C1 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 0x20C6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x20D6 DUP6 DUP4 DUP4 PUSH2 0x20FE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x2113 JUMPI PUSH2 0x210E DUP3 PUSH2 0x215D JUMP JUMPDEST PUSH2 0x2156 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x212A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2153 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x216D JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP1 SLOAD PUSH2 0x2192 SWAP1 PUSH2 0x27BC JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x21A2 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1575 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x21D0 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x21BC JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x21E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2208 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x21F0 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x2229 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x21ED JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP10 AND DUP4 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x225F PUSH1 0xC0 DUP5 ADD DUP10 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD SWAP8 SWAP1 SWAP8 MSTORE SWAP5 SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xA0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x80 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x2368 JUMPI PUSH2 0x2368 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x2389 JUMPI PUSH2 0x2389 PUSH2 0x229C JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23AA PUSH2 0x23A5 DUP5 PUSH2 0x2370 JUMP JUMPDEST PUSH2 0x2340 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x23BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x23E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x2397 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x240E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x2419 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2435 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2441 DUP11 DUP4 DUP12 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2463 DUP11 DUP4 DUP12 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2479 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2486 DUP10 DUP3 DUP11 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x249E DUP2 PUSH2 0x2287 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x24CA DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x24DA DUP2 PUSH2 0x2287 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2503 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x251E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x252F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x253E DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x2397 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x255A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2156 DUP2 PUSH2 0x2287 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2578 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2583 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x25A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x25B1 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x25CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x25D9 DUP8 DUP4 DUP9 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x25EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25FC DUP7 DUP3 DUP8 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2622 PUSH1 0xE0 DUP5 ADD DUP3 PUSH2 0x2211 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP5 DUP4 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x263F DUP3 DUP3 PUSH2 0x2211 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x60 DUP7 ADD MSTORE DUP1 PUSH1 0x60 DUP8 ADD MLOAD AND PUSH1 0x80 DUP7 ADD MSTORE POP POP PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2156 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x26AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x26B6 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26DD DUP8 DUP3 DUP9 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x26F5 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP5 MLOAD AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0xC0 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x272F PUSH1 0xE0 DUP6 ADD DUP3 PUSH2 0x2211 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP2 PUSH1 0x60 DUP7 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xA0 DUP6 ADD MLOAD ISZERO ISZERO PUSH1 0xC0 DUP6 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x277B PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x2211 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x278D DUP2 DUP10 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND PUSH1 0x40 DUP6 ADD MSTORE SWAP6 SWAP1 SWAP7 AND PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x27D0 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x27F0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x18 SWAP1 DUP3 ADD MSTORE PUSH32 0x4167656E7420616C726561647920726567697374657265640000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x283D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2854 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP3 PUSH2 0x282D JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x286E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x287C PUSH2 0x23A5 DUP3 PUSH2 0x2370 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x2891 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28A2 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x21ED JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH2 0x283D DUP2 PUSH2 0x2287 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x28DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x28F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28FA PUSH2 0x22B2 JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2909 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2915 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x292A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2936 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x2948 PUSH1 0x40 DUP5 ADD PUSH2 0x28AA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2959 PUSH1 0x60 DUP5 ADD PUSH2 0x28AA JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297E JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297E JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297E JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x29EE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865206F776E6572206F6620746865206167656E74000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2A53 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2A5F JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2A8B JUMPI PUSH2 0x2A8B PUSH2 0x229C JUMP JUMPDEST PUSH2 0x2A9F DUP2 PUSH2 0x2A99 DUP5 SLOAD PUSH2 0x27BC JUMP JUMPDEST DUP5 PUSH2 0x2A2A JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2AD4 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2ABC JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2B03 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2AE4 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x2B21 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2B44 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2211 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x20D6 DUP2 DUP6 PUSH2 0x2211 JUMP JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2B6F PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2BA2 JUMPI PUSH2 0x2BA2 PUSH2 0x297E JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BBB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2BEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xA0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2BFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C07 PUSH2 0x22DA JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2C12 DUP2 PUSH2 0x2287 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2C26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C32 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x2C58 PUSH1 0x80 DUP5 ADD PUSH2 0x282D JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2156 DUP2 PUSH2 0x2287 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2CAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x80 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2CC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CC8 PUSH2 0x22FC JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CE3 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D04 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2D1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D28 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH2 0x2D3A PUSH1 0x60 DUP5 ADD PUSH2 0x282D JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2D5B PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2211 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2D6D DUP2 DUP7 PUSH2 0x2211 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x2D81 DUP2 DUP6 PUSH2 0x2211 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x60 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2DC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DD0 PUSH2 0x231E JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DEB DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E0C DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E30 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2E51 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x21ED JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220C3 0x4A 0xE9 CALLDATASIZE PUSH27 0xE33CCDEC2AE0C3C4929F6E386373F088B7309B6DCCDC0F92542DCF PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", - "sourceMap": "961:13134:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1436:52;;;;;;;;;;-1:-1:-1;1436:52:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;5118:576;;;;;;;;;;-1:-1:-1;5118:576:11;;;;;:::i;:::-;;:::i;:::-;;1494:29;;;;;;;;;;;;;;;;;;;4963:25:17;;;4951:2;4936:18;1494:29:11;4817:177:17;2023:343:11;;;;;;;;;;-1:-1:-1;2023:343:11;;;;;:::i;:::-;;:::i;4161:214:2:-;;;;;;:::i;:::-;;:::i;3708:134::-;;;;;;;;;;;;;:::i;7427:536:11:-;;;;;;;;;;-1:-1:-1;7427:536:11;;;;;:::i;:::-;;:::i;7969:643::-;;;;;;;;;;-1:-1:-1;7969:643:11;;;;;:::i;:::-;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;4302:269:11:-;;;;;;;;;;-1:-1:-1;4302:269:11;;;;;:::i;:::-;;:::i;6964:364::-;;;;;;;;;;-1:-1:-1;6964:364:11;;;;;:::i;:::-;;:::i;:::-;;;7644:14:17;;7637:22;7619:41;;7607:2;7592:18;6964:364:11;7479:187:17;2441:144:0;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;7835:32:17;;;7817:51;;7805:2;7790:18;2441:144:0;7671:203:17;9634:375:11;;;;;;;;;;-1:-1:-1;9634:375:11;;;;;:::i;:::-;;:::i;10389:435::-;;;;;;;;;;-1:-1:-1;10389:435:11;;;;;:::i;:::-;;:::i;8618:118::-;;;;;;;;;;-1:-1:-1;8618:118:11;;;;;:::i;:::-;-1:-1:-1;;;;;8705:13:11;8679:7;8705:13;;;:6;:13;;;;;:24;;;;8618:118;1353:27;;;;;;;;;;-1:-1:-1;1353:27:11;;;;-1:-1:-1;;;;;1353:27:11;;;8895:170;;;;;;;;;;-1:-1:-1;8895:170:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1819:58:2:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;6124:382:11:-;;;;;;;;;;-1:-1:-1;6124:382:11;;;;;:::i;:::-;;:::i;3319:177::-;;;;;;;;;;-1:-1:-1;3319:177:11;;;;;:::i;:::-;;:::i;9071:147::-;;;;;;;;;;-1:-1:-1;9071:147:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1298:49::-;;;;;;;;;;-1:-1:-1;1298:49:11;;;;-1:-1:-1;;;;;1298:49:11;;;3656:220;;;;;;;;;;-1:-1:-1;3656:220:11;;;;;:::i;:::-;;:::i;1253:39::-;;;;;;;;;;-1:-1:-1;1253:39:11;;;;-1:-1:-1;;;;;1253:39:11;;;3405:215:0;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;1387:43:11:-;;;;;;;;;;-1:-1:-1;1387:43:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;1436:52::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1436:52:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1436:52:11;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1436:52:11;;;;-1:-1:-1;1436:52:11;;;:::o;5118:576::-;-1:-1:-1;;;;;5363:13:11;;;5394:1;5363:13;;;:6;:13;;;;;;;;:19;;;:33;5355:70;;;;-1:-1:-1;;;5355:70:11;;;;;;;:::i;:::-;;;;;;;;;5456:15;;:48;;-1:-1:-1;;;5456:48:11;;-1:-1:-1;;;;;5456:15:11;;;;:35;;:48;;5492:11;;5456:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5435:117;;;;-1:-1:-1;;;5435:117:11;;12974:2:17;5435:117:11;;;12956:21:17;13013:2;12993:18;;;12986:30;-1:-1:-1;;;13032:18:17;;;13025:52;13094:18;;5435:117:11;12772:346:17;5435:117:11;5563:50;5576:5;5583:4;5589:8;5599:10;5611:1;5563:12;:50::i;:::-;5624:63;5640:5;5647:11;5660:12;5674;5624:15;:63::i;:::-;5118:576;;;;;;:::o;2023:343::-;4158:30:1;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:1;-1:-1:-1;;;4302:15:1;;;4301:16;;-1:-1:-1;;;;;4348:14:1;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;-1:-1:-1;;;;;4788:16:1;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;2174:26:11::1;2189:10;2174:14;:26::i;:::-;2210:24;:22;:24::i;:::-;2253:15;:34:::0;;-1:-1:-1;;;;;2253:34:11;;::::1;-1:-1:-1::0;;;;;;2253:34:11;;::::1;;::::0;;;;2297;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;2341:14:::1;:18:::0;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;13276:50:17;;5140:14:1;;13264:2:17;13249:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;2023:343:11;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;7427:536:11:-;-1:-1:-1;;;;;7491:13:11;;;7522:1;7491:13;;;:6;:13;;;;;;;;:19;;;:33;7483:70;;;;-1:-1:-1;;;7483:70:11;;;;;;;:::i;:::-;7564:45;7629:15;;7612:53;;-1:-1:-1;;;7612:53:11;;-1:-1:-1;;;;;7835:32:17;;;7612:53:11;;;7817:51:17;7629:15:11;;;;7612:46;;7790:18:17;;7612:53:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7612:53:11;;;;;;;;;;;;:::i;:::-;7564:101;;7711:11;:17;;;-1:-1:-1;;;;;7697:31:11;:10;-1:-1:-1;;;;;7697:31:11;;:56;;;;7746:7;:5;:7::i;:::-;-1:-1:-1;;;;;7732:21:11;:10;-1:-1:-1;;;;;7732:21:11;;7697:56;7676:127;;;;-1:-1:-1;;;7676:127:11;;15187:2:17;7676:127:11;;;15169:21:17;15226:2;15206:18;;;15199:30;15265:26;15245:18;;;15238:54;15309:18;;7676:127:11;14985:348:17;7676:127:11;7814:102;7827:5;7834:11;:16;;;7852:11;:20;;;7874:11;:17;;;7893:11;:22;;;7814:12;:102::i;:::-;7927:29;7950:5;7927:22;:29::i;7969:643::-;8099:12;;8058:7;;-1:-1:-1;;;;;8099:12:11;8085:10;:26;8077:68;;;;-1:-1:-1;;;8077:68:11;;15540:2:17;8077:68:11;;;15522:21:17;15579:2;15559:18;;;15552:30;15618:31;15598:18;;;15591:59;15667:18;;8077:68:11;15338:353:17;8077:68:11;8203:3;8192:7;:14;;8155:109;;;;-1:-1:-1;;;8155:109:11;;15898:2:17;8155:109:11;;;15880:21:17;;;15917:18;;;15910:30;15976:34;15956:18;;;15949:62;16028:18;;8155:109:11;15696:356:17;8155:109:11;-1:-1:-1;;;;;8274:13:11;;;;;;:6;:13;;;;;:26;;:31;;8304:1;;8274:13;:31;;8304:1;;8274:31;:::i;:::-;;;;-1:-1:-1;;;;;;;8472:13:11;;;;;;:6;:13;;;;;:26;;;8449:7;8399:30;8428:1;8472:26;8399:30;:::i;:::-;-1:-1:-1;;;;;8355:13:11;;;;;;:6;:13;;;;;:24;;;:75;;;;:::i;:::-;:101;;;;:::i;:::-;8354:144;;;;:::i;:::-;-1:-1:-1;;;;;8315:13:11;;;;;;:6;:13;;;;;;;:24;;:183;;;8513:50;8315:13;;8513:50;;;;4963:25:17;;4951:2;4936:18;;4817:177;8513:50:11;;;;;;;;-1:-1:-1;;;;;;8581:13:11;;;;;;:6;:13;;;;;:24;;;7969:643;;;;;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;4302:269:11:-;-1:-1:-1;;;;;4441:13:11;;;4472:1;4441:13;;;:6;:13;;;;;;;;:19;;;:33;4433:70;;;;-1:-1:-1;;;4433:70:11;;;;;;;:::i;:::-;4514:50;4527:5;4534:4;4540:8;4550:10;4562:1;4514:12;:50::i;:::-;4302:269;;;:::o;6964:364::-;-1:-1:-1;;;;;1600:13:11;;;7085:4;1600:13;;;:6;:13;;;;;:19;;;7085:4;;7069:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:11;;;;;;;:::i;:::-;7122:21:::1;::::0;;;:9:::1;:21;::::0;;;;:28;-1:-1:-1;;;;;7122:37:11;;::::1;:28:::0;::::1;:37;7101:109;;;::::0;-1:-1:-1;;;7101:109:11;;17404:2:17;7101:109:11::1;::::0;::::1;17386:21:17::0;17443:2;17423:18;;;17416:30;17482:27;17462:18;;;17455:55;17527:18;;7101:109:11::1;17202:349:17::0;7101:109:11::1;7228:21;::::0;;;:9:::1;:21;::::0;;;;7221:28;;-1:-1:-1;;;;;;7221:28:11::1;::::0;;7228:21;7221:28:::1;::::0;;::::1;7228:21:::0;7221:28:::1;:::i;:::-;-1:-1:-1::0;7221:28:11::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;7221:28:11::1;::::0;;::::1;::::0;::::1;::::0;::::1;;::::0;;-1:-1:-1;;7221:28:11::1;::::0;;7265:34:::1;::::0;4963:25:17;;;-1:-1:-1;;;;;7265:34:11;::::1;::::0;::::1;::::0;4951:2:17;4936:18;7265:34:11::1;;;;;;;-1:-1:-1::0;7317:4:11::1;::::0;6964:364;-1:-1:-1;;;6964:364:11:o;2441:144:0:-;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144::o;9634:375:11:-;-1:-1:-1;;;;;1600:13:11;;;;;;;:6;:13;;;;;:19;;;9769:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:11;;;;;;;:::i;:::-;-1:-1:-1;;;;;9794:13:11;;::::1;9825:1;9794:13:::0;;;:6:::1;:13;::::0;;;;;;;:19:::1;::::0;::::1;9786:66;;;::::0;-1:-1:-1;;;9786:66:11;;17758:2:17;9786:66:11::1;::::0;::::1;17740:21:17::0;17797:2;17777:18;;;17770:30;-1:-1:-1;;;17816:18:17;;;17809:50;17876:18;;9786:66:11::1;17556:344:17::0;9786:66:11::1;-1:-1:-1::0;;;;;9871:13:11;::::1;;::::0;;;:6:::1;:13;::::0;;;;:25:::1;9892:4:::0;9871:13;:25:::1;:::i;:::-;-1:-1:-1::0;;;;;;9906:13:11;::::1;;::::0;;;:6:::1;:13;::::0;;;;:22:::1;;:33;9931:8:::0;9906:22;:33:::1;:::i;:::-;;9980:5;-1:-1:-1::0;;;;;9963:39:11::1;;9987:4;9993:8;9963:39;;;;;;;:::i;:::-;;;;;;;;9634:375:::0;;;;:::o;10389:435::-;-1:-1:-1;;;;;1600:13:11;;;;;;;:6;:13;;;;;:19;;;10449:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:11;;;;;;;:::i;:::-;-1:-1:-1;;;;;10474:13:11;;::::1;10505:1;10474:13:::0;;;:6:::1;:13;::::0;;;;;;;:19:::1;::::0;::::1;10466:66;;;::::0;-1:-1:-1;;;10466:66:11;;17758:2:17;10466:66:11::1;::::0;::::1;17740:21:17::0;17797:2;17777:18;;;17770:30;-1:-1:-1;;;17816:18:17;;;17809:50;17876:18;;10466:66:11::1;17556:344:17::0;10466:66:11::1;-1:-1:-1::0;;;;;10572:13:11;;::::1;10551:18;10572:13:::0;;;:6:::1;:13;::::0;;;;:19:::1;;::::0;::::1;10664:31;10579:5:::0;10664:24:::1;:31::i;:::-;-1:-1:-1::0;;;;;10749:13:11;::::1;;::::0;;;:6:::1;:13;::::0;;;;;10742:20:::1;10749:13:::0;;10742:20:::1;:::i;:::-;;;::::0;::::1;;;:::i;:::-;-1:-1:-1::0;10742:20:11::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;10742:20:11;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;10786:31:::1;::::0;-1:-1:-1;;;;;10786:31:11;;::::1;::::0;;;::::1;::::0;::::1;::::0;10742:20;10786:31:::1;10456:368;10389:435:::0;;:::o;8895:170::-;8970:16;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8970:16:11;-1:-1:-1;;;;;9023:14:11;;8998:22;9023:14;;;:6;:14;;;;;;;9047:11;;;;;;;;;;9023:14;;9047:11;9023:14;;9047:11;;9023:14;;9047:11;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9047:11:11;;;-1:-1:-1;;9047:11:11;;;;-1:-1:-1;;;;;9047:11:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8895:170;-1:-1:-1;;;8895:170:11:o;6124:382::-;-1:-1:-1;;;;;1600:13:11;;;;;;;:6;:13;;;;;:19;;;6291:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:11;;;;;;;:::i;:::-;6329:15:::1;::::0;:48:::1;::::0;-1:-1:-1;;;6329:48:11;;-1:-1:-1;;;;;6329:15:11;;::::1;::::0;:35:::1;::::0;:48:::1;::::0;6365:11;;6329:48:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6308:117;;;::::0;-1:-1:-1;;;6308:117:11;;12974:2:17;6308:117:11::1;::::0;::::1;12956:21:17::0;13013:2;12993:18;;;12986:30;-1:-1:-1;;;13032:18:17;;;13025:52;13094:18;;6308:117:11::1;12772:346:17::0;6308:117:11::1;6436:63;6452:5;6459:11;6472:12;6486;6436:15;:63::i;:::-;6124:382:::0;;;;;:::o;3319:177::-;2334:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3404:27:11;::::1;3396:55;;;::::0;-1:-1:-1;;;3396:55:11;;20690:2:17;3396:55:11::1;::::0;::::1;20672:21:17::0;20729:2;20709:18;;;20702:30;-1:-1:-1;;;20748:18:17;;;20741:45;20803:18;;3396:55:11::1;20488:339:17::0;3396:55:11::1;3461:12;:28:::0;;-1:-1:-1;;;;;;3461:28:11::1;-1:-1:-1::0;;;;;3461:28:11;;;::::1;::::0;;;::::1;::::0;;3319:177::o;9071:147::-;9149:22;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9149:22:11;9190:21;;;;:9;:21;;;;;;;;;9183:28;;;;;;;;;;-1:-1:-1;;;;;9183:28:11;;;;;;;;9190:21;;9183:28;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9183:28:11;;;-1:-1:-1;;9183:28:11;;;;;;;;;;;;-1:-1:-1;;;;;9183:28:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;9071:147;-1:-1:-1;;9071:147:11:o;3656:220::-;2334:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3747:30:11;::::1;3739:58;;;::::0;-1:-1:-1;;;3739:58:11;;20690:2:17;3739:58:11::1;::::0;::::1;20672:21:17::0;20729:2;20709:18;;;20702:30;-1:-1:-1;;;20748:18:17;;;20741:45;20803:18;;3739:58:11::1;20488:339:17::0;3739:58:11::1;3807:15;:62:::0;;-1:-1:-1;;;;;;3807:62:11::1;-1:-1:-1::0;;;;;3807:62:11;;;::::1;::::0;;;::::1;::::0;;3656:220::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;7817:51:17::0;7790:18;;3534:31:0::1;7671:203:17::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;1387:43:11:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1387:43:11;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1387:43:11;;;;;;;;;-1:-1:-1;1387:43:11;;:::o;10830:470::-;-1:-1:-1;;;;;11040:13:11;;11010:27;11040:13;;;:6;:13;;;;;;11063:21;11080:4;11040:13;11063:21;:::i;:::-;-1:-1:-1;11094:18:11;;;:29;11115:8;11094:18;:29;:::i;:::-;-1:-1:-1;11133:15:11;;;:23;;-1:-1:-1;;;;;11133:23:11;;;-1:-1:-1;;;;;;11133:23:11;;;;;;;;11166:15;;;:23;;;;;;;;;;;;;;11199:20;;;:33;;;11248:45;;;;;;11278:4;;11284:8;;11248:45;:::i;:::-;;;;;;;;11000:300;10830:470;;;;;:::o;11306:548::-;11510:167;;;;;;;;-1:-1:-1;;;;;11510:167:11;;;;;;;;;;;;;;;;;;;;;;;;;11635:14;;11510:167;;;;;;11663:4;11510:167;;;;;;-1:-1:-1;11688:25:11;;;:9;:25;;;;;;;:39;;;;-1:-1:-1;;;;;;11688:39:11;;;;;;;;;;;11510:167;;;;11688:39;;;;;;;;:::i;:::-;-1:-1:-1;11688:39:11;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11688:39:11;-1:-1:-1;;;;;11688:39:11;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11688:39:11;;;;;;;;;;11764:14;;11743:77;;;;;;;;;;11780:11;;11793:12;;11807;;11743:77;:::i;:::-;;;;;;;;11831:14;:16;;;:14;:16;;;:::i;:::-;;;;;;11463:391;11306:548;;;;:::o;9071:205:1:-;9129:30;;3147:66;9186:27;8819:122;1847:127:0;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:6;-1:-1:-1;;;;;1519:53:6;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;13917:84:11;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;7835:32:17;;6493:60:2;;;7817:51:17;7790:18;;6493:60:2;7671:203:17;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;4963:25:17;;;4936:18;;6292:34:2;4817:177:17;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;12534:633:11;12599:30;12649:15;;;;;;;;;-1:-1:-1;;;;;12649:15:11;-1:-1:-1;;;;;12632:61:11;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12599:96;;12711:9;12706:455;12730:22;12726:1;:26;12706:455;;;12773:41;12851:15;;12817:78;;-1:-1:-1;;;12817:78:11;;;;;4963:25:17;;;-1:-1:-1;;;;;12851:15:11;;;;12817:75;;4936:18:17;;12817:78:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12817:78:11;;;;;;;;;;;;:::i;:::-;12773:122;;12933:5;-1:-1:-1;;;;;12914:24:11;:8;:15;;;-1:-1:-1;;;;;12914:24:11;;;:46;;;;12943:8;:17;;;12942:18;12914:46;12910:93;;;12980:8;;;12910:93;13017:46;13042:8;:20;;;13017:24;:46::i;:::-;13078:72;13094:5;13101:8;:20;;;13123:8;:14;;;13147:1;13078:15;:72::i;:::-;12759:402;12706:455;12754:3;;12706:455;;2658:162:0;966:10:3;2717:7:0;:5;:7::i;:::-;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;7817:51:17;7790:18;;2763:40:0;7671:203:17;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;13349:379:11:-;13511:1;13494:228;13518:14;;13514:1;:18;13494:228;;;13557:12;;;;:9;:12;;;;;:19;-1:-1:-1;;;;;13557:28:11;;;:19;;:28;:53;;;;-1:-1:-1;13589:12:11;;;;:9;:12;;;;;:21;;;;;13557:53;13553:159;;;13637:12;;;;:9;:12;;;;;13630:19;;-1:-1:-1;;;;;;13630:19:11;;;13637:12;13630:19;;;;13637:12;13630:19;:::i;:::-;-1:-1:-1;13630:19:11;;;;;;;;;;;;-1:-1:-1;;;;;;13630:19:11;;;;;;;;;;;-1:-1:-1;;13630:19:11;;;13672:25;;4963::17;;;-1:-1:-1;;;;;13672:25:11;;;;;4951:2:17;4936:18;13672:25:11;;;;;;;13553:159;13534:3;;13494:228;;7082:141:1;7149:17;:15;:17::i;:::-;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;2264:344:6:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:6;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;11860:668:11:-;11944:15;;:48;;-1:-1:-1;;;11944:48:11;;-1:-1:-1;;;;;11944:15:11;;;;:35;;:48;;11980:11;;11944:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11939:583;;12008:29;12057:15;;;;;;;;;-1:-1:-1;;;;;12057:15:11;-1:-1:-1;;;;;12040:66:11;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12292:58;;-1:-1:-1;;;12292:58:11;;12008:100;;-1:-1:-1;12008:100:11;;12123:36;;-1:-1:-1;;;;;12292:45:11;;;;;:58;;12338:11;;12292:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12292:58:11;;;;;;;;;;;;:::i;:::-;12365:15;;12414:12;;12444:16;;;;12478:19;;;;;12365:146;;-1:-1:-1;;;12365:146:11;;12248:102;;-1:-1:-1;;;;;;12365:15:11;;;;:31;;:146;;12414:12;12444:16;12365:146;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12365:146:11;;;;;;;;;;;;:::i;8485:120:1:-;8535:4;8558:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8558:40:1;;;;;;-1:-1:-1;8485:120:1:o;1671:281:6:-;1748:17;-1:-1:-1;;;;;1748:29:6;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:6;;-1:-1:-1;;;;;7835:32:17;;1805:47:6;;;7817:51:17;7790:18;;1805:47:6;7671:203:17;1744:119:6;-1:-1:-1;;;;;;;;;;;1872:73:6;;-1:-1:-1;;;;;;1872:73:6;-1:-1:-1;;;;;1872:73:6;;;;;;;;;;1671:281::o;3916:253:8:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:8;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:8:o;6113:122:6:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:6;;;;;;;;;;;4437:582:8;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:8;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:8;;-1:-1:-1;;;;;7835:32:17;;4933:24:8;;;7817:51:17;7790:18;;4933:24:8;7671:203:17;4853:119:8;-1:-1:-1;4992:10:8;4605:408;4437:582;;;;;:::o;5559:487::-;5690:17;;:21;5686:354;;5887:10;5881:17;5943:15;5930:10;5926:2;5922:19;5915:44;5686:354;6010:19;;-1:-1:-1;;;6010:19:8;;;;;;;;;;;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:17:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:17;;14:180;-1:-1:-1;14:180:17:o;199:250::-;284:1;294:113;308:6;305:1;302:13;294:113;;;384:11;;;378:18;365:11;;;358:39;330:2;323:10;294:113;;;-1:-1:-1;;441:1:17;423:16;;416:27;199:250::o;454:271::-;496:3;534:5;528:12;561:6;556:3;549:19;577:76;646:6;639:4;634:3;630:14;623:4;616:5;612:16;577:76;:::i;:::-;707:2;686:15;-1:-1:-1;;682:29:17;673:39;;;;714:4;669:50;;454:271;-1:-1:-1;;454:271:17:o;730:645::-;976:4;1022:1;1018;1013:3;1009:11;1005:19;1063:2;1055:6;1051:15;1040:9;1033:34;1103:3;1098:2;1087:9;1083:18;1076:31;1124:46;1165:3;1154:9;1150:19;1142:6;1124:46;:::i;:::-;1201:2;1186:18;;1179:34;;;;1249:15;;;;1244:2;1229:18;;1222:43;1296:3;1281:19;;1274:35;;;;1353:14;1346:22;1340:3;1325:19;;;1318:51;-1:-1:-1;1116:54:17;730:645;-1:-1:-1;;730:645:17:o;1380:131::-;-1:-1:-1;;;;;1455:31:17;;1445:42;;1435:70;;1501:1;1498;1491:12;1516:127;1577:10;1572:3;1568:20;1565:1;1558:31;1608:4;1605:1;1598:15;1632:4;1629:1;1622:15;1648:253;1720:2;1714:9;1762:4;1750:17;;-1:-1:-1;;;;;1782:34:17;;1818:22;;;1779:62;1776:88;;;1844:18;;:::i;:::-;1880:2;1873:22;1648:253;:::o;1906:::-;1978:2;1972:9;2020:4;2008:17;;-1:-1:-1;;;;;2040:34:17;;2076:22;;;2037:62;2034:88;;;2102:18;;:::i;2164:253::-;2236:2;2230:9;2278:4;2266:17;;-1:-1:-1;;;;;2298:34:17;;2334:22;;;2295:62;2292:88;;;2360:18;;:::i;2422:253::-;2494:2;2488:9;2536:4;2524:17;;-1:-1:-1;;;;;2556:34:17;;2592:22;;;2553:62;2550:88;;;2618:18;;:::i;2680:275::-;2751:2;2745:9;2816:2;2797:13;;-1:-1:-1;;2793:27:17;2781:40;;-1:-1:-1;;;;;2836:34:17;;2872:22;;;2833:62;2830:88;;;2898:18;;:::i;:::-;2934:2;2927:22;2680:275;;-1:-1:-1;2680:275:17:o;2960:187::-;3009:4;-1:-1:-1;;;;;3034:6:17;3031:30;3028:56;;;3064:18;;:::i;:::-;-1:-1:-1;3130:2:17;3109:15;-1:-1:-1;;3105:29:17;3136:4;3101:40;;2960:187::o;3152:338::-;3217:5;3246:53;3262:36;3291:6;3262:36;:::i;:::-;3246:53;:::i;:::-;3237:62;;3322:6;3315:5;3308:21;3362:3;3353:6;3348:3;3344:16;3341:25;3338:45;;;3379:1;3376;3369:12;3338:45;3428:6;3423:3;3416:4;3409:5;3405:16;3392:43;3482:1;3475:4;3466:6;3459:5;3455:18;3451:29;3444:40;3152:338;;;;;:::o;3495:222::-;3538:5;3591:3;3584:4;3576:6;3572:17;3568:27;3558:55;;3609:1;3606;3599:12;3558:55;3631:80;3707:3;3698:6;3685:20;3678:4;3670:6;3666:17;3631:80;:::i;3722:1090::-;3856:6;3864;3872;3880;3888;3896;3949:3;3937:9;3928:7;3924:23;3920:33;3917:53;;;3966:1;3963;3956:12;3917:53;4005:9;3992:23;4024:31;4049:5;4024:31;:::i;:::-;4074:5;-1:-1:-1;4130:2:17;4115:18;;4102:32;-1:-1:-1;;;;;4183:14:17;;;4180:34;;;4210:1;4207;4200:12;4180:34;4233:50;4275:7;4266:6;4255:9;4251:22;4233:50;:::i;:::-;4223:60;;4336:2;4325:9;4321:18;4308:32;4292:48;;4365:2;4355:8;4352:16;4349:36;;;4381:1;4378;4371:12;4349:36;4404:52;4448:7;4437:8;4426:9;4422:24;4404:52;:::i;:::-;4394:62;;4509:2;4498:9;4494:18;4481:32;4465:48;;4538:2;4528:8;4525:16;4522:36;;;4554:1;4551;4544:12;4522:36;;4577:52;4621:7;4610:8;4599:9;4595:24;4577:52;:::i;:::-;4567:62;;;4676:3;4665:9;4661:19;4648:33;4638:43;;4733:3;4722:9;4718:19;4705:33;4747;4772:7;4747:33;:::i;:::-;4799:7;4789:17;;;3722:1090;;;;;;;;:::o;4999:448::-;5127:6;5135;5188:2;5176:9;5167:7;5163:23;5159:32;5156:52;;;5204:1;5201;5194:12;5156:52;5243:9;5230:23;5262:31;5287:5;5262:31;:::i;:::-;5312:5;-1:-1:-1;5369:2:17;5354:18;;5341:32;5382:33;5341:32;5382:33;:::i;:::-;5434:7;5424:17;;;4999:448;;;;;:::o;5452:585::-;5529:6;5537;5590:2;5578:9;5569:7;5565:23;5561:32;5558:52;;;5606:1;5603;5596:12;5558:52;5645:9;5632:23;5664:31;5689:5;5664:31;:::i;:::-;5714:5;-1:-1:-1;5770:2:17;5755:18;;5742:32;-1:-1:-1;;;;;5786:30:17;;5783:50;;;5829:1;5826;5819:12;5783:50;5852:22;;5905:4;5897:13;;5893:27;-1:-1:-1;5883:55:17;;5934:1;5931;5924:12;5883:55;5957:74;6023:7;6018:2;6005:16;6000:2;5996;5992:11;5957:74;:::i;:::-;5947:84;;;5452:585;;;;;:::o;6224:247::-;6283:6;6336:2;6324:9;6315:7;6311:23;6307:32;6304:52;;;6352:1;6349;6342:12;6304:52;6391:9;6378:23;6410:31;6435:5;6410:31;:::i;6476:315::-;6544:6;6552;6605:2;6593:9;6584:7;6580:23;6576:32;6573:52;;;6621:1;6618;6611:12;6573:52;6660:9;6647:23;6679:31;6704:5;6679:31;:::i;:::-;6729:5;6781:2;6766:18;;;;6753:32;;-1:-1:-1;;;6476:315:17:o;6796:678::-;6893:6;6901;6909;6962:2;6950:9;6941:7;6937:23;6933:32;6930:52;;;6978:1;6975;6968:12;6930:52;7017:9;7004:23;7036:31;7061:5;7036:31;:::i;:::-;7086:5;-1:-1:-1;7142:2:17;7127:18;;7114:32;-1:-1:-1;;;;;7195:14:17;;;7192:34;;;7222:1;7219;7212:12;7192:34;7245:50;7287:7;7278:6;7267:9;7263:22;7245:50;:::i;:::-;7235:60;;7348:2;7337:9;7333:18;7320:32;7304:48;;7377:2;7367:8;7364:16;7361:36;;;7393:1;7390;7383:12;7361:36;;7416:52;7460:7;7449:8;7438:9;7434:24;7416:52;:::i;:::-;7406:62;;;6796:678;;;;;:::o;7879:906::-;8062:2;8051:9;8044:21;8025:4;8100:6;8094:13;8143:4;8138:2;8127:9;8123:18;8116:32;8171:52;8218:3;8207:9;8203:19;8189:12;8171:52;:::i;:::-;8157:66;;8272:2;8264:6;8260:15;8254:22;8344:2;8340:7;8328:9;8320:6;8316:22;8312:36;8307:2;8296:9;8292:18;8285:64;8372:41;8406:6;8390:14;8372:41;:::i;:::-;8358:55;;;8462:2;8454:6;8450:15;8444:22;8502:1;8498;8493:3;8489:11;8485:19;8560:2;8544:14;8540:23;8535:2;8524:9;8520:18;8513:51;8629:2;8623;8615:6;8611:15;8605:22;8601:31;8595:3;8584:9;8580:19;8573:60;;;8688:3;8680:6;8676:16;8670:23;8664:3;8653:9;8649:19;8642:52;8750:3;8742:6;8738:16;8732:23;8725:4;8714:9;8710:20;8703:53;8773:6;8765:14;;;7879:906;;;;:::o;8790:220::-;8939:2;8928:9;8921:21;8902:4;8959:45;9000:2;8989:9;8985:18;8977:6;8959:45;:::i;9015:667::-;9111:6;9119;9127;9135;9188:3;9176:9;9167:7;9163:23;9159:33;9156:53;;;9205:1;9202;9195:12;9156:53;9244:9;9231:23;9263:31;9288:5;9263:31;:::i;:::-;9313:5;-1:-1:-1;9369:2:17;9354:18;;9341:32;-1:-1:-1;;;;;9385:30:17;;9382:50;;;9428:1;9425;9418:12;9382:50;9451;9493:7;9484:6;9473:9;9469:22;9451:50;:::i;:::-;9441:60;;;9548:2;9537:9;9533:18;9520:32;9510:42;;9604:2;9593:9;9589:18;9576:32;9617:33;9642:7;9617:33;:::i;:::-;9015:667;;;;-1:-1:-1;9015:667:17;;-1:-1:-1;;9015:667:17:o;9687:758::-;9882:2;9871:9;9864:21;9845:4;9921:1;9917;9912:3;9908:11;9904:19;9978:2;9969:6;9963:13;9959:22;9954:2;9943:9;9939:18;9932:50;10029:2;10021:6;10017:15;10011:22;10069:4;10064:2;10053:9;10049:18;10042:32;10097:52;10144:3;10133:9;10129:19;10115:12;10097:52;:::i;:::-;10083:66;;10203:2;10195:6;10191:15;10185:22;10180:2;10169:9;10165:18;10158:50;10273:2;10267;10259:6;10255:15;10249:22;10245:31;10239:3;10228:9;10224:19;10217:60;10332:3;10324:6;10320:16;10314:23;10308:3;10297:9;10293:19;10286:52;10408:3;10400:6;10396:16;10390:23;10383:31;10376:39;10369:4;10358:9;10354:20;10347:69;10433:6;10425:14;;;;9687:758;;;;:::o;10926:727::-;11235:3;11224:9;11217:22;11198:4;11262:46;11303:3;11292:9;11288:19;11280:6;11262:46;:::i;:::-;11356:9;11348:6;11344:22;11339:2;11328:9;11324:18;11317:50;11384:33;11410:6;11402;11384:33;:::i;:::-;-1:-1:-1;;;;;11491:15:17;;;11486:2;11471:18;;11464:43;11543:15;;;;11538:2;11523:18;;11516:43;-1:-1:-1;11590:3:17;11575:19;;11568:35;;;;11444:3;11619:19;;;11612:35;11543:15;11376:41;-1:-1:-1;;;10926:727:17:o;11658:380::-;11737:1;11733:12;;;;11780;;;11801:61;;11855:4;11847:6;11843:17;11833:27;;11801:61;11908:2;11900:6;11897:14;11877:18;11874:38;11871:161;;11954:10;11949:3;11945:20;11942:1;11935:31;11989:4;11986:1;11979:15;12017:4;12014:1;12007:15;11871:161;;11658:380;;;:::o;12043:348::-;12245:2;12227:21;;;12284:2;12264:18;;;12257:30;12323:26;12318:2;12303:18;;12296:54;12382:2;12367:18;;12043:348::o;12396:164::-;12472:13;;12521;;12514:21;12504:32;;12494:60;;12550:1;12547;12540:12;12494:60;12396:164;;;:::o;12565:202::-;12632:6;12685:2;12673:9;12664:7;12660:23;12656:32;12653:52;;;12701:1;12698;12691:12;12653:52;12724:37;12751:9;12724:37;:::i;13337:443::-;13391:5;13444:3;13437:4;13429:6;13425:17;13421:27;13411:55;;13462:1;13459;13452:12;13411:55;13491:6;13485:13;13522:49;13538:32;13567:2;13538:32;:::i;13522:49::-;13596:2;13587:7;13580:19;13642:3;13635:4;13630:2;13622:6;13618:15;13614:26;13611:35;13608:55;;;13659:1;13656;13649:12;13608:55;13672:77;13746:2;13739:4;13730:7;13726:18;13719:4;13711:6;13707:17;13672:77;:::i;:::-;13767:7;13337:443;-1:-1:-1;;;;13337:443:17:o;13785:138::-;13864:13;;13886:31;13864:13;13886:31;:::i;13928:1052::-;14025:6;14078:2;14066:9;14057:7;14053:23;14049:32;14046:52;;;14094:1;14091;14084:12;14046:52;14127:9;14121:16;-1:-1:-1;;;;;14197:2:17;14189:6;14186:14;14183:34;;;14213:1;14210;14203:12;14183:34;14236:22;;;;14292:4;14274:16;;;14270:27;14267:47;;;14310:1;14307;14300:12;14267:47;14336:22;;:::i;:::-;14389:2;14383:9;14417:2;14407:8;14404:16;14401:36;;;14433:1;14430;14423:12;14401:36;14460:56;14508:7;14497:8;14493:2;14489:17;14460:56;:::i;:::-;14453:5;14446:71;;14556:2;14552;14548:11;14542:18;14585:2;14575:8;14572:16;14569:36;;;14601:1;14598;14591:12;14569:36;14637:56;14685:7;14674:8;14670:2;14666:17;14637:56;:::i;:::-;14632:2;14625:5;14621:14;14614:80;;14726:42;14764:2;14760;14756:11;14726:42;:::i;:::-;14721:2;14714:5;14710:14;14703:66;14801:42;14839:2;14835;14831:11;14801:42;:::i;:::-;14796:2;14789:5;14785:14;14778:66;14891:3;14887:2;14883:12;14877:19;14871:3;14864:5;14860:15;14853:44;14944:3;14940:2;14936:12;14930:19;14924:3;14917:5;14913:15;14906:44;14969:5;14959:15;;;;;13928:1052;;;;:::o;16057:127::-;16118:10;16113:3;16109:20;16106:1;16099:31;16149:4;16146:1;16139:15;16173:4;16170:1;16163:15;16189:125;16254:9;;;16275:10;;;16272:36;;;16288:18;;:::i;16319:128::-;16386:9;;;16407:11;;;16404:37;;;16421:18;;:::i;16452:168::-;16525:9;;;16556;;16573:15;;;16567:22;;16553:37;16543:71;;16594:18;;:::i;16625:217::-;16665:1;16691;16681:132;;16735:10;16730:3;16726:20;16723:1;16716:31;16770:4;16767:1;16760:15;16798:4;16795:1;16788:15;16681:132;-1:-1:-1;16827:9:17;;16625:217::o;16847:350::-;17049:2;17031:21;;;17088:2;17068:18;;;17061:30;17127:28;17122:2;17107:18;;17100:56;17188:2;17173:18;;16847:350::o;18031:543::-;18133:2;18128:3;18125:11;18122:446;;;18169:1;18193:5;18190:1;18183:16;18237:4;18234:1;18224:18;18307:2;18295:10;18291:19;18288:1;18284:27;18278:4;18274:38;18343:4;18331:10;18328:20;18325:47;;;-1:-1:-1;18366:4:17;18325:47;18421:2;18416:3;18412:12;18409:1;18405:20;18399:4;18395:31;18385:41;;18476:82;18494:2;18487:5;18484:13;18476:82;;;18539:17;;;18520:1;18509:13;18476:82;;18750:1345;18876:3;18870:10;-1:-1:-1;;;;;18895:6:17;18892:30;18889:56;;;18925:18;;:::i;:::-;18954:97;19044:6;19004:38;19036:4;19030:11;19004:38;:::i;:::-;18998:4;18954:97;:::i;:::-;19106:4;;19163:2;19152:14;;19180:1;19175:663;;;;19882:1;19899:6;19896:89;;;-1:-1:-1;19951:19:17;;;19945:26;19896:89;-1:-1:-1;;18707:1:17;18703:11;;;18699:24;18695:29;18685:40;18731:1;18727:11;;;18682:57;19998:81;;19145:944;;19175:663;17978:1;17971:14;;;18015:4;18002:18;;-1:-1:-1;;19211:20:17;;;19329:236;19343:7;19340:1;19337:14;19329:236;;;19432:19;;;19426:26;19411:42;;19524:27;;;;19492:1;19480:14;;;;19359:19;;19329:236;;;19333:3;19593:6;19584:7;19581:19;19578:201;;;19654:19;;;19648:26;-1:-1:-1;;19737:1:17;19733:14;;;19749:3;19729:24;19725:37;19721:42;19706:58;19691:74;;19578:201;-1:-1:-1;;;;;19825:1:17;19809:14;;;19805:22;19792:36;;-1:-1:-1;18750:1345:17:o;20100:383::-;20297:2;20286:9;20279:21;20260:4;20323:45;20364:2;20353:9;20349:18;20341:6;20323:45;:::i;:::-;20416:9;20408:6;20404:22;20399:2;20388:9;20384:18;20377:50;20444:33;20470:6;20462;20444:33;:::i;20832:461::-;21065:6;21054:9;21047:25;21108:3;21103:2;21092:9;21088:18;21081:31;21028:4;21129:46;21170:3;21159:9;21155:19;21147:6;21129:46;:::i;:::-;21206:2;21191:18;;21184:34;;;;-1:-1:-1;;;;;;21254:32:17;;;;21249:2;21234:18;;;21227:60;21121:54;20832:461;-1:-1:-1;;20832:461:17:o;21298:135::-;21337:3;21358:17;;;21355:43;;21378:18;;:::i;:::-;-1:-1:-1;21425:1:17;21414:13;;21298:135::o;21438:184::-;21508:6;21561:2;21549:9;21540:7;21536:23;21532:32;21529:52;;;21577:1;21574;21567:12;21529:52;-1:-1:-1;21600:16:17;;21438:184;-1:-1:-1;21438:184:17:o;21816:918::-;21912:6;21965:2;21953:9;21944:7;21940:23;21936:32;21933:52;;;21981:1;21978;21971:12;21933:52;22014:9;22008:16;-1:-1:-1;;;;;22084:2:17;22076:6;22073:14;22070:34;;;22100:1;22097;22090:12;22070:34;22123:22;;;;22179:4;22161:16;;;22157:27;22154:47;;;22197:1;22194;22187:12;22154:47;22223:22;;:::i;:::-;22275:2;22269:9;22287:33;22312:7;22287:33;:::i;:::-;22329:22;;22390:2;22382:11;;22376:18;22406:16;;;22403:36;;;22435:1;22432;22425:12;22403:36;22471:56;22519:7;22508:8;22504:2;22500:17;22471:56;:::i;:::-;22466:2;22459:5;22455:14;22448:80;;22574:2;22570;22566:11;22560:18;22555:2;22548:5;22544:14;22537:42;22625:2;22621;22617:11;22611:18;22606:2;22599:5;22595:14;22588:42;22663:40;22698:3;22694:2;22690:12;22663:40;:::i;:::-;22657:3;22646:15;;22639:65;22650:5;21816:918;-1:-1:-1;;;;;21816:918:17:o;22739:251::-;22809:6;22862:2;22850:9;22841:7;22837:23;22833:32;22830:52;;;22878:1;22875;22868:12;22830:52;22910:9;22904:16;22929:31;22954:5;22929:31;:::i;22995:1043::-;23090:6;23143:2;23131:9;23122:7;23118:23;23114:32;23111:52;;;23159:1;23156;23149:12;23111:52;23192:9;23186:16;-1:-1:-1;;;;;23262:2:17;23254:6;23251:14;23248:34;;;23278:1;23275;23268:12;23248:34;23301:22;;;;23357:4;23339:16;;;23335:27;23332:47;;;23375:1;23372;23365:12;23332:47;23401:22;;:::i;:::-;23454:2;23448:9;23482:2;23472:8;23469:16;23466:36;;;23498:1;23495;23488:12;23466:36;23525:56;23573:7;23562:8;23558:2;23554:17;23525:56;:::i;:::-;23518:5;23511:71;;23621:2;23617;23613:11;23607:18;23650:2;23640:8;23637:16;23634:36;;;23666:1;23663;23656:12;23634:36;23702:56;23750:7;23739:8;23735:2;23731:17;23702:56;:::i;:::-;23697:2;23690:5;23686:14;23679:80;;23798:2;23794;23790:11;23784:18;23827:2;23817:8;23814:16;23811:36;;;23843:1;23840;23833:12;23811:36;23879:56;23927:7;23916:8;23912:2;23908:17;23879:56;:::i;:::-;23874:2;23867:5;23863:14;23856:80;;23968:39;24003:2;23999;23995:11;23968:39;:::i;:::-;23963:2;23952:14;;23945:63;23956:5;22995:1043;-1:-1:-1;;;;;22995:1043:17:o;24043:546::-;24288:2;24277:9;24270:21;24251:4;24314:45;24355:2;24344:9;24340:18;24332:6;24314:45;:::i;:::-;24407:9;24399:6;24395:22;24390:2;24379:9;24375:18;24368:50;24441:33;24467:6;24459;24441:33;:::i;:::-;24427:47;;24522:9;24514:6;24510:22;24505:2;24494:9;24490:18;24483:50;24550:33;24576:6;24568;24550:33;:::i;:::-;24542:41;24043:546;-1:-1:-1;;;;;;24043:546:17:o;24594:971::-;24689:6;24742:2;24730:9;24721:7;24717:23;24713:32;24710:52;;;24758:1;24755;24748:12;24710:52;24791:9;24785:16;-1:-1:-1;;;;;24861:2:17;24853:6;24850:14;24847:34;;;24877:1;24874;24867:12;24847:34;24900:22;;;;24956:4;24938:16;;;24934:27;24931:47;;;24974:1;24971;24964:12;24931:47;25000:22;;:::i;:::-;25053:2;25047:9;25081:2;25071:8;25068:16;25065:36;;;25097:1;25094;25087:12;25065:36;25124:56;25172:7;25161:8;25157:2;25153:17;25124:56;:::i;:::-;25117:5;25110:71;;25220:2;25216;25212:11;25206:18;25249:2;25239:8;25236:16;25233:36;;;25265:1;25262;25255:12;25233:36;25301:56;25349:7;25338:8;25334:2;25330:17;25301:56;:::i;:::-;25296:2;25289:5;25285:14;25278:80;;25397:2;25393;25389:11;25383:18;25426:2;25416:8;25413:16;25410:36;;;25442:1;25439;25432:12;25410:36;25478:56;25526:7;25515:8;25511:2;25507:17;25478:56;:::i;:::-;25473:2;25462:14;;25455:80;-1:-1:-1;25466:5:17;24594:971;-1:-1:-1;;;;;24594:971:17:o;25570:287::-;25699:3;25737:6;25731:13;25753:66;25812:6;25807:3;25800:4;25792:6;25788:17;25753:66;:::i;:::-;25835:16;;;;;25570:287;-1:-1:-1;;25570:287:17:o" + "object": "6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x181 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x97A6278E GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xB2D78069 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD7071B1F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD7071B1F EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0xDCA60776 EQ PUSH2 0x4D2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4F2 JUMPI DUP1 PUSH4 0xFD66091E EQ PUSH2 0x512 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xB2D78069 EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0xC7F758A8 EQ PUSH2 0x465 JUMPI DUP1 PUSH4 0xCBCF252A EQ PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x97A6278E EQ PUSH2 0x341 JUMPI DUP1 PUSH4 0x9C89A0E2 EQ PUSH2 0x361 JUMPI DUP1 PUSH4 0x9E498F16 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0xAAC9F15A EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x3E7 JUMPI DUP1 PUSH4 0xAEBFD80E EQ PUSH2 0x425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x7216FE48 GT PUSH2 0x118 JUMPI DUP1 PUSH4 0x7216FE48 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0x7B5C219D EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x96A45139 EQ PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0x70370A81 EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x28F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x13CF08B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x270BAAA8 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x2AB09D14 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x485CC955 EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x23A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D3 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x223C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0x23F4 JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x24AB JUMP JUMPDEST PUSH2 0x736 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x24E4 JUMP JUMPDEST PUSH2 0x86C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x88B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x8A8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x28A CALLDATASIZE PUSH1 0x4 PUSH2 0x2564 JUMP JUMPDEST PUSH2 0xA07 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0xBC5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x2BF CALLDATASIZE PUSH1 0x4 PUSH2 0x2590 JUMP JUMPDEST PUSH2 0xBD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E4 PUSH2 0x2DF CALLDATASIZE PUSH1 0x4 PUSH2 0x2564 JUMP JUMPDEST PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x309 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x33C CALLDATASIZE PUSH1 0x4 PUSH2 0x2590 JUMP JUMPDEST PUSH2 0xD9D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x35C CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0xECF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DA PUSH2 0x3D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2605 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x418 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2681 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x440 CALLDATASIZE PUSH1 0x4 PUSH2 0x2694 JUMP JUMPDEST PUSH2 0x1207 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x451 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x460 CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x130E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x485 PUSH2 0x480 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D3 JUMP JUMPDEST PUSH2 0x1380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x26FF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x4CD CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x14C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x50D CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x153A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x532 PUSH2 0x52D CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2767 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 SWAP2 PUSH2 0x570 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x59C SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP2 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 POP PUSH1 0xFF AND DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x65E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x68E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6AB 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 0x6CF SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x714 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x722 DUP7 DUP7 DUP7 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x72E DUP7 DUP5 DUP5 DUP5 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x740 PUSH2 0x18A3 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x767 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x783 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x791 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x7AF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x7D9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x7E2 CALLER PUSH2 0x18CC JUMP JUMPDEST PUSH2 0x7EA PUSH2 0x18DD JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP3 DUP10 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR DUP2 SSTORE PUSH1 0x5 SSTORE DUP4 ISZERO PUSH2 0x863 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x874 PUSH2 0x18E5 JUMP JUMPDEST PUSH2 0x87D DUP3 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x887 DUP3 DUP3 PUSH2 0x1992 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x895 PUSH2 0x1A4F JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x8E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5564F8AD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xAAC9F15A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x92F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x957 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x28B4 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x995 JUMPI POP PUSH2 0x980 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x9E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F74206F776E6572206F72206167656E74206F776E65720000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x9FE DUP3 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x20 ADD MLOAD DUP5 PUSH1 0x40 ADD MLOAD DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x887 DUP3 PUSH2 0x1A98 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865205461736B526567697374727920636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x64 DUP3 GT ISZERO PUSH2 0xAB5 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0xAE1 SWAP1 DUP5 SWAP1 PUSH2 0x2993 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP3 PUSH2 0xB0E PUSH1 0x1 DUP4 PUSH2 0x29A6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH2 0xB34 SWAP2 SWAP1 PUSH2 0x29B9 JUMP JUMPDEST PUSH2 0xB3E SWAP2 SWAP1 PUSH2 0x2993 JUMP JUMPDEST PUSH2 0xB48 SWAP2 SWAP1 PUSH2 0x29D0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP4 SWAP1 SSTORE MLOAD SWAP1 SWAP2 PUSH32 0xFC577563F1B9A0461E24ABEF1E1FCC0D33D3D881F20B5DF6DDA59DE4AAE2C821 SWAP2 PUSH2 0xB99 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBCD PUSH2 0x1BEF JUMP JUMPDEST PUSH2 0xBD7 PUSH1 0x0 PUSH2 0x1C21 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0xC15 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 DUP4 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP2 DUP5 SWAP2 AND CALLER EQ PUSH2 0xC68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND SWAP2 AND EQ PUSH2 0xCD1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0xCFB PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP5 SWAP2 AND CALLER EQ PUSH2 0xDDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xE3D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xE5F DUP5 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD PUSH2 0xE85 DUP4 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x244B747F2AC491B7662C44209B5F6110934A8725F40D2BD91805F9D919A78B10 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xEC1 SWAP3 SWAP2 SWAP1 PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP2 AND CALLER EQ PUSH2 0xF0D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xF6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD AND PUSH2 0xF96 DUP4 PUSH2 0x1C92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0xFB9 DUP3 DUP3 PUSH2 0x2185 JUMP JUMPDEST PUSH2 0xFC7 PUSH1 0x1 DUP4 ADD PUSH1 0x0 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP3 SWAP1 DUP7 AND SWAP2 PUSH32 0x4CE8B3FE8E0BF47A6FEFBECDFD7C799755CEDE6061655521B10FC2E4B1FCC6B3 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1080 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD SWAP1 SWAP2 SWAP1 DUP3 SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH2 0x10B7 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10E3 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1130 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1105 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1130 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1113 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1149 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1175 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11C2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1197 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11C2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11A5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x3 DUP4 ADD SLOAD AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP6 SWAP2 AND CALLER EQ PUSH2 0x1245 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1275 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1292 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 0x12B6 SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x12FB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1307 DUP6 DUP6 DUP6 DUP6 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1316 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x135E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x13CD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x1409 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1435 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1482 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1457 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1482 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1465 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14D0 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1518 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x156C JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1C21 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP2 SWAP1 PUSH2 0x1593 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x15BF SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x160C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x160C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x15EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1621 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x164D SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x169A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x166F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x169A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x167D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP5 SWAP3 SWAP1 SWAP2 AND SWAP3 POP SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 PUSH2 0x16EE DUP7 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0x16FD DUP6 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP2 DUP11 AND SWAP2 SWAP1 SWAP3 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP4 ADD DUP5 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x2A562EFB52E7CEC209321F57200606311256DA6D2A1B19D44DB7837A3209DE28 SWAP1 PUSH2 0x176B SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP8 DUP2 MSTORE DUP4 DUP6 ADD DUP8 SWAP1 MSTORE DUP6 DUP4 AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x5 SLOAD PUSH1 0x80 DUP6 ADD DUP2 SWAP1 MSTORE PUSH1 0x1 PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x4 SWAP1 SWAP4 MSTORE SWAP5 SWAP1 SWAP5 KECCAK256 DUP4 MLOAD DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR DUP3 SSTORE SWAP3 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP3 ADD SWAP1 PUSH2 0x17F3 SWAP1 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x40 DUP3 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x3 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND OR SWAP1 SSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x4 DUP5 ADD SSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD MLOAD PUSH1 0x5 SWAP3 DUP4 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE SWAP1 SLOAD SWAP1 MLOAD SWAP2 DUP8 AND SWAP2 PUSH32 0xA6E87A4BA187A506BB81720F5FBD241C879EC33DF712DE8C1BFCCC354DBE450F SWAP2 PUSH2 0x187F SWAP2 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH2 0x2B55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x5 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x1897 DUP4 PUSH2 0x2B8F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0xBBF JUMP JUMPDEST PUSH2 0x18D4 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1DA0 JUMP JUMPDEST PUSH2 0xBD7 PUSH2 0x1D7B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x196C JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1960 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1575 PUSH2 0x1BEF JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x19EC JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x19E9 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1A14 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x1A45 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 PUSH2 0x1DA8 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2AB09D14 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 0x1AEC 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 0x1B10 SWAP2 SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1B8F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2BC1 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x1BB8 JUMPI POP DUP1 PUSH1 0x80 ADD MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x1BC3 JUMPI POP PUSH2 0x1BE7 JUMP JUMPDEST PUSH2 0x1BD0 DUP2 PUSH1 0x20 ADD MLOAD PUSH2 0x1DFE JUMP JUMPDEST PUSH2 0x1BE5 DUP5 DUP3 PUSH1 0x20 ADD MLOAD DUP4 PUSH1 0x40 ADD MLOAD PUSH1 0x0 PUSH2 0x177B JUMP JUMPDEST POP JUMPDEST PUSH1 0x1 ADD PUSH2 0x1B15 JUMP JUMPDEST CALLER PUSH2 0x1BF8 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 SLOAD DUP2 LT ISZERO PUSH2 0x887 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP2 AND EQ DUP1 ISZERO PUSH2 0x1CD9 JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x1D73 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0x1D08 PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST PUSH1 0x1 ADD PUSH2 0x1C95 JUMP JUMPDEST PUSH2 0x1D83 PUSH2 0x1FEA JUMP JUMPDEST PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1542 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1DB1 DUP3 PUSH2 0x2004 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1DF6 JUMPI PUSH2 0xC23 DUP3 DUP3 PUSH2 0x2069 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1E2E SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E4B 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 0x1E6F SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xCBCF252A 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 0x1EC7 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 0x1EEB SWAP2 SWAP1 PUSH2 0x2C65 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3CA3AC5F PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 POP DUP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x794758BE SWAP1 PUSH2 0x1F1F SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F3C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1F64 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2C82 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD SWAP1 MLOAD PUSH4 0x3BD5F621 PUSH1 0xE2 SHL DUP2 MSTORE SWAP5 SWAP6 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP4 PUSH4 0xEF57D884 SWAP4 PUSH2 0x1FA3 SWAP4 SWAP3 SWAP2 PUSH1 0x4 ADD PUSH2 0x2D47 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1FC2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1307 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D8A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF4 PUSH2 0x18A3 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x203A JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x2086 SWAP2 SWAP1 PUSH2 0x2E3E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x20C1 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 0x20C6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x20D6 DUP6 DUP4 DUP4 PUSH2 0x20FE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x2113 JUMPI PUSH2 0x210E DUP3 PUSH2 0x215D JUMP JUMPDEST PUSH2 0x2156 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x212A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2153 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x216C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP1 SLOAD PUSH2 0x2191 SWAP1 PUSH2 0x27BB JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x21A1 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1575 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x21CF JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x21BB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x21E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2207 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x21EF JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x2228 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x21EC JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP10 AND DUP4 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x225E PUSH1 0xC0 DUP5 ADD DUP10 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD SWAP8 SWAP1 SWAP8 MSTORE SWAP5 SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xA0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x80 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x2367 JUMPI PUSH2 0x2367 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x2388 JUMPI PUSH2 0x2388 PUSH2 0x229B JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23A9 PUSH2 0x23A4 DUP5 PUSH2 0x236F JUMP JUMPDEST PUSH2 0x233F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x23BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x23E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x2396 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x240D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x2418 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2434 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2440 DUP11 DUP4 DUP12 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2456 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2462 DUP11 DUP4 DUP12 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2478 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2485 DUP10 DUP3 DUP11 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x249D DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x24C9 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x24D9 DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2502 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x251D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x252E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x253D DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x2396 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2559 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2156 DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2577 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2582 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x25A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x25B0 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x25CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x25D8 DUP8 DUP4 DUP9 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x25EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25FB DUP7 DUP3 DUP8 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2621 PUSH1 0xE0 DUP5 ADD DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP5 DUP4 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x263E DUP3 DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x60 DUP7 ADD MSTORE DUP1 PUSH1 0x60 DUP8 ADD MLOAD AND PUSH1 0x80 DUP7 ADD MSTORE POP POP PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2156 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x26AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x26B5 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26DC DUP8 DUP3 DUP9 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x26F4 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP5 MLOAD AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0xC0 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x272E PUSH1 0xE0 DUP6 ADD DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP2 PUSH1 0x60 DUP7 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xA0 DUP6 ADD MLOAD ISZERO ISZERO PUSH1 0xC0 DUP6 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x277A PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x278C DUP2 DUP10 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND PUSH1 0x40 DUP6 ADD MSTORE SWAP6 SWAP1 SWAP7 AND PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x27CF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x27EF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x18 SWAP1 DUP3 ADD MSTORE PUSH32 0x4167656E7420616C726561647920726567697374657265640000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x283C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP3 PUSH2 0x282C JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x286D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x287B PUSH2 0x23A4 DUP3 PUSH2 0x236F JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x2890 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28A1 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x21EC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH2 0x283C DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x28DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x28F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28F9 PUSH2 0x22B1 JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2908 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2914 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2929 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2935 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x2947 PUSH1 0x40 DUP5 ADD PUSH2 0x28A9 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2958 PUSH1 0x60 DUP5 ADD PUSH2 0x28A9 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x29ED JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865206F776E6572206F6620746865206167656E74000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2A52 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2A5E JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2A8A JUMPI PUSH2 0x2A8A PUSH2 0x229B JUMP JUMPDEST PUSH2 0x2A9E DUP2 PUSH2 0x2A98 DUP5 SLOAD PUSH2 0x27BB JUMP JUMPDEST DUP5 PUSH2 0x2A29 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2AD3 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2ABB JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2B02 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2AE3 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x2B20 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2B43 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x20D6 DUP2 DUP6 PUSH2 0x2210 JUMP JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2B6E PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2BA1 JUMPI PUSH2 0x2BA1 PUSH2 0x297D JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2BEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xA0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2BFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C06 PUSH2 0x22D9 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2C11 DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2C25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C31 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x2C57 PUSH1 0x80 DUP5 ADD PUSH2 0x282C JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C77 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2156 DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2CAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x80 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2CBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CC7 PUSH2 0x22FB JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CE2 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D03 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2D1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D27 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH2 0x2D39 PUSH1 0x60 DUP5 ADD PUSH2 0x282C JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2D5A PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2D6C DUP2 DUP7 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x2D80 DUP2 DUP6 PUSH2 0x2210 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x60 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2DC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DCF PUSH2 0x231D JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DEA DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E0B DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E2F DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2E50 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x21EC JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220E6 PUSH28 0x6B991D09FEF792E3DB660BFACD5075339C91E8CDDAD24262B3C4C2FC 0xDC 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "961:13134:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1436:52;;;;;;;;;;-1:-1:-1;1436:52:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;5118:576;;;;;;;;;;-1:-1:-1;5118:576:11;;;;;:::i;:::-;;:::i;:::-;;1494:29;;;;;;;;;;;;;;;;;;;4963:25:17;;;4951:2;4936:18;1494:29:11;4817:177:17;2023:343:11;;;;;;;;;;-1:-1:-1;2023:343:11;;;;;:::i;:::-;;:::i;4161:214:2:-;;;;;;:::i;:::-;;:::i;3708:134::-;;;;;;;;;;;;;:::i;7427:536:11:-;;;;;;;;;;-1:-1:-1;7427:536:11;;;;;:::i;:::-;;:::i;7969:643::-;;;;;;;;;;-1:-1:-1;7969:643:11;;;;;:::i;:::-;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;4302:269:11:-;;;;;;;;;;-1:-1:-1;4302:269:11;;;;;:::i;:::-;;:::i;6964:364::-;;;;;;;;;;-1:-1:-1;6964:364:11;;;;;:::i;:::-;;:::i;:::-;;;7644:14:17;;7637:22;7619:41;;7607:2;7592:18;6964:364:11;7479:187:17;2441:144:0;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;7835:32:17;;;7817:51;;7805:2;7790:18;2441:144:0;7671:203:17;9634:375:11;;;;;;;;;;-1:-1:-1;9634:375:11;;;;;:::i;:::-;;:::i;10389:435::-;;;;;;;;;;-1:-1:-1;10389:435:11;;;;;:::i;:::-;;:::i;8618:118::-;;;;;;;;;;-1:-1:-1;8618:118:11;;;;;:::i;:::-;-1:-1:-1;;;;;8705:13:11;8679:7;8705:13;;;:6;:13;;;;;:24;;;;8618:118;1353:27;;;;;;;;;;-1:-1:-1;1353:27:11;;;;-1:-1:-1;;;;;1353:27:11;;;8895:170;;;;;;;;;;-1:-1:-1;8895:170:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1819:58:2:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;6124:382:11:-;;;;;;;;;;-1:-1:-1;6124:382:11;;;;;:::i;:::-;;:::i;3319:177::-;;;;;;;;;;-1:-1:-1;3319:177:11;;;;;:::i;:::-;;:::i;9071:147::-;;;;;;;;;;-1:-1:-1;9071:147:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1298:49::-;;;;;;;;;;-1:-1:-1;1298:49:11;;;;-1:-1:-1;;;;;1298:49:11;;;3656:220;;;;;;;;;;-1:-1:-1;3656:220:11;;;;;:::i;:::-;;:::i;1253:39::-;;;;;;;;;;-1:-1:-1;1253:39:11;;;;-1:-1:-1;;;;;1253:39:11;;;3405:215:0;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;1387:43:11:-;;;;;;;;;;-1:-1:-1;1387:43:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;1436:52::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1436:52:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1436:52:11;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1436:52:11;;;;-1:-1:-1;1436:52:11;;;:::o;5118:576::-;-1:-1:-1;;;;;5363:13:11;;;5394:1;5363:13;;;:6;:13;;;;;;;;:19;;;:33;5355:70;;;;-1:-1:-1;;;5355:70:11;;;;;;;:::i;:::-;;;;;;;;;5456:15;;:48;;-1:-1:-1;;;5456:48:11;;-1:-1:-1;;;;;5456:15:11;;;;:35;;:48;;5492:11;;5456:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5435:117;;;;-1:-1:-1;;;5435:117:11;;12974:2:17;5435:117:11;;;12956:21:17;13013:2;12993:18;;;12986:30;-1:-1:-1;;;13032:18:17;;;13025:52;13094:18;;5435:117:11;12772:346:17;5435:117:11;5563:50;5576:5;5583:4;5589:8;5599:10;5611:1;5563:12;:50::i;:::-;5624:63;5640:5;5647:11;5660:12;5674;5624:15;:63::i;:::-;5118:576;;;;;;:::o;2023:343::-;4158:30:1;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:1;-1:-1:-1;;;4302:15:1;;;4301:16;;-1:-1:-1;;;;;4348:14:1;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;-1:-1:-1;;;;;4788:16:1;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;2174:26:11::1;2189:10;2174:14;:26::i;:::-;2210:24;:22;:24::i;:::-;2253:15;:34:::0;;-1:-1:-1;;;;;2253:34:11;;::::1;-1:-1:-1::0;;;;;;2253:34:11;;::::1;;::::0;;;;2297;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;2341:14:::1;:18:::0;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;13276:50:17;;5140:14:1;;13264:2:17;13249:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;2023:343:11;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;7427:536:11:-;-1:-1:-1;;;;;7491:13:11;;;7522:1;7491:13;;;:6;:13;;;;;;;;:19;;;:33;7483:70;;;;-1:-1:-1;;;7483:70:11;;;;;;;:::i;:::-;7564:45;7629:15;;7612:53;;-1:-1:-1;;;7612:53:11;;-1:-1:-1;;;;;7835:32:17;;;7612:53:11;;;7817:51:17;7629:15:11;;;;7612:46;;7790:18:17;;7612:53:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7612:53:11;;;;;;;;;;;;:::i;:::-;7564:101;;7711:11;:17;;;-1:-1:-1;;;;;7697:31:11;:10;-1:-1:-1;;;;;7697:31:11;;:56;;;;7746:7;:5;:7::i;:::-;-1:-1:-1;;;;;7732:21:11;:10;-1:-1:-1;;;;;7732:21:11;;7697:56;7676:127;;;;-1:-1:-1;;;7676:127:11;;15187:2:17;7676:127:11;;;15169:21:17;15226:2;15206:18;;;15199:30;15265:26;15245:18;;;15238:54;15309:18;;7676:127:11;14985:348:17;7676:127:11;7814:102;7827:5;7834:11;:16;;;7852:11;:20;;;7874:11;:17;;;7893:11;:22;;;7814:12;:102::i;:::-;7927:29;7950:5;7927:22;:29::i;7969:643::-;8099:12;;8058:7;;-1:-1:-1;;;;;8099:12:11;8085:10;:26;8077:68;;;;-1:-1:-1;;;8077:68:11;;15540:2:17;8077:68:11;;;15522:21:17;15579:2;15559:18;;;15552:30;15618:31;15598:18;;;15591:59;15667:18;;8077:68:11;15338:353:17;8077:68:11;8203:3;8192:7;:14;;8155:109;;;;-1:-1:-1;;;8155:109:11;;15898:2:17;8155:109:11;;;15880:21:17;;;15917:18;;;15910:30;15976:34;15956:18;;;15949:62;16028:18;;8155:109:11;15696:356:17;8155:109:11;-1:-1:-1;;;;;8274:13:11;;;;;;:6;:13;;;;;:26;;:31;;8304:1;;8274:13;:31;;8304:1;;8274:31;:::i;:::-;;;;-1:-1:-1;;;;;;;8472:13:11;;;;;;:6;:13;;;;;:26;;;8449:7;8399:30;8428:1;8472:26;8399:30;:::i;:::-;-1:-1:-1;;;;;8355:13:11;;;;;;:6;:13;;;;;:24;;;:75;;;;:::i;:::-;:101;;;;:::i;:::-;8354:144;;;;:::i;:::-;-1:-1:-1;;;;;8315:13:11;;;;;;:6;:13;;;;;;;:24;;:183;;;8513:50;8315:13;;8513:50;;;;4963:25:17;;4951:2;4936:18;;4817:177;8513:50:11;;;;;;;;-1:-1:-1;;;;;;8581:13:11;;;;;;:6;:13;;;;;:24;;;7969:643;;;;;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;4302:269:11:-;-1:-1:-1;;;;;4441:13:11;;;4472:1;4441:13;;;:6;:13;;;;;;;;:19;;;:33;4433:70;;;;-1:-1:-1;;;4433:70:11;;;;;;;:::i;:::-;4514:50;4527:5;4534:4;4540:8;4550:10;4562:1;4514:12;:50::i;:::-;4302:269;;;:::o;6964:364::-;-1:-1:-1;;;;;1600:13:11;;;7085:4;1600:13;;;:6;:13;;;;;:19;;;7085:4;;7069:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:11;;;;;;;:::i;:::-;7122:21:::1;::::0;;;:9:::1;:21;::::0;;;;:28;-1:-1:-1;;;;;7122:37:11;;::::1;:28:::0;::::1;:37;7101:109;;;::::0;-1:-1:-1;;;7101:109:11;;17404:2:17;7101:109:11::1;::::0;::::1;17386:21:17::0;17443:2;17423:18;;;17416:30;17482:27;17462:18;;;17455:55;17527:18;;7101:109:11::1;17202:349:17::0;7101:109:11::1;7228:21;::::0;;;:9:::1;:21;::::0;;;;7221:28;;-1:-1:-1;;;;;;7221:28:11::1;::::0;;7228:21;7221:28:::1;::::0;;::::1;7228:21:::0;7221:28:::1;:::i;:::-;-1:-1:-1::0;7221:28:11::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;7221:28:11::1;::::0;;::::1;::::0;::::1;::::0;::::1;;::::0;;-1:-1:-1;;7221:28:11::1;::::0;;7265:34:::1;::::0;4963:25:17;;;-1:-1:-1;;;;;7265:34:11;::::1;::::0;::::1;::::0;4951:2:17;4936:18;7265:34:11::1;;;;;;;-1:-1:-1::0;7317:4:11::1;::::0;6964:364;-1:-1:-1;;;6964:364:11:o;2441:144:0:-;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144::o;9634:375:11:-;-1:-1:-1;;;;;1600:13:11;;;;;;;:6;:13;;;;;:19;;;9769:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:11;;;;;;;:::i;:::-;-1:-1:-1;;;;;9794:13:11;;::::1;9825:1;9794:13:::0;;;:6:::1;:13;::::0;;;;;;;:19:::1;::::0;::::1;9786:66;;;::::0;-1:-1:-1;;;9786:66:11;;17758:2:17;9786:66:11::1;::::0;::::1;17740:21:17::0;17797:2;17777:18;;;17770:30;-1:-1:-1;;;17816:18:17;;;17809:50;17876:18;;9786:66:11::1;17556:344:17::0;9786:66:11::1;-1:-1:-1::0;;;;;9871:13:11;::::1;;::::0;;;:6:::1;:13;::::0;;;;:25:::1;9892:4:::0;9871:13;:25:::1;:::i;:::-;-1:-1:-1::0;;;;;;9906:13:11;::::1;;::::0;;;:6:::1;:13;::::0;;;;:22:::1;;:33;9931:8:::0;9906:22;:33:::1;:::i;:::-;;9980:5;-1:-1:-1::0;;;;;9963:39:11::1;;9987:4;9993:8;9963:39;;;;;;;:::i;:::-;;;;;;;;9634:375:::0;;;;:::o;10389:435::-;-1:-1:-1;;;;;1600:13:11;;;;;;;:6;:13;;;;;:19;;;10449:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:11;;;;;;;:::i;:::-;-1:-1:-1;;;;;10474:13:11;;::::1;10505:1;10474:13:::0;;;:6:::1;:13;::::0;;;;;;;:19:::1;::::0;::::1;10466:66;;;::::0;-1:-1:-1;;;10466:66:11;;17758:2:17;10466:66:11::1;::::0;::::1;17740:21:17::0;17797:2;17777:18;;;17770:30;-1:-1:-1;;;17816:18:17;;;17809:50;17876:18;;10466:66:11::1;17556:344:17::0;10466:66:11::1;-1:-1:-1::0;;;;;10572:13:11;;::::1;10551:18;10572:13:::0;;;:6:::1;:13;::::0;;;;:19:::1;;::::0;::::1;10664:31;10579:5:::0;10664:24:::1;:31::i;:::-;-1:-1:-1::0;;;;;10749:13:11;::::1;;::::0;;;:6:::1;:13;::::0;;;;;10742:20:::1;10749:13:::0;;10742:20:::1;:::i;:::-;;;::::0;::::1;;;:::i;:::-;-1:-1:-1::0;10742:20:11::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;10742:20:11;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;10786:31:::1;::::0;-1:-1:-1;;;;;10786:31:11;;::::1;::::0;;;::::1;::::0;::::1;::::0;10742:20;10786:31:::1;10456:368;10389:435:::0;;:::o;8895:170::-;8970:16;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8970:16:11;-1:-1:-1;;;;;9023:14:11;;8998:22;9023:14;;;:6;:14;;;;;;;9047:11;;;;;;;;;;9023:14;;9047:11;9023:14;;9047:11;;9023:14;;9047:11;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9047:11:11;;;-1:-1:-1;;9047:11:11;;;;-1:-1:-1;;;;;9047:11:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8895:170;-1:-1:-1;;;8895:170:11:o;6124:382::-;-1:-1:-1;;;;;1600:13:11;;;;;;;:6;:13;;;;;:19;;;6291:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:11;;;;;;;:::i;:::-;6329:15:::1;::::0;:48:::1;::::0;-1:-1:-1;;;6329:48:11;;-1:-1:-1;;;;;6329:15:11;;::::1;::::0;:35:::1;::::0;:48:::1;::::0;6365:11;;6329:48:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6308:117;;;::::0;-1:-1:-1;;;6308:117:11;;12974:2:17;6308:117:11::1;::::0;::::1;12956:21:17::0;13013:2;12993:18;;;12986:30;-1:-1:-1;;;13032:18:17;;;13025:52;13094:18;;6308:117:11::1;12772:346:17::0;6308:117:11::1;6436:63;6452:5;6459:11;6472:12;6486;6436:15;:63::i;:::-;6124:382:::0;;;;;:::o;3319:177::-;2334:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3404:27:11;::::1;3396:55;;;::::0;-1:-1:-1;;;3396:55:11;;20690:2:17;3396:55:11::1;::::0;::::1;20672:21:17::0;20729:2;20709:18;;;20702:30;-1:-1:-1;;;20748:18:17;;;20741:45;20803:18;;3396:55:11::1;20488:339:17::0;3396:55:11::1;3461:12;:28:::0;;-1:-1:-1;;;;;;3461:28:11::1;-1:-1:-1::0;;;;;3461:28:11;;;::::1;::::0;;;::::1;::::0;;3319:177::o;9071:147::-;9149:22;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9149:22:11;9190:21;;;;:9;:21;;;;;;;;;9183:28;;;;;;;;;;-1:-1:-1;;;;;9183:28:11;;;;;;;;9190:21;;9183:28;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9183:28:11;;;-1:-1:-1;;9183:28:11;;;;;;;;;;;;-1:-1:-1;;;;;9183:28:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;9071:147;-1:-1:-1;;9071:147:11:o;3656:220::-;2334:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3747:30:11;::::1;3739:58;;;::::0;-1:-1:-1;;;3739:58:11;;20690:2:17;3739:58:11::1;::::0;::::1;20672:21:17::0;20729:2;20709:18;;;20702:30;-1:-1:-1;;;20748:18:17;;;20741:45;20803:18;;3739:58:11::1;20488:339:17::0;3739:58:11::1;3807:15;:62:::0;;-1:-1:-1;;;;;;3807:62:11::1;-1:-1:-1::0;;;;;3807:62:11;;;::::1;::::0;;;::::1;::::0;;3656:220::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;7817:51:17::0;7790:18;;3534:31:0::1;7671:203:17::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;1387:43:11:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1387:43:11;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1387:43:11;;;;;;;;;-1:-1:-1;1387:43:11;;:::o;10830:470::-;-1:-1:-1;;;;;11040:13:11;;11010:27;11040:13;;;:6;:13;;;;;;11063:21;11080:4;11040:13;11063:21;:::i;:::-;-1:-1:-1;11094:18:11;;;:29;11115:8;11094:18;:29;:::i;:::-;-1:-1:-1;11133:15:11;;;:23;;-1:-1:-1;;;;;11133:23:11;;;-1:-1:-1;;;;;;11133:23:11;;;;;;;;11166:15;;;:23;;;;;;;;;;;;;;11199:20;;;:33;;;11248:45;;;;;;11278:4;;11284:8;;11248:45;:::i;:::-;;;;;;;;11000:300;10830:470;;;;;:::o;11306:548::-;11510:167;;;;;;;;-1:-1:-1;;;;;11510:167:11;;;;;;;;;;;;;;;;;;;;;;;;;11635:14;;11510:167;;;;;;11663:4;11510:167;;;;;;-1:-1:-1;11688:25:11;;;:9;:25;;;;;;;:39;;;;-1:-1:-1;;;;;;11688:39:11;;;;;;;;;;;11510:167;;;;11688:39;;;;;;;;:::i;:::-;-1:-1:-1;11688:39:11;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11688:39:11;-1:-1:-1;;;;;11688:39:11;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11688:39:11;;;;;;;;;;11764:14;;11743:77;;;;;;;;;;11780:11;;11793:12;;11807;;11743:77;:::i;:::-;;;;;;;;11831:14;:16;;;:14;:16;;;:::i;:::-;;;;;;11463:391;11306:548;;;;:::o;9071:205:1:-;9129:30;;3147:66;9186:27;8819:122;1847:127:0;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:6;-1:-1:-1;;;;;1519:53:6;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;13917:84:11;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;7835:32:17;;6493:60:2;;;7817:51:17;7790:18;;6493:60:2;7671:203:17;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;4963:25:17;;;4936:18;;6292:34:2;4817:177:17;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;12534:633:11;12599:30;12649:15;;;;;;;;;-1:-1:-1;;;;;12649:15:11;-1:-1:-1;;;;;12632:61:11;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12599:96;;12711:9;12706:455;12730:22;12726:1;:26;12706:455;;;12773:41;12851:15;;12817:78;;-1:-1:-1;;;12817:78:11;;;;;4963:25:17;;;-1:-1:-1;;;;;12851:15:11;;;;12817:75;;4936:18:17;;12817:78:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12817:78:11;;;;;;;;;;;;:::i;:::-;12773:122;;12933:5;-1:-1:-1;;;;;12914:24:11;:8;:15;;;-1:-1:-1;;;;;12914:24:11;;;:46;;;;12943:8;:17;;;12942:18;12914:46;12910:93;;;12980:8;;;12910:93;13017:46;13042:8;:20;;;13017:24;:46::i;:::-;13078:72;13094:5;13101:8;:20;;;13123:8;:14;;;13147:1;13078:15;:72::i;:::-;12759:402;12706:455;12754:3;;12706:455;;2658:162:0;966:10:3;2717:7:0;:5;:7::i;:::-;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;7817:51:17;7790:18;;2763:40:0;7671:203:17;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;13349:379:11:-;13511:1;13494:228;13518:14;;13514:1;:18;13494:228;;;13557:12;;;;:9;:12;;;;;:19;-1:-1:-1;;;;;13557:28:11;;;:19;;:28;:53;;;;-1:-1:-1;13589:12:11;;;;:9;:12;;;;;:21;;;;;13557:53;13553:159;;;13637:12;;;;:9;:12;;;;;13630:19;;-1:-1:-1;;;;;;13630:19:11;;;13637:12;13630:19;;;;13637:12;13630:19;:::i;:::-;-1:-1:-1;13630:19:11;;;;;;;;;;;;-1:-1:-1;;;;;;13630:19:11;;;;;;;;;;;-1:-1:-1;;13630:19:11;;;13672:25;;4963::17;;;-1:-1:-1;;;;;13672:25:11;;;;;4951:2:17;4936:18;13672:25:11;;;;;;;13553:159;13534:3;;13494:228;;7082:141:1;7149:17;:15;:17::i;:::-;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;2264:344:6:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:6;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;11860:668:11:-;11944:15;;:48;;-1:-1:-1;;;11944:48:11;;-1:-1:-1;;;;;11944:15:11;;;;:35;;:48;;11980:11;;11944:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11939:583;;12008:29;12057:15;;;;;;;;;-1:-1:-1;;;;;12057:15:11;-1:-1:-1;;;;;12040:66:11;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12292:58;;-1:-1:-1;;;12292:58:11;;12008:100;;-1:-1:-1;12008:100:11;;12123:36;;-1:-1:-1;;;;;12292:45:11;;;;;:58;;12338:11;;12292:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12292:58:11;;;;;;;;;;;;:::i;:::-;12365:15;;12414:12;;12444:16;;;;12478:19;;;;;12365:146;;-1:-1:-1;;;12365:146:11;;12248:102;;-1:-1:-1;;;;;;12365:15:11;;;;:31;;:146;;12414:12;12444:16;12365:146;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12365:146:11;;;;;;;;;;;;:::i;8485:120:1:-;8535:4;8558:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8558:40:1;;;;;;-1:-1:-1;8485:120:1:o;1671:281:6:-;1748:17;-1:-1:-1;;;;;1748:29:6;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:6;;-1:-1:-1;;;;;7835:32:17;;1805:47:6;;;7817:51:17;7790:18;;1805:47:6;7671:203:17;1744:119:6;-1:-1:-1;;;;;;;;;;;1872:73:6;;-1:-1:-1;;;;;;1872:73:6;-1:-1:-1;;;;;1872:73:6;;;;;;;;;;1671:281::o;3916:253:8:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:8;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:8:o;6113:122:6:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:6;;;;;;;;;;;4437:582:8;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:8;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:8;;-1:-1:-1;;;;;7835:32:17;;4933:24:8;;;7817:51:17;7790:18;;4933:24:8;7671:203:17;4853:119:8;-1:-1:-1;4992:10:8;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:8;;;;;;;;;;;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:17:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:17;;14:180;-1:-1:-1;14:180:17:o;199:250::-;284:1;294:113;308:6;305:1;302:13;294:113;;;384:11;;;378:18;365:11;;;358:39;330:2;323:10;294:113;;;-1:-1:-1;;441:1:17;423:16;;416:27;199:250::o;454:271::-;496:3;534:5;528:12;561:6;556:3;549:19;577:76;646:6;639:4;634:3;630:14;623:4;616:5;612:16;577:76;:::i;:::-;707:2;686:15;-1:-1:-1;;682:29:17;673:39;;;;714:4;669:50;;454:271;-1:-1:-1;;454:271:17:o;730:645::-;976:4;1022:1;1018;1013:3;1009:11;1005:19;1063:2;1055:6;1051:15;1040:9;1033:34;1103:3;1098:2;1087:9;1083:18;1076:31;1124:46;1165:3;1154:9;1150:19;1142:6;1124:46;:::i;:::-;1201:2;1186:18;;1179:34;;;;1249:15;;;;1244:2;1229:18;;1222:43;1296:3;1281:19;;1274:35;;;;1353:14;1346:22;1340:3;1325:19;;;1318:51;-1:-1:-1;1116:54:17;730:645;-1:-1:-1;;730:645:17:o;1380:131::-;-1:-1:-1;;;;;1455:31:17;;1445:42;;1435:70;;1501:1;1498;1491:12;1516:127;1577:10;1572:3;1568:20;1565:1;1558:31;1608:4;1605:1;1598:15;1632:4;1629:1;1622:15;1648:253;1720:2;1714:9;1762:4;1750:17;;-1:-1:-1;;;;;1782:34:17;;1818:22;;;1779:62;1776:88;;;1844:18;;:::i;:::-;1880:2;1873:22;1648:253;:::o;1906:::-;1978:2;1972:9;2020:4;2008:17;;-1:-1:-1;;;;;2040:34:17;;2076:22;;;2037:62;2034:88;;;2102:18;;:::i;2164:253::-;2236:2;2230:9;2278:4;2266:17;;-1:-1:-1;;;;;2298:34:17;;2334:22;;;2295:62;2292:88;;;2360:18;;:::i;2422:253::-;2494:2;2488:9;2536:4;2524:17;;-1:-1:-1;;;;;2556:34:17;;2592:22;;;2553:62;2550:88;;;2618:18;;:::i;2680:275::-;2751:2;2745:9;2816:2;2797:13;;-1:-1:-1;;2793:27:17;2781:40;;-1:-1:-1;;;;;2836:34:17;;2872:22;;;2833:62;2830:88;;;2898:18;;:::i;:::-;2934:2;2927:22;2680:275;;-1:-1:-1;2680:275:17:o;2960:187::-;3009:4;-1:-1:-1;;;;;3034:6:17;3031:30;3028:56;;;3064:18;;:::i;:::-;-1:-1:-1;3130:2:17;3109:15;-1:-1:-1;;3105:29:17;3136:4;3101:40;;2960:187::o;3152:338::-;3217:5;3246:53;3262:36;3291:6;3262:36;:::i;:::-;3246:53;:::i;:::-;3237:62;;3322:6;3315:5;3308:21;3362:3;3353:6;3348:3;3344:16;3341:25;3338:45;;;3379:1;3376;3369:12;3338:45;3428:6;3423:3;3416:4;3409:5;3405:16;3392:43;3482:1;3475:4;3466:6;3459:5;3455:18;3451:29;3444:40;3152:338;;;;;:::o;3495:222::-;3538:5;3591:3;3584:4;3576:6;3572:17;3568:27;3558:55;;3609:1;3606;3599:12;3558:55;3631:80;3707:3;3698:6;3685:20;3678:4;3670:6;3666:17;3631:80;:::i;3722:1090::-;3856:6;3864;3872;3880;3888;3896;3949:3;3937:9;3928:7;3924:23;3920:33;3917:53;;;3966:1;3963;3956:12;3917:53;4005:9;3992:23;4024:31;4049:5;4024:31;:::i;:::-;4074:5;-1:-1:-1;4130:2:17;4115:18;;4102:32;-1:-1:-1;;;;;4183:14:17;;;4180:34;;;4210:1;4207;4200:12;4180:34;4233:50;4275:7;4266:6;4255:9;4251:22;4233:50;:::i;:::-;4223:60;;4336:2;4325:9;4321:18;4308:32;4292:48;;4365:2;4355:8;4352:16;4349:36;;;4381:1;4378;4371:12;4349:36;4404:52;4448:7;4437:8;4426:9;4422:24;4404:52;:::i;:::-;4394:62;;4509:2;4498:9;4494:18;4481:32;4465:48;;4538:2;4528:8;4525:16;4522:36;;;4554:1;4551;4544:12;4522:36;;4577:52;4621:7;4610:8;4599:9;4595:24;4577:52;:::i;:::-;4567:62;;;4676:3;4665:9;4661:19;4648:33;4638:43;;4733:3;4722:9;4718:19;4705:33;4747;4772:7;4747:33;:::i;:::-;4799:7;4789:17;;;3722:1090;;;;;;;;:::o;4999:448::-;5127:6;5135;5188:2;5176:9;5167:7;5163:23;5159:32;5156:52;;;5204:1;5201;5194:12;5156:52;5243:9;5230:23;5262:31;5287:5;5262:31;:::i;:::-;5312:5;-1:-1:-1;5369:2:17;5354:18;;5341:32;5382:33;5341:32;5382:33;:::i;:::-;5434:7;5424:17;;;4999:448;;;;;:::o;5452:585::-;5529:6;5537;5590:2;5578:9;5569:7;5565:23;5561:32;5558:52;;;5606:1;5603;5596:12;5558:52;5645:9;5632:23;5664:31;5689:5;5664:31;:::i;:::-;5714:5;-1:-1:-1;5770:2:17;5755:18;;5742:32;-1:-1:-1;;;;;5786:30:17;;5783:50;;;5829:1;5826;5819:12;5783:50;5852:22;;5905:4;5897:13;;5893:27;-1:-1:-1;5883:55:17;;5934:1;5931;5924:12;5883:55;5957:74;6023:7;6018:2;6005:16;6000:2;5996;5992:11;5957:74;:::i;:::-;5947:84;;;5452:585;;;;;:::o;6224:247::-;6283:6;6336:2;6324:9;6315:7;6311:23;6307:32;6304:52;;;6352:1;6349;6342:12;6304:52;6391:9;6378:23;6410:31;6435:5;6410:31;:::i;6476:315::-;6544:6;6552;6605:2;6593:9;6584:7;6580:23;6576:32;6573:52;;;6621:1;6618;6611:12;6573:52;6660:9;6647:23;6679:31;6704:5;6679:31;:::i;:::-;6729:5;6781:2;6766:18;;;;6753:32;;-1:-1:-1;;;6476:315:17:o;6796:678::-;6893:6;6901;6909;6962:2;6950:9;6941:7;6937:23;6933:32;6930:52;;;6978:1;6975;6968:12;6930:52;7017:9;7004:23;7036:31;7061:5;7036:31;:::i;:::-;7086:5;-1:-1:-1;7142:2:17;7127:18;;7114:32;-1:-1:-1;;;;;7195:14:17;;;7192:34;;;7222:1;7219;7212:12;7192:34;7245:50;7287:7;7278:6;7267:9;7263:22;7245:50;:::i;:::-;7235:60;;7348:2;7337:9;7333:18;7320:32;7304:48;;7377:2;7367:8;7364:16;7361:36;;;7393:1;7390;7383:12;7361:36;;7416:52;7460:7;7449:8;7438:9;7434:24;7416:52;:::i;:::-;7406:62;;;6796:678;;;;;:::o;7879:906::-;8062:2;8051:9;8044:21;8025:4;8100:6;8094:13;8143:4;8138:2;8127:9;8123:18;8116:32;8171:52;8218:3;8207:9;8203:19;8189:12;8171:52;:::i;:::-;8157:66;;8272:2;8264:6;8260:15;8254:22;8344:2;8340:7;8328:9;8320:6;8316:22;8312:36;8307:2;8296:9;8292:18;8285:64;8372:41;8406:6;8390:14;8372:41;:::i;:::-;8358:55;;;8462:2;8454:6;8450:15;8444:22;8502:1;8498;8493:3;8489:11;8485:19;8560:2;8544:14;8540:23;8535:2;8524:9;8520:18;8513:51;8629:2;8623;8615:6;8611:15;8605:22;8601:31;8595:3;8584:9;8580:19;8573:60;;;8688:3;8680:6;8676:16;8670:23;8664:3;8653:9;8649:19;8642:52;8750:3;8742:6;8738:16;8732:23;8725:4;8714:9;8710:20;8703:53;8773:6;8765:14;;;7879:906;;;;:::o;8790:220::-;8939:2;8928:9;8921:21;8902:4;8959:45;9000:2;8989:9;8985:18;8977:6;8959:45;:::i;9015:667::-;9111:6;9119;9127;9135;9188:3;9176:9;9167:7;9163:23;9159:33;9156:53;;;9205:1;9202;9195:12;9156:53;9244:9;9231:23;9263:31;9288:5;9263:31;:::i;:::-;9313:5;-1:-1:-1;9369:2:17;9354:18;;9341:32;-1:-1:-1;;;;;9385:30:17;;9382:50;;;9428:1;9425;9418:12;9382:50;9451;9493:7;9484:6;9473:9;9469:22;9451:50;:::i;:::-;9441:60;;;9548:2;9537:9;9533:18;9520:32;9510:42;;9604:2;9593:9;9589:18;9576:32;9617:33;9642:7;9617:33;:::i;:::-;9015:667;;;;-1:-1:-1;9015:667:17;;-1:-1:-1;;9015:667:17:o;9687:758::-;9882:2;9871:9;9864:21;9845:4;9921:1;9917;9912:3;9908:11;9904:19;9978:2;9969:6;9963:13;9959:22;9954:2;9943:9;9939:18;9932:50;10029:2;10021:6;10017:15;10011:22;10069:4;10064:2;10053:9;10049:18;10042:32;10097:52;10144:3;10133:9;10129:19;10115:12;10097:52;:::i;:::-;10083:66;;10203:2;10195:6;10191:15;10185:22;10180:2;10169:9;10165:18;10158:50;10273:2;10267;10259:6;10255:15;10249:22;10245:31;10239:3;10228:9;10224:19;10217:60;10332:3;10324:6;10320:16;10314:23;10308:3;10297:9;10293:19;10286:52;10408:3;10400:6;10396:16;10390:23;10383:31;10376:39;10369:4;10358:9;10354:20;10347:69;10433:6;10425:14;;;;9687:758;;;;:::o;10926:727::-;11235:3;11224:9;11217:22;11198:4;11262:46;11303:3;11292:9;11288:19;11280:6;11262:46;:::i;:::-;11356:9;11348:6;11344:22;11339:2;11328:9;11324:18;11317:50;11384:33;11410:6;11402;11384:33;:::i;:::-;-1:-1:-1;;;;;11491:15:17;;;11486:2;11471:18;;11464:43;11543:15;;;;11538:2;11523:18;;11516:43;-1:-1:-1;11590:3:17;11575:19;;11568:35;;;;11444:3;11619:19;;;11612:35;11543:15;11376:41;-1:-1:-1;;;10926:727:17:o;11658:380::-;11737:1;11733:12;;;;11780;;;11801:61;;11855:4;11847:6;11843:17;11833:27;;11801:61;11908:2;11900:6;11897:14;11877:18;11874:38;11871:161;;11954:10;11949:3;11945:20;11942:1;11935:31;11989:4;11986:1;11979:15;12017:4;12014:1;12007:15;11871:161;;11658:380;;;:::o;12043:348::-;12245:2;12227:21;;;12284:2;12264:18;;;12257:30;12323:26;12318:2;12303:18;;12296:54;12382:2;12367:18;;12043:348::o;12396:164::-;12472:13;;12521;;12514:21;12504:32;;12494:60;;12550:1;12547;12540:12;12494:60;12396:164;;;:::o;12565:202::-;12632:6;12685:2;12673:9;12664:7;12660:23;12656:32;12653:52;;;12701:1;12698;12691:12;12653:52;12724:37;12751:9;12724:37;:::i;13337:443::-;13391:5;13444:3;13437:4;13429:6;13425:17;13421:27;13411:55;;13462:1;13459;13452:12;13411:55;13491:6;13485:13;13522:49;13538:32;13567:2;13538:32;:::i;13522:49::-;13596:2;13587:7;13580:19;13642:3;13635:4;13630:2;13622:6;13618:15;13614:26;13611:35;13608:55;;;13659:1;13656;13649:12;13608:55;13672:77;13746:2;13739:4;13730:7;13726:18;13719:4;13711:6;13707:17;13672:77;:::i;:::-;13767:7;13337:443;-1:-1:-1;;;;13337:443:17:o;13785:138::-;13864:13;;13886:31;13864:13;13886:31;:::i;13928:1052::-;14025:6;14078:2;14066:9;14057:7;14053:23;14049:32;14046:52;;;14094:1;14091;14084:12;14046:52;14127:9;14121:16;-1:-1:-1;;;;;14197:2:17;14189:6;14186:14;14183:34;;;14213:1;14210;14203:12;14183:34;14236:22;;;;14292:4;14274:16;;;14270:27;14267:47;;;14310:1;14307;14300:12;14267:47;14336:22;;:::i;:::-;14389:2;14383:9;14417:2;14407:8;14404:16;14401:36;;;14433:1;14430;14423:12;14401:36;14460:56;14508:7;14497:8;14493:2;14489:17;14460:56;:::i;:::-;14453:5;14446:71;;14556:2;14552;14548:11;14542:18;14585:2;14575:8;14572:16;14569:36;;;14601:1;14598;14591:12;14569:36;14637:56;14685:7;14674:8;14670:2;14666:17;14637:56;:::i;:::-;14632:2;14625:5;14621:14;14614:80;;14726:42;14764:2;14760;14756:11;14726:42;:::i;:::-;14721:2;14714:5;14710:14;14703:66;14801:42;14839:2;14835;14831:11;14801:42;:::i;:::-;14796:2;14789:5;14785:14;14778:66;14891:3;14887:2;14883:12;14877:19;14871:3;14864:5;14860:15;14853:44;14944:3;14940:2;14936:12;14930:19;14924:3;14917:5;14913:15;14906:44;14969:5;14959:15;;;;;13928:1052;;;;:::o;16057:127::-;16118:10;16113:3;16109:20;16106:1;16099:31;16149:4;16146:1;16139:15;16173:4;16170:1;16163:15;16189:125;16254:9;;;16275:10;;;16272:36;;;16288:18;;:::i;16319:128::-;16386:9;;;16407:11;;;16404:37;;;16421:18;;:::i;16452:168::-;16525:9;;;16556;;16573:15;;;16567:22;;16553:37;16543:71;;16594:18;;:::i;16625:217::-;16665:1;16691;16681:132;;16735:10;16730:3;16726:20;16723:1;16716:31;16770:4;16767:1;16760:15;16798:4;16795:1;16788:15;16681:132;-1:-1:-1;16827:9:17;;16625:217::o;16847:350::-;17049:2;17031:21;;;17088:2;17068:18;;;17061:30;17127:28;17122:2;17107:18;;17100:56;17188:2;17173:18;;16847:350::o;18031:543::-;18133:2;18128:3;18125:11;18122:446;;;18169:1;18193:5;18190:1;18183:16;18237:4;18234:1;18224:18;18307:2;18295:10;18291:19;18288:1;18284:27;18278:4;18274:38;18343:4;18331:10;18328:20;18325:47;;;-1:-1:-1;18366:4:17;18325:47;18421:2;18416:3;18412:12;18409:1;18405:20;18399:4;18395:31;18385:41;;18476:82;18494:2;18487:5;18484:13;18476:82;;;18539:17;;;18520:1;18509:13;18476:82;;18750:1345;18876:3;18870:10;-1:-1:-1;;;;;18895:6:17;18892:30;18889:56;;;18925:18;;:::i;:::-;18954:97;19044:6;19004:38;19036:4;19030:11;19004:38;:::i;:::-;18998:4;18954:97;:::i;:::-;19106:4;;19163:2;19152:14;;19180:1;19175:663;;;;19882:1;19899:6;19896:89;;;-1:-1:-1;19951:19:17;;;19945:26;19896:89;-1:-1:-1;;18707:1:17;18703:11;;;18699:24;18695:29;18685:40;18731:1;18727:11;;;18682:57;19998:81;;19145:944;;19175:663;17978:1;17971:14;;;18015:4;18002:18;;-1:-1:-1;;19211:20:17;;;19329:236;19343:7;19340:1;19337:14;19329:236;;;19432:19;;;19426:26;19411:42;;19524:27;;;;19492:1;19480:14;;;;19359:19;;19329:236;;;19333:3;19593:6;19584:7;19581:19;19578:201;;;19654:19;;;19648:26;-1:-1:-1;;19737:1:17;19733:14;;;19749:3;19729:24;19725:37;19721:42;19706:58;19691:74;;19578:201;-1:-1:-1;;;;;19825:1:17;19809:14;;;19805:22;19792:36;;-1:-1:-1;18750:1345:17:o;20100:383::-;20297:2;20286:9;20279:21;20260:4;20323:45;20364:2;20353:9;20349:18;20341:6;20323:45;:::i;:::-;20416:9;20408:6;20404:22;20399:2;20388:9;20384:18;20377:50;20444:33;20470:6;20462;20444:33;:::i;20832:461::-;21065:6;21054:9;21047:25;21108:3;21103:2;21092:9;21088:18;21081:31;21028:4;21129:46;21170:3;21159:9;21155:19;21147:6;21129:46;:::i;:::-;21206:2;21191:18;;21184:34;;;;-1:-1:-1;;;;;;21254:32:17;;;;21249:2;21234:18;;;21227:60;21121:54;20832:461;-1:-1:-1;;20832:461:17:o;21298:135::-;21337:3;21358:17;;;21355:43;;21378:18;;:::i;:::-;-1:-1:-1;21425:1:17;21414:13;;21298:135::o;21438:184::-;21508:6;21561:2;21549:9;21540:7;21536:23;21532:32;21529:52;;;21577:1;21574;21567:12;21529:52;-1:-1:-1;21600:16:17;;21438:184;-1:-1:-1;21438:184:17:o;21816:918::-;21912:6;21965:2;21953:9;21944:7;21940:23;21936:32;21933:52;;;21981:1;21978;21971:12;21933:52;22014:9;22008:16;-1:-1:-1;;;;;22084:2:17;22076:6;22073:14;22070:34;;;22100:1;22097;22090:12;22070:34;22123:22;;;;22179:4;22161:16;;;22157:27;22154:47;;;22197:1;22194;22187:12;22154:47;22223:22;;:::i;:::-;22275:2;22269:9;22287:33;22312:7;22287:33;:::i;:::-;22329:22;;22390:2;22382:11;;22376:18;22406:16;;;22403:36;;;22435:1;22432;22425:12;22403:36;22471:56;22519:7;22508:8;22504:2;22500:17;22471:56;:::i;:::-;22466:2;22459:5;22455:14;22448:80;;22574:2;22570;22566:11;22560:18;22555:2;22548:5;22544:14;22537:42;22625:2;22621;22617:11;22611:18;22606:2;22599:5;22595:14;22588:42;22663:40;22698:3;22694:2;22690:12;22663:40;:::i;:::-;22657:3;22646:15;;22639:65;22650:5;21816:918;-1:-1:-1;;;;;21816:918:17:o;22739:251::-;22809:6;22862:2;22850:9;22841:7;22837:23;22833:32;22830:52;;;22878:1;22875;22868:12;22830:52;22910:9;22904:16;22929:31;22954:5;22929:31;:::i;22995:1043::-;23090:6;23143:2;23131:9;23122:7;23118:23;23114:32;23111:52;;;23159:1;23156;23149:12;23111:52;23192:9;23186:16;-1:-1:-1;;;;;23262:2:17;23254:6;23251:14;23248:34;;;23278:1;23275;23268:12;23248:34;23301:22;;;;23357:4;23339:16;;;23335:27;23332:47;;;23375:1;23372;23365:12;23332:47;23401:22;;:::i;:::-;23454:2;23448:9;23482:2;23472:8;23469:16;23466:36;;;23498:1;23495;23488:12;23466:36;23525:56;23573:7;23562:8;23558:2;23554:17;23525:56;:::i;:::-;23518:5;23511:71;;23621:2;23617;23613:11;23607:18;23650:2;23640:8;23637:16;23634:36;;;23666:1;23663;23656:12;23634:36;23702:56;23750:7;23739:8;23735:2;23731:17;23702:56;:::i;:::-;23697:2;23690:5;23686:14;23679:80;;23798:2;23794;23790:11;23784:18;23827:2;23817:8;23814:16;23811:36;;;23843:1;23840;23833:12;23811:36;23879:56;23927:7;23916:8;23912:2;23908:17;23879:56;:::i;:::-;23874:2;23867:5;23863:14;23856:80;;23968:39;24003:2;23999;23995:11;23968:39;:::i;:::-;23963:2;23952:14;;23945:63;23956:5;22995:1043;-1:-1:-1;;;;;22995:1043:17:o;24043:546::-;24288:2;24277:9;24270:21;24251:4;24314:45;24355:2;24344:9;24340:18;24332:6;24314:45;:::i;:::-;24407:9;24399:6;24395:22;24390:2;24379:9;24375:18;24368:50;24441:33;24467:6;24459;24441:33;:::i;:::-;24427:47;;24522:9;24514:6;24510:22;24505:2;24494:9;24490:18;24483:50;24550:33;24576:6;24568;24550:33;:::i;:::-;24542:41;24043:546;-1:-1:-1;;;;;;24043:546:17:o;24594:971::-;24689:6;24742:2;24730:9;24721:7;24717:23;24713:32;24710:52;;;24758:1;24755;24748:12;24710:52;24791:9;24785:16;-1:-1:-1;;;;;24861:2:17;24853:6;24850:14;24847:34;;;24877:1;24874;24867:12;24847:34;24900:22;;;;24956:4;24938:16;;;24934:27;24931:47;;;24974:1;24971;24964:12;24931:47;25000:22;;:::i;:::-;25053:2;25047:9;25081:2;25071:8;25068:16;25065:36;;;25097:1;25094;25087:12;25065:36;25124:56;25172:7;25161:8;25157:2;25153:17;25124:56;:::i;:::-;25117:5;25110:71;;25220:2;25216;25212:11;25206:18;25249:2;25239:8;25236:16;25233:36;;;25265:1;25262;25255:12;25233:36;25301:56;25349:7;25338:8;25334:2;25330:17;25301:56;:::i;:::-;25296:2;25289:5;25285:14;25278:80;;25397:2;25393;25389:11;25383:18;25426:2;25416:8;25413:16;25410:36;;;25442:1;25439;25432:12;25410:36;25478:56;25526:7;25515:8;25511:2;25507:17;25478:56;:::i;:::-;25473:2;25462:14;;25455:80;-1:-1:-1;25466:5:17;24594:971;-1:-1:-1;;;;;24594:971:17:o;25570:287::-;25699:3;25737:6;25731:13;25753:66;25812:6;25807:3;25800:4;25792:6;25788:17;25753:66;:::i;:::-;25835:16;;;;;25570:287;-1:-1:-1;;25570:287:17:o" }, "methodIdentifiers": { "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", @@ -68098,7 +68078,7 @@ "upgradeToAndCall(address,bytes)": "4f1ef286" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"AgentDataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"AgentRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AgentRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"ProposalAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"ProposalUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newReputation\",\"type\":\"uint256\"}],\"name\":\"ReputationUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"servicePrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"addProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_rating\",\"type\":\"uint256\"}],\"name\":\"addRating\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"agentRegistryV1\",\"outputs\":[{\"internalType\":\"contract IAgentRegistryV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"agents\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reputation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalRatings\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_agent\",\"type\":\"address\"}],\"name\":\"getAgentData\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reputation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalRatings\",\"type\":\"uint256\"}],\"internalType\":\"struct AgentsRegistryUpgradeable.AgentData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct IProposalStruct.ServiceProposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"getReputation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IAgentRegistryV1\",\"name\":\"_agentRegistryV1\",\"type\":\"address\"},{\"internalType\":\"contract ServiceRegistryUpgradeable\",\"name\":\"_serviceRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"migrateAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"registerAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"servicePrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"registerAgentWithService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"removeAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"removeProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"serviceRegistry\",\"outputs\":[{\"internalType\":\"contract ServiceRegistryUpgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"setAgentData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_serviceRegistry\",\"type\":\"address\"}],\"name\":\"setServiceRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_taskRegistry\",\"type\":\"address\"}],\"name\":\"setTaskRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"taskRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"addProposal(address,string,uint256,address)\":{\"details\":\"Adds a new proposal for an agent.\",\"params\":{\"agent\":\"The address of the agent.\",\"serviceName\":\"The name of the service.\",\"servicePrice\":\"The price of the service. Requirements: - The caller must be the owner of the agent. - The agent must be registered. - The service must be registered. Emits a {ProposalAdded} event.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getAgentData(address)\":{\"details\":\"Returns the data of an agent.\",\"params\":{\"_agent\":\"The address of the agent.\"},\"returns\":{\"_0\":\"AgentData The data of the agent.\"}},\"initialize(address,address)\":{\"details\":\"Initializes the contract\",\"params\":{\"_agentRegistryV1\":\"The address of the V1 agent registry for migration\",\"_serviceRegistry\":\"The address of the service registry\"}},\"migrateAgent(address)\":{\"details\":\"Migrates an agent.\",\"params\":{\"agent\":\"The address of the agent.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerAgent(address,string,string)\":{\"details\":\"Registers a new agent with the given details.\",\"params\":{\"agent\":\"The address of the agent. Requirements: - The agent must not already be registered. - The caller will be set as the owner of the agent. Emits an {AgentRegistered} event.\",\"agentUri\":\"The URI pointing to the agent's metadata.\",\"name\":\"The name of the agent.\"}},\"registerAgentWithService(address,string,string,string,uint256,address)\":{\"details\":\"Registers a new agent with the given details and the proposal.\",\"params\":{\"agent\":\"The address of the agent.\",\"agentUri\":\"The URI pointing to the agent's metadata.\",\"name\":\"The name of the agent.\",\"serviceName\":\"The name of the service.\",\"servicePrice\":\"The price of the service. Requirements: - The agent must not already be registered. - The caller will be set as the owner of the agent. Emits an {AgentRegistered} event.\"}},\"removeAgent(address)\":{\"details\":\"Removes an existing agent and removes all associated proposals.\",\"params\":{\"agent\":\"The address of the agent to remove. Requirements: - The caller must be the owner of the agent. - The agent must be registered. Emits an {AgentRemoved} event and {ProposalRemoved} events for each removed proposal.\"}},\"removeProposal(address,uint256)\":{\"details\":\"Removes a proposal for an agent.\",\"params\":{\"agent\":\"The address of the agent.\",\"proposalId\":\"The ID of the proposal to remove.\"},\"returns\":{\"_0\":\"true if the proposal was removed successfully, false otherwise. Requirements: - The caller must be the owner of the agent. - The agent must be registered. - The proposal must exist. Emits a {ProposalRemoved} event.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setAgentData(address,string,string)\":{\"details\":\"Sets the data of an existing agent.\",\"params\":{\"agent\":\"The address of the agent to update.\",\"agentUri\":\"The new URI pointing to the agent's metadata. Requirements: - The caller must be the owner of the agent. - The agent must be registered. Emits an {AgentDataUpdated} event.\",\"name\":\"The new name of the agent.\"}},\"setServiceRegistry(address)\":{\"details\":\"Sets the address of the ServiceRegistry contract.\",\"params\":{\"_serviceRegistry\":\"The address of the ServiceRegistry contract.\"}},\"setTaskRegistry(address)\":{\"details\":\"Sets the address of the TaskRegistry contract.\",\"params\":{\"_taskRegistry\":\"The address of the TaskRegistry contract.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"AgentsRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the agents, and the services proposals provided by the agents.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AgentsRegistryUpgradeable.sol\":\"AgentsRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xe5149f631a8e1a7a69acb078fe71de57ee8cceafd8fbd853f7e06608123c76a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31c481c3cc50228da8d41963f7c84a3d1c29a5ef31e6fee38857a7cdbe4e884e\",\"dweb:/ipfs/QmYFgcoeARWkTwEks7Vie9ezcFmHssGYAqxDfo5TnUkdBc\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"AgentDataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"AgentRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AgentRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"ProposalAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"ProposalUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newReputation\",\"type\":\"uint256\"}],\"name\":\"ReputationUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"servicePrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"addProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_rating\",\"type\":\"uint256\"}],\"name\":\"addRating\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"agentRegistryV1\",\"outputs\":[{\"internalType\":\"contract IAgentRegistryV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"agents\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reputation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalRatings\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_agent\",\"type\":\"address\"}],\"name\":\"getAgentData\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reputation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalRatings\",\"type\":\"uint256\"}],\"internalType\":\"struct AgentsRegistryUpgradeable.AgentData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct IProposalStruct.ServiceProposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"getReputation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IAgentRegistryV1\",\"name\":\"_agentRegistryV1\",\"type\":\"address\"},{\"internalType\":\"contract ServiceRegistryUpgradeable\",\"name\":\"_serviceRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"migrateAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"registerAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"servicePrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"registerAgentWithService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"removeAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"removeProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"serviceRegistry\",\"outputs\":[{\"internalType\":\"contract ServiceRegistryUpgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"setAgentData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_serviceRegistry\",\"type\":\"address\"}],\"name\":\"setServiceRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_taskRegistry\",\"type\":\"address\"}],\"name\":\"setTaskRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"taskRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"addProposal(address,string,uint256,address)\":{\"details\":\"Adds a new proposal for an agent.\",\"params\":{\"agent\":\"The address of the agent.\",\"serviceName\":\"The name of the service.\",\"servicePrice\":\"The price of the service. Requirements: - The caller must be the owner of the agent. - The agent must be registered. - The service must be registered. Emits a {ProposalAdded} event.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getAgentData(address)\":{\"details\":\"Returns the data of an agent.\",\"params\":{\"_agent\":\"The address of the agent.\"},\"returns\":{\"_0\":\"AgentData The data of the agent.\"}},\"initialize(address,address)\":{\"details\":\"Initializes the contract\",\"params\":{\"_agentRegistryV1\":\"The address of the V1 agent registry for migration\",\"_serviceRegistry\":\"The address of the service registry\"}},\"migrateAgent(address)\":{\"details\":\"Migrates an agent.\",\"params\":{\"agent\":\"The address of the agent.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerAgent(address,string,string)\":{\"details\":\"Registers a new agent with the given details.\",\"params\":{\"agent\":\"The address of the agent. Requirements: - The agent must not already be registered. - The caller will be set as the owner of the agent. Emits an {AgentRegistered} event.\",\"agentUri\":\"The URI pointing to the agent's metadata.\",\"name\":\"The name of the agent.\"}},\"registerAgentWithService(address,string,string,string,uint256,address)\":{\"details\":\"Registers a new agent with the given details and the proposal.\",\"params\":{\"agent\":\"The address of the agent.\",\"agentUri\":\"The URI pointing to the agent's metadata.\",\"name\":\"The name of the agent.\",\"serviceName\":\"The name of the service.\",\"servicePrice\":\"The price of the service. Requirements: - The agent must not already be registered. - The caller will be set as the owner of the agent. Emits an {AgentRegistered} event.\"}},\"removeAgent(address)\":{\"details\":\"Removes an existing agent and removes all associated proposals.\",\"params\":{\"agent\":\"The address of the agent to remove. Requirements: - The caller must be the owner of the agent. - The agent must be registered. Emits an {AgentRemoved} event and {ProposalRemoved} events for each removed proposal.\"}},\"removeProposal(address,uint256)\":{\"details\":\"Removes a proposal for an agent.\",\"params\":{\"agent\":\"The address of the agent.\",\"proposalId\":\"The ID of the proposal to remove.\"},\"returns\":{\"_0\":\"true if the proposal was removed successfully, false otherwise. Requirements: - The caller must be the owner of the agent. - The agent must be registered. - The proposal must exist. Emits a {ProposalRemoved} event.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setAgentData(address,string,string)\":{\"details\":\"Sets the data of an existing agent.\",\"params\":{\"agent\":\"The address of the agent to update.\",\"agentUri\":\"The new URI pointing to the agent's metadata. Requirements: - The caller must be the owner of the agent. - The agent must be registered. Emits an {AgentDataUpdated} event.\",\"name\":\"The new name of the agent.\"}},\"setServiceRegistry(address)\":{\"details\":\"Sets the address of the ServiceRegistry contract.\",\"params\":{\"_serviceRegistry\":\"The address of the ServiceRegistry contract.\"}},\"setTaskRegistry(address)\":{\"details\":\"Sets the address of the TaskRegistry contract.\",\"params\":{\"_taskRegistry\":\"The address of the TaskRegistry contract.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"AgentsRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the agents, and the services proposals provided by the agents.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AgentsRegistryUpgradeable.sol\":\"AgentsRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xe5149f631a8e1a7a69acb078fe71de57ee8cceafd8fbd853f7e06608123c76a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31c481c3cc50228da8d41963f7c84a3d1c29a5ef31e6fee38857a7cdbe4e884e\",\"dweb:/ipfs/QmYFgcoeARWkTwEks7Vie9ezcFmHssGYAqxDfo5TnUkdBc\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]}},\"version\":1}", "storageLayout": { "storage": [ { @@ -68388,7 +68368,7 @@ "getService(string)": "794758be" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"}],\"name\":\"getService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct IServiceRegistryV1.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AgentsRegistryUpgradeable.sol\":\"IServiceRegistryV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xe5149f631a8e1a7a69acb078fe71de57ee8cceafd8fbd853f7e06608123c76a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31c481c3cc50228da8d41963f7c84a3d1c29a5ef31e6fee38857a7cdbe4e884e\",\"dweb:/ipfs/QmYFgcoeARWkTwEks7Vie9ezcFmHssGYAqxDfo5TnUkdBc\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"}],\"name\":\"getService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct IServiceRegistryV1.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AgentsRegistryUpgradeable.sol\":\"IServiceRegistryV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xe5149f631a8e1a7a69acb078fe71de57ee8cceafd8fbd853f7e06608123c76a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31c481c3cc50228da8d41963f7c84a3d1c29a5ef31e6fee38857a7cdbe4e884e\",\"dweb:/ipfs/QmYFgcoeARWkTwEks7Vie9ezcFmHssGYAqxDfo5TnUkdBc\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -69056,8 +69036,8 @@ } ], "linkReferences": {}, - "object": "60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516115ac6100fd60003960008181610bce01528181610bf70152610d3d01526115ac6000f3fe6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611132565b6102b5565b6040516100e7939291906111bf565b61013261012d36600461121e565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611132565b6104ca565b6040516100e79190611280565b34801561019757600080fd5b506101326101a63660046112d8565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e79190611360565b34801561025157600080fd5b50610265610260366004611132565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d8565b6109da565b3480156102a157600080fd5b506101326102b0366004611373565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138e565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138e565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138e565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155783398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c8565b90815260200160405180910390206040518060600160405290816000820180546105279061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138e565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138e565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138e565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff908690600401611360565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e4565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c8565b908152604051908190036020019020815181906107d29082611456565b50602082015160018201906107e79082611456565b50604082015160028201906107fc9082611456565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111bf565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c8565b90815260405190819003602001902080546109d09061138e565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a21908790600401611360565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e4565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c8565b90815260405190819003602001902081518190610afc9082611456565b5060208201516001820190610b119082611456565b5060408201516002820190610b269082611456565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111bf565b60405180910390a160018054906000610b7583611516565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611557833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153d565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115578339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c8565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b7576110b7611086565b604051601f8501601f19908116603f011681019082821181831017156110df576110df611086565b816040528093508581528686860111156110f857600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112357600080fd5b610b7e8383356020850161109c565b60006020828403121561114457600080fd5b813567ffffffffffffffff81111561115b57600080fd5b61116784828501611112565b949350505050565b60005b8381101561118a578181015183820152602001611172565b50506000910152565b600081518084526111ab81602086016020860161116f565b601f01601f19169290920160200192915050565b6060815260006111d26060830186611193565b82810360208401526111e48186611193565b905082810360408401526111f88185611193565b9695505050505050565b80356001600160a01b038116811461121957600080fd5b919050565b6000806040838503121561123157600080fd5b61123a83611202565b9150602083013567ffffffffffffffff81111561125657600080fd5b8301601f8101851361126757600080fd5b6112768582356020840161109c565b9150509250929050565b60208152600082516060602084015261129c6080840182611193565b90506020840151601f19808584030160408601526112ba8383611193565b9250604086015191508085840301606086015250610fd98282611193565b6000806000606084860312156112ed57600080fd5b833567ffffffffffffffff8082111561130557600080fd5b61131187838801611112565b9450602086013591508082111561132757600080fd5b61133387838801611112565b9350604086013591508082111561134957600080fd5b5061135686828701611112565b9150509250925092565b602081526000610b7e6020830184611193565b60006020828403121561138557600080fd5b610b7e82611202565b600181811c908216806113a257607f821691505b6020821081036113c257634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113da81846020870161116f565b9190910192915050565b6000602082840312156113f657600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142f5750805b601f850160051c820191505b8181101561144e5782815560010161143b565b505050505050565b815167ffffffffffffffff81111561147057611470611086565b6114848161147e845461138e565b84611406565b602080601f8311600181146114b957600084156114a15750858301515b600019600386901b1c1916600185901b17855561144e565b600085815260208120601f198616915b828110156114e8578886015182559484019460019091019084016114c9565b50858210156115065787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153657634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c75f83ec32a46ec4d9bba6a16b97fd7f4f8b4040e24571dde401082ff2399d0564736f6c63430008160033", - "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D PUSH2 0x22 JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x72 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH2 0xD1 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x15AC PUSH2 0xFD PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0xBCE ADD MSTORE DUP2 DUP2 PUSH2 0xBF7 ADD MSTORE PUSH2 0xD3D ADD MSTORE PUSH2 0x15AC PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC2 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7F3ED719 GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xAD3CB1CC GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xB405166B EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xEF57D884 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7F3ED719 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x1AB JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6237526 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x3017BA09 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x794758BE EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x110 PUSH2 0x10B CALLDATASIZE PUSH1 0x4 PUSH2 0x1132 JUMP JUMPDEST PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BF JUMP JUMPDEST PUSH2 0x132 PUSH2 0x12D CALLDATASIZE PUSH1 0x4 PUSH2 0x121E JUMP JUMPDEST PUSH2 0x47A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x499 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x4B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x1132 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x1280 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x1A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D8 JUMP JUMPDEST PUSH2 0x6D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x840 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x238 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x1360 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x1132 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D8 JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1373 JUMP JUMPDEST PUSH2 0xB85 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x0 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD DUP2 SWAP1 PUSH2 0x2DB SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x354 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x329 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x354 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x337 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x369 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x395 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3E2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3C5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x3F7 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x423 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x470 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x445 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x470 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x453 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xBC3 JUMP JUMPDEST PUSH2 0x48B DUP3 PUSH2 0xC68 JUMP JUMPDEST PUSH2 0x495 DUP3 DUP3 PUSH2 0xC70 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A3 PUSH2 0xD32 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x4BE PUSH2 0xD7B JUMP JUMPDEST PUSH2 0x4C8 PUSH1 0x0 PUSH2 0xDD6 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH2 0x4FE SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x527 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x553 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5A0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x575 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5A0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x583 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x5B9 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5E5 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x632 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x607 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x632 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x615 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x64B SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x677 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6C4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x699 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6C4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6A7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6DC PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x6FF SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x1360 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x71C 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 0x740 SWAP2 SWAP1 PUSH2 0x13E4 JUMP JUMPDEST PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP5 PUSH1 0x40 MLOAD PUSH2 0x7B5 SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0x7D2 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0x7E7 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x7FC SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0x4CD09E35844CCDF25AAC9862AF453CEDF05D8A8B765F2763BE8373B55215DF8D DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x833 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x1 PUSH1 0x40 SHL DUP2 DIV PUSH1 0xFF AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x886 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x8A3 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x8B1 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x8CF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x8F9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x902 CALLER PUSH2 0xE47 JUMP JUMPDEST PUSH2 0x90A PUSH2 0xE58 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SSTORE DUP4 ISZERO PUSH2 0x955 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD GT PUSH2 0x9A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x496E76616C69642073657276696365206E616D65 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x40 MLOAD PUSH2 0x9B6 SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x9D0 SWAP1 PUSH2 0x138E JUMP JUMPDEST SWAP1 POP GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0xA21 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x1360 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA3E 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 0xA62 SWAP2 SWAP1 PUSH2 0x13E4 JUMP JUMPDEST ISZERO PUSH2 0xAAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636520616C72656164792072656769737465726564000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 POP DUP1 PUSH1 0x0 DUP7 PUSH1 0x40 MLOAD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0xAFC SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0xB11 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0xB26 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xC182FE36565BE4905BE53A8ED353F07898B528F1625E778EDF77C13674806486 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xB5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xB75 DUP4 PUSH2 0x1516 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP SWAP1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xB8D PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBB7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xDD6 JUMP JUMPDEST POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0xC4A JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC3E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBC0 PUSH2 0xD7B JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xCCA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xCC7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x153D JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xCF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0xD23 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xD2D DUP4 DUP4 PUSH2 0xE60 JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0xDAD PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0xE4F PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xEFF JUMP JUMPDEST PUSH2 0x4C8 PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xE69 DUP3 PUSH2 0xF07 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0xEAE JUMPI PUSH2 0xD2D DUP3 DUP3 PUSH2 0xF6C JUMP JUMPDEST PUSH2 0x495 PUSH2 0xFE2 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB8D PUSH2 0xEB6 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0xF3D JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0xF89 SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xFC4 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 0xFC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xFD9 DUP6 DUP4 DUP4 PUSH2 0x1001 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1016 JUMPI PUSH2 0x1011 DUP3 PUSH2 0x105D JUMP JUMPDEST PUSH2 0xB7E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x102D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1056 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST POP DUP1 PUSH2 0xB7E JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x106D JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x10B7 JUMPI PUSH2 0x10B7 PUSH2 0x1086 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x10DF JUMPI PUSH2 0x10DF PUSH2 0x1086 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x10F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1123 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x109C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1144 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x115B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1167 DUP5 DUP3 DUP6 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x118A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1172 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x11AB DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x116F JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x11D2 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x1193 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x11E4 DUP2 DUP7 PUSH2 0x1193 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x11F8 DUP2 DUP6 PUSH2 0x1193 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1219 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1231 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x123A DUP4 PUSH2 0x1202 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x1267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1276 DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x109C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0x60 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x129C PUSH1 0x80 DUP5 ADD DUP3 PUSH2 0x1193 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP1 DUP6 DUP5 SUB ADD PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x12BA DUP4 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP6 DUP5 SUB ADD PUSH1 0x60 DUP7 ADD MSTORE POP PUSH2 0xFD9 DUP3 DUP3 PUSH2 0x1193 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x12ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1305 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1311 DUP8 DUP4 DUP9 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1333 DUP8 DUP4 DUP9 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1356 DUP7 DUP3 DUP8 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xB7E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1193 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP3 PUSH2 0x1202 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x13A2 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x13C2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x13DA DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x116F JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xD2D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x142F JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x144E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x143B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1470 JUMPI PUSH2 0x1470 PUSH2 0x1086 JUMP JUMPDEST PUSH2 0x1484 DUP2 PUSH2 0x147E DUP5 SLOAD PUSH2 0x138E JUMP JUMPDEST DUP5 PUSH2 0x1406 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x14B9 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x14A1 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x144E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x14E8 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x14C9 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1506 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1536 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x154F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220C7 PUSH0 DUP4 0xEC ORIGIN LOG4 PUSH15 0xC4D9BBA6A16B97FD7F4F8B4040E245 PUSH18 0xDDE401082FF2399D0564736F6C6343000816 STOP CALLER ", + "object": "60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516115ab6100fd60003960008181610bce01528181610bf70152610d3d01526115ab6000f3fe6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611131565b6102b5565b6040516100e7939291906111be565b61013261012d36600461121d565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611131565b6104ca565b6040516100e7919061127f565b34801561019757600080fd5b506101326101a63660046112d7565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e7919061135f565b34801561025157600080fd5b50610265610260366004611131565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d7565b6109da565b3480156102a157600080fd5b506101326102b0366004611372565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138d565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138d565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138d565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155683398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c7565b90815260200160405180910390206040518060600160405290816000820180546105279061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138d565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138d565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138d565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff90869060040161135f565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e3565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c7565b908152604051908190036020019020815181906107d29082611455565b50602082015160018201906107e79082611455565b50604082015160028201906107fc9082611455565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111be565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c7565b90815260405190819003602001902080546109d09061138d565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a2190879060040161135f565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e3565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c7565b90815260405190819003602001902081518190610afc9082611455565b5060208201516001820190610b119082611455565b5060408201516002820190610b269082611455565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111be565b60405180910390a160018054906000610b7583611515565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611556833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153c565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115568339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c7565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b6576110b6611085565b604051601f8501601f19908116603f011681019082821181831017156110de576110de611085565b816040528093508581528686860111156110f757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112257600080fd5b610b7e8383356020850161109b565b60006020828403121561114357600080fd5b813567ffffffffffffffff81111561115a57600080fd5b61116684828501611111565b949350505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b6060815260006111d16060830186611192565b82810360208401526111e38186611192565b905082810360408401526111f78185611192565b9695505050505050565b80356001600160a01b038116811461121857600080fd5b919050565b6000806040838503121561123057600080fd5b61123983611201565b9150602083013567ffffffffffffffff81111561125557600080fd5b8301601f8101851361126657600080fd5b6112758582356020840161109b565b9150509250929050565b60208152600082516060602084015261129b6080840182611192565b90506020840151601f19808584030160408601526112b98383611192565b9250604086015191508085840301606086015250610fd98282611192565b6000806000606084860312156112ec57600080fd5b833567ffffffffffffffff8082111561130457600080fd5b61131087838801611111565b9450602086013591508082111561132657600080fd5b61133287838801611111565b9350604086013591508082111561134857600080fd5b5061135586828701611111565b9150509250925092565b602081526000610b7e6020830184611192565b60006020828403121561138457600080fd5b610b7e82611201565b600181811c908216806113a157607f821691505b6020821081036113c157634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113d981846020870161116e565b9190910192915050565b6000602082840312156113f557600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142e5750805b601f850160051c820191505b8181101561144d5782815560010161143a565b505050505050565b815167ffffffffffffffff81111561146f5761146f611085565b6114838161147d845461138d565b84611405565b602080601f8311600181146114b857600084156114a05750858301515b600019600386901b1c1916600185901b17855561144d565b600085815260208120601f198616915b828110156114e7578886015182559484019460019091019084016114c8565b50858210156115055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153557634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154e57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212202bfc3b81f904787b5ab23808a04349a17cd56f161fa1b7a96ecce2619be06d4264736f6c63430008160033", + "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D PUSH2 0x22 JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x72 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH2 0xD1 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x15AB PUSH2 0xFD PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0xBCE ADD MSTORE DUP2 DUP2 PUSH2 0xBF7 ADD MSTORE PUSH2 0xD3D ADD MSTORE PUSH2 0x15AB PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC2 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7F3ED719 GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xAD3CB1CC GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xB405166B EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xEF57D884 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7F3ED719 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x1AB JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6237526 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x3017BA09 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x794758BE EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x110 PUSH2 0x10B CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH2 0x132 PUSH2 0x12D CALLDATASIZE PUSH1 0x4 PUSH2 0x121D JUMP JUMPDEST PUSH2 0x47A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x499 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x4B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x127F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x1A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D7 JUMP JUMPDEST PUSH2 0x6D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x840 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x238 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x135F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D7 JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1372 JUMP JUMPDEST PUSH2 0xB85 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x0 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD DUP2 SWAP1 PUSH2 0x2DB SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x354 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x329 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x354 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x337 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x369 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x395 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3E2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3C5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x3F7 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x423 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x470 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x445 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x470 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x453 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xBC3 JUMP JUMPDEST PUSH2 0x48B DUP3 PUSH2 0xC68 JUMP JUMPDEST PUSH2 0x495 DUP3 DUP3 PUSH2 0xC70 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A3 PUSH2 0xD32 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x4BE PUSH2 0xD7B JUMP JUMPDEST PUSH2 0x4C8 PUSH1 0x0 PUSH2 0xDD6 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH2 0x4FE SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x527 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x553 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5A0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x575 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5A0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x583 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x5B9 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5E5 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x632 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x607 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x632 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x615 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x64B SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x677 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6C4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x699 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6C4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6A7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6DC PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x6FF SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x135F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x71C 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 0x740 SWAP2 SWAP1 PUSH2 0x13E3 JUMP JUMPDEST PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP5 PUSH1 0x40 MLOAD PUSH2 0x7B5 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0x7D2 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0x7E7 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x7FC SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0x4CD09E35844CCDF25AAC9862AF453CEDF05D8A8B765F2763BE8373B55215DF8D DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x833 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x1 PUSH1 0x40 SHL DUP2 DIV PUSH1 0xFF AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x886 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x8A3 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x8B1 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x8CF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x8F9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x902 CALLER PUSH2 0xE47 JUMP JUMPDEST PUSH2 0x90A PUSH2 0xE58 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SSTORE DUP4 ISZERO PUSH2 0x955 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD GT PUSH2 0x9A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x496E76616C69642073657276696365206E616D65 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x40 MLOAD PUSH2 0x9B6 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x9D0 SWAP1 PUSH2 0x138D JUMP JUMPDEST SWAP1 POP GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0xA21 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x135F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA3E 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 0xA62 SWAP2 SWAP1 PUSH2 0x13E3 JUMP JUMPDEST ISZERO PUSH2 0xAAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636520616C72656164792072656769737465726564000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 POP DUP1 PUSH1 0x0 DUP7 PUSH1 0x40 MLOAD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0xAFC SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0xB11 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0xB26 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xC182FE36565BE4905BE53A8ED353F07898B528F1625E778EDF77C13674806486 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xB5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xB75 DUP4 PUSH2 0x1515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP SWAP1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xB8D PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBB7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xDD6 JUMP JUMPDEST POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0xC4A JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC3E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBC0 PUSH2 0xD7B JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xCCA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xCC7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x153C JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xCF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0xD23 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xD2D DUP4 DUP4 PUSH2 0xE60 JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0xDAD PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0xE4F PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xEFF JUMP JUMPDEST PUSH2 0x4C8 PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xE69 DUP3 PUSH2 0xF07 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0xEAE JUMPI PUSH2 0xD2D DUP3 DUP3 PUSH2 0xF6C JUMP JUMPDEST PUSH2 0x495 PUSH2 0xFE2 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB8D PUSH2 0xEB6 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0xF3D JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0xF89 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xFC4 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 0xFC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xFD9 DUP6 DUP4 DUP4 PUSH2 0x1001 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1016 JUMPI PUSH2 0x1011 DUP3 PUSH2 0x105D JUMP JUMPDEST PUSH2 0xB7E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x102D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1056 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST POP DUP1 PUSH2 0xB7E JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x106C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x10B6 JUMPI PUSH2 0x10B6 PUSH2 0x1085 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x10DE JUMPI PUSH2 0x10DE PUSH2 0x1085 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x10F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1122 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x109B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x115A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1166 DUP5 DUP3 DUP6 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1189 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1171 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x11AA DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x116E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x11D1 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x1192 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x11E3 DUP2 DUP7 PUSH2 0x1192 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x11F7 DUP2 DUP6 PUSH2 0x1192 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1239 DUP4 PUSH2 0x1201 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1255 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x1266 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1275 DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x109B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0x60 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x129B PUSH1 0x80 DUP5 ADD DUP3 PUSH2 0x1192 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP1 DUP6 DUP5 SUB ADD PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x12B9 DUP4 DUP4 PUSH2 0x1192 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP6 DUP5 SUB ADD PUSH1 0x60 DUP7 ADD MSTORE POP PUSH2 0xFD9 DUP3 DUP3 PUSH2 0x1192 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x12EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1304 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1310 DUP8 DUP4 DUP9 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1332 DUP8 DUP4 DUP9 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1355 DUP7 DUP3 DUP8 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xB7E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1192 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1384 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP3 PUSH2 0x1201 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x13A1 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x13C1 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x13D9 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x116E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xD2D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x142E JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x144D JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x143A JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x146F JUMPI PUSH2 0x146F PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x1483 DUP2 PUSH2 0x147D DUP5 SLOAD PUSH2 0x138D JUMP JUMPDEST DUP5 PUSH2 0x1405 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x14B8 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x14A0 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x144D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x14E7 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x14C8 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1505 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1535 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x154E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA26469706673582212202B 0xFC EXTCODESIZE DUP2 0xF9 DIV PUSH25 0x7B5AB23808A04349A17CD56F161FA1B7A96ECCE2619BE06D42 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", "sourceMap": "498:2704:12:-:0;;;1171:4:2;1128:48;;987:53:12;;;;;;;;;-1:-1:-1;1011:22:12;:20;:22::i;:::-;498:2704;;7709:422:1;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:1;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:1;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:1;-1:-1:-1;;;;;8033:33:1;;;;;8085:29;;158:50:17;;;8085:29:1;;146:2:17;131:18;8085:29:1;;;;;;;7979:146;7758:373;7709:422::o;14:200:17:-;498:2704:12;;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { @@ -69279,61 +69259,61 @@ "returnSlots": 1 }, "abi_decode_address": { - "entryPoint": 4610, + "entryPoint": 4609, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_available_length_string": { - "entryPoint": 4252, + "entryPoint": 4251, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_string": { - "entryPoint": 4370, + "entryPoint": 4369, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_address": { - "entryPoint": 4979, + "entryPoint": 4978, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_addresst_bytes_memory_ptr": { - "entryPoint": 4638, + "entryPoint": 4637, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_bool_fromMemory": { - "entryPoint": 5092, + "entryPoint": 5091, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_bytes32_fromMemory": { - "entryPoint": 5437, + "entryPoint": 5436, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_string_memory_ptr": { - "entryPoint": 4402, + "entryPoint": 4401, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr": { - "entryPoint": 4824, + "entryPoint": 4823, "id": null, "parameterSlots": 2, "returnSlots": 3 }, "abi_encode_string": { - "entryPoint": 4499, + "entryPoint": 4498, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -69345,7 +69325,7 @@ "returnSlots": 1 }, "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 5064, + "entryPoint": 5063, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -69375,13 +69355,13 @@ "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 4960, + "entryPoint": 4959, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 4543, + "entryPoint": 4542, "id": null, "parameterSlots": 4, "returnSlots": 1 @@ -69405,7 +69385,7 @@ "returnSlots": 1 }, "abi_encode_tuple_t_struct$_Service_$2382_memory_ptr__to_t_struct$_Service_$2382_memory_ptr__fromStack_reversed": { - "entryPoint": 4736, + "entryPoint": 4735, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -69423,25 +69403,25 @@ "returnSlots": 1 }, "clean_up_bytearray_end_slots_string_storage": { - "entryPoint": 5126, + "entryPoint": 5125, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 5206, + "entryPoint": 5205, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "copy_memory_to_memory_with_cleanup": { - "entryPoint": 4463, + "entryPoint": 4462, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "extract_byte_array_length": { - "entryPoint": 5006, + "entryPoint": 5005, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -69453,13 +69433,13 @@ "returnSlots": 1 }, "increment_t_uint256": { - "entryPoint": 5398, + "entryPoint": 5397, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "panic_error_0x41": { - "entryPoint": 4230, + "entryPoint": 4229, "id": null, "parameterSlots": 0, "returnSlots": 0 @@ -78698,9 +78678,9 @@ ] }, "linkReferences": {}, - "object": "6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611132565b6102b5565b6040516100e7939291906111bf565b61013261012d36600461121e565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611132565b6104ca565b6040516100e79190611280565b34801561019757600080fd5b506101326101a63660046112d8565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e79190611360565b34801561025157600080fd5b50610265610260366004611132565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d8565b6109da565b3480156102a157600080fd5b506101326102b0366004611373565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138e565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138e565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138e565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155783398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c8565b90815260200160405180910390206040518060600160405290816000820180546105279061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138e565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138e565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138e565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff908690600401611360565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e4565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c8565b908152604051908190036020019020815181906107d29082611456565b50602082015160018201906107e79082611456565b50604082015160028201906107fc9082611456565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111bf565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c8565b90815260405190819003602001902080546109d09061138e565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a21908790600401611360565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e4565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c8565b90815260405190819003602001902081518190610afc9082611456565b5060208201516001820190610b119082611456565b5060408201516002820190610b269082611456565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111bf565b60405180910390a160018054906000610b7583611516565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611557833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153d565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115578339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c8565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b7576110b7611086565b604051601f8501601f19908116603f011681019082821181831017156110df576110df611086565b816040528093508581528686860111156110f857600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112357600080fd5b610b7e8383356020850161109c565b60006020828403121561114457600080fd5b813567ffffffffffffffff81111561115b57600080fd5b61116784828501611112565b949350505050565b60005b8381101561118a578181015183820152602001611172565b50506000910152565b600081518084526111ab81602086016020860161116f565b601f01601f19169290920160200192915050565b6060815260006111d26060830186611193565b82810360208401526111e48186611193565b905082810360408401526111f88185611193565b9695505050505050565b80356001600160a01b038116811461121957600080fd5b919050565b6000806040838503121561123157600080fd5b61123a83611202565b9150602083013567ffffffffffffffff81111561125657600080fd5b8301601f8101851361126757600080fd5b6112768582356020840161109c565b9150509250929050565b60208152600082516060602084015261129c6080840182611193565b90506020840151601f19808584030160408601526112ba8383611193565b9250604086015191508085840301606086015250610fd98282611193565b6000806000606084860312156112ed57600080fd5b833567ffffffffffffffff8082111561130557600080fd5b61131187838801611112565b9450602086013591508082111561132757600080fd5b61133387838801611112565b9350604086013591508082111561134957600080fd5b5061135686828701611112565b9150509250925092565b602081526000610b7e6020830184611193565b60006020828403121561138557600080fd5b610b7e82611202565b600181811c908216806113a257607f821691505b6020821081036113c257634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113da81846020870161116f565b9190910192915050565b6000602082840312156113f657600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142f5750805b601f850160051c820191505b8181101561144e5782815560010161143b565b505050505050565b815167ffffffffffffffff81111561147057611470611086565b6114848161147e845461138e565b84611406565b602080601f8311600181146114b957600084156114a15750858301515b600019600386901b1c1916600185901b17855561144e565b600085815260208120601f198616915b828110156114e8578886015182559484019460019091019084016114c9565b50858210156115065787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153657634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c75f83ec32a46ec4d9bba6a16b97fd7f4f8b4040e24571dde401082ff2399d0564736f6c63430008160033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC2 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7F3ED719 GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xAD3CB1CC GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xB405166B EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xEF57D884 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7F3ED719 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x1AB JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6237526 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x3017BA09 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x794758BE EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x110 PUSH2 0x10B CALLDATASIZE PUSH1 0x4 PUSH2 0x1132 JUMP JUMPDEST PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BF JUMP JUMPDEST PUSH2 0x132 PUSH2 0x12D CALLDATASIZE PUSH1 0x4 PUSH2 0x121E JUMP JUMPDEST PUSH2 0x47A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x499 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x4B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x1132 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x1280 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x1A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D8 JUMP JUMPDEST PUSH2 0x6D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x840 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x238 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x1360 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x1132 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D8 JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1373 JUMP JUMPDEST PUSH2 0xB85 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x0 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD DUP2 SWAP1 PUSH2 0x2DB SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x354 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x329 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x354 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x337 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x369 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x395 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3E2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3C5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x3F7 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x423 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x470 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x445 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x470 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x453 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xBC3 JUMP JUMPDEST PUSH2 0x48B DUP3 PUSH2 0xC68 JUMP JUMPDEST PUSH2 0x495 DUP3 DUP3 PUSH2 0xC70 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A3 PUSH2 0xD32 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x4BE PUSH2 0xD7B JUMP JUMPDEST PUSH2 0x4C8 PUSH1 0x0 PUSH2 0xDD6 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH2 0x4FE SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x527 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x553 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5A0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x575 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5A0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x583 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x5B9 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5E5 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x632 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x607 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x632 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x615 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x64B SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x677 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6C4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x699 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6C4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6A7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6DC PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x6FF SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x1360 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x71C 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 0x740 SWAP2 SWAP1 PUSH2 0x13E4 JUMP JUMPDEST PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP5 PUSH1 0x40 MLOAD PUSH2 0x7B5 SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0x7D2 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0x7E7 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x7FC SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0x4CD09E35844CCDF25AAC9862AF453CEDF05D8A8B765F2763BE8373B55215DF8D DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x833 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x1 PUSH1 0x40 SHL DUP2 DIV PUSH1 0xFF AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x886 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x8A3 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x8B1 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x8CF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x8F9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x902 CALLER PUSH2 0xE47 JUMP JUMPDEST PUSH2 0x90A PUSH2 0xE58 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SSTORE DUP4 ISZERO PUSH2 0x955 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD GT PUSH2 0x9A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x496E76616C69642073657276696365206E616D65 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x40 MLOAD PUSH2 0x9B6 SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x9D0 SWAP1 PUSH2 0x138E JUMP JUMPDEST SWAP1 POP GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0xA21 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x1360 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA3E 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 0xA62 SWAP2 SWAP1 PUSH2 0x13E4 JUMP JUMPDEST ISZERO PUSH2 0xAAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636520616C72656164792072656769737465726564000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 POP DUP1 PUSH1 0x0 DUP7 PUSH1 0x40 MLOAD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0xAFC SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0xB11 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0xB26 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xC182FE36565BE4905BE53A8ED353F07898B528F1625E778EDF77C13674806486 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xB5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xB75 DUP4 PUSH2 0x1516 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP SWAP1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xB8D PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBB7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xDD6 JUMP JUMPDEST POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0xC4A JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC3E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBC0 PUSH2 0xD7B JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xCCA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xCC7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x153D JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xCF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0xD23 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xD2D DUP4 DUP4 PUSH2 0xE60 JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0xDAD PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0xE4F PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xEFF JUMP JUMPDEST PUSH2 0x4C8 PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xE69 DUP3 PUSH2 0xF07 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0xEAE JUMPI PUSH2 0xD2D DUP3 DUP3 PUSH2 0xF6C JUMP JUMPDEST PUSH2 0x495 PUSH2 0xFE2 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB8D PUSH2 0xEB6 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0xF3D JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0xF89 SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xFC4 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 0xFC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xFD9 DUP6 DUP4 DUP4 PUSH2 0x1001 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1016 JUMPI PUSH2 0x1011 DUP3 PUSH2 0x105D JUMP JUMPDEST PUSH2 0xB7E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x102D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1056 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST POP DUP1 PUSH2 0xB7E JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x106D JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x10B7 JUMPI PUSH2 0x10B7 PUSH2 0x1086 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x10DF JUMPI PUSH2 0x10DF PUSH2 0x1086 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x10F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1123 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x109C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1144 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x115B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1167 DUP5 DUP3 DUP6 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x118A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1172 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x11AB DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x116F JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x11D2 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x1193 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x11E4 DUP2 DUP7 PUSH2 0x1193 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x11F8 DUP2 DUP6 PUSH2 0x1193 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1219 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1231 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x123A DUP4 PUSH2 0x1202 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x1267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1276 DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x109C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0x60 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x129C PUSH1 0x80 DUP5 ADD DUP3 PUSH2 0x1193 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP1 DUP6 DUP5 SUB ADD PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x12BA DUP4 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP6 DUP5 SUB ADD PUSH1 0x60 DUP7 ADD MSTORE POP PUSH2 0xFD9 DUP3 DUP3 PUSH2 0x1193 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x12ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1305 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1311 DUP8 DUP4 DUP9 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1333 DUP8 DUP4 DUP9 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1356 DUP7 DUP3 DUP8 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xB7E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1193 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP3 PUSH2 0x1202 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x13A2 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x13C2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x13DA DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x116F JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xD2D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x142F JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x144E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x143B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1470 JUMPI PUSH2 0x1470 PUSH2 0x1086 JUMP JUMPDEST PUSH2 0x1484 DUP2 PUSH2 0x147E DUP5 SLOAD PUSH2 0x138E JUMP JUMPDEST DUP5 PUSH2 0x1406 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x14B9 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x14A1 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x144E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x14E8 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x14C9 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1506 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1536 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x154F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220C7 PUSH0 DUP4 0xEC ORIGIN LOG4 PUSH15 0xC4D9BBA6A16B97FD7F4F8B4040E245 PUSH18 0xDDE401082FF2399D0564736F6C6343000816 STOP CALLER ", - "sourceMap": "498:2704:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;744:27;;;;;;;;;;;;;;;;;;;160:25:17;;;148:2;133:18;744:27:12;;;;;;;;696:42;;;;;;;;;;-1:-1:-1;696:42:12;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;4161:214:2:-;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;2106:117:12:-;;;;;;;;;;-1:-1:-1;2106:117:12;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2440:395::-;;;;;;;;;;-1:-1:-1;2440:395:12;;;;;:::i;:::-;;:::i;1099:144::-;;;;;;;;;;;;;:::i;2441::0:-;;;;;;;;;;-1:-1:-1;1313:22:0;2570:8;2441:144;;-1:-1:-1;;;;;2570:8:0;;;5127:51:17;;5115:2;5100:18;2441:144:0;4981:203:17;1819:58:2;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;2229:205:12:-;;;;;;;;;;-1:-1:-1;2229:205:12;;;;;:::i;:::-;;:::i;:::-;;;5579:14:17;;5572:22;5554:41;;5542:2;5527:18;2229:205:12;5414:187:17;1425:512:12;;;;;;;;;;-1:-1:-1;1425:512:12;;;;;:::i;:::-;;:::i;3405:215:0:-;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;696:42:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;2106:117:12:-;2169:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;2169:14:12;2202:8;2211:4;2202:14;;;;;;:::i;:::-;;;;;;;;;;;;;2195:21;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2106:117;;;:::o;2440:395::-;2334:13:0;:11;:13::i;:::-;2571:30:12::1;::::0;-1:-1:-1;;;2571:30:12;;:4:::1;::::0;:24:::1;::::0;:30:::1;::::0;2596:4;;2571:30:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2563:65;;;::::0;-1:-1:-1;;;2563:65:12;;6960:2:17;2563:65:12::1;::::0;::::1;6942:21:17::0;6999:2;6979:18;;;6972:30;-1:-1:-1;;;7018:18:17;;;7011:52;7080:18;;2563:65:12::1;;;;;;;;;2656:113;;;;;;;;2684:4;2656:113;;;;2712:8;2656:113;;;;2747:11;2656:113;;::::0;2639:8:::1;2648:4;2639:14;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:130;;:14;;:130:::1;::::0;:14;:130:::1;:::i;:::-;-1:-1:-1::0;2639:130:12::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;2639:130:12::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;;;;;2785:43;2800:4;2806:8;2816:11;2785:43;;;;;;;;:::i;:::-;;;;;;;;2440:395:::0;;;:::o;1099:144::-;3147:66:1;4302:15;;-1:-1:-1;;;4302:15:1;;;;4301:16;;4348:14;;4158:30;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;:16;;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;1150:26:12::1;1165:10;1150:14;:26::i;:::-;1186:24;:22;:24::i;:::-;1235:1;1220:12;:16:::0;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;9457:50:17;;5140:14:1;;9445:2:17;9430:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;1099:144:12:o;2229:205::-;2301:4;2346:1;2331:4;2325:18;:22;2317:55;;;;-1:-1:-1;;;2317:55:12;;9720:2:17;2317:55:12;;;9702:21:17;9759:2;9739:18;;;9732:30;-1:-1:-1;;;9778:18:17;;;9771:50;9838:18;;2317:55:12;9518:344:17;2317:55:12;2426:1;2396:8;2405:4;2396:14;;;;;;:::i;:::-;;;;;;;;;;;;;;2390:33;;;;;:::i;:::-;;;:37;2383:44;;2229:205;;;:::o;1425:512::-;1539:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;1539:14:12;1574:30;;-1:-1:-1;;;1574:30:12;;:4;;:24;;:30;;1599:4;;1574:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1573:31;1565:70;;;;-1:-1:-1;;;1565:70:12;;10069:2:17;1565:70:12;;;10051:21:17;10108:2;10088:18;;;10081:30;10147:28;10127:18;;;10120:56;10193:18;;1565:70:12;9867:350:17;1565:70:12;1646:22;1671:113;;;;;;;;1699:4;1671:113;;;;1727:8;1671:113;;;;1762:11;1671:113;;;1646:138;;1812:7;1795:8;1804:4;1795:14;;;;;;:::i;:::-;;;;;;;;;;;;;;:24;;:14;;:24;;:14;:24;:::i;:::-;-1:-1:-1;1795:24:12;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1795:24:12;;;;;;;;;;;;:::i;:::-;;;;;1835:46;1853:4;1859:8;1869:11;1835:46;;;;;;;;:::i;:::-;;;;;;;;1892:12;:14;;;:12;:14;;;:::i;:::-;;;;-1:-1:-1;1923:7:12;;-1:-1:-1;;1425:512:12;;;;;;:::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;5127:51:17::0;5100:18;;3534:31:0::1;4981:203:17::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:6;-1:-1:-1;;;;;1519:53:6;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;3024:84:12;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;5145:32:17;;6493:60:2;;;5127:51:17;5100:18;;6493:60:2;4981:203:17;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;160:25:17;;;133:18;;6292:34:2;14:177:17;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;:::-;6184:235;6032:538;;:::o;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;2658:162:0;966:10:3;2717:7:0;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144;2717:7;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;5127:51:17;5100:18;;2763:40:0;4981:203:17;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;1847:127::-;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;2264:344:6:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:6;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7082:141:1:-;3147:66;8558:40;-1:-1:-1;;;8558:40:1;;;;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;1671:281:6:-;1748:17;-1:-1:-1;;;;;1748:29:6;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:6;;-1:-1:-1;;;;;5145:32:17;;1805:47:6;;;5127:51:17;5100:18;;1805:47:6;4981:203:17;1744:119:6;-1:-1:-1;;;;;;;;;;;1872:73:6;;-1:-1:-1;;;;;;1872:73:6;-1:-1:-1;;;;;1872:73:6;;;;;;;;;;1671:281::o;3916:253:8:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:8;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:8:o;6113:122:6:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:6;;;;;;;;;;;4437:582:8;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:8;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:8;;-1:-1:-1;;;;;5145:32:17;;4933:24:8;;;5127:51:17;5100:18;;4933:24:8;4981:203:17;4853:119:8;-1:-1:-1;4992:10:8;4985:17;;5559:487;5690:17;;:21;5686:354;;5887:10;5881:17;5943:15;5930:10;5926:2;5922:19;5915:44;5686:354;6010:19;;-1:-1:-1;;;6010:19:8;;;;;;;;;;;196:127:17;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:632;393:5;423:18;464:2;456:6;453:14;450:40;;;470:18;;:::i;:::-;545:2;539:9;513:2;599:15;;-1:-1:-1;;595:24:17;;;621:2;591:33;587:42;575:55;;;645:18;;;665:22;;;642:46;639:72;;;691:18;;:::i;:::-;731:10;727:2;720:22;760:6;751:15;;790:6;782;775:22;830:3;821:6;816:3;812:16;809:25;806:45;;;847:1;844;837:12;806:45;897:6;892:3;885:4;877:6;873:17;860:44;952:1;945:4;936:6;928;924:19;920:30;913:41;;;;328:632;;;;;:::o;965:222::-;1008:5;1061:3;1054:4;1046:6;1042:17;1038:27;1028:55;;1079:1;1076;1069:12;1028:55;1101:80;1177:3;1168:6;1155:20;1148:4;1140:6;1136:17;1101:80;:::i;1192:322::-;1261:6;1314:2;1302:9;1293:7;1289:23;1285:32;1282:52;;;1330:1;1327;1320:12;1282:52;1370:9;1357:23;1403:18;1395:6;1392:30;1389:50;;;1435:1;1432;1425:12;1389:50;1458;1500:7;1491:6;1480:9;1476:22;1458:50;:::i;:::-;1448:60;1192:322;-1:-1:-1;;;;1192:322:17:o;1519:250::-;1604:1;1614:113;1628:6;1625:1;1622:13;1614:113;;;1704:11;;;1698:18;1685:11;;;1678:39;1650:2;1643:10;1614:113;;;-1:-1:-1;;1761:1:17;1743:16;;1736:27;1519:250::o;1774:271::-;1816:3;1854:5;1848:12;1881:6;1876:3;1869:19;1897:76;1966:6;1959:4;1954:3;1950:14;1943:4;1936:5;1932:16;1897:76;:::i;:::-;2027:2;2006:15;-1:-1:-1;;2002:29:17;1993:39;;;;2034:4;1989:50;;1774:271;-1:-1:-1;;1774:271:17:o;2050:546::-;2295:2;2284:9;2277:21;2258:4;2321:45;2362:2;2351:9;2347:18;2339:6;2321:45;:::i;:::-;2414:9;2406:6;2402:22;2397:2;2386:9;2382:18;2375:50;2448:33;2474:6;2466;2448:33;:::i;:::-;2434:47;;2529:9;2521:6;2517:22;2512:2;2501:9;2497:18;2490:50;2557:33;2583:6;2575;2557:33;:::i;:::-;2549:41;2050:546;-1:-1:-1;;;;;;2050:546:17:o;2601:173::-;2669:20;;-1:-1:-1;;;;;2718:31:17;;2708:42;;2698:70;;2764:1;2761;2754:12;2698:70;2601:173;;;:::o;2779:524::-;2856:6;2864;2917:2;2905:9;2896:7;2892:23;2888:32;2885:52;;;2933:1;2930;2923:12;2885:52;2956:29;2975:9;2956:29;:::i;:::-;2946:39;;3036:2;3025:9;3021:18;3008:32;3063:18;3055:6;3052:30;3049:50;;;3095:1;3092;3085:12;3049:50;3118:22;;3171:4;3163:13;;3159:27;-1:-1:-1;3149:55:17;;3200:1;3197;3190:12;3149:55;3223:74;3289:7;3284:2;3271:16;3266:2;3262;3258:11;3223:74;:::i;:::-;3213:84;;;2779:524;;;;;:::o;3490:738::-;3669:2;3658:9;3651:21;3632:4;3707:6;3701:13;3750:4;3745:2;3734:9;3730:18;3723:32;3778:52;3825:3;3814:9;3810:19;3796:12;3778:52;:::i;:::-;3764:66;;3879:2;3871:6;3867:15;3861:22;3906:2;3902:7;3973:2;3961:9;3953:6;3949:22;3945:31;3940:2;3929:9;3925:18;3918:59;4000:41;4034:6;4018:14;4000:41;:::i;:::-;3986:55;;4090:2;4082:6;4078:15;4072:22;4050:44;;4160:2;4148:9;4140:6;4136:22;4132:31;4125:4;4114:9;4110:20;4103:61;;4181:41;4215:6;4199:14;4181:41;:::i;4233:743::-;4340:6;4348;4356;4409:2;4397:9;4388:7;4384:23;4380:32;4377:52;;;4425:1;4422;4415:12;4377:52;4465:9;4452:23;4494:18;4535:2;4527:6;4524:14;4521:34;;;4551:1;4548;4541:12;4521:34;4574:50;4616:7;4607:6;4596:9;4592:22;4574:50;:::i;:::-;4564:60;;4677:2;4666:9;4662:18;4649:32;4633:48;;4706:2;4696:8;4693:16;4690:36;;;4722:1;4719;4712:12;4690:36;4745:52;4789:7;4778:8;4767:9;4763:24;4745:52;:::i;:::-;4735:62;;4850:2;4839:9;4835:18;4822:32;4806:48;;4879:2;4869:8;4866:16;4863:36;;;4895:1;4892;4885:12;4863:36;;4918:52;4962:7;4951:8;4940:9;4936:24;4918:52;:::i;:::-;4908:62;;;4233:743;;;;;:::o;5189:220::-;5338:2;5327:9;5320:21;5301:4;5358:45;5399:2;5388:9;5384:18;5376:6;5358:45;:::i;5606:186::-;5665:6;5718:2;5706:9;5697:7;5693:23;5689:32;5686:52;;;5734:1;5731;5724:12;5686:52;5757:29;5776:9;5757:29;:::i;5797:380::-;5876:1;5872:12;;;;5919;;;5940:61;;5994:4;5986:6;5982:17;5972:27;;5940:61;6047:2;6039:6;6036:14;6016:18;6013:38;6010:161;;6093:10;6088:3;6084:20;6081:1;6074:31;6128:4;6125:1;6118:15;6156:4;6153:1;6146:15;6010:161;;5797:380;;;:::o;6182:289::-;6313:3;6351:6;6345:13;6367:66;6426:6;6421:3;6414:4;6406:6;6402:17;6367:66;:::i;:::-;6449:16;;;;;6182:289;-1:-1:-1;;6182:289:17:o;6476:277::-;6543:6;6596:2;6584:9;6575:7;6571:23;6567:32;6564:52;;;6612:1;6609;6602:12;6564:52;6644:9;6638:16;6697:5;6690:13;6683:21;6676:5;6673:32;6663:60;;6719:1;6716;6709:12;7235:543;7337:2;7332:3;7329:11;7326:446;;;7373:1;7397:5;7394:1;7387:16;7441:4;7438:1;7428:18;7511:2;7499:10;7495:19;7492:1;7488:27;7482:4;7478:38;7547:4;7535:10;7532:20;7529:47;;;-1:-1:-1;7570:4:17;7529:47;7625:2;7620:3;7616:12;7613:1;7609:20;7603:4;7599:31;7589:41;;7680:82;7698:2;7691:5;7688:13;7680:82;;;7743:17;;;7724:1;7713:13;7680:82;;;7684:3;;;7235:543;;;:::o;7954:1345::-;8080:3;8074:10;8107:18;8099:6;8096:30;8093:56;;;8129:18;;:::i;:::-;8158:97;8248:6;8208:38;8240:4;8234:11;8208:38;:::i;:::-;8202:4;8158:97;:::i;:::-;8310:4;;8367:2;8356:14;;8384:1;8379:663;;;;9086:1;9103:6;9100:89;;;-1:-1:-1;9155:19:17;;;9149:26;9100:89;-1:-1:-1;;7911:1:17;7907:11;;;7903:24;7899:29;7889:40;7935:1;7931:11;;;7886:57;9202:81;;8349:944;;8379:663;7182:1;7175:14;;;7219:4;7206:18;;-1:-1:-1;;8415:20:17;;;8533:236;8547:7;8544:1;8541:14;8533:236;;;8636:19;;;8630:26;8615:42;;8728:27;;;;8696:1;8684:14;;;;8563:19;;8533:236;;;8537:3;8797:6;8788:7;8785:19;8782:201;;;8858:19;;;8852:26;-1:-1:-1;;8941:1:17;8937:14;;;8953:3;8933:24;8929:37;8925:42;8910:58;8895:74;;8782:201;-1:-1:-1;;;;;9029:1:17;9013:14;;;9009:22;8996:36;;-1:-1:-1;7954:1345:17:o;10222:232::-;10261:3;10282:17;;;10279:140;;10341:10;10336:3;10332:20;10329:1;10322:31;10376:4;10373:1;10366:15;10404:4;10401:1;10394:15;10279:140;-1:-1:-1;10446:1:17;10435:13;;10222:232::o;10459:184::-;10529:6;10582:2;10570:9;10561:7;10557:23;10553:32;10550:52;;;10598:1;10595;10588:12;10550:52;-1:-1:-1;10621:16:17;;10459:184;-1:-1:-1;10459:184:17:o" + "object": "6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611131565b6102b5565b6040516100e7939291906111be565b61013261012d36600461121d565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611131565b6104ca565b6040516100e7919061127f565b34801561019757600080fd5b506101326101a63660046112d7565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e7919061135f565b34801561025157600080fd5b50610265610260366004611131565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d7565b6109da565b3480156102a157600080fd5b506101326102b0366004611372565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138d565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138d565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138d565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155683398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c7565b90815260200160405180910390206040518060600160405290816000820180546105279061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138d565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138d565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138d565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff90869060040161135f565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e3565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c7565b908152604051908190036020019020815181906107d29082611455565b50602082015160018201906107e79082611455565b50604082015160028201906107fc9082611455565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111be565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c7565b90815260405190819003602001902080546109d09061138d565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a2190879060040161135f565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e3565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c7565b90815260405190819003602001902081518190610afc9082611455565b5060208201516001820190610b119082611455565b5060408201516002820190610b269082611455565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111be565b60405180910390a160018054906000610b7583611515565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611556833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153c565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115568339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c7565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b6576110b6611085565b604051601f8501601f19908116603f011681019082821181831017156110de576110de611085565b816040528093508581528686860111156110f757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112257600080fd5b610b7e8383356020850161109b565b60006020828403121561114357600080fd5b813567ffffffffffffffff81111561115a57600080fd5b61116684828501611111565b949350505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b6060815260006111d16060830186611192565b82810360208401526111e38186611192565b905082810360408401526111f78185611192565b9695505050505050565b80356001600160a01b038116811461121857600080fd5b919050565b6000806040838503121561123057600080fd5b61123983611201565b9150602083013567ffffffffffffffff81111561125557600080fd5b8301601f8101851361126657600080fd5b6112758582356020840161109b565b9150509250929050565b60208152600082516060602084015261129b6080840182611192565b90506020840151601f19808584030160408601526112b98383611192565b9250604086015191508085840301606086015250610fd98282611192565b6000806000606084860312156112ec57600080fd5b833567ffffffffffffffff8082111561130457600080fd5b61131087838801611111565b9450602086013591508082111561132657600080fd5b61133287838801611111565b9350604086013591508082111561134857600080fd5b5061135586828701611111565b9150509250925092565b602081526000610b7e6020830184611192565b60006020828403121561138457600080fd5b610b7e82611201565b600181811c908216806113a157607f821691505b6020821081036113c157634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113d981846020870161116e565b9190910192915050565b6000602082840312156113f557600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142e5750805b601f850160051c820191505b8181101561144d5782815560010161143a565b505050505050565b815167ffffffffffffffff81111561146f5761146f611085565b6114838161147d845461138d565b84611405565b602080601f8311600181146114b857600084156114a05750858301515b600019600386901b1c1916600185901b17855561144d565b600085815260208120601f198616915b828110156114e7578886015182559484019460019091019084016114c8565b50858210156115055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153557634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154e57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212202bfc3b81f904787b5ab23808a04349a17cd56f161fa1b7a96ecce2619be06d4264736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC2 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7F3ED719 GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xAD3CB1CC GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xB405166B EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xEF57D884 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7F3ED719 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x1AB JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6237526 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x3017BA09 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x794758BE EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x110 PUSH2 0x10B CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH2 0x132 PUSH2 0x12D CALLDATASIZE PUSH1 0x4 PUSH2 0x121D JUMP JUMPDEST PUSH2 0x47A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x499 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x4B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x127F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x1A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D7 JUMP JUMPDEST PUSH2 0x6D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x840 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x238 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x135F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D7 JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1372 JUMP JUMPDEST PUSH2 0xB85 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x0 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD DUP2 SWAP1 PUSH2 0x2DB SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x354 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x329 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x354 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x337 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x369 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x395 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3E2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3C5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x3F7 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x423 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x470 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x445 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x470 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x453 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xBC3 JUMP JUMPDEST PUSH2 0x48B DUP3 PUSH2 0xC68 JUMP JUMPDEST PUSH2 0x495 DUP3 DUP3 PUSH2 0xC70 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A3 PUSH2 0xD32 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x4BE PUSH2 0xD7B JUMP JUMPDEST PUSH2 0x4C8 PUSH1 0x0 PUSH2 0xDD6 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH2 0x4FE SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x527 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x553 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5A0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x575 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5A0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x583 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x5B9 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5E5 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x632 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x607 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x632 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x615 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x64B SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x677 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6C4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x699 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6C4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6A7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6DC PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x6FF SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x135F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x71C 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 0x740 SWAP2 SWAP1 PUSH2 0x13E3 JUMP JUMPDEST PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP5 PUSH1 0x40 MLOAD PUSH2 0x7B5 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0x7D2 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0x7E7 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x7FC SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0x4CD09E35844CCDF25AAC9862AF453CEDF05D8A8B765F2763BE8373B55215DF8D DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x833 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x1 PUSH1 0x40 SHL DUP2 DIV PUSH1 0xFF AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x886 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x8A3 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x8B1 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x8CF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x8F9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x902 CALLER PUSH2 0xE47 JUMP JUMPDEST PUSH2 0x90A PUSH2 0xE58 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SSTORE DUP4 ISZERO PUSH2 0x955 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD GT PUSH2 0x9A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x496E76616C69642073657276696365206E616D65 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x40 MLOAD PUSH2 0x9B6 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x9D0 SWAP1 PUSH2 0x138D JUMP JUMPDEST SWAP1 POP GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0xA21 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x135F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA3E 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 0xA62 SWAP2 SWAP1 PUSH2 0x13E3 JUMP JUMPDEST ISZERO PUSH2 0xAAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636520616C72656164792072656769737465726564000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 POP DUP1 PUSH1 0x0 DUP7 PUSH1 0x40 MLOAD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0xAFC SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0xB11 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0xB26 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xC182FE36565BE4905BE53A8ED353F07898B528F1625E778EDF77C13674806486 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xB5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xB75 DUP4 PUSH2 0x1515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP SWAP1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xB8D PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBB7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xDD6 JUMP JUMPDEST POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0xC4A JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC3E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBC0 PUSH2 0xD7B JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xCCA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xCC7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x153C JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xCF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0xD23 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xD2D DUP4 DUP4 PUSH2 0xE60 JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0xDAD PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0xE4F PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xEFF JUMP JUMPDEST PUSH2 0x4C8 PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xE69 DUP3 PUSH2 0xF07 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0xEAE JUMPI PUSH2 0xD2D DUP3 DUP3 PUSH2 0xF6C JUMP JUMPDEST PUSH2 0x495 PUSH2 0xFE2 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB8D PUSH2 0xEB6 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0xF3D JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0xF89 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xFC4 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 0xFC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xFD9 DUP6 DUP4 DUP4 PUSH2 0x1001 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1016 JUMPI PUSH2 0x1011 DUP3 PUSH2 0x105D JUMP JUMPDEST PUSH2 0xB7E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x102D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1056 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST POP DUP1 PUSH2 0xB7E JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x106C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x10B6 JUMPI PUSH2 0x10B6 PUSH2 0x1085 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x10DE JUMPI PUSH2 0x10DE PUSH2 0x1085 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x10F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1122 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x109B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x115A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1166 DUP5 DUP3 DUP6 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1189 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1171 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x11AA DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x116E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x11D1 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x1192 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x11E3 DUP2 DUP7 PUSH2 0x1192 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x11F7 DUP2 DUP6 PUSH2 0x1192 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1239 DUP4 PUSH2 0x1201 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1255 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x1266 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1275 DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x109B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0x60 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x129B PUSH1 0x80 DUP5 ADD DUP3 PUSH2 0x1192 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP1 DUP6 DUP5 SUB ADD PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x12B9 DUP4 DUP4 PUSH2 0x1192 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP6 DUP5 SUB ADD PUSH1 0x60 DUP7 ADD MSTORE POP PUSH2 0xFD9 DUP3 DUP3 PUSH2 0x1192 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x12EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1304 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1310 DUP8 DUP4 DUP9 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1332 DUP8 DUP4 DUP9 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1355 DUP7 DUP3 DUP8 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xB7E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1192 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1384 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP3 PUSH2 0x1201 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x13A1 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x13C1 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x13D9 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x116E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xD2D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x142E JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x144D JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x143A JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x146F JUMPI PUSH2 0x146F PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x1483 DUP2 PUSH2 0x147D DUP5 SLOAD PUSH2 0x138D JUMP JUMPDEST DUP5 PUSH2 0x1405 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x14B8 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x14A0 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x144D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x14E7 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x14C8 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1505 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1535 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x154E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA26469706673582212202B 0xFC EXTCODESIZE DUP2 0xF9 DIV PUSH25 0x7B5AB23808A04349A17CD56F161FA1B7A96ECCE2619BE06D42 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "498:2704:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;744:27;;;;;;;;;;;;;;;;;;;160:25:17;;;148:2;133:18;744:27:12;;;;;;;;696:42;;;;;;;;;;-1:-1:-1;696:42:12;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;4161:214:2:-;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;2106:117:12:-;;;;;;;;;;-1:-1:-1;2106:117:12;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2440:395::-;;;;;;;;;;-1:-1:-1;2440:395:12;;;;;:::i;:::-;;:::i;1099:144::-;;;;;;;;;;;;;:::i;2441::0:-;;;;;;;;;;-1:-1:-1;1313:22:0;2570:8;2441:144;;-1:-1:-1;;;;;2570:8:0;;;5127:51:17;;5115:2;5100:18;2441:144:0;4981:203:17;1819:58:2;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;2229:205:12:-;;;;;;;;;;-1:-1:-1;2229:205:12;;;;;:::i;:::-;;:::i;:::-;;;5579:14:17;;5572:22;5554:41;;5542:2;5527:18;2229:205:12;5414:187:17;1425:512:12;;;;;;;;;;-1:-1:-1;1425:512:12;;;;;:::i;:::-;;:::i;3405:215:0:-;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;696:42:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;2106:117:12:-;2169:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;2169:14:12;2202:8;2211:4;2202:14;;;;;;:::i;:::-;;;;;;;;;;;;;2195:21;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2106:117;;;:::o;2440:395::-;2334:13:0;:11;:13::i;:::-;2571:30:12::1;::::0;-1:-1:-1;;;2571:30:12;;:4:::1;::::0;:24:::1;::::0;:30:::1;::::0;2596:4;;2571:30:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2563:65;;;::::0;-1:-1:-1;;;2563:65:12;;6960:2:17;2563:65:12::1;::::0;::::1;6942:21:17::0;6999:2;6979:18;;;6972:30;-1:-1:-1;;;7018:18:17;;;7011:52;7080:18;;2563:65:12::1;;;;;;;;;2656:113;;;;;;;;2684:4;2656:113;;;;2712:8;2656:113;;;;2747:11;2656:113;;::::0;2639:8:::1;2648:4;2639:14;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:130;;:14;;:130:::1;::::0;:14;:130:::1;:::i;:::-;-1:-1:-1::0;2639:130:12::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;2639:130:12::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;;;;;2785:43;2800:4;2806:8;2816:11;2785:43;;;;;;;;:::i;:::-;;;;;;;;2440:395:::0;;;:::o;1099:144::-;3147:66:1;4302:15;;-1:-1:-1;;;4302:15:1;;;;4301:16;;4348:14;;4158:30;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;:16;;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;1150:26:12::1;1165:10;1150:14;:26::i;:::-;1186:24;:22;:24::i;:::-;1235:1;1220:12;:16:::0;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;9457:50:17;;5140:14:1;;9445:2:17;9430:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;1099:144:12:o;2229:205::-;2301:4;2346:1;2331:4;2325:18;:22;2317:55;;;;-1:-1:-1;;;2317:55:12;;9720:2:17;2317:55:12;;;9702:21:17;9759:2;9739:18;;;9732:30;-1:-1:-1;;;9778:18:17;;;9771:50;9838:18;;2317:55:12;9518:344:17;2317:55:12;2426:1;2396:8;2405:4;2396:14;;;;;;:::i;:::-;;;;;;;;;;;;;;2390:33;;;;;:::i;:::-;;;:37;2383:44;;2229:205;;;:::o;1425:512::-;1539:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;1539:14:12;1574:30;;-1:-1:-1;;;1574:30:12;;:4;;:24;;:30;;1599:4;;1574:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1573:31;1565:70;;;;-1:-1:-1;;;1565:70:12;;10069:2:17;1565:70:12;;;10051:21:17;10108:2;10088:18;;;10081:30;10147:28;10127:18;;;10120:56;10193:18;;1565:70:12;9867:350:17;1565:70:12;1646:22;1671:113;;;;;;;;1699:4;1671:113;;;;1727:8;1671:113;;;;1762:11;1671:113;;;1646:138;;1812:7;1795:8;1804:4;1795:14;;;;;;:::i;:::-;;;;;;;;;;;;;;:24;;:14;;:24;;:14;:24;:::i;:::-;-1:-1:-1;1795:24:12;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1795:24:12;;;;;;;;;;;;:::i;:::-;;;;;1835:46;1853:4;1859:8;1869:11;1835:46;;;;;;;;:::i;:::-;;;;;;;;1892:12;:14;;;:12;:14;;;:::i;:::-;;;;-1:-1:-1;1923:7:12;;-1:-1:-1;;1425:512:12;;;;;;:::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;5127:51:17::0;5100:18;;3534:31:0::1;4981:203:17::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:6;-1:-1:-1;;;;;1519:53:6;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;3024:84:12;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;5145:32:17;;6493:60:2;;;5127:51:17;5100:18;;6493:60:2;4981:203:17;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;160:25:17;;;133:18;;6292:34:2;14:177:17;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;:::-;6184:235;6032:538;;:::o;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;2658:162:0;966:10:3;2717:7:0;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144;2717:7;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;5127:51:17;5100:18;;2763:40:0;4981:203:17;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;1847:127::-;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;2264:344:6:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:6;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7082:141:1:-;3147:66;8558:40;-1:-1:-1;;;8558:40:1;;;;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;1671:281:6:-;1748:17;-1:-1:-1;;;;;1748:29:6;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:6;;-1:-1:-1;;;;;5145:32:17;;1805:47:6;;;5127:51:17;5100:18;;1805:47:6;4981:203:17;1744:119:6;-1:-1:-1;;;;;;;;;;;1872:73:6;;-1:-1:-1;;;;;;1872:73:6;-1:-1:-1;;;;;1872:73:6;;;;;;;;;;1671:281::o;3916:253:8:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:8;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:8:o;6113:122:6:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:6;;;;;;;;;;;4437:582:8;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:8;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:8;;-1:-1:-1;;;;;5145:32:17;;4933:24:8;;;5127:51:17;5100:18;;4933:24:8;4981:203:17;4853:119:8;-1:-1:-1;4992:10:8;4985:17;;5559:434;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:8;;;;;;;;;;;196:127:17;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:632;393:5;423:18;464:2;456:6;453:14;450:40;;;470:18;;:::i;:::-;545:2;539:9;513:2;599:15;;-1:-1:-1;;595:24:17;;;621:2;591:33;587:42;575:55;;;645:18;;;665:22;;;642:46;639:72;;;691:18;;:::i;:::-;731:10;727:2;720:22;760:6;751:15;;790:6;782;775:22;830:3;821:6;816:3;812:16;809:25;806:45;;;847:1;844;837:12;806:45;897:6;892:3;885:4;877:6;873:17;860:44;952:1;945:4;936:6;928;924:19;920:30;913:41;;;;328:632;;;;;:::o;965:222::-;1008:5;1061:3;1054:4;1046:6;1042:17;1038:27;1028:55;;1079:1;1076;1069:12;1028:55;1101:80;1177:3;1168:6;1155:20;1148:4;1140:6;1136:17;1101:80;:::i;1192:322::-;1261:6;1314:2;1302:9;1293:7;1289:23;1285:32;1282:52;;;1330:1;1327;1320:12;1282:52;1370:9;1357:23;1403:18;1395:6;1392:30;1389:50;;;1435:1;1432;1425:12;1389:50;1458;1500:7;1491:6;1480:9;1476:22;1458:50;:::i;:::-;1448:60;1192:322;-1:-1:-1;;;;1192:322:17:o;1519:250::-;1604:1;1614:113;1628:6;1625:1;1622:13;1614:113;;;1704:11;;;1698:18;1685:11;;;1678:39;1650:2;1643:10;1614:113;;;-1:-1:-1;;1761:1:17;1743:16;;1736:27;1519:250::o;1774:271::-;1816:3;1854:5;1848:12;1881:6;1876:3;1869:19;1897:76;1966:6;1959:4;1954:3;1950:14;1943:4;1936:5;1932:16;1897:76;:::i;:::-;2027:2;2006:15;-1:-1:-1;;2002:29:17;1993:39;;;;2034:4;1989:50;;1774:271;-1:-1:-1;;1774:271:17:o;2050:546::-;2295:2;2284:9;2277:21;2258:4;2321:45;2362:2;2351:9;2347:18;2339:6;2321:45;:::i;:::-;2414:9;2406:6;2402:22;2397:2;2386:9;2382:18;2375:50;2448:33;2474:6;2466;2448:33;:::i;:::-;2434:47;;2529:9;2521:6;2517:22;2512:2;2501:9;2497:18;2490:50;2557:33;2583:6;2575;2557:33;:::i;:::-;2549:41;2050:546;-1:-1:-1;;;;;;2050:546:17:o;2601:173::-;2669:20;;-1:-1:-1;;;;;2718:31:17;;2708:42;;2698:70;;2764:1;2761;2754:12;2698:70;2601:173;;;:::o;2779:524::-;2856:6;2864;2917:2;2905:9;2896:7;2892:23;2888:32;2885:52;;;2933:1;2930;2923:12;2885:52;2956:29;2975:9;2956:29;:::i;:::-;2946:39;;3036:2;3025:9;3021:18;3008:32;3063:18;3055:6;3052:30;3049:50;;;3095:1;3092;3085:12;3049:50;3118:22;;3171:4;3163:13;;3159:27;-1:-1:-1;3149:55:17;;3200:1;3197;3190:12;3149:55;3223:74;3289:7;3284:2;3271:16;3266:2;3262;3258:11;3223:74;:::i;:::-;3213:84;;;2779:524;;;;;:::o;3490:738::-;3669:2;3658:9;3651:21;3632:4;3707:6;3701:13;3750:4;3745:2;3734:9;3730:18;3723:32;3778:52;3825:3;3814:9;3810:19;3796:12;3778:52;:::i;:::-;3764:66;;3879:2;3871:6;3867:15;3861:22;3906:2;3902:7;3973:2;3961:9;3953:6;3949:22;3945:31;3940:2;3929:9;3925:18;3918:59;4000:41;4034:6;4018:14;4000:41;:::i;:::-;3986:55;;4090:2;4082:6;4078:15;4072:22;4050:44;;4160:2;4148:9;4140:6;4136:22;4132:31;4125:4;4114:9;4110:20;4103:61;;4181:41;4215:6;4199:14;4181:41;:::i;4233:743::-;4340:6;4348;4356;4409:2;4397:9;4388:7;4384:23;4380:32;4377:52;;;4425:1;4422;4415:12;4377:52;4465:9;4452:23;4494:18;4535:2;4527:6;4524:14;4521:34;;;4551:1;4548;4541:12;4521:34;4574:50;4616:7;4607:6;4596:9;4592:22;4574:50;:::i;:::-;4564:60;;4677:2;4666:9;4662:18;4649:32;4633:48;;4706:2;4696:8;4693:16;4690:36;;;4722:1;4719;4712:12;4690:36;4745:52;4789:7;4778:8;4767:9;4763:24;4745:52;:::i;:::-;4735:62;;4850:2;4839:9;4835:18;4822:32;4806:48;;4879:2;4869:8;4866:16;4863:36;;;4895:1;4892;4885:12;4863:36;;4918:52;4962:7;4951:8;4940:9;4936:24;4918:52;:::i;:::-;4908:62;;;4233:743;;;;;:::o;5189:220::-;5338:2;5327:9;5320:21;5301:4;5358:45;5399:2;5388:9;5384:18;5376:6;5358:45;:::i;5606:186::-;5665:6;5718:2;5706:9;5697:7;5693:23;5689:32;5686:52;;;5734:1;5731;5724:12;5686:52;5757:29;5776:9;5757:29;:::i;5797:380::-;5876:1;5872:12;;;;5919;;;5940:61;;5994:4;5986:6;5982:17;5972:27;;5940:61;6047:2;6039:6;6036:14;6016:18;6013:38;6010:161;;6093:10;6088:3;6084:20;6081:1;6074:31;6128:4;6125:1;6118:15;6156:4;6153:1;6146:15;6010:161;;5797:380;;;:::o;6182:289::-;6313:3;6351:6;6345:13;6367:66;6426:6;6421:3;6414:4;6406:6;6402:17;6367:66;:::i;:::-;6449:16;;;;;6182:289;-1:-1:-1;;6182:289:17:o;6476:277::-;6543:6;6596:2;6584:9;6575:7;6571:23;6567:32;6564:52;;;6612:1;6609;6602:12;6564:52;6644:9;6638:16;6697:5;6690:13;6683:21;6676:5;6673:32;6663:60;;6719:1;6716;6709:12;7235:543;7337:2;7332:3;7329:11;7326:446;;;7373:1;7397:5;7394:1;7387:16;7441:4;7438:1;7428:18;7511:2;7499:10;7495:19;7492:1;7488:27;7482:4;7478:38;7547:4;7535:10;7532:20;7529:47;;;-1:-1:-1;7570:4:17;7529:47;7625:2;7620:3;7616:12;7613:1;7609:20;7603:4;7599:31;7589:41;;7680:82;7698:2;7691:5;7688:13;7680:82;;;7743:17;;;7724:1;7713:13;7680:82;;;7684:3;;;7235:543;;;:::o;7954:1345::-;8080:3;8074:10;8107:18;8099:6;8096:30;8093:56;;;8129:18;;:::i;:::-;8158:97;8248:6;8208:38;8240:4;8234:11;8208:38;:::i;:::-;8202:4;8158:97;:::i;:::-;8310:4;;8367:2;8356:14;;8384:1;8379:663;;;;9086:1;9103:6;9100:89;;;-1:-1:-1;9155:19:17;;;9149:26;9100:89;-1:-1:-1;;7911:1:17;7907:11;;;7903:24;7899:29;7889:40;7935:1;7931:11;;;7886:57;9202:81;;8349:944;;8379:663;7182:1;7175:14;;;7219:4;7206:18;;-1:-1:-1;;8415:20:17;;;8533:236;8547:7;8544:1;8541:14;8533:236;;;8636:19;;;8630:26;8615:42;;8728:27;;;;8696:1;8684:14;;;;8563:19;;8533:236;;;8537:3;8797:6;8788:7;8785:19;8782:201;;;8858:19;;;8852:26;-1:-1:-1;;8941:1:17;8937:14;;;8953:3;8933:24;8929:37;8925:42;8910:58;8895:74;;8782:201;-1:-1:-1;;;;;9029:1:17;9013:14;;;9009:22;8996:36;;-1:-1:-1;7954:1345:17:o;10222:232::-;10261:3;10282:17;;;10279:140;;10341:10;10336:3;10332:20;10329:1;10322:31;10376:4;10373:1;10366:15;10404:4;10401:1;10394:15;10279:140;-1:-1:-1;10446:1:17;10435:13;;10222:232::o;10459:184::-;10529:6;10582:2;10570:9;10561:7;10557:23;10553:32;10550:52;;;10598:1;10595;10588:12;10550:52;-1:-1:-1;10621:16:17;;10459:184;-1:-1:-1;10459:184:17:o" }, "methodIdentifiers": { "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", @@ -78718,7 +78698,7 @@ "upgradeToAndCall(address,bytes)": "4f1ef286" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ServiceRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ServiceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"getService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"internalType\":\"struct ServiceRegistryUpgradeable.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"isServiceRegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"registerService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"internalType\":\"struct ServiceRegistryUpgradeable.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"serviceCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"services\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"updateService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getService(string)\":{\"details\":\"Retrieves the details of a service.\",\"params\":{\"name\":\"The name of the service to retrieve.\"},\"returns\":{\"_0\":\"The details of the service.\"}},\"initialize()\":{\"details\":\"Initializes the contract\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerService(string,string,string)\":{\"details\":\"Registers a new service with the given name and price.\",\"params\":{\"name\":\"The name of the service.\"},\"returns\":{\"_0\":\"The ID of the registered service.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"ServiceRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the services provided by agents.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ServiceRegistryUpgradeable.sol\":\"ServiceRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ServiceRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ServiceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"getService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"internalType\":\"struct ServiceRegistryUpgradeable.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"isServiceRegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"registerService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"internalType\":\"struct ServiceRegistryUpgradeable.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"serviceCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"services\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"updateService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getService(string)\":{\"details\":\"Retrieves the details of a service.\",\"params\":{\"name\":\"The name of the service to retrieve.\"},\"returns\":{\"_0\":\"The details of the service.\"}},\"initialize()\":{\"details\":\"Initializes the contract\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerService(string,string,string)\":{\"details\":\"Registers a new service with the given name and price.\",\"params\":{\"name\":\"The name of the service.\"},\"returns\":{\"_0\":\"The ID of the registered service.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"ServiceRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the services provided by agents.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ServiceRegistryUpgradeable.sol\":\"ServiceRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]}},\"version\":1}", "storageLayout": { "storage": [ { @@ -79767,8 +79747,8 @@ } ], "linkReferences": {}, - "object": "60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125d06200010460003960008181611699015281816116c2015261180801526125d06000f3fe6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed2565b6103f8565b60405161012e9190611f9f565b60405180910390f35b34801561014357600080fd5b50610170610152366004612049565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612049565b610853565b3480156101d457600080fd5b506101e86101e3366004612077565b610a1f565b60405190815260200161012e565b6102096102043660046120a3565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612049565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612107565b34801561027357600080fd5b50610209610282366004612115565b610a8c565b34801561029357600080fd5b506102a76102a236600461214b565b610d56565b60405161012e9190612168565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ac565b610dd6565b3480156102f557600080fd5b50610209610304366004612049565b61100f565b34801561031557600080fd5b50610329610324366004612049565b611282565b60405161012e9897969594939291906121e9565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225c565b3480156103c457600080fd5b506102096103d336600461226f565b6113ed565b3480156103e457600080fd5b506102096103f336600461214b565b611512565b610400611d7e565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b4565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612424565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e4565b60405180910390a36002805490600061069083612503565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a2565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f67565b600381111561078357610783611f67565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a2565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7e565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a2565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f67565b600381111561095457610954611f67565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a2565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257b83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f67565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b4565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d16919061252a565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f67565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612424565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b4565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612107565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225c565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f67565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f67565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b4565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612107565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a2565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a2565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a2565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612543565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255f565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257b833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f191682019092526117929181019061252a565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257b83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612543565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612543565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255f565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612543565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d655780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dbb57611dbb611f67565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1557611e15611ddc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4457611e44611ddc565b604052919050565b600067ffffffffffffffff821115611e6657611e66611ddc565b50601f01601f191660200190565b6000611e87611e8284611e4c565b611e1b565b9050828152838383011115611e9b57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec357600080fd5b611d4e83833560208501611e74565b60008060408385031215611ee557600080fd5b823567ffffffffffffffff811115611efc57600080fd5b611f0885828601611eb2565b95602094909401359450505050565b60005b83811015611f32578181015183820152602001611f1a565b50506000910152565b60008151808452611f53816020860160208601611f17565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9b57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc8610120850183611f3b565b915060018060a01b0360408601511660608501526060850151611fee6080860182611f7d565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120298382611f3b565b92505060e085015161203f8286018260ff169052565b5090949350505050565b60006020828403121561205b57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208a57600080fd5b823561209581612062565b946020939093013593505050565b600080604083850312156120b657600080fd5b82356120c181612062565b9150602083013567ffffffffffffffff8111156120dd57600080fd5b8301601f810185136120ee57600080fd5b6120fd85823560208401611e74565b9150509250929050565b6020810161084d8284611f7d565b6000806040838503121561212857600080fd5b82359150602083013560ff8116811461214057600080fd5b809150509250929050565b60006020828403121561215d57600080fd5b8135611d4e81612062565b6020808252825182820181905260009190848201906040850190845b818110156121a057835183529284019291840191600101612184565b50909695505050505050565b600080604083850312156121bf57600080fd5b82359150602083013567ffffffffffffffff8111156121dd57600080fd5b6120fd85828601611eb2565b60006101008a83528060208401526122038184018b611f3b565b6001600160a01b038a81166040860152909150612223606085018a611f7d565b8716608084015260a0830186905282810360c08401526122438186611f3b565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3b565b6000806040838503121561228257600080fd5b82359150602083013561214081612062565b805161229f81612062565b919050565b8051801515811461229f57600080fd5b600060208083850312156122c757600080fd5b825167ffffffffffffffff808211156122df57600080fd5b9084019060c082870312156122f357600080fd5b6122fb611df2565b825161230681612062565b8152828401518281111561231957600080fd5b83019150601f8201871361232c57600080fd5b815161233a611e8282611e4c565b818152888683860101111561234e57600080fd5b61235d82878301888701611f17565b82860152506040838101519082015261237860608401612294565b60608201526080830151608082015261239360a084016122a4565b60a08201529695505050505050565b600181811c908216806123b657607f821691505b6020821081036123d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124055750805b601f850160051c820191505b8181101561168657828155600101612411565b815167ffffffffffffffff81111561243e5761243e611ddc565b6124528161244c84546123a2565b846123dc565b602080601f831160018114612487576000841561246f5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b657888601518255948401946001909101908401612497565b50858210156124d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3b565b60006001820161252357634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253c57600080fd5b5051919050565b60008251612555818460208701611f17565b9190910192915050565b60006020828403121561257157600080fd5b611d4e826122a456fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212200206fb8c32e5b0ca19955dd0cd96c2c0092a360b74e8402ac6b25e22e2d4295e64736f6c63430008160033", - "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x25D0 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x1699 ADD MSTORE DUP2 DUP2 PUSH2 0x16C2 ADD MSTORE PUSH2 0x1808 ADD MSTORE PUSH2 0x25D0 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x639241AB GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x8D977672 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8D977672 EQ PUSH2 0x309 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x33D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x37A JUMPI DUP1 PUSH4 0xDA35A26F EQ PUSH2 0x3B8 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x639241AB EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x74AAA760 EQ PUSH2 0x2C9 JUMPI DUP1 PUSH4 0x7EEC20A8 EQ PUSH2 0x2E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2A2B3A9D GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x2A2B3A9D EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1F6 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x20B JUMPI DUP1 PUSH4 0x5C622A0E EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0x6298EEE0 EQ PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4FE2B34 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x7B31818 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0xD1CFCAE EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x1D65E77E EQ PUSH2 0x1A8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x121 PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x1ED2 JUMP JUMPDEST PUSH2 0x3F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x1F9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x170 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x170 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x853 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0x1E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2077 JUMP JUMPDEST PUSH2 0xA1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A3 JUMP JUMPDEST PUSH2 0xA50 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0xA6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25A PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2107 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x2115 JUMP JUMPDEST PUSH2 0xA8C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x214B JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2168 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0xDC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x21AC JUMP JUMPDEST PUSH2 0xDD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x304 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x100F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x329 PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x21E9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x170 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x386 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x225C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x226F JUMP JUMPDEST PUSH2 0x13ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x214B JUMP JUMPDEST PUSH2 0x1512 JUMP JUMPDEST PUSH2 0x400 PUSH2 0x1D7E JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x44A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x472 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x52B JUMPI CALLVALUE DUP2 PUSH1 0x40 ADD MLOAD EQ PUSH2 0x526 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x496E76616C6964207072696365 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x58A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F204554482073686F756C642062652073656E7420666F7220455243323020 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x7061796D656E7473 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E DUP2 PUSH1 0x60 ADD MLOAD CALLER ADDRESS DUP5 PUSH1 0x40 ADD MLOAD PUSH2 0x1550 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP2 SSTORE PUSH1 0x1 DUP2 ADD PUSH2 0x5C0 DUP7 DUP3 PUSH2 0x2424 JUMP JUMPDEST POP PUSH1 0x2 DUP2 DUP2 ADD DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND DUP2 OR DUP4 SSTORE PUSH1 0x4 DUP6 ADD DUP9 SWAP1 SSTORE DUP6 MLOAD PUSH1 0x3 DUP7 ADD DUP1 SLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP5 SLOAD DUP6 SLOAD DUP1 DUP5 ADD DUP8 SSTORE SWAP6 DUP5 MSTORE SWAP3 KECCAK256 SWAP1 SWAP4 ADD SSTORE DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL DUP4 MUL OR SWAP1 SSTORE POP DUP2 MLOAD PUSH1 0x2 SLOAD PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP3 CALLER SWAP3 PUSH32 0x5C005BBBB9DA508C37935B1A9F270836E0BE1FD11D4D47119F925A3FF33820E9 SWAP3 PUSH2 0x678 SWAP3 DUP12 SWAP1 PUSH2 0x24E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x2 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x690 DUP4 PUSH2 0x2503 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x6BC SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6E8 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x735 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x70A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x735 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x718 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x772 JUMPI PUSH2 0x772 PUSH2 0x1F67 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x783 JUMPI PUSH2 0x783 PUSH2 0x1F67 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x7B7 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E3 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x830 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x805 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x830 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x813 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x85B PUSH2 0x1D7E JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x88D SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8B9 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x906 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8DB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x906 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8E9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x943 JUMPI PUSH2 0x943 PUSH2 0x1F67 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x954 JUMPI PUSH2 0x954 PUSH2 0x1F67 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x988 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x9B4 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA01 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9D6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA01 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9E4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xA3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0xA58 PUSH2 0x168E JUMP JUMPDEST PUSH2 0xA61 DUP3 PUSH2 0x1733 JUMP JUMPDEST PUSH2 0xA6B DUP3 DUP3 PUSH2 0x173B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA79 PUSH2 0x17FD JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xAF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB26 JUMPI PUSH2 0xB26 PUSH2 0x1F67 JUMP JUMPDEST EQ PUSH2 0xB6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x15185CDAC81A5CC81B9BDD0818DBDB5C1B195D1959 PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xBC0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B20676F7420726174696E6720616C7265616479000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x64 DUP4 PUSH1 0xFF AND GT ISZERO PUSH2 0xC14 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP6 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC9A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 MLOAD PUSH1 0x40 MLOAD PUSH4 0x70370A81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP9 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP3 SWAP4 POP AND SWAP1 PUSH4 0x70370A81 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCF2 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 0xD16 SWAP2 SWAP1 PUSH2 0x252A JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xFF DUP6 AND DUP2 MSTORE DUP6 SWAP1 PUSH32 0xF9189BFC5977D44B1A00920E53A6A0E00229F6C53E76B73FC7E0581AE99ABDC SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xDB6 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xDA2 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCA PUSH2 0x1846 JUMP JUMPDEST PUSH2 0xDD4 PUSH1 0x0 PUSH2 0x18A1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x139BDD08185D5D1A1BDC9A5E9959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE53 JUMPI PUSH2 0xE53 PUSH2 0x1F67 JUMP JUMPDEST EQ PUSH2 0xE96 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x496E76616C6964207461736B20737461747573 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA1 SHL OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD PUSH2 0xEB9 DUP4 DUP3 PUSH2 0x2424 JUMP JUMPDEST POP PUSH1 0x3 SLOAD PUSH1 0x4 DUP3 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF07 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF2F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF66 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0xF61 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0xF89 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xF89 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0xFC9 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2107 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP4 PUSH32 0x7E6FFC29FE63759579D96A0457A8F2E08339ACA345BD469F59DC2E61F82A5AEB DUP5 PUSH1 0x40 MLOAD PUSH2 0x1001 SWAP2 SWAP1 PUSH2 0x225C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x107A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A9 PUSH2 0x1F67 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x10D7 JUMPI POP PUSH1 0x3 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10D4 JUMPI PUSH2 0x10D4 PUSH2 0x1F67 JUMP JUMPDEST EQ ISZERO JUMPDEST PUSH2 0x1123 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B2063616E6E6F742062652063616E63656C6564000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x3 PUSH1 0xA0 SHL PUSH1 0xFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1187 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x11AF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x11E6 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x11E1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0x1209 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1209 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0x1249 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2107 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x40 MLOAD DUP5 SWAP1 PUSH32 0x1AA8A90C7D7A86BAC690072D3F3D726BB8EBBE1989E158530440963F04C11EB2 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x12A4 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x12D0 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x12F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1300 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD DUP1 SLOAD SWAP6 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND SWAP8 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 SWAP7 DIV PUSH1 0xFF AND SWAP7 POP SWAP1 SWAP4 AND SWAP4 SWAP2 SWAP3 SWAP2 PUSH2 0x1361 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138D SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13DA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13AF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13DA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13BD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x6 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 POP POP PUSH1 0xFF AND DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F7 PUSH2 0x1B1D JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x141F JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x143C JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x144A JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1468 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1492 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x149B CALLER PUSH2 0x1B46 JUMP JUMPDEST PUSH2 0x14A3 PUSH2 0x1B57 JUMP JUMPDEST PUSH1 0x2 DUP8 SWAP1 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE DUP4 ISZERO PUSH2 0x1509 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x151A PUSH2 0x1846 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1544 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x18A1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH2 0x15B4 SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x15F1 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 0x15F6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1620 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1620 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1620 SWAP2 SWAP1 PUSH2 0x255F JUMP JUMPDEST PUSH2 0x1686 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A7472616E7366657246726F6D3A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x185B9CD9995C919C9BDB4819985A5B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x1715 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1709 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x154D PUSH2 0x1846 JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1795 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1792 SWAP2 DUP2 ADD SWAP1 PUSH2 0x252A JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x17BD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x17EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x17F8 DUP4 DUP4 PUSH2 0x1B5F JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0x1878 PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP4 SWAP1 PUSH1 0x40 MLOAD PUSH2 0x193C SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1979 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 0x197E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665724554483A PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x8115512081D1C985B9CD9995C8819985A5B1959 PUSH1 0x62 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP8 AND SWAP2 PUSH2 0x1A48 SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1A85 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 0x1A8A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1AB4 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1AB4 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1AB4 SWAP2 SWAP1 PUSH2 0x255F JUMP JUMPDEST PUSH2 0x1B16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665723A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x185B9CD9995C8819985A5B1959 PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0x84D JUMP JUMPDEST PUSH2 0x1B4E PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x1BDA JUMP JUMPDEST PUSH2 0xDD4 PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x1B68 DUP3 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1BAD JUMPI PUSH2 0x17F8 DUP3 DUP3 PUSH2 0x1C47 JUMP JUMPDEST PUSH2 0xA6B PUSH2 0x1CBD JUMP JUMPDEST PUSH2 0x1BBD PUSH2 0x1CDC JUMP JUMPDEST PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x151A PUSH2 0x1BB5 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1C18 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x1C64 SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1C9F 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 0x1CA4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1CB4 DUP6 DUP4 DUP4 PUSH2 0x1CF6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1CE6 PUSH2 0x1B1D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1D0B JUMPI PUSH2 0x1D06 DUP3 PUSH2 0x1D55 JUMP JUMPDEST PUSH2 0x1D4E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1D22 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1D4B JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1D65 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1DBB JUMPI PUSH2 0x1DBB PUSH2 0x1F67 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD MSTORE PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP1 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 0xC0 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E15 JUMPI PUSH2 0x1E15 PUSH2 0x1DDC JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E44 JUMPI PUSH2 0x1E44 PUSH2 0x1DDC JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E66 JUMPI PUSH2 0x1E66 PUSH2 0x1DDC JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E87 PUSH2 0x1E82 DUP5 PUSH2 0x1E4C JUMP JUMPDEST PUSH2 0x1E1B JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x1E9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1EC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x1E74 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1EE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F08 DUP6 DUP3 DUP7 ADD PUSH2 0x1EB2 JUMP JUMPDEST SWAP6 PUSH1 0x20 SWAP5 SWAP1 SWAP5 ADD CALLDATALOAD SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1F32 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1F1A JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1F53 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1F17 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x1F9B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x100 DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1FC8 PUSH2 0x120 DUP6 ADD DUP4 PUSH2 0x1F3B JUMP JUMPDEST SWAP2 POP PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 DUP7 ADD MLOAD AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH2 0x1FEE PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1F7D JUMP JUMPDEST POP PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0xA0 DUP7 ADD MSTORE POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0x1F NOT DUP6 DUP5 SUB ADD PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x2029 DUP4 DUP3 PUSH2 0x1F3B JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 DUP6 ADD MLOAD PUSH2 0x203F DUP3 DUP7 ADD DUP3 PUSH1 0xFF AND SWAP1 MSTORE JUMP JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x205B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x154D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x208A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2095 DUP2 PUSH2 0x2062 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x20C1 DUP2 PUSH2 0x2062 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x20EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FD DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1E74 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x84D DUP3 DUP5 PUSH2 0x1F7D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x2140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x215D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D4E DUP2 PUSH2 0x2062 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x21A0 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x2184 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FD DUP6 DUP3 DUP7 ADD PUSH2 0x1EB2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP11 DUP4 MSTORE DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2203 DUP2 DUP5 ADD DUP12 PUSH2 0x1F3B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x40 DUP7 ADD MSTORE SWAP1 SWAP2 POP PUSH2 0x2223 PUSH1 0x60 DUP6 ADD DUP11 PUSH2 0x1F7D JUMP JUMPDEST DUP8 AND PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD DUP7 SWAP1 MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x2243 DUP2 DUP7 PUSH2 0x1F3B JUMP JUMPDEST SWAP2 POP POP PUSH1 0xFF DUP4 AND PUSH1 0xE0 DUP4 ADD MSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1D4E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1F3B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2282 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x2140 DUP2 PUSH2 0x2062 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x229F DUP2 PUSH2 0x2062 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x229F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x22DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP5 ADD SWAP1 PUSH1 0xC0 DUP3 DUP8 SUB SLT ISZERO PUSH2 0x22F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22FB PUSH2 0x1DF2 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2306 DUP2 PUSH2 0x2062 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP5 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2319 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD SWAP2 POP PUSH1 0x1F DUP3 ADD DUP8 SGT PUSH2 0x232C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x233A PUSH2 0x1E82 DUP3 PUSH2 0x1E4C JUMP JUMPDEST DUP2 DUP2 MSTORE DUP9 DUP7 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x234E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x235D DUP3 DUP8 DUP4 ADD DUP9 DUP8 ADD PUSH2 0x1F17 JUMP JUMPDEST DUP3 DUP7 ADD MSTORE POP PUSH1 0x40 DUP4 DUP2 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x2378 PUSH1 0x60 DUP5 ADD PUSH2 0x2294 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x2393 PUSH1 0xA0 DUP5 ADD PUSH2 0x22A4 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x23B6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x23D6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x17F8 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2405 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1686 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2411 JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x243E JUMPI PUSH2 0x243E PUSH2 0x1DDC JUMP JUMPDEST PUSH2 0x2452 DUP2 PUSH2 0x244C DUP5 SLOAD PUSH2 0x23A2 JUMP JUMPDEST DUP5 PUSH2 0x23DC JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2487 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x246F JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1686 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x24B6 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2497 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x24D4 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1CB4 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1F3B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2523 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x253C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2555 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1F17 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2571 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP3 PUSH2 0x22A4 JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA264697066735822122002 MOD 0xFB DUP13 ORIGIN 0xE5 0xB0 0xCA NOT SWAP6 0x5D 0xD0 0xCD SWAP7 0xC2 0xC0 MULMOD 0x2A CALLDATASIZE SIGNEXTEND PUSH21 0xE8402AC6B25E22E2D4295E64736F6C634300081600 CALLER ", + "object": "60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125cf6200010460003960008181611699015281816116c2015261180801526125cf6000f3fe6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed1565b6103f8565b60405161012e9190611f9e565b60405180910390f35b34801561014357600080fd5b50610170610152366004612048565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612048565b610853565b3480156101d457600080fd5b506101e86101e3366004612076565b610a1f565b60405190815260200161012e565b6102096102043660046120a2565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612048565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612106565b34801561027357600080fd5b50610209610282366004612114565b610a8c565b34801561029357600080fd5b506102a76102a236600461214a565b610d56565b60405161012e9190612167565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ab565b610dd6565b3480156102f557600080fd5b50610209610304366004612048565b61100f565b34801561031557600080fd5b50610329610324366004612048565b611282565b60405161012e9897969594939291906121e8565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225b565b3480156103c457600080fd5b506102096103d336600461226e565b6113ed565b3480156103e457600080fd5b506102096103f336600461214a565b611512565b610400611d7d565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b3565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612423565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e3565b60405180910390a36002805490600061069083612502565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a1565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f66565b600381111561078357610783611f66565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a1565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7d565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a1565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f66565b600381111561095457610954611f66565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a1565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257a83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f66565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b3565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190612529565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f66565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612423565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b3565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612106565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225b565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f66565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f66565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b3565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612106565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a1565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a1565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a1565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612542565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255e565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257a833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f1916820190925261179291810190612529565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257a83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612542565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612542565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255e565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612542565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d6457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dba57611dba611f66565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1457611e14611ddb565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4357611e43611ddb565b604052919050565b600067ffffffffffffffff821115611e6557611e65611ddb565b50601f01601f191660200190565b6000611e86611e8184611e4b565b611e1a565b9050828152838383011115611e9a57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec257600080fd5b611d4e83833560208501611e73565b60008060408385031215611ee457600080fd5b823567ffffffffffffffff811115611efb57600080fd5b611f0785828601611eb1565b95602094909401359450505050565b60005b83811015611f31578181015183820152602001611f19565b50506000910152565b60008151808452611f52816020860160208601611f16565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9a57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc7610120850183611f3a565b915060018060a01b0360408601511660608501526060850151611fed6080860182611f7c565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120288382611f3a565b92505060e085015161203e8286018260ff169052565b5090949350505050565b60006020828403121561205a57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208957600080fd5b823561209481612061565b946020939093013593505050565b600080604083850312156120b557600080fd5b82356120c081612061565b9150602083013567ffffffffffffffff8111156120dc57600080fd5b8301601f810185136120ed57600080fd5b6120fc85823560208401611e73565b9150509250929050565b6020810161084d8284611f7c565b6000806040838503121561212757600080fd5b82359150602083013560ff8116811461213f57600080fd5b809150509250929050565b60006020828403121561215c57600080fd5b8135611d4e81612061565b6020808252825182820181905260009190848201906040850190845b8181101561219f57835183529284019291840191600101612183565b50909695505050505050565b600080604083850312156121be57600080fd5b82359150602083013567ffffffffffffffff8111156121dc57600080fd5b6120fc85828601611eb1565b60006101008a83528060208401526122028184018b611f3a565b6001600160a01b038a81166040860152909150612222606085018a611f7c565b8716608084015260a0830186905282810360c08401526122428186611f3a565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3a565b6000806040838503121561228157600080fd5b82359150602083013561213f81612061565b805161229e81612061565b919050565b8051801515811461229e57600080fd5b600060208083850312156122c657600080fd5b825167ffffffffffffffff808211156122de57600080fd5b9084019060c082870312156122f257600080fd5b6122fa611df1565b825161230581612061565b8152828401518281111561231857600080fd5b83019150601f8201871361232b57600080fd5b8151612339611e8182611e4b565b818152888683860101111561234d57600080fd5b61235c82878301888701611f16565b82860152506040838101519082015261237760608401612293565b60608201526080830151608082015261239260a084016122a3565b60a08201529695505050505050565b600181811c908216806123b557607f821691505b6020821081036123d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124045750805b601f850160051c820191505b8181101561168657828155600101612410565b815167ffffffffffffffff81111561243d5761243d611ddb565b6124518161244b84546123a1565b846123db565b602080601f831160018114612486576000841561246e5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b557888601518255948401946001909101908401612496565b50858210156124d35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3a565b60006001820161252257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253b57600080fd5b5051919050565b60008251612554818460208701611f16565b9190910192915050565b60006020828403121561257057600080fd5b611d4e826122a356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d3b080e19c883e02f2c45a696f8fc9ffe9b7d894958f1142da9c3a68737d889a64736f6c63430008160033", + "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x25CF PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x1699 ADD MSTORE DUP2 DUP2 PUSH2 0x16C2 ADD MSTORE PUSH2 0x1808 ADD MSTORE PUSH2 0x25CF PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x639241AB GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x8D977672 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8D977672 EQ PUSH2 0x309 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x33D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x37A JUMPI DUP1 PUSH4 0xDA35A26F EQ PUSH2 0x3B8 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x639241AB EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x74AAA760 EQ PUSH2 0x2C9 JUMPI DUP1 PUSH4 0x7EEC20A8 EQ PUSH2 0x2E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2A2B3A9D GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x2A2B3A9D EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1F6 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x20B JUMPI DUP1 PUSH4 0x5C622A0E EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0x6298EEE0 EQ PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4FE2B34 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x7B31818 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0xD1CFCAE EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x1D65E77E EQ PUSH2 0x1A8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x121 PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x1ED1 JUMP JUMPDEST PUSH2 0x3F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x1F9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x170 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x170 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x853 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0x1E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2076 JUMP JUMPDEST PUSH2 0xA1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0xA50 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0xA6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25A PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2106 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x2114 JUMP JUMPDEST PUSH2 0xA8C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x214A JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2167 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0xDC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x21AB JUMP JUMPDEST PUSH2 0xDD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x304 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x100F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x329 PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x21E8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x170 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x386 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x225B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x226E JUMP JUMPDEST PUSH2 0x13ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x214A JUMP JUMPDEST PUSH2 0x1512 JUMP JUMPDEST PUSH2 0x400 PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x44A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x472 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x52B JUMPI CALLVALUE DUP2 PUSH1 0x40 ADD MLOAD EQ PUSH2 0x526 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x496E76616C6964207072696365 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x58A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F204554482073686F756C642062652073656E7420666F7220455243323020 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x7061796D656E7473 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E DUP2 PUSH1 0x60 ADD MLOAD CALLER ADDRESS DUP5 PUSH1 0x40 ADD MLOAD PUSH2 0x1550 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP2 SSTORE PUSH1 0x1 DUP2 ADD PUSH2 0x5C0 DUP7 DUP3 PUSH2 0x2423 JUMP JUMPDEST POP PUSH1 0x2 DUP2 DUP2 ADD DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND DUP2 OR DUP4 SSTORE PUSH1 0x4 DUP6 ADD DUP9 SWAP1 SSTORE DUP6 MLOAD PUSH1 0x3 DUP7 ADD DUP1 SLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP5 SLOAD DUP6 SLOAD DUP1 DUP5 ADD DUP8 SSTORE SWAP6 DUP5 MSTORE SWAP3 KECCAK256 SWAP1 SWAP4 ADD SSTORE DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL DUP4 MUL OR SWAP1 SSTORE POP DUP2 MLOAD PUSH1 0x2 SLOAD PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP3 CALLER SWAP3 PUSH32 0x5C005BBBB9DA508C37935B1A9F270836E0BE1FD11D4D47119F925A3FF33820E9 SWAP3 PUSH2 0x678 SWAP3 DUP12 SWAP1 PUSH2 0x24E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x2 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x690 DUP4 PUSH2 0x2502 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x6BC SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6E8 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x735 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x70A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x735 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x718 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x772 JUMPI PUSH2 0x772 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x783 JUMPI PUSH2 0x783 PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x7B7 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E3 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x830 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x805 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x830 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x813 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x85B PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x88D SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8B9 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x906 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8DB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x906 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8E9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x943 JUMPI PUSH2 0x943 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x954 JUMPI PUSH2 0x954 PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x988 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x9B4 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA01 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9D6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA01 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9E4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xA3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0xA58 PUSH2 0x168E JUMP JUMPDEST PUSH2 0xA61 DUP3 PUSH2 0x1733 JUMP JUMPDEST PUSH2 0xA6B DUP3 DUP3 PUSH2 0x173B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA79 PUSH2 0x17FD JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xAF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB26 JUMPI PUSH2 0xB26 PUSH2 0x1F66 JUMP JUMPDEST EQ PUSH2 0xB6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x15185CDAC81A5CC81B9BDD0818DBDB5C1B195D1959 PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xBC0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B20676F7420726174696E6720616C7265616479000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x64 DUP4 PUSH1 0xFF AND GT ISZERO PUSH2 0xC14 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP6 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC9A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 MLOAD PUSH1 0x40 MLOAD PUSH4 0x70370A81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP9 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP3 SWAP4 POP AND SWAP1 PUSH4 0x70370A81 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCF2 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 0xD16 SWAP2 SWAP1 PUSH2 0x2529 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xFF DUP6 AND DUP2 MSTORE DUP6 SWAP1 PUSH32 0xF9189BFC5977D44B1A00920E53A6A0E00229F6C53E76B73FC7E0581AE99ABDC SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xDB6 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xDA2 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCA PUSH2 0x1846 JUMP JUMPDEST PUSH2 0xDD4 PUSH1 0x0 PUSH2 0x18A1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x139BDD08185D5D1A1BDC9A5E9959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE53 JUMPI PUSH2 0xE53 PUSH2 0x1F66 JUMP JUMPDEST EQ PUSH2 0xE96 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x496E76616C6964207461736B20737461747573 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA1 SHL OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD PUSH2 0xEB9 DUP4 DUP3 PUSH2 0x2423 JUMP JUMPDEST POP PUSH1 0x3 SLOAD PUSH1 0x4 DUP3 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF07 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF2F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF66 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0xF61 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0xF89 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xF89 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0xFC9 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP4 PUSH32 0x7E6FFC29FE63759579D96A0457A8F2E08339ACA345BD469F59DC2E61F82A5AEB DUP5 PUSH1 0x40 MLOAD PUSH2 0x1001 SWAP2 SWAP1 PUSH2 0x225B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x107A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A9 PUSH2 0x1F66 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x10D7 JUMPI POP PUSH1 0x3 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10D4 JUMPI PUSH2 0x10D4 PUSH2 0x1F66 JUMP JUMPDEST EQ ISZERO JUMPDEST PUSH2 0x1123 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B2063616E6E6F742062652063616E63656C6564000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x3 PUSH1 0xA0 SHL PUSH1 0xFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1187 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x11AF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x11E6 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x11E1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0x1209 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1209 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0x1249 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x40 MLOAD DUP5 SWAP1 PUSH32 0x1AA8A90C7D7A86BAC690072D3F3D726BB8EBBE1989E158530440963F04C11EB2 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x12A4 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x12D0 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x12F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1300 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD DUP1 SLOAD SWAP6 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND SWAP8 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 SWAP7 DIV PUSH1 0xFF AND SWAP7 POP SWAP1 SWAP4 AND SWAP4 SWAP2 SWAP3 SWAP2 PUSH2 0x1361 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138D SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13DA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13AF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13DA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13BD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x6 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 POP POP PUSH1 0xFF AND DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F7 PUSH2 0x1B1D JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x141F JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x143C JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x144A JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1468 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1492 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x149B CALLER PUSH2 0x1B46 JUMP JUMPDEST PUSH2 0x14A3 PUSH2 0x1B57 JUMP JUMPDEST PUSH1 0x2 DUP8 SWAP1 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE DUP4 ISZERO PUSH2 0x1509 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x151A PUSH2 0x1846 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1544 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x18A1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH2 0x15B4 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x15F1 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 0x15F6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1620 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1620 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1620 SWAP2 SWAP1 PUSH2 0x255E JUMP JUMPDEST PUSH2 0x1686 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A7472616E7366657246726F6D3A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x185B9CD9995C919C9BDB4819985A5B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x1715 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1709 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x154D PUSH2 0x1846 JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1795 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1792 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2529 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x17BD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x17EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x17F8 DUP4 DUP4 PUSH2 0x1B5F JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0x1878 PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP4 SWAP1 PUSH1 0x40 MLOAD PUSH2 0x193C SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1979 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 0x197E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665724554483A PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x8115512081D1C985B9CD9995C8819985A5B1959 PUSH1 0x62 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP8 AND SWAP2 PUSH2 0x1A48 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1A85 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 0x1A8A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1AB4 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1AB4 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1AB4 SWAP2 SWAP1 PUSH2 0x255E JUMP JUMPDEST PUSH2 0x1B16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665723A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x185B9CD9995C8819985A5B1959 PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0x84D JUMP JUMPDEST PUSH2 0x1B4E PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x1BDA JUMP JUMPDEST PUSH2 0xDD4 PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x1B68 DUP3 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1BAD JUMPI PUSH2 0x17F8 DUP3 DUP3 PUSH2 0x1C47 JUMP JUMPDEST PUSH2 0xA6B PUSH2 0x1CBD JUMP JUMPDEST PUSH2 0x1BBD PUSH2 0x1CDC JUMP JUMPDEST PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x151A PUSH2 0x1BB5 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1C18 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x1C64 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1C9F 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 0x1CA4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1CB4 DUP6 DUP4 DUP4 PUSH2 0x1CF6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1CE6 PUSH2 0x1B1D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1D0B JUMPI PUSH2 0x1D06 DUP3 PUSH2 0x1D55 JUMP JUMPDEST PUSH2 0x1D4E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1D22 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1D4B JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1D64 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1DBA JUMPI PUSH2 0x1DBA PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD MSTORE PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP1 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 0xC0 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E14 JUMPI PUSH2 0x1E14 PUSH2 0x1DDB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E43 JUMPI PUSH2 0x1E43 PUSH2 0x1DDB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E65 JUMPI PUSH2 0x1E65 PUSH2 0x1DDB JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E86 PUSH2 0x1E81 DUP5 PUSH2 0x1E4B JUMP JUMPDEST PUSH2 0x1E1A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x1E9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1EC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x1E73 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1EE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F07 DUP6 DUP3 DUP7 ADD PUSH2 0x1EB1 JUMP JUMPDEST SWAP6 PUSH1 0x20 SWAP5 SWAP1 SWAP5 ADD CALLDATALOAD SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1F31 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1F19 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1F52 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1F16 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x1F9A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x100 DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1FC7 PUSH2 0x120 DUP6 ADD DUP4 PUSH2 0x1F3A JUMP JUMPDEST SWAP2 POP PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 DUP7 ADD MLOAD AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH2 0x1FED PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1F7C JUMP JUMPDEST POP PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0xA0 DUP7 ADD MSTORE POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0x1F NOT DUP6 DUP5 SUB ADD PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x2028 DUP4 DUP3 PUSH2 0x1F3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 DUP6 ADD MLOAD PUSH2 0x203E DUP3 DUP7 ADD DUP3 PUSH1 0xFF AND SWAP1 MSTORE JUMP JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x205A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x154D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2089 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2094 DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x20C0 DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x20ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FC DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1E73 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x84D DUP3 DUP5 PUSH2 0x1F7C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2127 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x213F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x215C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D4E DUP2 PUSH2 0x2061 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x219F JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x2183 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FC DUP6 DUP3 DUP7 ADD PUSH2 0x1EB1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP11 DUP4 MSTORE DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2202 DUP2 DUP5 ADD DUP12 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x40 DUP7 ADD MSTORE SWAP1 SWAP2 POP PUSH2 0x2222 PUSH1 0x60 DUP6 ADD DUP11 PUSH2 0x1F7C JUMP JUMPDEST DUP8 AND PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD DUP7 SWAP1 MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x2242 DUP2 DUP7 PUSH2 0x1F3A JUMP JUMPDEST SWAP2 POP POP PUSH1 0xFF DUP4 AND PUSH1 0xE0 DUP4 ADD MSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1D4E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x213F DUP2 PUSH2 0x2061 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x229E DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x229E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x22DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP5 ADD SWAP1 PUSH1 0xC0 DUP3 DUP8 SUB SLT ISZERO PUSH2 0x22F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22FA PUSH2 0x1DF1 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2305 DUP2 PUSH2 0x2061 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP5 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2318 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD SWAP2 POP PUSH1 0x1F DUP3 ADD DUP8 SGT PUSH2 0x232B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2339 PUSH2 0x1E81 DUP3 PUSH2 0x1E4B JUMP JUMPDEST DUP2 DUP2 MSTORE DUP9 DUP7 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x234D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x235C DUP3 DUP8 DUP4 ADD DUP9 DUP8 ADD PUSH2 0x1F16 JUMP JUMPDEST DUP3 DUP7 ADD MSTORE POP PUSH1 0x40 DUP4 DUP2 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x2377 PUSH1 0x60 DUP5 ADD PUSH2 0x2293 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x2392 PUSH1 0xA0 DUP5 ADD PUSH2 0x22A3 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x23B5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x23D5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x17F8 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2404 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1686 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2410 JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x243D JUMPI PUSH2 0x243D PUSH2 0x1DDB JUMP JUMPDEST PUSH2 0x2451 DUP2 PUSH2 0x244B DUP5 SLOAD PUSH2 0x23A1 JUMP JUMPDEST DUP5 PUSH2 0x23DB JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2486 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x246E JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1686 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x24B5 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2496 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x24D3 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1CB4 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2522 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x253B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2554 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1F16 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2570 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP3 PUSH2 0x22A3 JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220D3 0xB0 DUP1 0xE1 SWAP13 DUP9 RETURNDATACOPY MUL CALLCODE 0xC4 GAS PUSH10 0x6F8FC9FFE9B7D894958F GT TIMESTAMP 0xDA SWAP13 GASPRICE PUSH9 0x737D889A64736F6C63 NUMBER STOP ADDMOD AND STOP CALLER ", "sourceMap": "632:6620:13:-:0;;;1171:4:2;1128:48;;1419:53:13;;;;;;;;;-1:-1:-1;1443:22:13;:20;:22::i;:::-;632:6620;;7709:422:1;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:1;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:1;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:1;-1:-1:-1;;;;;8033:33:1;;;;;8085:29;;158:50:17;;;8085:29:1;;146:2:17;131:18;8085:29:1;;;;;;;7979:146;7758:373;7709:422::o;14:200:17:-;632:6620:13;;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { @@ -80038,49 +80018,49 @@ "returnSlots": 1 }, "abi_decode_address_fromMemory": { - "entryPoint": 8852, + "entryPoint": 8851, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_available_length_string": { - "entryPoint": 7796, + "entryPoint": 7795, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_bool_fromMemory": { - "entryPoint": 8868, + "entryPoint": 8867, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_string": { - "entryPoint": 7858, + "entryPoint": 7857, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_address": { - "entryPoint": 8523, + "entryPoint": 8522, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_addresst_bytes_memory_ptr": { - "entryPoint": 8355, + "entryPoint": 8354, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_addresst_uint256": { - "entryPoint": 8311, + "entryPoint": 8310, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_bool_fromMemory": { - "entryPoint": 9567, + "entryPoint": 9566, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -80092,43 +80072,43 @@ "returnSlots": 1 }, "abi_decode_tuple_t_string_memory_ptrt_uint256": { - "entryPoint": 7890, + "entryPoint": 7889, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_struct$_ServiceProposal_$3273_memory_ptr_fromMemory": { - "entryPoint": 8884, + "entryPoint": 8883, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_uint256": { - "entryPoint": 8265, + "entryPoint": 8264, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_uint256_fromMemory": { - "entryPoint": 9514, + "entryPoint": 9513, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_uint256t_contract$_AgentsRegistryUpgradeable_$2363": { - "entryPoint": 8815, + "entryPoint": 8814, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_uint256t_string_memory_ptr": { - "entryPoint": 8620, + "entryPoint": 8619, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_uint256t_uint8": { - "entryPoint": 8469, + "entryPoint": 8468, "id": null, "parameterSlots": 2, "returnSlots": 2 @@ -80140,19 +80120,19 @@ "returnSlots": 0 }, "abi_encode_enum_TaskStatus": { - "entryPoint": 8061, + "entryPoint": 8060, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_string": { - "entryPoint": 7995, + "entryPoint": 7994, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 9539, + "entryPoint": 9538, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -80182,7 +80162,7 @@ "returnSlots": 1 }, "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { - "entryPoint": 8552, + "entryPoint": 8551, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -80200,7 +80180,7 @@ "returnSlots": 1 }, "abi_encode_tuple_t_enum$_TaskStatus_$2599__to_t_uint8__fromStack_reversed": { - "entryPoint": 8455, + "entryPoint": 8454, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -80212,7 +80192,7 @@ "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 8796, + "entryPoint": 8795, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -80296,7 +80276,7 @@ "returnSlots": 1 }, "abi_encode_tuple_t_struct$_TaskData_$2617_memory_ptr__to_t_struct$_TaskData_$2617_memory_ptr__fromStack_reversed": { - "entryPoint": 8095, + "entryPoint": 8094, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -80308,13 +80288,13 @@ "returnSlots": 1 }, "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_address_t_enum$_TaskStatus_$2599_t_address_t_uint256_t_string_memory_ptr_t_uint8__to_t_uint256_t_string_memory_ptr_t_address_t_uint8_t_address_t_uint256_t_string_memory_ptr_t_uint8__fromStack_reversed": { - "entryPoint": 8681, + "entryPoint": 8680, "id": null, "parameterSlots": 9, "returnSlots": 1 }, "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 9444, + "entryPoint": 9443, "id": null, "parameterSlots": 4, "returnSlots": 1 @@ -80332,19 +80312,19 @@ "returnSlots": 0 }, "allocate_memory": { - "entryPoint": 7707, + "entryPoint": 7706, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "allocate_memory_2890": { - "entryPoint": 7666, + "entryPoint": 7665, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "array_allocation_size_string": { - "entryPoint": 7756, + "entryPoint": 7755, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -80356,25 +80336,25 @@ "returnSlots": 1 }, "clean_up_bytearray_end_slots_string_storage": { - "entryPoint": 9180, + "entryPoint": 9179, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 9252, + "entryPoint": 9251, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "copy_memory_to_memory_with_cleanup": { - "entryPoint": 7959, + "entryPoint": 7958, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "extract_byte_array_length": { - "entryPoint": 9122, + "entryPoint": 9121, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -80386,25 +80366,25 @@ "returnSlots": 1 }, "increment_t_uint256": { - "entryPoint": 9475, + "entryPoint": 9474, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "panic_error_0x21": { - "entryPoint": 8039, + "entryPoint": 8038, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x41": { - "entryPoint": 7644, + "entryPoint": 7643, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "validator_revert_address": { - "entryPoint": 8290, + "entryPoint": 8289, "id": null, "parameterSlots": 1, "returnSlots": 0 @@ -97994,9 +97974,9 @@ ] }, "linkReferences": {}, - "object": "6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed2565b6103f8565b60405161012e9190611f9f565b60405180910390f35b34801561014357600080fd5b50610170610152366004612049565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612049565b610853565b3480156101d457600080fd5b506101e86101e3366004612077565b610a1f565b60405190815260200161012e565b6102096102043660046120a3565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612049565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612107565b34801561027357600080fd5b50610209610282366004612115565b610a8c565b34801561029357600080fd5b506102a76102a236600461214b565b610d56565b60405161012e9190612168565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ac565b610dd6565b3480156102f557600080fd5b50610209610304366004612049565b61100f565b34801561031557600080fd5b50610329610324366004612049565b611282565b60405161012e9897969594939291906121e9565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225c565b3480156103c457600080fd5b506102096103d336600461226f565b6113ed565b3480156103e457600080fd5b506102096103f336600461214b565b611512565b610400611d7e565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b4565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612424565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e4565b60405180910390a36002805490600061069083612503565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a2565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f67565b600381111561078357610783611f67565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a2565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7e565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a2565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f67565b600381111561095457610954611f67565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a2565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257b83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f67565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b4565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d16919061252a565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f67565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612424565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b4565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612107565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225c565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f67565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f67565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b4565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612107565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a2565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a2565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a2565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612543565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255f565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257b833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f191682019092526117929181019061252a565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257b83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612543565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612543565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255f565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612543565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d655780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dbb57611dbb611f67565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1557611e15611ddc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4457611e44611ddc565b604052919050565b600067ffffffffffffffff821115611e6657611e66611ddc565b50601f01601f191660200190565b6000611e87611e8284611e4c565b611e1b565b9050828152838383011115611e9b57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec357600080fd5b611d4e83833560208501611e74565b60008060408385031215611ee557600080fd5b823567ffffffffffffffff811115611efc57600080fd5b611f0885828601611eb2565b95602094909401359450505050565b60005b83811015611f32578181015183820152602001611f1a565b50506000910152565b60008151808452611f53816020860160208601611f17565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9b57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc8610120850183611f3b565b915060018060a01b0360408601511660608501526060850151611fee6080860182611f7d565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120298382611f3b565b92505060e085015161203f8286018260ff169052565b5090949350505050565b60006020828403121561205b57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208a57600080fd5b823561209581612062565b946020939093013593505050565b600080604083850312156120b657600080fd5b82356120c181612062565b9150602083013567ffffffffffffffff8111156120dd57600080fd5b8301601f810185136120ee57600080fd5b6120fd85823560208401611e74565b9150509250929050565b6020810161084d8284611f7d565b6000806040838503121561212857600080fd5b82359150602083013560ff8116811461214057600080fd5b809150509250929050565b60006020828403121561215d57600080fd5b8135611d4e81612062565b6020808252825182820181905260009190848201906040850190845b818110156121a057835183529284019291840191600101612184565b50909695505050505050565b600080604083850312156121bf57600080fd5b82359150602083013567ffffffffffffffff8111156121dd57600080fd5b6120fd85828601611eb2565b60006101008a83528060208401526122038184018b611f3b565b6001600160a01b038a81166040860152909150612223606085018a611f7d565b8716608084015260a0830186905282810360c08401526122438186611f3b565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3b565b6000806040838503121561228257600080fd5b82359150602083013561214081612062565b805161229f81612062565b919050565b8051801515811461229f57600080fd5b600060208083850312156122c757600080fd5b825167ffffffffffffffff808211156122df57600080fd5b9084019060c082870312156122f357600080fd5b6122fb611df2565b825161230681612062565b8152828401518281111561231957600080fd5b83019150601f8201871361232c57600080fd5b815161233a611e8282611e4c565b818152888683860101111561234e57600080fd5b61235d82878301888701611f17565b82860152506040838101519082015261237860608401612294565b60608201526080830151608082015261239360a084016122a4565b60a08201529695505050505050565b600181811c908216806123b657607f821691505b6020821081036123d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124055750805b601f850160051c820191505b8181101561168657828155600101612411565b815167ffffffffffffffff81111561243e5761243e611ddc565b6124528161244c84546123a2565b846123dc565b602080601f831160018114612487576000841561246f5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b657888601518255948401946001909101908401612497565b50858210156124d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3b565b60006001820161252357634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253c57600080fd5b5051919050565b60008251612555818460208701611f17565b9190910192915050565b60006020828403121561257157600080fd5b611d4e826122a456fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212200206fb8c32e5b0ca19955dd0cd96c2c0092a360b74e8402ac6b25e22e2d4295e64736f6c63430008160033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x639241AB GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x8D977672 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8D977672 EQ PUSH2 0x309 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x33D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x37A JUMPI DUP1 PUSH4 0xDA35A26F EQ PUSH2 0x3B8 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x639241AB EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x74AAA760 EQ PUSH2 0x2C9 JUMPI DUP1 PUSH4 0x7EEC20A8 EQ PUSH2 0x2E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2A2B3A9D GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x2A2B3A9D EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1F6 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x20B JUMPI DUP1 PUSH4 0x5C622A0E EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0x6298EEE0 EQ PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4FE2B34 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x7B31818 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0xD1CFCAE EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x1D65E77E EQ PUSH2 0x1A8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x121 PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x1ED2 JUMP JUMPDEST PUSH2 0x3F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x1F9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x170 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x170 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x853 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0x1E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2077 JUMP JUMPDEST PUSH2 0xA1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A3 JUMP JUMPDEST PUSH2 0xA50 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0xA6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25A PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2107 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x2115 JUMP JUMPDEST PUSH2 0xA8C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x214B JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2168 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0xDC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x21AC JUMP JUMPDEST PUSH2 0xDD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x304 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x100F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x329 PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x21E9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x170 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x386 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x225C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x226F JUMP JUMPDEST PUSH2 0x13ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x214B JUMP JUMPDEST PUSH2 0x1512 JUMP JUMPDEST PUSH2 0x400 PUSH2 0x1D7E JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x44A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x472 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x52B JUMPI CALLVALUE DUP2 PUSH1 0x40 ADD MLOAD EQ PUSH2 0x526 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x496E76616C6964207072696365 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x58A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F204554482073686F756C642062652073656E7420666F7220455243323020 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x7061796D656E7473 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E DUP2 PUSH1 0x60 ADD MLOAD CALLER ADDRESS DUP5 PUSH1 0x40 ADD MLOAD PUSH2 0x1550 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP2 SSTORE PUSH1 0x1 DUP2 ADD PUSH2 0x5C0 DUP7 DUP3 PUSH2 0x2424 JUMP JUMPDEST POP PUSH1 0x2 DUP2 DUP2 ADD DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND DUP2 OR DUP4 SSTORE PUSH1 0x4 DUP6 ADD DUP9 SWAP1 SSTORE DUP6 MLOAD PUSH1 0x3 DUP7 ADD DUP1 SLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP5 SLOAD DUP6 SLOAD DUP1 DUP5 ADD DUP8 SSTORE SWAP6 DUP5 MSTORE SWAP3 KECCAK256 SWAP1 SWAP4 ADD SSTORE DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL DUP4 MUL OR SWAP1 SSTORE POP DUP2 MLOAD PUSH1 0x2 SLOAD PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP3 CALLER SWAP3 PUSH32 0x5C005BBBB9DA508C37935B1A9F270836E0BE1FD11D4D47119F925A3FF33820E9 SWAP3 PUSH2 0x678 SWAP3 DUP12 SWAP1 PUSH2 0x24E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x2 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x690 DUP4 PUSH2 0x2503 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x6BC SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6E8 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x735 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x70A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x735 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x718 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x772 JUMPI PUSH2 0x772 PUSH2 0x1F67 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x783 JUMPI PUSH2 0x783 PUSH2 0x1F67 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x7B7 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E3 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x830 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x805 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x830 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x813 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x85B PUSH2 0x1D7E JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x88D SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8B9 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x906 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8DB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x906 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8E9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x943 JUMPI PUSH2 0x943 PUSH2 0x1F67 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x954 JUMPI PUSH2 0x954 PUSH2 0x1F67 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x988 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x9B4 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA01 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9D6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA01 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9E4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xA3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0xA58 PUSH2 0x168E JUMP JUMPDEST PUSH2 0xA61 DUP3 PUSH2 0x1733 JUMP JUMPDEST PUSH2 0xA6B DUP3 DUP3 PUSH2 0x173B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA79 PUSH2 0x17FD JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xAF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB26 JUMPI PUSH2 0xB26 PUSH2 0x1F67 JUMP JUMPDEST EQ PUSH2 0xB6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x15185CDAC81A5CC81B9BDD0818DBDB5C1B195D1959 PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xBC0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B20676F7420726174696E6720616C7265616479000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x64 DUP4 PUSH1 0xFF AND GT ISZERO PUSH2 0xC14 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP6 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC9A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 MLOAD PUSH1 0x40 MLOAD PUSH4 0x70370A81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP9 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP3 SWAP4 POP AND SWAP1 PUSH4 0x70370A81 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCF2 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 0xD16 SWAP2 SWAP1 PUSH2 0x252A JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xFF DUP6 AND DUP2 MSTORE DUP6 SWAP1 PUSH32 0xF9189BFC5977D44B1A00920E53A6A0E00229F6C53E76B73FC7E0581AE99ABDC SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xDB6 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xDA2 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCA PUSH2 0x1846 JUMP JUMPDEST PUSH2 0xDD4 PUSH1 0x0 PUSH2 0x18A1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x139BDD08185D5D1A1BDC9A5E9959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE53 JUMPI PUSH2 0xE53 PUSH2 0x1F67 JUMP JUMPDEST EQ PUSH2 0xE96 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x496E76616C6964207461736B20737461747573 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA1 SHL OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD PUSH2 0xEB9 DUP4 DUP3 PUSH2 0x2424 JUMP JUMPDEST POP PUSH1 0x3 SLOAD PUSH1 0x4 DUP3 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF07 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF2F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF66 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0xF61 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0xF89 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xF89 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0xFC9 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2107 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP4 PUSH32 0x7E6FFC29FE63759579D96A0457A8F2E08339ACA345BD469F59DC2E61F82A5AEB DUP5 PUSH1 0x40 MLOAD PUSH2 0x1001 SWAP2 SWAP1 PUSH2 0x225C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x107A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A9 PUSH2 0x1F67 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x10D7 JUMPI POP PUSH1 0x3 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10D4 JUMPI PUSH2 0x10D4 PUSH2 0x1F67 JUMP JUMPDEST EQ ISZERO JUMPDEST PUSH2 0x1123 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B2063616E6E6F742062652063616E63656C6564000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x3 PUSH1 0xA0 SHL PUSH1 0xFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1187 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x11AF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x11E6 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x11E1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0x1209 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1209 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0x1249 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2107 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x40 MLOAD DUP5 SWAP1 PUSH32 0x1AA8A90C7D7A86BAC690072D3F3D726BB8EBBE1989E158530440963F04C11EB2 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x12A4 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x12D0 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x12F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1300 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD DUP1 SLOAD SWAP6 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND SWAP8 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 SWAP7 DIV PUSH1 0xFF AND SWAP7 POP SWAP1 SWAP4 AND SWAP4 SWAP2 SWAP3 SWAP2 PUSH2 0x1361 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138D SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13DA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13AF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13DA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13BD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x6 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 POP POP PUSH1 0xFF AND DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F7 PUSH2 0x1B1D JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x141F JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x143C JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x144A JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1468 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1492 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x149B CALLER PUSH2 0x1B46 JUMP JUMPDEST PUSH2 0x14A3 PUSH2 0x1B57 JUMP JUMPDEST PUSH1 0x2 DUP8 SWAP1 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE DUP4 ISZERO PUSH2 0x1509 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x151A PUSH2 0x1846 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1544 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x18A1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH2 0x15B4 SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x15F1 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 0x15F6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1620 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1620 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1620 SWAP2 SWAP1 PUSH2 0x255F JUMP JUMPDEST PUSH2 0x1686 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A7472616E7366657246726F6D3A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x185B9CD9995C919C9BDB4819985A5B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x1715 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1709 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x154D PUSH2 0x1846 JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1795 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1792 SWAP2 DUP2 ADD SWAP1 PUSH2 0x252A JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x17BD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x17EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x17F8 DUP4 DUP4 PUSH2 0x1B5F JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0x1878 PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP4 SWAP1 PUSH1 0x40 MLOAD PUSH2 0x193C SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1979 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 0x197E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665724554483A PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x8115512081D1C985B9CD9995C8819985A5B1959 PUSH1 0x62 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP8 AND SWAP2 PUSH2 0x1A48 SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1A85 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 0x1A8A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1AB4 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1AB4 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1AB4 SWAP2 SWAP1 PUSH2 0x255F JUMP JUMPDEST PUSH2 0x1B16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665723A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x185B9CD9995C8819985A5B1959 PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0x84D JUMP JUMPDEST PUSH2 0x1B4E PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x1BDA JUMP JUMPDEST PUSH2 0xDD4 PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x1B68 DUP3 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1BAD JUMPI PUSH2 0x17F8 DUP3 DUP3 PUSH2 0x1C47 JUMP JUMPDEST PUSH2 0xA6B PUSH2 0x1CBD JUMP JUMPDEST PUSH2 0x1BBD PUSH2 0x1CDC JUMP JUMPDEST PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x151A PUSH2 0x1BB5 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1C18 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x1C64 SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1C9F 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 0x1CA4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1CB4 DUP6 DUP4 DUP4 PUSH2 0x1CF6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1CE6 PUSH2 0x1B1D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1D0B JUMPI PUSH2 0x1D06 DUP3 PUSH2 0x1D55 JUMP JUMPDEST PUSH2 0x1D4E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1D22 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1D4B JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1D65 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1DBB JUMPI PUSH2 0x1DBB PUSH2 0x1F67 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD MSTORE PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP1 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 0xC0 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E15 JUMPI PUSH2 0x1E15 PUSH2 0x1DDC JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E44 JUMPI PUSH2 0x1E44 PUSH2 0x1DDC JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E66 JUMPI PUSH2 0x1E66 PUSH2 0x1DDC JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E87 PUSH2 0x1E82 DUP5 PUSH2 0x1E4C JUMP JUMPDEST PUSH2 0x1E1B JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x1E9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1EC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x1E74 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1EE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F08 DUP6 DUP3 DUP7 ADD PUSH2 0x1EB2 JUMP JUMPDEST SWAP6 PUSH1 0x20 SWAP5 SWAP1 SWAP5 ADD CALLDATALOAD SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1F32 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1F1A JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1F53 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1F17 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x1F9B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x100 DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1FC8 PUSH2 0x120 DUP6 ADD DUP4 PUSH2 0x1F3B JUMP JUMPDEST SWAP2 POP PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 DUP7 ADD MLOAD AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH2 0x1FEE PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1F7D JUMP JUMPDEST POP PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0xA0 DUP7 ADD MSTORE POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0x1F NOT DUP6 DUP5 SUB ADD PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x2029 DUP4 DUP3 PUSH2 0x1F3B JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 DUP6 ADD MLOAD PUSH2 0x203F DUP3 DUP7 ADD DUP3 PUSH1 0xFF AND SWAP1 MSTORE JUMP JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x205B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x154D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x208A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2095 DUP2 PUSH2 0x2062 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x20C1 DUP2 PUSH2 0x2062 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x20EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FD DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1E74 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x84D DUP3 DUP5 PUSH2 0x1F7D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x2140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x215D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D4E DUP2 PUSH2 0x2062 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x21A0 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x2184 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FD DUP6 DUP3 DUP7 ADD PUSH2 0x1EB2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP11 DUP4 MSTORE DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2203 DUP2 DUP5 ADD DUP12 PUSH2 0x1F3B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x40 DUP7 ADD MSTORE SWAP1 SWAP2 POP PUSH2 0x2223 PUSH1 0x60 DUP6 ADD DUP11 PUSH2 0x1F7D JUMP JUMPDEST DUP8 AND PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD DUP7 SWAP1 MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x2243 DUP2 DUP7 PUSH2 0x1F3B JUMP JUMPDEST SWAP2 POP POP PUSH1 0xFF DUP4 AND PUSH1 0xE0 DUP4 ADD MSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1D4E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1F3B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2282 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x2140 DUP2 PUSH2 0x2062 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x229F DUP2 PUSH2 0x2062 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x229F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x22DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP5 ADD SWAP1 PUSH1 0xC0 DUP3 DUP8 SUB SLT ISZERO PUSH2 0x22F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22FB PUSH2 0x1DF2 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2306 DUP2 PUSH2 0x2062 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP5 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2319 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD SWAP2 POP PUSH1 0x1F DUP3 ADD DUP8 SGT PUSH2 0x232C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x233A PUSH2 0x1E82 DUP3 PUSH2 0x1E4C JUMP JUMPDEST DUP2 DUP2 MSTORE DUP9 DUP7 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x234E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x235D DUP3 DUP8 DUP4 ADD DUP9 DUP8 ADD PUSH2 0x1F17 JUMP JUMPDEST DUP3 DUP7 ADD MSTORE POP PUSH1 0x40 DUP4 DUP2 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x2378 PUSH1 0x60 DUP5 ADD PUSH2 0x2294 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x2393 PUSH1 0xA0 DUP5 ADD PUSH2 0x22A4 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x23B6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x23D6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x17F8 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2405 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1686 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2411 JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x243E JUMPI PUSH2 0x243E PUSH2 0x1DDC JUMP JUMPDEST PUSH2 0x2452 DUP2 PUSH2 0x244C DUP5 SLOAD PUSH2 0x23A2 JUMP JUMPDEST DUP5 PUSH2 0x23DC JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2487 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x246F JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1686 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x24B6 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2497 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x24D4 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1CB4 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1F3B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2523 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x253C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2555 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1F17 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2571 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP3 PUSH2 0x22A4 JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA264697066735822122002 MOD 0xFB DUP13 ORIGIN 0xE5 0xB0 0xCA NOT SWAP6 0x5D 0xD0 0xCD SWAP7 0xC2 0xC0 MULMOD 0x2A CALLDATASIZE SIGNEXTEND PUSH21 0xE8402AC6B25E22E2D4295E64736F6C634300081600 CALLER ", - "sourceMap": "632:6620:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2658:1096;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6770:115;;;;;;;;;;-1:-1:-1;6770:115:13;;;;;:::i;:::-;6830:7;6856:13;;;;;;;;;;:22;;;-1:-1:-1;;;;;6856:22:13;;6770:115;;;;-1:-1:-1;;;;;4439:32:17;;;4421:51;;4409:2;4394:18;6770:115:13;4275:203:17;1166:46:13;;;;;;;;;;-1:-1:-1;1166:46:13;;;;-1:-1:-1;;;;;1166:46:13;;;6530:110;;;;;;;;;;-1:-1:-1;6530:110:13;;;;;:::i;:::-;;:::i;1080:48::-;;;;;;;;;;-1:-1:-1;1080:48:13;;;;;:::i;:::-;;:::i;:::-;;;5327:25:17;;;5315:2;5300:18;1080:48:13;5181:177:17;4161:214:2;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;6646:114:13:-;;;;;;;;;;-1:-1:-1;6646:114:13;;;;;:::i;:::-;6704:10;6733:13;;;;;;;;;;:20;;;-1:-1:-1;;;6733:20:13;;;;;6646:114;;;;;;;;:::i;4886:584::-;;;;;;;;;;-1:-1:-1;4886:584:13;;;;;:::i;:::-;;:::i;6398:126::-;;;;;;;;;;-1:-1:-1;6398:126:13;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;3930:783:13:-;;;;;;;;;;-1:-1:-1;3930:783:13;;;;;:::i;:::-;;:::i;5619:773::-;;;;;;;;;;-1:-1:-1;5619:773:13;;;;;:::i;:::-;;:::i;1033:41::-;;;;;;;;;;-1:-1:-1;1033:41:13;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;2441:144:0:-;;;;;;;;;;-1:-1:-1;1313:22:0;2570:8;-1:-1:-1;;;;;2570:8:0;2441:144;;1819:58:2;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;1644:291:13:-;;;;;;;;;;-1:-1:-1;1644:291:13;;;;;:::i;:::-;;:::i;3405:215:0:-;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;2658:1096:13:-;2768:15;;:::i;:::-;2829:13;;:37;;-1:-1:-1;;;2829:37:13;;;;;5327:25:17;;;2795:31:13;;-1:-1:-1;;;;;2829:13:13;;:25;;5300:18:17;;2829:37:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2829:37:13;;;;;;;;;;;;:::i;:::-;2884:15;;2795:71;;-1:-1:-1;;;;;;2884:29:13;2876:67;;;;-1:-1:-1;;;2876:67:13;;11345:2:17;2876:67:13;;;11327:21:17;11384:2;11364:18;;;11357:30;11423:27;11403:18;;;11396:55;11468:18;;2876:67:13;;;;;;;;;2966:21;;;;-1:-1:-1;;;;;2966:35:13;2962:328;;3043:9;3025:8;:14;;;:27;3017:53;;;;-1:-1:-1;;;3017:53:13;;11699:2:17;3017:53:13;;;11681:21:17;11738:2;11718:18;;;11711:30;-1:-1:-1;;;11757:18:17;;;11750:43;11810:18;;3017:53:13;11497:337:17;3017:53:13;2962:328;;;3109:9;:14;3101:67;;;;-1:-1:-1;;;3101:67:13;;12041:2:17;3101:67:13;;;12023:21:17;12080:2;12060:18;;;12053:30;12119:34;12099:18;;;12092:62;-1:-1:-1;;;12170:18:17;;;12163:38;12218:19;;3101:67:13;11839:404:17;3101:67:13;3182:97;3214:8;:21;;;3237:10;3257:4;3264:8;:14;;;3182:31;:97::i;:::-;3330:10;;3300:21;3324:17;;;;;;;;;;3351:20;;;3381:11;;;:20;3395:6;3381:11;:20;:::i;:::-;-1:-1:-1;3411:11:13;;;;:24;;3425:10;-1:-1:-1;;;;;;3411:24:13;;;;;;;3445:15;;;:28;;;3499:15;;3483:13;;;:31;;;;;-1:-1:-1;;;;;3483:31:13;;;;;;;-1:-1:-1;3524:23:13;;;-1:-1:-1;3524:23:13;;;;;;;3553:10;;3524:40;;;;;;;;;;;;;;;;3574:33;;-1:-1:-1;;;;3574:33:13;-1:-1:-1;;;;3574:33:13;;;;-1:-1:-1;3646:15:13;;3663:10;;3675:19;;;;3622:81;;-1:-1:-1;;;;;3622:81:13;;;;3634:10;;3622:81;;;;3696:6;;3622:81;:::i;:::-;;;;;;;;3714:10;:12;;;:10;:12;;;:::i;:::-;;;;;;3743:4;3736:11;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3736:11:13;;;-1:-1:-1;;3736:11:13;;;;-1:-1:-1;;;;;3736:11:13;;;;;;;;;;;-1:-1:-1;;;3736:11:13;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3736:11:13;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3736:11:13;;;-1:-1:-1;;3736:11:13;;;;;;;;;;;;;;-1:-1:-1;;;2658:1096:13;;;;;:::o;6530:110::-;6586:15;;:::i;:::-;6620:5;:13;;;;;;;;;;;;6613:20;;;;;;;;;;;;;;;;;6620:13;;6613:20;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6613:20:13;;;-1:-1:-1;;6613:20:13;;;;-1:-1:-1;;;;;6613:20:13;;;;;;;;;;;-1:-1:-1;;;6613:20:13;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;6613:20:13;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6613:20:13;;;-1:-1:-1;;6613:20:13;;;;;;;;;;;;;;6530:110;-1:-1:-1;;6530:110:13:o;1080:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;4886:584:13:-;1291:5;:13;;;;;;;;;;:20;;;:13;;-1:-1:-1;;;;;1291:20:13;1277:10;:34;1269:73;;;;-1:-1:-1;;;1269:73:13;;15634:2:17;1269:73:13;;;15616:21:17;15673:2;15653:18;;;15646:30;15712:28;15692:18;;;15685:56;15758:18;;1269:73:13;15432:350:17;1269:73:13;4976:21:::1;5000:13:::0;;;::::1;::::0;;;;;;5047:20:::1;5032:11:::0;;::::1;::::0;-1:-1:-1;;;5032:11:13;::::1;;;:35;::::0;::::1;;;;;;:::i;:::-;;5024:69;;;::::0;-1:-1:-1;;;5024:69:13;;15989:2:17;5024:69:13::1;::::0;::::1;15971:21:17::0;16028:2;16008:18;;;16001:30;-1:-1:-1;;;16047:18:17;;;16040:51;16108:18;;5024:69:13::1;15787:345:17::0;5024:69:13::1;5111:11;::::0;::::1;::::0;::::1;;:16:::0;5103:52:::1;;;::::0;-1:-1:-1;;;5103:52:13;;16339:2:17;5103:52:13::1;::::0;::::1;16321:21:17::0;16378:2;16358:18;;;16351:30;16417:25;16397:18;;;16390:53;16460:18;;5103:52:13::1;16137:347:17::0;5103:52:13::1;5198:3;5188:6;:13;;;;5165:73;;;::::0;-1:-1:-1;;;5165:73:13;;16691:2:17;5165:73:13::1;::::0;::::1;16673:21:17::0;;;16710:18;;;16703:30;16769:34;16749:18;;;16742:62;16821:18;;5165:73:13::1;16489:356:17::0;5165:73:13::1;5257:11;::::0;::::1;:20:::0;;-1:-1:-1;;5257:20:13::1;;::::0;::::1;;::::0;;5321:13:::1;::::0;5347:15:::1;::::0;;::::1;::::0;5321:42:::1;::::0;-1:-1:-1;;;5321:42:13;;;;::::1;5327:25:17::0;-1:-1:-1;;;;;;;5321:13:13::1;::::0;:25:::1;::::0;5300:18:17;;5321:42:13::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;5321:42:13::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;5374:13;::::0;5398:15;;5374:48:::1;::::0;-1:-1:-1;;;5374:48:13;;-1:-1:-1;;;;;17040:32:17;;;5374:48:13::1;::::0;::::1;17022:51:17::0;17121:4;17109:17;;17089:18;;;17082:45;5398:15:13;;-1:-1:-1;5374:13:13::1;::::0;:23:::1;::::0;16995:18:17;;5374:48:13::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;5438:25:13::1;::::0;17499:4:17;17487:17;;17469:36;;5448:6:13;;5438:25:::1;::::0;17457:2:17;17442:18;5438:25:13::1;;;;;;;4966:504;;4886:584:::0;;;:::o;6398:126::-;-1:-1:-1;;;;;6498:19:13;;;;;;:11;:19;;;;;;;;;6491:26;;;;;;;;;;;;;;;;;6463:16;;6491:26;;;6498:19;6491:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6398:126;;;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;3930:783:13:-;4009:21;4033:13;;;;;;;;;;4078;;;;-1:-1:-1;;;;;4078:13:13;4064:10;:27;4056:54;;;;-1:-1:-1;;;4056:54:13;;17718:2:17;4056:54:13;;;17700:21:17;17757:2;17737:18;;;17730:30;-1:-1:-1;;;17776:18:17;;;17769:44;17830:18;;4056:54:13;17516:338:17;4056:54:13;4143:19;4128:11;;;;-1:-1:-1;;;4128:11:13;;;;:34;;;;;;;;:::i;:::-;;4120:66;;;;-1:-1:-1;;;4120:66:13;;18061:2:17;4120:66:13;;;18043:21:17;18100:2;18080:18;;;18073:30;-1:-1:-1;;;18119:18:17;;;18112:49;18178:18;;4120:66:13;17859:343:17;4120:66:13;4211:20;4197:11;;:34;;-1:-1:-1;;;;4197:34:13;-1:-1:-1;;;4197:34:13;;;4241:11;;;:20;4255:6;4241:11;:20;:::i;:::-;-1:-1:-1;4305:13:13;;4331:15;;;;;4305:42;;-1:-1:-1;;;4305:42:13;;;;;5327:25:17;4271:31:13;;-1:-1:-1;;;;;4305:13:13;;:25;;5300:18:17;;4305:42:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4305:42:13;;;;;;;;;;;;:::i;:::-;4370:21;;;;4271:76;;-1:-1:-1;;;;;;4370:35:13;4366:235;;4452:11;;;;4465:14;;;;4421:59;;-1:-1:-1;;;;;4452:11:13;;4421:30;:59::i;:::-;4366:235;;;4539:21;;;;4562:11;;;;4575:14;;;;4511:79;;4539:21;-1:-1:-1;;;;;4562:11:13;;4511:27;:79::i;:::-;4650:11;;;;4624:38;;4642:6;;4624:38;;;;-1:-1:-1;;;4650:11:13;;;;;4624:38;:::i;:::-;;;;;;;;4691:6;4677:29;4699:6;4677:29;;;;;;:::i;:::-;;;;;;;;3999:714;;3930:783;;:::o;5619:773::-;1291:5;:13;;;;;;;;;;:20;;;:13;;-1:-1:-1;;;;;1291:20:13;1277:10;:34;1269:73;;;;-1:-1:-1;;;1269:73:13;;15634:2:17;1269:73:13;;;15616:21:17;15673:2;15653:18;;;15646:30;15712:28;15692:18;;;15685:56;15758:18;;1269:73:13;15432:350:17;1269:73:13;5697:21:::1;5721:13:::0;;;::::1;::::0;;;;;;5767:20:::1;5752:11:::0;;::::1;::::0;-1:-1:-1;;;5752:11:13;::::1;;;:35;::::0;::::1;;;;;;:::i;:::-;;;:73;;;;-1:-1:-1::0;5806:19:13::1;5791:11;::::0;::::1;::::0;-1:-1:-1;;;5791:11:13;::::1;;;:34;::::0;::::1;;;;;;:::i;:::-;;;5752:73;5744:109;;;::::0;-1:-1:-1;;;5744:109:13;;18409:2:17;5744:109:13::1;::::0;::::1;18391:21:17::0;18448:2;18428:18;;;18421:30;18487:25;18467:18;;;18460:53;18530:18;;5744:109:13::1;18207:347:17::0;5744:109:13::1;5872:11;::::0;::::1;:33:::0;;-1:-1:-1;;;;;;;5872:33:13;;::::1;;::::0;;5886:19:::1;5949:13:::0;5975:15:::1;::::0;;::::1;::::0;5949:42:::1;::::0;-1:-1:-1;;;5949:42:13;;;;::::1;5327:25:17::0;-1:-1:-1;;;;;;;5949:13:13::1;::::0;:25:::1;::::0;5300:18:17;;5949:42:13::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;5949:42:13::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6058:21;::::0;::::1;::::0;5915:76;;-1:-1:-1;;;;;;6058:35:13::1;6054:235;;6140:11;::::0;::::1;::::0;6153:14:::1;::::0;::::1;::::0;6109:59:::1;::::0;-1:-1:-1;;;;;6140:11:13::1;::::0;6109:30:::1;:59::i;:::-;6054:235;;;6227:21;::::0;::::1;::::0;6250:11:::1;::::0;::::1;::::0;6263:14:::1;::::0;::::1;::::0;6199:79:::1;::::0;6227:21;-1:-1:-1;;;;;6250:11:13::1;::::0;6199:27:::1;:79::i;:::-;6338:11;::::0;::::1;::::0;6312:38:::1;::::0;6330:6;;6312:38:::1;::::0;::::1;::::0;-1:-1:-1;;;6338:11:13;::::1;;;::::0;6312:38:::1;:::i;:::-;;;;;;;;6365:20;::::0;6378:6;;6365:20:::1;::::0;;;::::1;5687:705;;5619:773:::0;;:::o;1033:41::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1033:41:13;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1033:41:13;;;;-1:-1:-1;;;1033:41:13;;;;;;-1:-1:-1;1033:41:13;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1033:41:13;;;;;;;-1:-1:-1;;1033:41:13;;;:::o;1644:291::-;4158:30:1;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:1;-1:-1:-1;;;4302:15:1;;;4301:16;;4348:14;;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;:16;;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;1782:26:13::1;1797:10;1782:14;:26::i;:::-;1818:24;:22;:24::i;:::-;1861:10;:27:::0;;;1898:13:::1;:30:::0;;-1:-1:-1;;;;;;1898:30:13::1;-1:-1:-1::0;;;;;1898:30:13;::::1;;::::0;;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;18712:50:17;;5140:14:1;;18700:2:17;18685:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;1644:291:13;;:::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;4421:51:17::0;4394:18;;3534:31:0::1;4275:203:17::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;1081:486:16:-;1345:51;;;-1:-1:-1;;;;;19031:15:17;;;1345:51:16;;;19013:34:17;19083:15;;;19063:18;;;19056:43;19115:18;;;;19108:34;;;1345:51:16;;;;;;;;;;18948:18:17;;;;1345:51:16;;;;;;;-1:-1:-1;;;;;1345:51:16;-1:-1:-1;;;1345:51:16;;;1334:63;;-1:-1:-1;;;;1334:10:16;;;;:63;;1345:51;1334:63;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1298:99;;;;1428:7;:57;;;;-1:-1:-1;1440:11:16;;:16;;:44;;;1471:4;1460:24;;;;;;;;;;;;:::i;:::-;1407:153;;;;-1:-1:-1;;;1407:153:16;;19854:2:17;1407:153:16;;;19836:21:17;19893:2;19873:18;;;19866:30;19932:34;19912:18;;;19905:62;-1:-1:-1;;;19983:18:17;;;19976:47;20040:19;;1407:153:16;19652:413:17;1407:153:16;1210:357;;1081:486;;;;:::o;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:6;-1:-1:-1;;;;;1519:53:6;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;7074:84:13;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;4439:32:17;;6493:60:2;;;4421:51:17;4394:18;;6493:60:2;4275:203:17;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;5327:25:17;;;5300:18;;6292:34:2;5181:177:17;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;:::-;6184:235;6032:538;;:::o;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;2658:162:0;966:10:3;2717:7:0;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144;2717:7;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;4421:51:17;4394:18;;2763:40:0;4275:203:17;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;1573:214:16:-;1685:12;;;1645;1685;;;;;;;;;-1:-1:-1;;;;;1663:7:16;;;1678:5;;1663:35;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1644:54;;;1716:7;1708:72;;;;-1:-1:-1;;;1708:72:16;;20461:2:17;1708:72:16;;;20443:21:17;20500:2;20480:18;;;20473:30;20539:34;20519:18;;;20512:62;-1:-1:-1;;;20590:18:17;;;20583:50;20650:19;;1708:72:16;20259:416:17;637:438:16;863:45;;;-1:-1:-1;;;;;20872:32:17;;;863:45:16;;;20854:51:17;20921:18;;;;20914:34;;;863:45:16;;;;;;;;;;20827:18:17;;;;863:45:16;;;;;;;-1:-1:-1;;;;;863:45:16;-1:-1:-1;;;863:45:16;;;852:57;;-1:-1:-1;;;;852:10:16;;;;:57;;863:45;852:57;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;816:93;;;;940:7;:57;;;;-1:-1:-1;952:11:16;;:16;;:44;;;983:4;972:24;;;;;;;;;;;;:::i;:::-;919:149;;;;-1:-1:-1;;;919:149:16;;21161:2:17;919:149:16;;;21143:21:17;21200:2;21180:18;;;21173:30;21239:34;21219:18;;;21212:62;-1:-1:-1;;;21290:18:17;;;21283:43;21343:19;;919:149:16;20959:409:17;919:149:16;740:335;;637:438;;;:::o;9071:205:1:-;9129:30;;3147:66;9186:27;8819:122;1847:127:0;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;2264:344:6:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:6;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7082:141:1:-;7149:17;:15;:17::i;:::-;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;1671:281:6:-;1748:17;-1:-1:-1;;;;;1748:29:6;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:6;;-1:-1:-1;;;;;4439:32:17;;1805:47:6;;;4421:51:17;4394:18;;1805:47:6;4275:203:17;1744:119:6;-1:-1:-1;;;;;;;;;;;1872:73:6;;-1:-1:-1;;;;;;1872:73:6;-1:-1:-1;;;;;1872:73:6;;;;;;;;;;1671:281::o;3916:253:8:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:8;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:8:o;6113:122:6:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:6;;;;;;;;;;;8485:120:1;8535:4;8558:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8558:40:1;;;;;;-1:-1:-1;8485:120:1:o;4437:582:8:-;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:8;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:8;;-1:-1:-1;;;;;4439:32:17;;4933:24:8;;;4421:51:17;4394:18;;4933:24:8;4275:203:17;4853:119:8;-1:-1:-1;4992:10:8;4605:408;4437:582;;;;;:::o;5559:487::-;5690:17;;:21;5686:354;;5887:10;5881:17;5943:15;5930:10;5926:2;5922:19;5915:44;5686:354;6010:19;;-1:-1:-1;;;6010:19:8;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:127:17:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:253;218:2;212:9;260:4;248:17;;295:18;280:34;;316:22;;;277:62;274:88;;;342:18;;:::i;:::-;378:2;371:22;146:253;:::o;404:275::-;475:2;469:9;540:2;521:13;;-1:-1:-1;;517:27:17;505:40;;575:18;560:34;;596:22;;;557:62;554:88;;;622:18;;:::i;:::-;658:2;651:22;404:275;;-1:-1:-1;404:275:17:o;684:187::-;733:4;766:18;758:6;755:30;752:56;;;788:18;;:::i;:::-;-1:-1:-1;854:2:17;833:15;-1:-1:-1;;829:29:17;860:4;825:40;;684:187::o;876:338::-;941:5;970:53;986:36;1015:6;986:36;:::i;:::-;970:53;:::i;:::-;961:62;;1046:6;1039:5;1032:21;1086:3;1077:6;1072:3;1068:16;1065:25;1062:45;;;1103:1;1100;1093:12;1062:45;1152:6;1147:3;1140:4;1133:5;1129:16;1116:43;1206:1;1199:4;1190:6;1183:5;1179:18;1175:29;1168:40;876:338;;;;;:::o;1219:222::-;1262:5;1315:3;1308:4;1300:6;1296:17;1292:27;1282:55;;1333:1;1330;1323:12;1282:55;1355:80;1431:3;1422:6;1409:20;1402:4;1394:6;1390:17;1355:80;:::i;1446:390::-;1524:6;1532;1585:2;1573:9;1564:7;1560:23;1556:32;1553:52;;;1601:1;1598;1591:12;1553:52;1641:9;1628:23;1674:18;1666:6;1663:30;1660:50;;;1706:1;1703;1696:12;1660:50;1729;1771:7;1762:6;1751:9;1747:22;1729:50;:::i;:::-;1719:60;1826:2;1811:18;;;;1798:32;;-1:-1:-1;;;;1446:390:17:o;1841:250::-;1926:1;1936:113;1950:6;1947:1;1944:13;1936:113;;;2026:11;;;2020:18;2007:11;;;2000:39;1972:2;1965:10;1936:113;;;-1:-1:-1;;2083:1:17;2065:16;;2058:27;1841:250::o;2096:271::-;2138:3;2176:5;2170:12;2203:6;2198:3;2191:19;2219:76;2288:6;2281:4;2276:3;2272:14;2265:4;2258:5;2254:16;2219:76;:::i;:::-;2349:2;2328:15;-1:-1:-1;;2324:29:17;2315:39;;;;2356:4;2311:50;;2096:271;-1:-1:-1;;2096:271:17:o;2481:127::-;2542:10;2537:3;2533:20;2530:1;2523:31;2573:4;2570:1;2563:15;2597:4;2594:1;2587:15;2613:238;2695:1;2688:5;2685:12;2675:143;;2740:10;2735:3;2731:20;2728:1;2721:31;2775:4;2772:1;2765:15;2803:4;2800:1;2793:15;2675:143;2827:18;;2613:238::o;2936:1149::-;3117:2;3106:9;3099:21;3162:6;3156:13;3151:2;3140:9;3136:18;3129:41;3080:4;3217:2;3209:6;3205:15;3199:22;3240:6;3282:2;3277;3266:9;3262:18;3255:30;3308:52;3355:3;3344:9;3340:19;3326:12;3308:52;:::i;:::-;3294:66;;3441:1;3437;3432:3;3428:11;3424:19;3418:2;3410:6;3406:15;3400:22;3396:48;3391:2;3380:9;3376:18;3369:76;3494:2;3486:6;3482:15;3476:22;3507:63;3565:3;3554:9;3550:19;3534:14;3507:63;:::i;:::-;-1:-1:-1;3619:3:17;3607:16;;3601:23;-1:-1:-1;;;;;2438:31:17;;3683:3;3668:19;;2426:44;3633:55;3743:3;3735:6;3731:16;3725:23;3719:3;3708:9;3704:19;3697:52;3798:3;3790:6;3786:16;3780:23;3872:2;3868:7;3856:9;3848:6;3844:22;3840:36;3834:3;3823:9;3819:19;3812:65;3900:41;3934:6;3918:14;3900:41;:::i;:::-;3886:55;;;3990:3;3982:6;3978:16;3972:23;4004:52;4052:2;4041:9;4037:18;4021:14;2923:4;2912:16;2900:29;;2856:75;4004:52;-1:-1:-1;4073:6:17;;2936:1149;-1:-1:-1;;;;2936:1149:17:o;4090:180::-;4149:6;4202:2;4190:9;4181:7;4177:23;4173:32;4170:52;;;4218:1;4215;4208:12;4170:52;-1:-1:-1;4241:23:17;;4090:180;-1:-1:-1;4090:180:17:o;4725:131::-;-1:-1:-1;;;;;4800:31:17;;4790:42;;4780:70;;4846:1;4843;4836:12;4861:315;4929:6;4937;4990:2;4978:9;4969:7;4965:23;4961:32;4958:52;;;5006:1;5003;4996:12;4958:52;5045:9;5032:23;5064:31;5089:5;5064:31;:::i;:::-;5114:5;5166:2;5151:18;;;;5138:32;;-1:-1:-1;;;4861:315:17:o;5363:585::-;5440:6;5448;5501:2;5489:9;5480:7;5476:23;5472:32;5469:52;;;5517:1;5514;5507:12;5469:52;5556:9;5543:23;5575:31;5600:5;5575:31;:::i;:::-;5625:5;-1:-1:-1;5681:2:17;5666:18;;5653:32;5708:18;5697:30;;5694:50;;;5740:1;5737;5730:12;5694:50;5763:22;;5816:4;5808:13;;5804:27;-1:-1:-1;5794:55:17;;5845:1;5842;5835:12;5794:55;5868:74;5934:7;5929:2;5916:16;5911:2;5907;5903:11;5868:74;:::i;:::-;5858:84;;;5363:585;;;;;:::o;6135:210::-;6282:2;6267:18;;6294:45;6271:9;6321:6;6294:45;:::i;6350:337::-;6416:6;6424;6477:2;6465:9;6456:7;6452:23;6448:32;6445:52;;;6493:1;6490;6483:12;6445:52;6529:9;6516:23;6506:33;;6589:2;6578:9;6574:18;6561:32;6633:4;6626:5;6622:16;6615:5;6612:27;6602:55;;6653:1;6650;6643:12;6602:55;6676:5;6666:15;;;6350:337;;;;;:::o;6692:247::-;6751:6;6804:2;6792:9;6783:7;6779:23;6775:32;6772:52;;;6820:1;6817;6810:12;6772:52;6859:9;6846:23;6878:31;6903:5;6878:31;:::i;6944:632::-;7115:2;7167:21;;;7237:13;;7140:18;;;7259:22;;;7086:4;;7115:2;7338:15;;;;7312:2;7297:18;;;7086:4;7381:169;7395:6;7392:1;7389:13;7381:169;;;7456:13;;7444:26;;7525:15;;;;7490:12;;;;7417:1;7410:9;7381:169;;;-1:-1:-1;7567:3:17;;6944:632;-1:-1:-1;;;;;;6944:632:17:o;7581:390::-;7659:6;7667;7720:2;7708:9;7699:7;7695:23;7691:32;7688:52;;;7736:1;7733;7726:12;7688:52;7772:9;7759:23;7749:33;;7833:2;7822:9;7818:18;7805:32;7860:18;7852:6;7849:30;7846:50;;;7892:1;7889;7882:12;7846:50;7915;7957:7;7948:6;7937:9;7933:22;7915:50;:::i;7976:931::-;8313:4;8342:3;8372:6;8361:9;8354:25;8415:2;8410;8399:9;8395:18;8388:30;8441:45;8482:2;8471:9;8467:18;8459:6;8441:45;:::i;:::-;-1:-1:-1;;;;;8560:15:17;;;8555:2;8540:18;;8533:43;8427:59;;-1:-1:-1;8585:54:17;8635:2;8620:18;;8612:6;8585:54;:::i;:::-;8676:15;;8670:3;8655:19;;8648:44;8723:3;8708:19;;8701:35;;;8773:22;;;8767:3;8752:19;;8745:51;8813:33;8777:6;8831;8813:33;:::i;:::-;8805:41;;;8895:4;8887:6;8883:17;8877:3;8866:9;8862:19;8855:46;7976:931;;;;;;;;;;;:::o;8912:220::-;9061:2;9050:9;9043:21;9024:4;9081:45;9122:2;9111:9;9107:18;9099:6;9081:45;:::i;9137:349::-;9239:6;9247;9300:2;9288:9;9279:7;9275:23;9271:32;9268:52;;;9316:1;9313;9306:12;9268:52;9352:9;9339:23;9329:33;;9412:2;9401:9;9397:18;9384:32;9425:31;9450:5;9425:31;:::i;9491:138::-;9570:13;;9592:31;9570:13;9592:31;:::i;:::-;9491:138;;;:::o;9634:164::-;9710:13;;9759;;9752:21;9742:32;;9732:60;;9788:1;9785;9778:12;9803:1335;9906:6;9937:2;9980;9968:9;9959:7;9955:23;9951:32;9948:52;;;9996:1;9993;9986:12;9948:52;10029:9;10023:16;10058:18;10099:2;10091:6;10088:14;10085:34;;;10115:1;10112;10105:12;10085:34;10138:22;;;;10194:4;10176:16;;;10172:27;10169:47;;;10212:1;10209;10202:12;10169:47;10238:22;;:::i;:::-;10290:2;10284:9;10302:33;10327:7;10302:33;:::i;:::-;10344:22;;10397:11;;;10391:18;10421:16;;;10418:36;;;10450:1;10447;10440:12;10418:36;10473:17;;;-1:-1:-1;10521:4:17;10513:13;;10509:27;-1:-1:-1;10499:55:17;;10550:1;10547;10540:12;10499:55;10579:2;10573:9;10604:49;10620:32;10649:2;10620:32;:::i;10604:49::-;10676:2;10669:5;10662:17;10716:7;10711:2;10706;10702;10698:11;10694:20;10691:33;10688:53;;;10737:1;10734;10727:12;10688:53;10750:67;10814:2;10809;10802:5;10798:14;10793:2;10789;10785:11;10750:67;:::i;:::-;10833:14;;;10826:29;-1:-1:-1;10901:2:17;10893:11;;;10887:18;10871:14;;;10864:42;10938;10976:2;10968:11;;10938:42;:::i;:::-;10933:2;10926:5;10922:14;10915:66;11028:3;11024:2;11020:12;11014:19;11008:3;11001:5;10997:15;10990:44;11067:40;11102:3;11098:2;11094:12;11067:40;:::i;:::-;11061:3;11050:15;;11043:65;11054:5;9803:1335;-1:-1:-1;;;;;;9803:1335:17:o;12248:380::-;12327:1;12323:12;;;;12370;;;12391:61;;12445:4;12437:6;12433:17;12423:27;;12391:61;12498:2;12490:6;12487:14;12467:18;12464:38;12461:161;;12544:10;12539:3;12535:20;12532:1;12525:31;12579:4;12576:1;12569:15;12607:4;12604:1;12597:15;12461:161;;12248:380;;;:::o;12759:543::-;12861:2;12856:3;12853:11;12850:446;;;12897:1;12921:5;12918:1;12911:16;12965:4;12962:1;12952:18;13035:2;13023:10;13019:19;13016:1;13012:27;13006:4;13002:38;13071:4;13059:10;13056:20;13053:47;;;-1:-1:-1;13094:4:17;13053:47;13149:2;13144:3;13140:12;13137:1;13133:20;13127:4;13123:31;13113:41;;13204:82;13222:2;13215:5;13212:13;13204:82;;;13267:17;;;13248:1;13237:13;13204:82;;13478:1345;13604:3;13598:10;13631:18;13623:6;13620:30;13617:56;;;13653:18;;:::i;:::-;13682:97;13772:6;13732:38;13764:4;13758:11;13732:38;:::i;:::-;13726:4;13682:97;:::i;:::-;13834:4;;13891:2;13880:14;;13908:1;13903:663;;;;14610:1;14627:6;14624:89;;;-1:-1:-1;14679:19:17;;;14673:26;14624:89;-1:-1:-1;;13435:1:17;13431:11;;;13427:24;13423:29;13413:40;13459:1;13455:11;;;13410:57;14726:81;;13873:944;;13903:663;12706:1;12699:14;;;12743:4;12730:18;;-1:-1:-1;;13939:20:17;;;14057:236;14071:7;14068:1;14065:14;14057:236;;;14160:19;;;14154:26;14139:42;;14252:27;;;;14220:1;14208:14;;;;14087:19;;14057:236;;;14061:3;14321:6;14312:7;14309:19;14306:201;;;14382:19;;;14376:26;-1:-1:-1;;14465:1:17;14461:14;;;14477:3;14457:24;14453:37;14449:42;14434:58;14419:74;;14306:201;-1:-1:-1;;;;;14553:1:17;14537:14;;;14533:22;14520:36;;-1:-1:-1;13478:1345:17:o;14828:362::-;15033:6;15022:9;15015:25;15076:6;15071:2;15060:9;15056:18;15049:34;15119:2;15114;15103:9;15099:18;15092:30;14996:4;15139:45;15180:2;15169:9;15165:18;15157:6;15139:45;:::i;15195:232::-;15234:3;15255:17;;;15252:140;;15314:10;15309:3;15305:20;15302:1;15295:31;15349:4;15346:1;15339:15;15377:4;15374:1;15367:15;15252:140;-1:-1:-1;15419:1:17;15408:13;;15195:232::o;17138:184::-;17208:6;17261:2;17249:9;17240:7;17236:23;17232:32;17229:52;;;17277:1;17274;17267:12;17229:52;-1:-1:-1;17300:16:17;;17138:184;-1:-1:-1;17138:184:17:o;19153:287::-;19282:3;19320:6;19314:13;19336:66;19395:6;19390:3;19383:4;19375:6;19371:17;19336:66;:::i;:::-;19418:16;;;;;19153:287;-1:-1:-1;;19153:287:17:o;19445:202::-;19512:6;19565:2;19553:9;19544:7;19540:23;19536:32;19533:52;;;19581:1;19578;19571:12;19533:52;19604:37;19631:9;19604:37;:::i" + "object": "6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed1565b6103f8565b60405161012e9190611f9e565b60405180910390f35b34801561014357600080fd5b50610170610152366004612048565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612048565b610853565b3480156101d457600080fd5b506101e86101e3366004612076565b610a1f565b60405190815260200161012e565b6102096102043660046120a2565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612048565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612106565b34801561027357600080fd5b50610209610282366004612114565b610a8c565b34801561029357600080fd5b506102a76102a236600461214a565b610d56565b60405161012e9190612167565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ab565b610dd6565b3480156102f557600080fd5b50610209610304366004612048565b61100f565b34801561031557600080fd5b50610329610324366004612048565b611282565b60405161012e9897969594939291906121e8565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225b565b3480156103c457600080fd5b506102096103d336600461226e565b6113ed565b3480156103e457600080fd5b506102096103f336600461214a565b611512565b610400611d7d565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b3565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612423565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e3565b60405180910390a36002805490600061069083612502565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a1565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f66565b600381111561078357610783611f66565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a1565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7d565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a1565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f66565b600381111561095457610954611f66565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a1565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257a83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f66565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b3565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190612529565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f66565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612423565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b3565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612106565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225b565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f66565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f66565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b3565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612106565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a1565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a1565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a1565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612542565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255e565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257a833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f1916820190925261179291810190612529565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257a83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612542565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612542565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255e565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612542565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d6457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dba57611dba611f66565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1457611e14611ddb565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4357611e43611ddb565b604052919050565b600067ffffffffffffffff821115611e6557611e65611ddb565b50601f01601f191660200190565b6000611e86611e8184611e4b565b611e1a565b9050828152838383011115611e9a57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec257600080fd5b611d4e83833560208501611e73565b60008060408385031215611ee457600080fd5b823567ffffffffffffffff811115611efb57600080fd5b611f0785828601611eb1565b95602094909401359450505050565b60005b83811015611f31578181015183820152602001611f19565b50506000910152565b60008151808452611f52816020860160208601611f16565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9a57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc7610120850183611f3a565b915060018060a01b0360408601511660608501526060850151611fed6080860182611f7c565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120288382611f3a565b92505060e085015161203e8286018260ff169052565b5090949350505050565b60006020828403121561205a57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208957600080fd5b823561209481612061565b946020939093013593505050565b600080604083850312156120b557600080fd5b82356120c081612061565b9150602083013567ffffffffffffffff8111156120dc57600080fd5b8301601f810185136120ed57600080fd5b6120fc85823560208401611e73565b9150509250929050565b6020810161084d8284611f7c565b6000806040838503121561212757600080fd5b82359150602083013560ff8116811461213f57600080fd5b809150509250929050565b60006020828403121561215c57600080fd5b8135611d4e81612061565b6020808252825182820181905260009190848201906040850190845b8181101561219f57835183529284019291840191600101612183565b50909695505050505050565b600080604083850312156121be57600080fd5b82359150602083013567ffffffffffffffff8111156121dc57600080fd5b6120fc85828601611eb1565b60006101008a83528060208401526122028184018b611f3a565b6001600160a01b038a81166040860152909150612222606085018a611f7c565b8716608084015260a0830186905282810360c08401526122428186611f3a565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3a565b6000806040838503121561228157600080fd5b82359150602083013561213f81612061565b805161229e81612061565b919050565b8051801515811461229e57600080fd5b600060208083850312156122c657600080fd5b825167ffffffffffffffff808211156122de57600080fd5b9084019060c082870312156122f257600080fd5b6122fa611df1565b825161230581612061565b8152828401518281111561231857600080fd5b83019150601f8201871361232b57600080fd5b8151612339611e8182611e4b565b818152888683860101111561234d57600080fd5b61235c82878301888701611f16565b82860152506040838101519082015261237760608401612293565b60608201526080830151608082015261239260a084016122a3565b60a08201529695505050505050565b600181811c908216806123b557607f821691505b6020821081036123d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124045750805b601f850160051c820191505b8181101561168657828155600101612410565b815167ffffffffffffffff81111561243d5761243d611ddb565b6124518161244b84546123a1565b846123db565b602080601f831160018114612486576000841561246e5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b557888601518255948401946001909101908401612496565b50858210156124d35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3a565b60006001820161252257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253b57600080fd5b5051919050565b60008251612554818460208701611f16565b9190910192915050565b60006020828403121561257057600080fd5b611d4e826122a356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d3b080e19c883e02f2c45a696f8fc9ffe9b7d894958f1142da9c3a68737d889a64736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x639241AB GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x8D977672 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8D977672 EQ PUSH2 0x309 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x33D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x37A JUMPI DUP1 PUSH4 0xDA35A26F EQ PUSH2 0x3B8 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x639241AB EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x74AAA760 EQ PUSH2 0x2C9 JUMPI DUP1 PUSH4 0x7EEC20A8 EQ PUSH2 0x2E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2A2B3A9D GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x2A2B3A9D EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1F6 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x20B JUMPI DUP1 PUSH4 0x5C622A0E EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0x6298EEE0 EQ PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4FE2B34 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x7B31818 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0xD1CFCAE EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x1D65E77E EQ PUSH2 0x1A8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x121 PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x1ED1 JUMP JUMPDEST PUSH2 0x3F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x1F9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x170 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x170 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x853 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0x1E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2076 JUMP JUMPDEST PUSH2 0xA1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0xA50 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0xA6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25A PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2106 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x2114 JUMP JUMPDEST PUSH2 0xA8C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x214A JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2167 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0xDC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x21AB JUMP JUMPDEST PUSH2 0xDD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x304 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x100F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x329 PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x21E8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x170 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x386 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x225B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x226E JUMP JUMPDEST PUSH2 0x13ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x214A JUMP JUMPDEST PUSH2 0x1512 JUMP JUMPDEST PUSH2 0x400 PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x44A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x472 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x52B JUMPI CALLVALUE DUP2 PUSH1 0x40 ADD MLOAD EQ PUSH2 0x526 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x496E76616C6964207072696365 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x58A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F204554482073686F756C642062652073656E7420666F7220455243323020 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x7061796D656E7473 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E DUP2 PUSH1 0x60 ADD MLOAD CALLER ADDRESS DUP5 PUSH1 0x40 ADD MLOAD PUSH2 0x1550 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP2 SSTORE PUSH1 0x1 DUP2 ADD PUSH2 0x5C0 DUP7 DUP3 PUSH2 0x2423 JUMP JUMPDEST POP PUSH1 0x2 DUP2 DUP2 ADD DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND DUP2 OR DUP4 SSTORE PUSH1 0x4 DUP6 ADD DUP9 SWAP1 SSTORE DUP6 MLOAD PUSH1 0x3 DUP7 ADD DUP1 SLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP5 SLOAD DUP6 SLOAD DUP1 DUP5 ADD DUP8 SSTORE SWAP6 DUP5 MSTORE SWAP3 KECCAK256 SWAP1 SWAP4 ADD SSTORE DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL DUP4 MUL OR SWAP1 SSTORE POP DUP2 MLOAD PUSH1 0x2 SLOAD PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP3 CALLER SWAP3 PUSH32 0x5C005BBBB9DA508C37935B1A9F270836E0BE1FD11D4D47119F925A3FF33820E9 SWAP3 PUSH2 0x678 SWAP3 DUP12 SWAP1 PUSH2 0x24E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x2 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x690 DUP4 PUSH2 0x2502 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x6BC SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6E8 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x735 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x70A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x735 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x718 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x772 JUMPI PUSH2 0x772 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x783 JUMPI PUSH2 0x783 PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x7B7 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E3 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x830 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x805 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x830 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x813 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x85B PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x88D SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8B9 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x906 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8DB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x906 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8E9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x943 JUMPI PUSH2 0x943 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x954 JUMPI PUSH2 0x954 PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x988 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x9B4 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA01 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9D6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA01 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9E4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xA3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0xA58 PUSH2 0x168E JUMP JUMPDEST PUSH2 0xA61 DUP3 PUSH2 0x1733 JUMP JUMPDEST PUSH2 0xA6B DUP3 DUP3 PUSH2 0x173B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA79 PUSH2 0x17FD JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xAF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB26 JUMPI PUSH2 0xB26 PUSH2 0x1F66 JUMP JUMPDEST EQ PUSH2 0xB6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x15185CDAC81A5CC81B9BDD0818DBDB5C1B195D1959 PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xBC0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B20676F7420726174696E6720616C7265616479000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x64 DUP4 PUSH1 0xFF AND GT ISZERO PUSH2 0xC14 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP6 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC9A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 MLOAD PUSH1 0x40 MLOAD PUSH4 0x70370A81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP9 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP3 SWAP4 POP AND SWAP1 PUSH4 0x70370A81 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCF2 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 0xD16 SWAP2 SWAP1 PUSH2 0x2529 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xFF DUP6 AND DUP2 MSTORE DUP6 SWAP1 PUSH32 0xF9189BFC5977D44B1A00920E53A6A0E00229F6C53E76B73FC7E0581AE99ABDC SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xDB6 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xDA2 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCA PUSH2 0x1846 JUMP JUMPDEST PUSH2 0xDD4 PUSH1 0x0 PUSH2 0x18A1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x139BDD08185D5D1A1BDC9A5E9959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE53 JUMPI PUSH2 0xE53 PUSH2 0x1F66 JUMP JUMPDEST EQ PUSH2 0xE96 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x496E76616C6964207461736B20737461747573 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA1 SHL OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD PUSH2 0xEB9 DUP4 DUP3 PUSH2 0x2423 JUMP JUMPDEST POP PUSH1 0x3 SLOAD PUSH1 0x4 DUP3 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF07 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF2F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF66 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0xF61 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0xF89 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xF89 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0xFC9 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP4 PUSH32 0x7E6FFC29FE63759579D96A0457A8F2E08339ACA345BD469F59DC2E61F82A5AEB DUP5 PUSH1 0x40 MLOAD PUSH2 0x1001 SWAP2 SWAP1 PUSH2 0x225B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x107A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A9 PUSH2 0x1F66 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x10D7 JUMPI POP PUSH1 0x3 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10D4 JUMPI PUSH2 0x10D4 PUSH2 0x1F66 JUMP JUMPDEST EQ ISZERO JUMPDEST PUSH2 0x1123 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B2063616E6E6F742062652063616E63656C6564000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x3 PUSH1 0xA0 SHL PUSH1 0xFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1187 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x11AF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x11E6 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x11E1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0x1209 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1209 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0x1249 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x40 MLOAD DUP5 SWAP1 PUSH32 0x1AA8A90C7D7A86BAC690072D3F3D726BB8EBBE1989E158530440963F04C11EB2 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x12A4 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x12D0 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x12F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1300 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD DUP1 SLOAD SWAP6 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND SWAP8 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 SWAP7 DIV PUSH1 0xFF AND SWAP7 POP SWAP1 SWAP4 AND SWAP4 SWAP2 SWAP3 SWAP2 PUSH2 0x1361 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138D SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13DA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13AF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13DA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13BD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x6 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 POP POP PUSH1 0xFF AND DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F7 PUSH2 0x1B1D JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x141F JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x143C JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x144A JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1468 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1492 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x149B CALLER PUSH2 0x1B46 JUMP JUMPDEST PUSH2 0x14A3 PUSH2 0x1B57 JUMP JUMPDEST PUSH1 0x2 DUP8 SWAP1 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE DUP4 ISZERO PUSH2 0x1509 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x151A PUSH2 0x1846 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1544 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x18A1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH2 0x15B4 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x15F1 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 0x15F6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1620 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1620 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1620 SWAP2 SWAP1 PUSH2 0x255E JUMP JUMPDEST PUSH2 0x1686 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A7472616E7366657246726F6D3A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x185B9CD9995C919C9BDB4819985A5B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x1715 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1709 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x154D PUSH2 0x1846 JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1795 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1792 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2529 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x17BD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x17EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x17F8 DUP4 DUP4 PUSH2 0x1B5F JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0x1878 PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP4 SWAP1 PUSH1 0x40 MLOAD PUSH2 0x193C SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1979 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 0x197E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665724554483A PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x8115512081D1C985B9CD9995C8819985A5B1959 PUSH1 0x62 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP8 AND SWAP2 PUSH2 0x1A48 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1A85 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 0x1A8A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1AB4 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1AB4 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1AB4 SWAP2 SWAP1 PUSH2 0x255E JUMP JUMPDEST PUSH2 0x1B16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665723A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x185B9CD9995C8819985A5B1959 PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0x84D JUMP JUMPDEST PUSH2 0x1B4E PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x1BDA JUMP JUMPDEST PUSH2 0xDD4 PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x1B68 DUP3 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1BAD JUMPI PUSH2 0x17F8 DUP3 DUP3 PUSH2 0x1C47 JUMP JUMPDEST PUSH2 0xA6B PUSH2 0x1CBD JUMP JUMPDEST PUSH2 0x1BBD PUSH2 0x1CDC JUMP JUMPDEST PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x151A PUSH2 0x1BB5 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1C18 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x1C64 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1C9F 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 0x1CA4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1CB4 DUP6 DUP4 DUP4 PUSH2 0x1CF6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1CE6 PUSH2 0x1B1D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1D0B JUMPI PUSH2 0x1D06 DUP3 PUSH2 0x1D55 JUMP JUMPDEST PUSH2 0x1D4E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1D22 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1D4B JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1D64 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1DBA JUMPI PUSH2 0x1DBA PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD MSTORE PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP1 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 0xC0 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E14 JUMPI PUSH2 0x1E14 PUSH2 0x1DDB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E43 JUMPI PUSH2 0x1E43 PUSH2 0x1DDB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E65 JUMPI PUSH2 0x1E65 PUSH2 0x1DDB JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E86 PUSH2 0x1E81 DUP5 PUSH2 0x1E4B JUMP JUMPDEST PUSH2 0x1E1A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x1E9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1EC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x1E73 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1EE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F07 DUP6 DUP3 DUP7 ADD PUSH2 0x1EB1 JUMP JUMPDEST SWAP6 PUSH1 0x20 SWAP5 SWAP1 SWAP5 ADD CALLDATALOAD SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1F31 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1F19 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1F52 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1F16 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x1F9A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x100 DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1FC7 PUSH2 0x120 DUP6 ADD DUP4 PUSH2 0x1F3A JUMP JUMPDEST SWAP2 POP PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 DUP7 ADD MLOAD AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH2 0x1FED PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1F7C JUMP JUMPDEST POP PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0xA0 DUP7 ADD MSTORE POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0x1F NOT DUP6 DUP5 SUB ADD PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x2028 DUP4 DUP3 PUSH2 0x1F3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 DUP6 ADD MLOAD PUSH2 0x203E DUP3 DUP7 ADD DUP3 PUSH1 0xFF AND SWAP1 MSTORE JUMP JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x205A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x154D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2089 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2094 DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x20C0 DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x20ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FC DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1E73 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x84D DUP3 DUP5 PUSH2 0x1F7C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2127 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x213F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x215C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D4E DUP2 PUSH2 0x2061 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x219F JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x2183 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FC DUP6 DUP3 DUP7 ADD PUSH2 0x1EB1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP11 DUP4 MSTORE DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2202 DUP2 DUP5 ADD DUP12 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x40 DUP7 ADD MSTORE SWAP1 SWAP2 POP PUSH2 0x2222 PUSH1 0x60 DUP6 ADD DUP11 PUSH2 0x1F7C JUMP JUMPDEST DUP8 AND PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD DUP7 SWAP1 MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x2242 DUP2 DUP7 PUSH2 0x1F3A JUMP JUMPDEST SWAP2 POP POP PUSH1 0xFF DUP4 AND PUSH1 0xE0 DUP4 ADD MSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1D4E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x213F DUP2 PUSH2 0x2061 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x229E DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x229E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x22DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP5 ADD SWAP1 PUSH1 0xC0 DUP3 DUP8 SUB SLT ISZERO PUSH2 0x22F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22FA PUSH2 0x1DF1 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2305 DUP2 PUSH2 0x2061 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP5 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2318 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD SWAP2 POP PUSH1 0x1F DUP3 ADD DUP8 SGT PUSH2 0x232B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2339 PUSH2 0x1E81 DUP3 PUSH2 0x1E4B JUMP JUMPDEST DUP2 DUP2 MSTORE DUP9 DUP7 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x234D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x235C DUP3 DUP8 DUP4 ADD DUP9 DUP8 ADD PUSH2 0x1F16 JUMP JUMPDEST DUP3 DUP7 ADD MSTORE POP PUSH1 0x40 DUP4 DUP2 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x2377 PUSH1 0x60 DUP5 ADD PUSH2 0x2293 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x2392 PUSH1 0xA0 DUP5 ADD PUSH2 0x22A3 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x23B5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x23D5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x17F8 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2404 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1686 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2410 JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x243D JUMPI PUSH2 0x243D PUSH2 0x1DDB JUMP JUMPDEST PUSH2 0x2451 DUP2 PUSH2 0x244B DUP5 SLOAD PUSH2 0x23A1 JUMP JUMPDEST DUP5 PUSH2 0x23DB JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2486 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x246E JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1686 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x24B5 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2496 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x24D3 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1CB4 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2522 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x253B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2554 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1F16 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2570 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP3 PUSH2 0x22A3 JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220D3 0xB0 DUP1 0xE1 SWAP13 DUP9 RETURNDATACOPY MUL CALLCODE 0xC4 GAS PUSH10 0x6F8FC9FFE9B7D894958F GT TIMESTAMP 0xDA SWAP13 GASPRICE PUSH9 0x737D889A64736F6C63 NUMBER STOP ADDMOD AND STOP CALLER ", + "sourceMap": "632:6620:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2658:1096;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6770:115;;;;;;;;;;-1:-1:-1;6770:115:13;;;;;:::i;:::-;6830:7;6856:13;;;;;;;;;;:22;;;-1:-1:-1;;;;;6856:22:13;;6770:115;;;;-1:-1:-1;;;;;4439:32:17;;;4421:51;;4409:2;4394:18;6770:115:13;4275:203:17;1166:46:13;;;;;;;;;;-1:-1:-1;1166:46:13;;;;-1:-1:-1;;;;;1166:46:13;;;6530:110;;;;;;;;;;-1:-1:-1;6530:110:13;;;;;:::i;:::-;;:::i;1080:48::-;;;;;;;;;;-1:-1:-1;1080:48:13;;;;;:::i;:::-;;:::i;:::-;;;5327:25:17;;;5315:2;5300:18;1080:48:13;5181:177:17;4161:214:2;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;6646:114:13:-;;;;;;;;;;-1:-1:-1;6646:114:13;;;;;:::i;:::-;6704:10;6733:13;;;;;;;;;;:20;;;-1:-1:-1;;;6733:20:13;;;;;6646:114;;;;;;;;:::i;4886:584::-;;;;;;;;;;-1:-1:-1;4886:584:13;;;;;:::i;:::-;;:::i;6398:126::-;;;;;;;;;;-1:-1:-1;6398:126:13;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;3930:783:13:-;;;;;;;;;;-1:-1:-1;3930:783:13;;;;;:::i;:::-;;:::i;5619:773::-;;;;;;;;;;-1:-1:-1;5619:773:13;;;;;:::i;:::-;;:::i;1033:41::-;;;;;;;;;;-1:-1:-1;1033:41:13;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;2441:144:0:-;;;;;;;;;;-1:-1:-1;1313:22:0;2570:8;-1:-1:-1;;;;;2570:8:0;2441:144;;1819:58:2;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;1644:291:13:-;;;;;;;;;;-1:-1:-1;1644:291:13;;;;;:::i;:::-;;:::i;3405:215:0:-;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;2658:1096:13:-;2768:15;;:::i;:::-;2829:13;;:37;;-1:-1:-1;;;2829:37:13;;;;;5327:25:17;;;2795:31:13;;-1:-1:-1;;;;;2829:13:13;;:25;;5300:18:17;;2829:37:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2829:37:13;;;;;;;;;;;;:::i;:::-;2884:15;;2795:71;;-1:-1:-1;;;;;;2884:29:13;2876:67;;;;-1:-1:-1;;;2876:67:13;;11345:2:17;2876:67:13;;;11327:21:17;11384:2;11364:18;;;11357:30;11423:27;11403:18;;;11396:55;11468:18;;2876:67:13;;;;;;;;;2966:21;;;;-1:-1:-1;;;;;2966:35:13;2962:328;;3043:9;3025:8;:14;;;:27;3017:53;;;;-1:-1:-1;;;3017:53:13;;11699:2:17;3017:53:13;;;11681:21:17;11738:2;11718:18;;;11711:30;-1:-1:-1;;;11757:18:17;;;11750:43;11810:18;;3017:53:13;11497:337:17;3017:53:13;2962:328;;;3109:9;:14;3101:67;;;;-1:-1:-1;;;3101:67:13;;12041:2:17;3101:67:13;;;12023:21:17;12080:2;12060:18;;;12053:30;12119:34;12099:18;;;12092:62;-1:-1:-1;;;12170:18:17;;;12163:38;12218:19;;3101:67:13;11839:404:17;3101:67:13;3182:97;3214:8;:21;;;3237:10;3257:4;3264:8;:14;;;3182:31;:97::i;:::-;3330:10;;3300:21;3324:17;;;;;;;;;;3351:20;;;3381:11;;;:20;3395:6;3381:11;:20;:::i;:::-;-1:-1:-1;3411:11:13;;;;:24;;3425:10;-1:-1:-1;;;;;;3411:24:13;;;;;;;3445:15;;;:28;;;3499:15;;3483:13;;;:31;;;;;-1:-1:-1;;;;;3483:31:13;;;;;;;-1:-1:-1;3524:23:13;;;-1:-1:-1;3524:23:13;;;;;;;3553:10;;3524:40;;;;;;;;;;;;;;;;3574:33;;-1:-1:-1;;;;3574:33:13;-1:-1:-1;;;;3574:33:13;;;;-1:-1:-1;3646:15:13;;3663:10;;3675:19;;;;3622:81;;-1:-1:-1;;;;;3622:81:13;;;;3634:10;;3622:81;;;;3696:6;;3622:81;:::i;:::-;;;;;;;;3714:10;:12;;;:10;:12;;;:::i;:::-;;;;;;3743:4;3736:11;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3736:11:13;;;-1:-1:-1;;3736:11:13;;;;-1:-1:-1;;;;;3736:11:13;;;;;;;;;;;-1:-1:-1;;;3736:11:13;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3736:11:13;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3736:11:13;;;-1:-1:-1;;3736:11:13;;;;;;;;;;;;;;-1:-1:-1;;;2658:1096:13;;;;;:::o;6530:110::-;6586:15;;:::i;:::-;6620:5;:13;;;;;;;;;;;;6613:20;;;;;;;;;;;;;;;;;6620:13;;6613:20;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6613:20:13;;;-1:-1:-1;;6613:20:13;;;;-1:-1:-1;;;;;6613:20:13;;;;;;;;;;;-1:-1:-1;;;6613:20:13;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;6613:20:13;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6613:20:13;;;-1:-1:-1;;6613:20:13;;;;;;;;;;;;;;6530:110;-1:-1:-1;;6530:110:13:o;1080:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;4886:584:13:-;1291:5;:13;;;;;;;;;;:20;;;:13;;-1:-1:-1;;;;;1291:20:13;1277:10;:34;1269:73;;;;-1:-1:-1;;;1269:73:13;;15634:2:17;1269:73:13;;;15616:21:17;15673:2;15653:18;;;15646:30;15712:28;15692:18;;;15685:56;15758:18;;1269:73:13;15432:350:17;1269:73:13;4976:21:::1;5000:13:::0;;;::::1;::::0;;;;;;5047:20:::1;5032:11:::0;;::::1;::::0;-1:-1:-1;;;5032:11:13;::::1;;;:35;::::0;::::1;;;;;;:::i;:::-;;5024:69;;;::::0;-1:-1:-1;;;5024:69:13;;15989:2:17;5024:69:13::1;::::0;::::1;15971:21:17::0;16028:2;16008:18;;;16001:30;-1:-1:-1;;;16047:18:17;;;16040:51;16108:18;;5024:69:13::1;15787:345:17::0;5024:69:13::1;5111:11;::::0;::::1;::::0;::::1;;:16:::0;5103:52:::1;;;::::0;-1:-1:-1;;;5103:52:13;;16339:2:17;5103:52:13::1;::::0;::::1;16321:21:17::0;16378:2;16358:18;;;16351:30;16417:25;16397:18;;;16390:53;16460:18;;5103:52:13::1;16137:347:17::0;5103:52:13::1;5198:3;5188:6;:13;;;;5165:73;;;::::0;-1:-1:-1;;;5165:73:13;;16691:2:17;5165:73:13::1;::::0;::::1;16673:21:17::0;;;16710:18;;;16703:30;16769:34;16749:18;;;16742:62;16821:18;;5165:73:13::1;16489:356:17::0;5165:73:13::1;5257:11;::::0;::::1;:20:::0;;-1:-1:-1;;5257:20:13::1;;::::0;::::1;;::::0;;5321:13:::1;::::0;5347:15:::1;::::0;;::::1;::::0;5321:42:::1;::::0;-1:-1:-1;;;5321:42:13;;;;::::1;5327:25:17::0;-1:-1:-1;;;;;;;5321:13:13::1;::::0;:25:::1;::::0;5300:18:17;;5321:42:13::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;5321:42:13::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;5374:13;::::0;5398:15;;5374:48:::1;::::0;-1:-1:-1;;;5374:48:13;;-1:-1:-1;;;;;17040:32:17;;;5374:48:13::1;::::0;::::1;17022:51:17::0;17121:4;17109:17;;17089:18;;;17082:45;5398:15:13;;-1:-1:-1;5374:13:13::1;::::0;:23:::1;::::0;16995:18:17;;5374:48:13::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;5438:25:13::1;::::0;17499:4:17;17487:17;;17469:36;;5448:6:13;;5438:25:::1;::::0;17457:2:17;17442:18;5438:25:13::1;;;;;;;4966:504;;4886:584:::0;;;:::o;6398:126::-;-1:-1:-1;;;;;6498:19:13;;;;;;:11;:19;;;;;;;;;6491:26;;;;;;;;;;;;;;;;;6463:16;;6491:26;;;6498:19;6491:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6398:126;;;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;3930:783:13:-;4009:21;4033:13;;;;;;;;;;4078;;;;-1:-1:-1;;;;;4078:13:13;4064:10;:27;4056:54;;;;-1:-1:-1;;;4056:54:13;;17718:2:17;4056:54:13;;;17700:21:17;17757:2;17737:18;;;17730:30;-1:-1:-1;;;17776:18:17;;;17769:44;17830:18;;4056:54:13;17516:338:17;4056:54:13;4143:19;4128:11;;;;-1:-1:-1;;;4128:11:13;;;;:34;;;;;;;;:::i;:::-;;4120:66;;;;-1:-1:-1;;;4120:66:13;;18061:2:17;4120:66:13;;;18043:21:17;18100:2;18080:18;;;18073:30;-1:-1:-1;;;18119:18:17;;;18112:49;18178:18;;4120:66:13;17859:343:17;4120:66:13;4211:20;4197:11;;:34;;-1:-1:-1;;;;4197:34:13;-1:-1:-1;;;4197:34:13;;;4241:11;;;:20;4255:6;4241:11;:20;:::i;:::-;-1:-1:-1;4305:13:13;;4331:15;;;;;4305:42;;-1:-1:-1;;;4305:42:13;;;;;5327:25:17;4271:31:13;;-1:-1:-1;;;;;4305:13:13;;:25;;5300:18:17;;4305:42:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4305:42:13;;;;;;;;;;;;:::i;:::-;4370:21;;;;4271:76;;-1:-1:-1;;;;;;4370:35:13;4366:235;;4452:11;;;;4465:14;;;;4421:59;;-1:-1:-1;;;;;4452:11:13;;4421:30;:59::i;:::-;4366:235;;;4539:21;;;;4562:11;;;;4575:14;;;;4511:79;;4539:21;-1:-1:-1;;;;;4562:11:13;;4511:27;:79::i;:::-;4650:11;;;;4624:38;;4642:6;;4624:38;;;;-1:-1:-1;;;4650:11:13;;;;;4624:38;:::i;:::-;;;;;;;;4691:6;4677:29;4699:6;4677:29;;;;;;:::i;:::-;;;;;;;;3999:714;;3930:783;;:::o;5619:773::-;1291:5;:13;;;;;;;;;;:20;;;:13;;-1:-1:-1;;;;;1291:20:13;1277:10;:34;1269:73;;;;-1:-1:-1;;;1269:73:13;;15634:2:17;1269:73:13;;;15616:21:17;15673:2;15653:18;;;15646:30;15712:28;15692:18;;;15685:56;15758:18;;1269:73:13;15432:350:17;1269:73:13;5697:21:::1;5721:13:::0;;;::::1;::::0;;;;;;5767:20:::1;5752:11:::0;;::::1;::::0;-1:-1:-1;;;5752:11:13;::::1;;;:35;::::0;::::1;;;;;;:::i;:::-;;;:73;;;;-1:-1:-1::0;5806:19:13::1;5791:11;::::0;::::1;::::0;-1:-1:-1;;;5791:11:13;::::1;;;:34;::::0;::::1;;;;;;:::i;:::-;;;5752:73;5744:109;;;::::0;-1:-1:-1;;;5744:109:13;;18409:2:17;5744:109:13::1;::::0;::::1;18391:21:17::0;18448:2;18428:18;;;18421:30;18487:25;18467:18;;;18460:53;18530:18;;5744:109:13::1;18207:347:17::0;5744:109:13::1;5872:11;::::0;::::1;:33:::0;;-1:-1:-1;;;;;;;5872:33:13;;::::1;;::::0;;5886:19:::1;5949:13:::0;5975:15:::1;::::0;;::::1;::::0;5949:42:::1;::::0;-1:-1:-1;;;5949:42:13;;;;::::1;5327:25:17::0;-1:-1:-1;;;;;;;5949:13:13::1;::::0;:25:::1;::::0;5300:18:17;;5949:42:13::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;5949:42:13::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6058:21;::::0;::::1;::::0;5915:76;;-1:-1:-1;;;;;;6058:35:13::1;6054:235;;6140:11;::::0;::::1;::::0;6153:14:::1;::::0;::::1;::::0;6109:59:::1;::::0;-1:-1:-1;;;;;6140:11:13::1;::::0;6109:30:::1;:59::i;:::-;6054:235;;;6227:21;::::0;::::1;::::0;6250:11:::1;::::0;::::1;::::0;6263:14:::1;::::0;::::1;::::0;6199:79:::1;::::0;6227:21;-1:-1:-1;;;;;6250:11:13::1;::::0;6199:27:::1;:79::i;:::-;6338:11;::::0;::::1;::::0;6312:38:::1;::::0;6330:6;;6312:38:::1;::::0;::::1;::::0;-1:-1:-1;;;6338:11:13;::::1;;;::::0;6312:38:::1;:::i;:::-;;;;;;;;6365:20;::::0;6378:6;;6365:20:::1;::::0;;;::::1;5687:705;;5619:773:::0;;:::o;1033:41::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1033:41:13;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1033:41:13;;;;-1:-1:-1;;;1033:41:13;;;;;;-1:-1:-1;1033:41:13;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1033:41:13;;;;;;;-1:-1:-1;;1033:41:13;;;:::o;1644:291::-;4158:30:1;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:1;-1:-1:-1;;;4302:15:1;;;4301:16;;4348:14;;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;:16;;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;1782:26:13::1;1797:10;1782:14;:26::i;:::-;1818:24;:22;:24::i;:::-;1861:10;:27:::0;;;1898:13:::1;:30:::0;;-1:-1:-1;;;;;;1898:30:13::1;-1:-1:-1::0;;;;;1898:30:13;::::1;;::::0;;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;18712:50:17;;5140:14:1;;18700:2:17;18685:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;1644:291:13;;:::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;4421:51:17::0;4394:18;;3534:31:0::1;4275:203:17::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;1081:486:16:-;1345:51;;;-1:-1:-1;;;;;19031:15:17;;;1345:51:16;;;19013:34:17;19083:15;;;19063:18;;;19056:43;19115:18;;;;19108:34;;;1345:51:16;;;;;;;;;;18948:18:17;;;;1345:51:16;;;;;;;-1:-1:-1;;;;;1345:51:16;-1:-1:-1;;;1345:51:16;;;1334:63;;-1:-1:-1;;;;1334:10:16;;;;:63;;1345:51;1334:63;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1298:99;;;;1428:7;:57;;;;-1:-1:-1;1440:11:16;;:16;;:44;;;1471:4;1460:24;;;;;;;;;;;;:::i;:::-;1407:153;;;;-1:-1:-1;;;1407:153:16;;19854:2:17;1407:153:16;;;19836:21:17;19893:2;19873:18;;;19866:30;19932:34;19912:18;;;19905:62;-1:-1:-1;;;19983:18:17;;;19976:47;20040:19;;1407:153:16;19652:413:17;1407:153:16;1210:357;;1081:486;;;;:::o;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:6;-1:-1:-1;;;;;1519:53:6;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;7074:84:13;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;4439:32:17;;6493:60:2;;;4421:51:17;4394:18;;6493:60:2;4275:203:17;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;5327:25:17;;;5300:18;;6292:34:2;5181:177:17;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;:::-;6184:235;6032:538;;:::o;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;2658:162:0;966:10:3;2717:7:0;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144;2717:7;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;4421:51:17;4394:18;;2763:40:0;4275:203:17;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;1573:214:16:-;1685:12;;;1645;1685;;;;;;;;;-1:-1:-1;;;;;1663:7:16;;;1678:5;;1663:35;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1644:54;;;1716:7;1708:72;;;;-1:-1:-1;;;1708:72:16;;20461:2:17;1708:72:16;;;20443:21:17;20500:2;20480:18;;;20473:30;20539:34;20519:18;;;20512:62;-1:-1:-1;;;20590:18:17;;;20583:50;20650:19;;1708:72:16;20259:416:17;637:438:16;863:45;;;-1:-1:-1;;;;;20872:32:17;;;863:45:16;;;20854:51:17;20921:18;;;;20914:34;;;863:45:16;;;;;;;;;;20827:18:17;;;;863:45:16;;;;;;;-1:-1:-1;;;;;863:45:16;-1:-1:-1;;;863:45:16;;;852:57;;-1:-1:-1;;;;852:10:16;;;;:57;;863:45;852:57;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;816:93;;;;940:7;:57;;;;-1:-1:-1;952:11:16;;:16;;:44;;;983:4;972:24;;;;;;;;;;;;:::i;:::-;919:149;;;;-1:-1:-1;;;919:149:16;;21161:2:17;919:149:16;;;21143:21:17;21200:2;21180:18;;;21173:30;21239:34;21219:18;;;21212:62;-1:-1:-1;;;21290:18:17;;;21283:43;21343:19;;919:149:16;20959:409:17;919:149:16;740:335;;637:438;;;:::o;9071:205:1:-;9129:30;;3147:66;9186:27;8819:122;1847:127:0;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;2264:344:6:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:6;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7082:141:1:-;7149:17;:15;:17::i;:::-;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;1671:281:6:-;1748:17;-1:-1:-1;;;;;1748:29:6;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:6;;-1:-1:-1;;;;;4439:32:17;;1805:47:6;;;4421:51:17;4394:18;;1805:47:6;4275:203:17;1744:119:6;-1:-1:-1;;;;;;;;;;;1872:73:6;;-1:-1:-1;;;;;;1872:73:6;-1:-1:-1;;;;;1872:73:6;;;;;;;;;;1671:281::o;3916:253:8:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:8;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:8:o;6113:122:6:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:6;;;;;;;;;;;8485:120:1;8535:4;8558:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8558:40:1;;;;;;-1:-1:-1;8485:120:1:o;4437:582:8:-;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:8;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:8;;-1:-1:-1;;;;;4439:32:17;;4933:24:8;;;4421:51:17;4394:18;;4933:24:8;4275:203:17;4853:119:8;-1:-1:-1;4992:10:8;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:8;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:127:17:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:253;218:2;212:9;260:4;248:17;;295:18;280:34;;316:22;;;277:62;274:88;;;342:18;;:::i;:::-;378:2;371:22;146:253;:::o;404:275::-;475:2;469:9;540:2;521:13;;-1:-1:-1;;517:27:17;505:40;;575:18;560:34;;596:22;;;557:62;554:88;;;622:18;;:::i;:::-;658:2;651:22;404:275;;-1:-1:-1;404:275:17:o;684:187::-;733:4;766:18;758:6;755:30;752:56;;;788:18;;:::i;:::-;-1:-1:-1;854:2:17;833:15;-1:-1:-1;;829:29:17;860:4;825:40;;684:187::o;876:338::-;941:5;970:53;986:36;1015:6;986:36;:::i;:::-;970:53;:::i;:::-;961:62;;1046:6;1039:5;1032:21;1086:3;1077:6;1072:3;1068:16;1065:25;1062:45;;;1103:1;1100;1093:12;1062:45;1152:6;1147:3;1140:4;1133:5;1129:16;1116:43;1206:1;1199:4;1190:6;1183:5;1179:18;1175:29;1168:40;876:338;;;;;:::o;1219:222::-;1262:5;1315:3;1308:4;1300:6;1296:17;1292:27;1282:55;;1333:1;1330;1323:12;1282:55;1355:80;1431:3;1422:6;1409:20;1402:4;1394:6;1390:17;1355:80;:::i;1446:390::-;1524:6;1532;1585:2;1573:9;1564:7;1560:23;1556:32;1553:52;;;1601:1;1598;1591:12;1553:52;1641:9;1628:23;1674:18;1666:6;1663:30;1660:50;;;1706:1;1703;1696:12;1660:50;1729;1771:7;1762:6;1751:9;1747:22;1729:50;:::i;:::-;1719:60;1826:2;1811:18;;;;1798:32;;-1:-1:-1;;;;1446:390:17:o;1841:250::-;1926:1;1936:113;1950:6;1947:1;1944:13;1936:113;;;2026:11;;;2020:18;2007:11;;;2000:39;1972:2;1965:10;1936:113;;;-1:-1:-1;;2083:1:17;2065:16;;2058:27;1841:250::o;2096:271::-;2138:3;2176:5;2170:12;2203:6;2198:3;2191:19;2219:76;2288:6;2281:4;2276:3;2272:14;2265:4;2258:5;2254:16;2219:76;:::i;:::-;2349:2;2328:15;-1:-1:-1;;2324:29:17;2315:39;;;;2356:4;2311:50;;2096:271;-1:-1:-1;;2096:271:17:o;2481:127::-;2542:10;2537:3;2533:20;2530:1;2523:31;2573:4;2570:1;2563:15;2597:4;2594:1;2587:15;2613:238;2695:1;2688:5;2685:12;2675:143;;2740:10;2735:3;2731:20;2728:1;2721:31;2775:4;2772:1;2765:15;2803:4;2800:1;2793:15;2675:143;2827:18;;2613:238::o;2936:1149::-;3117:2;3106:9;3099:21;3162:6;3156:13;3151:2;3140:9;3136:18;3129:41;3080:4;3217:2;3209:6;3205:15;3199:22;3240:6;3282:2;3277;3266:9;3262:18;3255:30;3308:52;3355:3;3344:9;3340:19;3326:12;3308:52;:::i;:::-;3294:66;;3441:1;3437;3432:3;3428:11;3424:19;3418:2;3410:6;3406:15;3400:22;3396:48;3391:2;3380:9;3376:18;3369:76;3494:2;3486:6;3482:15;3476:22;3507:63;3565:3;3554:9;3550:19;3534:14;3507:63;:::i;:::-;-1:-1:-1;3619:3:17;3607:16;;3601:23;-1:-1:-1;;;;;2438:31:17;;3683:3;3668:19;;2426:44;3633:55;3743:3;3735:6;3731:16;3725:23;3719:3;3708:9;3704:19;3697:52;3798:3;3790:6;3786:16;3780:23;3872:2;3868:7;3856:9;3848:6;3844:22;3840:36;3834:3;3823:9;3819:19;3812:65;3900:41;3934:6;3918:14;3900:41;:::i;:::-;3886:55;;;3990:3;3982:6;3978:16;3972:23;4004:52;4052:2;4041:9;4037:18;4021:14;2923:4;2912:16;2900:29;;2856:75;4004:52;-1:-1:-1;4073:6:17;;2936:1149;-1:-1:-1;;;;2936:1149:17:o;4090:180::-;4149:6;4202:2;4190:9;4181:7;4177:23;4173:32;4170:52;;;4218:1;4215;4208:12;4170:52;-1:-1:-1;4241:23:17;;4090:180;-1:-1:-1;4090:180:17:o;4725:131::-;-1:-1:-1;;;;;4800:31:17;;4790:42;;4780:70;;4846:1;4843;4836:12;4861:315;4929:6;4937;4990:2;4978:9;4969:7;4965:23;4961:32;4958:52;;;5006:1;5003;4996:12;4958:52;5045:9;5032:23;5064:31;5089:5;5064:31;:::i;:::-;5114:5;5166:2;5151:18;;;;5138:32;;-1:-1:-1;;;4861:315:17:o;5363:585::-;5440:6;5448;5501:2;5489:9;5480:7;5476:23;5472:32;5469:52;;;5517:1;5514;5507:12;5469:52;5556:9;5543:23;5575:31;5600:5;5575:31;:::i;:::-;5625:5;-1:-1:-1;5681:2:17;5666:18;;5653:32;5708:18;5697:30;;5694:50;;;5740:1;5737;5730:12;5694:50;5763:22;;5816:4;5808:13;;5804:27;-1:-1:-1;5794:55:17;;5845:1;5842;5835:12;5794:55;5868:74;5934:7;5929:2;5916:16;5911:2;5907;5903:11;5868:74;:::i;:::-;5858:84;;;5363:585;;;;;:::o;6135:210::-;6282:2;6267:18;;6294:45;6271:9;6321:6;6294:45;:::i;6350:337::-;6416:6;6424;6477:2;6465:9;6456:7;6452:23;6448:32;6445:52;;;6493:1;6490;6483:12;6445:52;6529:9;6516:23;6506:33;;6589:2;6578:9;6574:18;6561:32;6633:4;6626:5;6622:16;6615:5;6612:27;6602:55;;6653:1;6650;6643:12;6602:55;6676:5;6666:15;;;6350:337;;;;;:::o;6692:247::-;6751:6;6804:2;6792:9;6783:7;6779:23;6775:32;6772:52;;;6820:1;6817;6810:12;6772:52;6859:9;6846:23;6878:31;6903:5;6878:31;:::i;6944:632::-;7115:2;7167:21;;;7237:13;;7140:18;;;7259:22;;;7086:4;;7115:2;7338:15;;;;7312:2;7297:18;;;7086:4;7381:169;7395:6;7392:1;7389:13;7381:169;;;7456:13;;7444:26;;7525:15;;;;7490:12;;;;7417:1;7410:9;7381:169;;;-1:-1:-1;7567:3:17;;6944:632;-1:-1:-1;;;;;;6944:632:17:o;7581:390::-;7659:6;7667;7720:2;7708:9;7699:7;7695:23;7691:32;7688:52;;;7736:1;7733;7726:12;7688:52;7772:9;7759:23;7749:33;;7833:2;7822:9;7818:18;7805:32;7860:18;7852:6;7849:30;7846:50;;;7892:1;7889;7882:12;7846:50;7915;7957:7;7948:6;7937:9;7933:22;7915:50;:::i;7976:931::-;8313:4;8342:3;8372:6;8361:9;8354:25;8415:2;8410;8399:9;8395:18;8388:30;8441:45;8482:2;8471:9;8467:18;8459:6;8441:45;:::i;:::-;-1:-1:-1;;;;;8560:15:17;;;8555:2;8540:18;;8533:43;8427:59;;-1:-1:-1;8585:54:17;8635:2;8620:18;;8612:6;8585:54;:::i;:::-;8676:15;;8670:3;8655:19;;8648:44;8723:3;8708:19;;8701:35;;;8773:22;;;8767:3;8752:19;;8745:51;8813:33;8777:6;8831;8813:33;:::i;:::-;8805:41;;;8895:4;8887:6;8883:17;8877:3;8866:9;8862:19;8855:46;7976:931;;;;;;;;;;;:::o;8912:220::-;9061:2;9050:9;9043:21;9024:4;9081:45;9122:2;9111:9;9107:18;9099:6;9081:45;:::i;9137:349::-;9239:6;9247;9300:2;9288:9;9279:7;9275:23;9271:32;9268:52;;;9316:1;9313;9306:12;9268:52;9352:9;9339:23;9329:33;;9412:2;9401:9;9397:18;9384:32;9425:31;9450:5;9425:31;:::i;9491:138::-;9570:13;;9592:31;9570:13;9592:31;:::i;:::-;9491:138;;;:::o;9634:164::-;9710:13;;9759;;9752:21;9742:32;;9732:60;;9788:1;9785;9778:12;9803:1335;9906:6;9937:2;9980;9968:9;9959:7;9955:23;9951:32;9948:52;;;9996:1;9993;9986:12;9948:52;10029:9;10023:16;10058:18;10099:2;10091:6;10088:14;10085:34;;;10115:1;10112;10105:12;10085:34;10138:22;;;;10194:4;10176:16;;;10172:27;10169:47;;;10212:1;10209;10202:12;10169:47;10238:22;;:::i;:::-;10290:2;10284:9;10302:33;10327:7;10302:33;:::i;:::-;10344:22;;10397:11;;;10391:18;10421:16;;;10418:36;;;10450:1;10447;10440:12;10418:36;10473:17;;;-1:-1:-1;10521:4:17;10513:13;;10509:27;-1:-1:-1;10499:55:17;;10550:1;10547;10540:12;10499:55;10579:2;10573:9;10604:49;10620:32;10649:2;10620:32;:::i;10604:49::-;10676:2;10669:5;10662:17;10716:7;10711:2;10706;10702;10698:11;10694:20;10691:33;10688:53;;;10737:1;10734;10727:12;10688:53;10750:67;10814:2;10809;10802:5;10798:14;10793:2;10789;10785:11;10750:67;:::i;:::-;10833:14;;;10826:29;-1:-1:-1;10901:2:17;10893:11;;;10887:18;10871:14;;;10864:42;10938;10976:2;10968:11;;10938:42;:::i;:::-;10933:2;10926:5;10922:14;10915:66;11028:3;11024:2;11020:12;11014:19;11008:3;11001:5;10997:15;10990:44;11067:40;11102:3;11098:2;11094:12;11067:40;:::i;:::-;11061:3;11050:15;;11043:65;11054:5;9803:1335;-1:-1:-1;;;;;;9803:1335:17:o;12248:380::-;12327:1;12323:12;;;;12370;;;12391:61;;12445:4;12437:6;12433:17;12423:27;;12391:61;12498:2;12490:6;12487:14;12467:18;12464:38;12461:161;;12544:10;12539:3;12535:20;12532:1;12525:31;12579:4;12576:1;12569:15;12607:4;12604:1;12597:15;12461:161;;12248:380;;;:::o;12759:543::-;12861:2;12856:3;12853:11;12850:446;;;12897:1;12921:5;12918:1;12911:16;12965:4;12962:1;12952:18;13035:2;13023:10;13019:19;13016:1;13012:27;13006:4;13002:38;13071:4;13059:10;13056:20;13053:47;;;-1:-1:-1;13094:4:17;13053:47;13149:2;13144:3;13140:12;13137:1;13133:20;13127:4;13123:31;13113:41;;13204:82;13222:2;13215:5;13212:13;13204:82;;;13267:17;;;13248:1;13237:13;13204:82;;13478:1345;13604:3;13598:10;13631:18;13623:6;13620:30;13617:56;;;13653:18;;:::i;:::-;13682:97;13772:6;13732:38;13764:4;13758:11;13732:38;:::i;:::-;13726:4;13682:97;:::i;:::-;13834:4;;13891:2;13880:14;;13908:1;13903:663;;;;14610:1;14627:6;14624:89;;;-1:-1:-1;14679:19:17;;;14673:26;14624:89;-1:-1:-1;;13435:1:17;13431:11;;;13427:24;13423:29;13413:40;13459:1;13455:11;;;13410:57;14726:81;;13873:944;;13903:663;12706:1;12699:14;;;12743:4;12730:18;;-1:-1:-1;;13939:20:17;;;14057:236;14071:7;14068:1;14065:14;14057:236;;;14160:19;;;14154:26;14139:42;;14252:27;;;;14220:1;14208:14;;;;14087:19;;14057:236;;;14061:3;14321:6;14312:7;14309:19;14306:201;;;14382:19;;;14376:26;-1:-1:-1;;14465:1:17;14461:14;;;14477:3;14457:24;14453:37;14449:42;14434:58;14419:74;;14306:201;-1:-1:-1;;;;;14553:1:17;14537:14;;;14533:22;14520:36;;-1:-1:-1;13478:1345:17:o;14828:362::-;15033:6;15022:9;15015:25;15076:6;15071:2;15060:9;15056:18;15049:34;15119:2;15114;15103:9;15099:18;15092:30;14996:4;15139:45;15180:2;15169:9;15165:18;15157:6;15139:45;:::i;15195:232::-;15234:3;15255:17;;;15252:140;;15314:10;15309:3;15305:20;15302:1;15295:31;15349:4;15346:1;15339:15;15377:4;15374:1;15367:15;15252:140;-1:-1:-1;15419:1:17;15408:13;;15195:232::o;17138:184::-;17208:6;17261:2;17249:9;17240:7;17236:23;17232:32;17229:52;;;17277:1;17274;17267:12;17229:52;-1:-1:-1;17300:16:17;;17138:184;-1:-1:-1;17138:184:17:o;19153:287::-;19282:3;19320:6;19314:13;19336:66;19395:6;19390:3;19383:4;19375:6;19371:17;19336:66;:::i;:::-;19418:16;;;;;19153:287;-1:-1:-1;;19153:287:17:o;19445:202::-;19512:6;19565:2;19553:9;19544:7;19540:23;19536:32;19533:52;;;19581:1;19578;19571:12;19533:52;19604:37;19631:9;19604:37;:::i" }, "methodIdentifiers": { "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", @@ -98019,7 +97999,7 @@ "upgradeToAndCall(address,bytes)": "4f1ef286" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"indexed\":false,\"internalType\":\"struct IProposalStruct.ServiceProposal\",\"name\":\"proposal\",\"type\":\"tuple\"}],\"name\":\"ProposalApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"TaskAssigned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"TaskCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"}],\"name\":\"TaskCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"}],\"name\":\"TaskCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"name\":\"TaskRated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"TaskStatusChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"agentRegistry\",\"outputs\":[{\"internalType\":\"contract AgentsRegistryUpgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"cancelTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"}],\"name\":\"completeTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"createTask\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"internalType\":\"struct TaskRegistryUpgradeable.TaskData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getAssignee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getStatus\",\"outputs\":[{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getTask\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"internalType\":\"struct TaskRegistryUpgradeable.TaskData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"}],\"name\":\"getTasksByIssuer\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_initialTaskId\",\"type\":\"uint256\"},{\"internalType\":\"contract AgentsRegistryUpgradeable\",\"name\":\"_agentRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"issuerTasks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"name\":\"rateTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tasks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"cancelTask(uint256)\":{\"details\":\"Cancels a task that is in ASSIGNED status and refunds the payment.\",\"params\":{\"taskId\":\"The ID of the task to cancel.\"}},\"completeTask(uint256,string)\":{\"details\":\"Completes a task with the given result.\",\"params\":{\"result\":\"The result or output of the completed task.\",\"taskId\":\"The ID of the task.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"createTask(string,uint256)\":{\"details\":\"Creates a new task with the given prompt and task type.\",\"params\":{\"prompt\":\"The description or prompt of the task.\"},\"returns\":{\"_0\":\"taskId The ID of the newly created task.\"}},\"initialize(uint256,address)\":{\"details\":\"Initializes the contract\",\"params\":{\"_agentRegistry\":\"The address of the agent registry\",\"_initialTaskId\":\"The starting task ID\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"rateTask(uint256,uint8)\":{\"details\":\"Rated a completed task, called by the task issuer\",\"params\":{\"rating\":\"task rating from 0 to 100.\",\"taskId\":\"The ID of the task.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"TaskRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the tasks issued for the agent service providers.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/TaskRegistryUpgradeable.sol\":\"TaskRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xe5149f631a8e1a7a69acb078fe71de57ee8cceafd8fbd853f7e06608123c76a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31c481c3cc50228da8d41963f7c84a3d1c29a5ef31e6fee38857a7cdbe4e884e\",\"dweb:/ipfs/QmYFgcoeARWkTwEks7Vie9ezcFmHssGYAqxDfo5TnUkdBc\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/TaskRegistryUpgradeable.sol\":{\"keccak256\":\"0x8c98c70f875182d2dbe2a48f876c5cb2a1390a870f141da866bbddb942b85412\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c14e11e8c0f847a45a2a51883331be3d7f6a19a2acf07155348573bb1691641\",\"dweb:/ipfs/QmZB7g57f3qv8Hj3WwssBhMVjPyf9wcQt5zs1WzNYC8Hvd\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]},\"contracts/lib/TransferHelper.sol\":{\"keccak256\":\"0x65e08c88e7925dc1d5c0f7e774896f11af45bca8067ceeaa35ff4c93128c62c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd6919f03addec5eb18403934c51848d7e4f71f44359d429755cc82155d3e072\",\"dweb:/ipfs/QmeNazpowCEm8Q54cSoHPtvF5wofLnrAwVh4g71G4oVZ1w\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"indexed\":false,\"internalType\":\"struct IProposalStruct.ServiceProposal\",\"name\":\"proposal\",\"type\":\"tuple\"}],\"name\":\"ProposalApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"TaskAssigned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"TaskCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"}],\"name\":\"TaskCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"}],\"name\":\"TaskCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"name\":\"TaskRated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"TaskStatusChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"agentRegistry\",\"outputs\":[{\"internalType\":\"contract AgentsRegistryUpgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"cancelTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"}],\"name\":\"completeTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"createTask\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"internalType\":\"struct TaskRegistryUpgradeable.TaskData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getAssignee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getStatus\",\"outputs\":[{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getTask\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"internalType\":\"struct TaskRegistryUpgradeable.TaskData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"}],\"name\":\"getTasksByIssuer\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_initialTaskId\",\"type\":\"uint256\"},{\"internalType\":\"contract AgentsRegistryUpgradeable\",\"name\":\"_agentRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"issuerTasks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"name\":\"rateTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tasks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"cancelTask(uint256)\":{\"details\":\"Cancels a task that is in ASSIGNED status and refunds the payment.\",\"params\":{\"taskId\":\"The ID of the task to cancel.\"}},\"completeTask(uint256,string)\":{\"details\":\"Completes a task with the given result.\",\"params\":{\"result\":\"The result or output of the completed task.\",\"taskId\":\"The ID of the task.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"createTask(string,uint256)\":{\"details\":\"Creates a new task with the given prompt and task type.\",\"params\":{\"prompt\":\"The description or prompt of the task.\"},\"returns\":{\"_0\":\"taskId The ID of the newly created task.\"}},\"initialize(uint256,address)\":{\"details\":\"Initializes the contract\",\"params\":{\"_agentRegistry\":\"The address of the agent registry\",\"_initialTaskId\":\"The starting task ID\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"rateTask(uint256,uint8)\":{\"details\":\"Rated a completed task, called by the task issuer\",\"params\":{\"rating\":\"task rating from 0 to 100.\",\"taskId\":\"The ID of the task.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"TaskRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the tasks issued for the agent service providers.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/TaskRegistryUpgradeable.sol\":\"TaskRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xe5149f631a8e1a7a69acb078fe71de57ee8cceafd8fbd853f7e06608123c76a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31c481c3cc50228da8d41963f7c84a3d1c29a5ef31e6fee38857a7cdbe4e884e\",\"dweb:/ipfs/QmYFgcoeARWkTwEks7Vie9ezcFmHssGYAqxDfo5TnUkdBc\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/TaskRegistryUpgradeable.sol\":{\"keccak256\":\"0x8c98c70f875182d2dbe2a48f876c5cb2a1390a870f141da866bbddb942b85412\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c14e11e8c0f847a45a2a51883331be3d7f6a19a2acf07155348573bb1691641\",\"dweb:/ipfs/QmZB7g57f3qv8Hj3WwssBhMVjPyf9wcQt5zs1WzNYC8Hvd\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]},\"contracts/lib/TransferHelper.sol\":{\"keccak256\":\"0x65e08c88e7925dc1d5c0f7e774896f11af45bca8067ceeaa35ff4c93128c62c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd6919f03addec5eb18403934c51848d7e4f71f44359d429755cc82155d3e072\",\"dweb:/ipfs/QmeNazpowCEm8Q54cSoHPtvF5wofLnrAwVh4g71G4oVZ1w\"]}},\"version\":1}", "storageLayout": { "storage": [ { diff --git a/packages/contracts/ignition/deployments/chain-50312/journal.jsonl b/packages/contracts/ignition/deployments/chain-50312/journal.jsonl new file mode 100644 index 0000000..adc3a75 --- /dev/null +++ b/packages/contracts/ignition/deployments/chain-50312/journal.jsonl @@ -0,0 +1,5 @@ + +{"chainId":50312,"type":"DEPLOYMENT_INITIALIZE"} +{"artifactId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","constructorArgs":[],"contractName":"AgentsRegistryUpgradeable","dependencies":[],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","networkInteraction":{"data":"0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb062000104600039600081816118f0015281816119190152611a5a0152612eb06000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","networkInteractionId":1,"nonce":0,"type":"TRANSACTION_PREPARE_SEND"} \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.dbg.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.dbg.json index e233517..26a6898 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.dbg.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/92a867347047d071fbd362c460decd54.json" + "buildInfo": "../build-info/fab9518c2cef19300334ce4b9b347f6b.json" } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.json index 6a3390d..0991120 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryImpl.json @@ -883,8 +883,8 @@ "type": "function" } ], - "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb162000104600039600081816118f0015281816119190152611a5a0152612eb16000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d4565b610544565b6040516101b89695949392919061223d565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f5565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ac565b610736565b6101e16102353660046124e5565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612548565b6108a8565b34801561027b57600080fd5b506101f961028a366004612565565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612591565b610bd9565b3480156102d057600080fd5b506102e46102df366004612565565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612591565b610d9d565b34801561034d57600080fd5b506101e161035c366004612548565b610ecf565b34801561036d57600080fd5b506101f961037c366004612548565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612548565b611035565b6040516101b89190612606565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612682565b34801561043157600080fd5b506101e1610440366004612695565b611207565b34801561045157600080fd5b506101e1610460366004612548565b61130e565b34801561047157600080fd5b506104856104803660046121d4565b611380565b6040516101b89190612700565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612548565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612548565b61153a565b34801561051e57600080fd5b5061053261052d366004612548565b611578565b6040516101b896959493929190612768565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bc565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f6565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612682565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612842565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5c83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f6565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b5565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612994565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a7565b6001600160a01b038616600090815260036020526040902060040154610b3491906129ba565b610b3e9190612994565b610b4891906129d1565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f6565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f3565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a72565b506001600160a01b0384166000908152600360205260409020600101610e858382612a72565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b31565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612186565b610fc7600183016000612186565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bc565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bc565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f3565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612682565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612842565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bc565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bc565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bc565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a72565b50600181016116fd8582612a72565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b31565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a72565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b56565b60405180910390a26005805490600061189783612b90565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5c833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba9565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5c8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba9565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc2565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612682565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612842565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c66565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612682565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c83565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d48565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8b565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3f565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612192906127bc565b6000825580601f106121a2575050565b601f01602090049060005260206000209081019061157591905b808211156121d057600081556001016121bc565b5090565b6000602082840312156121e657600080fd5b5035919050565b60005b838110156122085781810151838201526020016121f0565b50506000910152565b600081518084526122298160208601602086016121ed565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225f60c0840189612211565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d4576122d461229c565b60405290565b60405160a081016001600160401b03811182821017156122d4576122d461229c565b604051608081016001600160401b03811182821017156122d4576122d461229c565b604051606081016001600160401b03811182821017156122d4576122d461229c565b604051601f8201601f191681016001600160401b03811182821017156123685761236861229c565b604052919050565b60006001600160401b038211156123895761238961229c565b50601f01601f191660200190565b60006123aa6123a584612370565b612340565b90508281528383830111156123be57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e657600080fd5b61215683833560208501612397565b60008060008060008060c0878903121561240e57600080fd5b863561241981612287565b955060208701356001600160401b038082111561243557600080fd5b6124418a838b016123d5565b9650604089013591508082111561245757600080fd5b6124638a838b016123d5565b9550606089013591508082111561247957600080fd5b5061248689828a016123d5565b9350506080870135915060a087013561249e81612287565b809150509295509295509295565b600080604083850312156124bf57600080fd5b82356124ca81612287565b915060208301356124da81612287565b809150509250929050565b600080604083850312156124f857600080fd5b823561250381612287565b915060208301356001600160401b0381111561251e57600080fd5b8301601f8101851361252f57600080fd5b61253e85823560208401612397565b9150509250929050565b60006020828403121561255a57600080fd5b813561215681612287565b6000806040838503121561257857600080fd5b823561258381612287565b946020939093013593505050565b6000806000606084860312156125a657600080fd5b83356125b181612287565b925060208401356001600160401b03808211156125cd57600080fd5b6125d9878388016123d5565b935060408601359150808211156125ef57600080fd5b506125fc868287016123d5565b9150509250925092565b602081526000825160c0602084015261262260e0840182612211565b90506020840151601f1984830301604085015261263f8282612211565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612211565b600080600080608085870312156126ab57600080fd5b84356126b681612287565b935060208501356001600160401b038111156126d157600080fd5b6126dd878288016123d5565b9350506040850135915060608501356126f581612287565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272f60e0850182612211565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277b60c0830189612211565b828103602084015261278d8189612211565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127d057607f821691505b6020821081036127f057634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283d57600080fd5b919050565b60006020828403121561285457600080fd5b6121568261282d565b600082601f83011261286e57600080fd5b815161287c6123a582612370565b81815284602083860101111561289157600080fd5b6128a28260208301602087016121ed565b949350505050565b805161283d81612287565b6000602082840312156128c757600080fd5b81516001600160401b03808211156128de57600080fd5b9083019060c082860312156128f257600080fd5b6128fa6122b2565b82518281111561290957600080fd5b6129158782860161285d565b82525060208301518281111561292a57600080fd5b6129368782860161285d565b602083015250612948604084016128aa565b6040820152612959606084016128aa565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297e565b81810381811115610bbf57610bbf61297e565b8082028115828204841417610bbf57610bbf61297e565b6000826129ee57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a535750805b601f850160051c820191505b8181101561072e57828155600101612a5f565b81516001600160401b03811115612a8b57612a8b61229c565b612a9f81612a9984546127bc565b84612a2a565b602080601f831160018114612ad45760008415612abc5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0357888601518255948401946001909101908401612ae4565b5085821015612b215787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b446040830185612211565b82810360208401526120d68185612211565b848152608060208201526000612b6f6080830186612211565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba257612ba261297e565b5060010190565b600060208284031215612bbb57600080fd5b5051919050565b600060208284031215612bd457600080fd5b81516001600160401b0380821115612beb57600080fd5b9083019060a08286031215612bff57600080fd5b612c076122da565b8251612c1281612287565b8152602083015182811115612c2657600080fd5b612c328782860161285d565b6020830152506040830151604082015260608301516060820152612c586080840161282d565b608082015295945050505050565b600060208284031215612c7857600080fd5b815161215681612287565b600060208284031215612c9557600080fd5b81516001600160401b0380821115612cac57600080fd5b9083019060808286031215612cc057600080fd5b612cc86122fc565b825182811115612cd757600080fd5b612ce38782860161285d565b825250602083015182811115612cf857600080fd5b612d048782860161285d565b602083015250604083015182811115612d1c57600080fd5b612d288782860161285d565b604083015250612d3a6060840161282d565b606082015295945050505050565b606081526000612d5b6060830186612211565b8281036020840152612d6d8186612211565b90508281036040840152612d818185612211565b9695505050505050565b600060208284031215612d9d57600080fd5b81516001600160401b0380821115612db457600080fd5b9083019060608286031215612dc857600080fd5b612dd061231e565b825182811115612ddf57600080fd5b612deb8782860161285d565b825250602083015182811115612e0057600080fd5b612e0c8782860161285d565b602083015250604083015182811115612e2457600080fd5b612e308782860161285d565b60408301525095945050505050565b60008251612e518184602087016121ed565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c34ae9367ae33ccdec2ae0c3c4929f6e386373f088b7309b6dccdc0f92542dcf64736f6c63430008160033", - "deployedBytecode": "0x6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d4565b610544565b6040516101b89695949392919061223d565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f5565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ac565b610736565b6101e16102353660046124e5565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612548565b6108a8565b34801561027b57600080fd5b506101f961028a366004612565565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612591565b610bd9565b3480156102d057600080fd5b506102e46102df366004612565565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612591565b610d9d565b34801561034d57600080fd5b506101e161035c366004612548565b610ecf565b34801561036d57600080fd5b506101f961037c366004612548565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612548565b611035565b6040516101b89190612606565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612682565b34801561043157600080fd5b506101e1610440366004612695565b611207565b34801561045157600080fd5b506101e1610460366004612548565b61130e565b34801561047157600080fd5b506104856104803660046121d4565b611380565b6040516101b89190612700565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612548565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612548565b61153a565b34801561051e57600080fd5b5061053261052d366004612548565b611578565b6040516101b896959493929190612768565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bc565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f6565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612682565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612842565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5c83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f6565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b5565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612994565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a7565b6001600160a01b038616600090815260036020526040902060040154610b3491906129ba565b610b3e9190612994565b610b4891906129d1565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f6565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f3565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a72565b506001600160a01b0384166000908152600360205260409020600101610e858382612a72565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b31565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612186565b610fc7600183016000612186565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bc565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bc565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f3565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612682565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612842565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bc565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bc565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bc565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a72565b50600181016116fd8582612a72565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b31565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a72565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b56565b60405180910390a26005805490600061189783612b90565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5c833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba9565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5c8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba9565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc2565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612682565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612842565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c66565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612682565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c83565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d48565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8b565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3f565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612192906127bc565b6000825580601f106121a2575050565b601f01602090049060005260206000209081019061157591905b808211156121d057600081556001016121bc565b5090565b6000602082840312156121e657600080fd5b5035919050565b60005b838110156122085781810151838201526020016121f0565b50506000910152565b600081518084526122298160208601602086016121ed565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225f60c0840189612211565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d4576122d461229c565b60405290565b60405160a081016001600160401b03811182821017156122d4576122d461229c565b604051608081016001600160401b03811182821017156122d4576122d461229c565b604051606081016001600160401b03811182821017156122d4576122d461229c565b604051601f8201601f191681016001600160401b03811182821017156123685761236861229c565b604052919050565b60006001600160401b038211156123895761238961229c565b50601f01601f191660200190565b60006123aa6123a584612370565b612340565b90508281528383830111156123be57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e657600080fd5b61215683833560208501612397565b60008060008060008060c0878903121561240e57600080fd5b863561241981612287565b955060208701356001600160401b038082111561243557600080fd5b6124418a838b016123d5565b9650604089013591508082111561245757600080fd5b6124638a838b016123d5565b9550606089013591508082111561247957600080fd5b5061248689828a016123d5565b9350506080870135915060a087013561249e81612287565b809150509295509295509295565b600080604083850312156124bf57600080fd5b82356124ca81612287565b915060208301356124da81612287565b809150509250929050565b600080604083850312156124f857600080fd5b823561250381612287565b915060208301356001600160401b0381111561251e57600080fd5b8301601f8101851361252f57600080fd5b61253e85823560208401612397565b9150509250929050565b60006020828403121561255a57600080fd5b813561215681612287565b6000806040838503121561257857600080fd5b823561258381612287565b946020939093013593505050565b6000806000606084860312156125a657600080fd5b83356125b181612287565b925060208401356001600160401b03808211156125cd57600080fd5b6125d9878388016123d5565b935060408601359150808211156125ef57600080fd5b506125fc868287016123d5565b9150509250925092565b602081526000825160c0602084015261262260e0840182612211565b90506020840151601f1984830301604085015261263f8282612211565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612211565b600080600080608085870312156126ab57600080fd5b84356126b681612287565b935060208501356001600160401b038111156126d157600080fd5b6126dd878288016123d5565b9350506040850135915060608501356126f581612287565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272f60e0850182612211565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277b60c0830189612211565b828103602084015261278d8189612211565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127d057607f821691505b6020821081036127f057634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283d57600080fd5b919050565b60006020828403121561285457600080fd5b6121568261282d565b600082601f83011261286e57600080fd5b815161287c6123a582612370565b81815284602083860101111561289157600080fd5b6128a28260208301602087016121ed565b949350505050565b805161283d81612287565b6000602082840312156128c757600080fd5b81516001600160401b03808211156128de57600080fd5b9083019060c082860312156128f257600080fd5b6128fa6122b2565b82518281111561290957600080fd5b6129158782860161285d565b82525060208301518281111561292a57600080fd5b6129368782860161285d565b602083015250612948604084016128aa565b6040820152612959606084016128aa565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297e565b81810381811115610bbf57610bbf61297e565b8082028115828204841417610bbf57610bbf61297e565b6000826129ee57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a535750805b601f850160051c820191505b8181101561072e57828155600101612a5f565b81516001600160401b03811115612a8b57612a8b61229c565b612a9f81612a9984546127bc565b84612a2a565b602080601f831160018114612ad45760008415612abc5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0357888601518255948401946001909101908401612ae4565b5085821015612b215787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b446040830185612211565b82810360208401526120d68185612211565b848152608060208201526000612b6f6080830186612211565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba257612ba261297e565b5060010190565b600060208284031215612bbb57600080fd5b5051919050565b600060208284031215612bd457600080fd5b81516001600160401b0380821115612beb57600080fd5b9083019060a08286031215612bff57600080fd5b612c076122da565b8251612c1281612287565b8152602083015182811115612c2657600080fd5b612c328782860161285d565b6020830152506040830151604082015260608301516060820152612c586080840161282d565b608082015295945050505050565b600060208284031215612c7857600080fd5b815161215681612287565b600060208284031215612c9557600080fd5b81516001600160401b0380821115612cac57600080fd5b9083019060808286031215612cc057600080fd5b612cc86122fc565b825182811115612cd757600080fd5b612ce38782860161285d565b825250602083015182811115612cf857600080fd5b612d048782860161285d565b602083015250604083015182811115612d1c57600080fd5b612d288782860161285d565b604083015250612d3a6060840161282d565b606082015295945050505050565b606081526000612d5b6060830186612211565b8281036020840152612d6d8186612211565b90508281036040840152612d818185612211565b9695505050505050565b600060208284031215612d9d57600080fd5b81516001600160401b0380821115612db457600080fd5b9083019060608286031215612dc857600080fd5b612dd061231e565b825182811115612ddf57600080fd5b612deb8782860161285d565b825250602083015182811115612e0057600080fd5b612e0c8782860161285d565b602083015250604083015182811115612e2457600080fd5b612e308782860161285d565b60408301525095945050505050565b60008251612e518184602087016121ed565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c34ae9367ae33ccdec2ae0c3c4929f6e386373f088b7309b6dccdc0f92542dcf64736f6c63430008160033", + "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb062000104600039600081816118f0015281816119190152611a5a0152612eb06000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033", + "deployedBytecode": "0x6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033", "linkReferences": {}, "deployedLinkReferences": {} } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxied.dbg.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxied.dbg.json index e233517..26a6898 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxied.dbg.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxied.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/92a867347047d071fbd362c460decd54.json" + "buildInfo": "../build-info/fab9518c2cef19300334ce4b9b347f6b.json" } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxied.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxied.json index 6a3390d..0991120 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxied.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxied.json @@ -883,8 +883,8 @@ "type": "function" } ], - "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb162000104600039600081816118f0015281816119190152611a5a0152612eb16000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d4565b610544565b6040516101b89695949392919061223d565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f5565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ac565b610736565b6101e16102353660046124e5565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612548565b6108a8565b34801561027b57600080fd5b506101f961028a366004612565565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612591565b610bd9565b3480156102d057600080fd5b506102e46102df366004612565565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612591565b610d9d565b34801561034d57600080fd5b506101e161035c366004612548565b610ecf565b34801561036d57600080fd5b506101f961037c366004612548565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612548565b611035565b6040516101b89190612606565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612682565b34801561043157600080fd5b506101e1610440366004612695565b611207565b34801561045157600080fd5b506101e1610460366004612548565b61130e565b34801561047157600080fd5b506104856104803660046121d4565b611380565b6040516101b89190612700565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612548565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612548565b61153a565b34801561051e57600080fd5b5061053261052d366004612548565b611578565b6040516101b896959493929190612768565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bc565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f6565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612682565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612842565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5c83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f6565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b5565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612994565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a7565b6001600160a01b038616600090815260036020526040902060040154610b3491906129ba565b610b3e9190612994565b610b4891906129d1565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f6565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f3565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a72565b506001600160a01b0384166000908152600360205260409020600101610e858382612a72565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b31565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612186565b610fc7600183016000612186565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bc565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bc565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f3565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612682565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612842565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bc565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bc565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bc565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a72565b50600181016116fd8582612a72565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b31565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a72565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b56565b60405180910390a26005805490600061189783612b90565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5c833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba9565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5c8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba9565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc2565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612682565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612842565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c66565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612682565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c83565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d48565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8b565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3f565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612192906127bc565b6000825580601f106121a2575050565b601f01602090049060005260206000209081019061157591905b808211156121d057600081556001016121bc565b5090565b6000602082840312156121e657600080fd5b5035919050565b60005b838110156122085781810151838201526020016121f0565b50506000910152565b600081518084526122298160208601602086016121ed565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225f60c0840189612211565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d4576122d461229c565b60405290565b60405160a081016001600160401b03811182821017156122d4576122d461229c565b604051608081016001600160401b03811182821017156122d4576122d461229c565b604051606081016001600160401b03811182821017156122d4576122d461229c565b604051601f8201601f191681016001600160401b03811182821017156123685761236861229c565b604052919050565b60006001600160401b038211156123895761238961229c565b50601f01601f191660200190565b60006123aa6123a584612370565b612340565b90508281528383830111156123be57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e657600080fd5b61215683833560208501612397565b60008060008060008060c0878903121561240e57600080fd5b863561241981612287565b955060208701356001600160401b038082111561243557600080fd5b6124418a838b016123d5565b9650604089013591508082111561245757600080fd5b6124638a838b016123d5565b9550606089013591508082111561247957600080fd5b5061248689828a016123d5565b9350506080870135915060a087013561249e81612287565b809150509295509295509295565b600080604083850312156124bf57600080fd5b82356124ca81612287565b915060208301356124da81612287565b809150509250929050565b600080604083850312156124f857600080fd5b823561250381612287565b915060208301356001600160401b0381111561251e57600080fd5b8301601f8101851361252f57600080fd5b61253e85823560208401612397565b9150509250929050565b60006020828403121561255a57600080fd5b813561215681612287565b6000806040838503121561257857600080fd5b823561258381612287565b946020939093013593505050565b6000806000606084860312156125a657600080fd5b83356125b181612287565b925060208401356001600160401b03808211156125cd57600080fd5b6125d9878388016123d5565b935060408601359150808211156125ef57600080fd5b506125fc868287016123d5565b9150509250925092565b602081526000825160c0602084015261262260e0840182612211565b90506020840151601f1984830301604085015261263f8282612211565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612211565b600080600080608085870312156126ab57600080fd5b84356126b681612287565b935060208501356001600160401b038111156126d157600080fd5b6126dd878288016123d5565b9350506040850135915060608501356126f581612287565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272f60e0850182612211565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277b60c0830189612211565b828103602084015261278d8189612211565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127d057607f821691505b6020821081036127f057634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283d57600080fd5b919050565b60006020828403121561285457600080fd5b6121568261282d565b600082601f83011261286e57600080fd5b815161287c6123a582612370565b81815284602083860101111561289157600080fd5b6128a28260208301602087016121ed565b949350505050565b805161283d81612287565b6000602082840312156128c757600080fd5b81516001600160401b03808211156128de57600080fd5b9083019060c082860312156128f257600080fd5b6128fa6122b2565b82518281111561290957600080fd5b6129158782860161285d565b82525060208301518281111561292a57600080fd5b6129368782860161285d565b602083015250612948604084016128aa565b6040820152612959606084016128aa565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297e565b81810381811115610bbf57610bbf61297e565b8082028115828204841417610bbf57610bbf61297e565b6000826129ee57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a535750805b601f850160051c820191505b8181101561072e57828155600101612a5f565b81516001600160401b03811115612a8b57612a8b61229c565b612a9f81612a9984546127bc565b84612a2a565b602080601f831160018114612ad45760008415612abc5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0357888601518255948401946001909101908401612ae4565b5085821015612b215787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b446040830185612211565b82810360208401526120d68185612211565b848152608060208201526000612b6f6080830186612211565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba257612ba261297e565b5060010190565b600060208284031215612bbb57600080fd5b5051919050565b600060208284031215612bd457600080fd5b81516001600160401b0380821115612beb57600080fd5b9083019060a08286031215612bff57600080fd5b612c076122da565b8251612c1281612287565b8152602083015182811115612c2657600080fd5b612c328782860161285d565b6020830152506040830151604082015260608301516060820152612c586080840161282d565b608082015295945050505050565b600060208284031215612c7857600080fd5b815161215681612287565b600060208284031215612c9557600080fd5b81516001600160401b0380821115612cac57600080fd5b9083019060808286031215612cc057600080fd5b612cc86122fc565b825182811115612cd757600080fd5b612ce38782860161285d565b825250602083015182811115612cf857600080fd5b612d048782860161285d565b602083015250604083015182811115612d1c57600080fd5b612d288782860161285d565b604083015250612d3a6060840161282d565b606082015295945050505050565b606081526000612d5b6060830186612211565b8281036020840152612d6d8186612211565b90508281036040840152612d818185612211565b9695505050505050565b600060208284031215612d9d57600080fd5b81516001600160401b0380821115612db457600080fd5b9083019060608286031215612dc857600080fd5b612dd061231e565b825182811115612ddf57600080fd5b612deb8782860161285d565b825250602083015182811115612e0057600080fd5b612e0c8782860161285d565b602083015250604083015182811115612e2457600080fd5b612e308782860161285d565b60408301525095945050505050565b60008251612e518184602087016121ed565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c34ae9367ae33ccdec2ae0c3c4929f6e386373f088b7309b6dccdc0f92542dcf64736f6c63430008160033", - "deployedBytecode": "0x6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d4565b610544565b6040516101b89695949392919061223d565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f5565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ac565b610736565b6101e16102353660046124e5565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612548565b6108a8565b34801561027b57600080fd5b506101f961028a366004612565565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612591565b610bd9565b3480156102d057600080fd5b506102e46102df366004612565565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612591565b610d9d565b34801561034d57600080fd5b506101e161035c366004612548565b610ecf565b34801561036d57600080fd5b506101f961037c366004612548565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612548565b611035565b6040516101b89190612606565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612682565b34801561043157600080fd5b506101e1610440366004612695565b611207565b34801561045157600080fd5b506101e1610460366004612548565b61130e565b34801561047157600080fd5b506104856104803660046121d4565b611380565b6040516101b89190612700565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612548565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612548565b61153a565b34801561051e57600080fd5b5061053261052d366004612548565b611578565b6040516101b896959493929190612768565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bc565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f6565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612682565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612842565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5c83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f6565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b5565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612994565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a7565b6001600160a01b038616600090815260036020526040902060040154610b3491906129ba565b610b3e9190612994565b610b4891906129d1565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f6565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f3565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a72565b506001600160a01b0384166000908152600360205260409020600101610e858382612a72565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b31565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612186565b610fc7600183016000612186565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bc565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bc565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f3565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612682565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612842565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bc565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bc565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bc565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a72565b50600181016116fd8582612a72565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b31565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a72565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b56565b60405180910390a26005805490600061189783612b90565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5c833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba9565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5c8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba9565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc2565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612682565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612842565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c66565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612682565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c83565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d48565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8b565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3f565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612192906127bc565b6000825580601f106121a2575050565b601f01602090049060005260206000209081019061157591905b808211156121d057600081556001016121bc565b5090565b6000602082840312156121e657600080fd5b5035919050565b60005b838110156122085781810151838201526020016121f0565b50506000910152565b600081518084526122298160208601602086016121ed565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225f60c0840189612211565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d4576122d461229c565b60405290565b60405160a081016001600160401b03811182821017156122d4576122d461229c565b604051608081016001600160401b03811182821017156122d4576122d461229c565b604051606081016001600160401b03811182821017156122d4576122d461229c565b604051601f8201601f191681016001600160401b03811182821017156123685761236861229c565b604052919050565b60006001600160401b038211156123895761238961229c565b50601f01601f191660200190565b60006123aa6123a584612370565b612340565b90508281528383830111156123be57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e657600080fd5b61215683833560208501612397565b60008060008060008060c0878903121561240e57600080fd5b863561241981612287565b955060208701356001600160401b038082111561243557600080fd5b6124418a838b016123d5565b9650604089013591508082111561245757600080fd5b6124638a838b016123d5565b9550606089013591508082111561247957600080fd5b5061248689828a016123d5565b9350506080870135915060a087013561249e81612287565b809150509295509295509295565b600080604083850312156124bf57600080fd5b82356124ca81612287565b915060208301356124da81612287565b809150509250929050565b600080604083850312156124f857600080fd5b823561250381612287565b915060208301356001600160401b0381111561251e57600080fd5b8301601f8101851361252f57600080fd5b61253e85823560208401612397565b9150509250929050565b60006020828403121561255a57600080fd5b813561215681612287565b6000806040838503121561257857600080fd5b823561258381612287565b946020939093013593505050565b6000806000606084860312156125a657600080fd5b83356125b181612287565b925060208401356001600160401b03808211156125cd57600080fd5b6125d9878388016123d5565b935060408601359150808211156125ef57600080fd5b506125fc868287016123d5565b9150509250925092565b602081526000825160c0602084015261262260e0840182612211565b90506020840151601f1984830301604085015261263f8282612211565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612211565b600080600080608085870312156126ab57600080fd5b84356126b681612287565b935060208501356001600160401b038111156126d157600080fd5b6126dd878288016123d5565b9350506040850135915060608501356126f581612287565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272f60e0850182612211565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277b60c0830189612211565b828103602084015261278d8189612211565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127d057607f821691505b6020821081036127f057634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283d57600080fd5b919050565b60006020828403121561285457600080fd5b6121568261282d565b600082601f83011261286e57600080fd5b815161287c6123a582612370565b81815284602083860101111561289157600080fd5b6128a28260208301602087016121ed565b949350505050565b805161283d81612287565b6000602082840312156128c757600080fd5b81516001600160401b03808211156128de57600080fd5b9083019060c082860312156128f257600080fd5b6128fa6122b2565b82518281111561290957600080fd5b6129158782860161285d565b82525060208301518281111561292a57600080fd5b6129368782860161285d565b602083015250612948604084016128aa565b6040820152612959606084016128aa565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297e565b81810381811115610bbf57610bbf61297e565b8082028115828204841417610bbf57610bbf61297e565b6000826129ee57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a535750805b601f850160051c820191505b8181101561072e57828155600101612a5f565b81516001600160401b03811115612a8b57612a8b61229c565b612a9f81612a9984546127bc565b84612a2a565b602080601f831160018114612ad45760008415612abc5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0357888601518255948401946001909101908401612ae4565b5085821015612b215787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b446040830185612211565b82810360208401526120d68185612211565b848152608060208201526000612b6f6080830186612211565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba257612ba261297e565b5060010190565b600060208284031215612bbb57600080fd5b5051919050565b600060208284031215612bd457600080fd5b81516001600160401b0380821115612beb57600080fd5b9083019060a08286031215612bff57600080fd5b612c076122da565b8251612c1281612287565b8152602083015182811115612c2657600080fd5b612c328782860161285d565b6020830152506040830151604082015260608301516060820152612c586080840161282d565b608082015295945050505050565b600060208284031215612c7857600080fd5b815161215681612287565b600060208284031215612c9557600080fd5b81516001600160401b0380821115612cac57600080fd5b9083019060808286031215612cc057600080fd5b612cc86122fc565b825182811115612cd757600080fd5b612ce38782860161285d565b825250602083015182811115612cf857600080fd5b612d048782860161285d565b602083015250604083015182811115612d1c57600080fd5b612d288782860161285d565b604083015250612d3a6060840161282d565b606082015295945050505050565b606081526000612d5b6060830186612211565b8281036020840152612d6d8186612211565b90508281036040840152612d818185612211565b9695505050505050565b600060208284031215612d9d57600080fd5b81516001600160401b0380821115612db457600080fd5b9083019060608286031215612dc857600080fd5b612dd061231e565b825182811115612ddf57600080fd5b612deb8782860161285d565b825250602083015182811115612e0057600080fd5b612e0c8782860161285d565b602083015250604083015182811115612e2457600080fd5b612e308782860161285d565b60408301525095945050505050565b60008251612e518184602087016121ed565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c34ae9367ae33ccdec2ae0c3c4929f6e386373f088b7309b6dccdc0f92542dcf64736f6c63430008160033", + "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb062000104600039600081816118f0015281816119190152611a5a0152612eb06000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033", + "deployedBytecode": "0x6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033", "linkReferences": {}, "deployedLinkReferences": {} } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxy.dbg.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxy.dbg.json index 0482557..f8a8e48 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxy.dbg.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxy.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/5077781210b2b75bdbf774e14f2d3801.json" + "buildInfo": "../build-info/40c23a112789d71e0ac92ec95a0fc229.json" } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxy.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxy.json index 06b60d9..a4a9ea5 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxy.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/AgentsRegistryUpgradeableModule#AgentsRegistryProxy.json @@ -69,8 +69,8 @@ "type": "fallback" } ], - "bytecode": "0x608060405260405161040a38038061040a83398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60aa806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212201d1e675cd71e57bb3f08113f3040612bee9b14a06a3515aeb6fc806b55a6323764736f6c63430008160033", - "deployedBytecode": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212201d1e675cd71e57bb3f08113f3040612bee9b14a06a3515aeb6fc806b55a6323764736f6c63430008160033", + "bytecode": "0x608060405260405161040938038061040983398101604081905261002291610267565b61002c8282610033565b5050610351565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610335565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b80511561021457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025e578181015183820152602001610246565b50506000910152565b6000806040838503121561027a57600080fd5b82516001600160a01b038116811461029157600080fd5b60208401519092506001600160401b03808211156102ae57600080fd5b818501915085601f8301126102c257600080fd5b8151818111156102d4576102d461022d565b604051601f8201601f19908116603f011681019083821181831017156102fc576102fc61022d565b8160405282815288602084870101111561031557600080fd5b610326836020830160208801610243565b80955050505050509250929050565b60008251610347818460208701610243565b9190910192915050565b60aa8061035f6000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea264697066735822122060aeada43c964f1fbb27c2d9cbef9ca57ecc24f36b6aed0059d5371ade8a972f64736f6c63430008160033", + "deployedBytecode": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea264697066735822122060aeada43c964f1fbb27c2d9cbef9ca57ecc24f36b6aed0059d5371ade8a972f64736f6c63430008160033", "linkReferences": {}, "deployedLinkReferences": {} } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/EnsembleCreditsModule#EnsembleCredits.dbg.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/EnsembleCreditsModule#EnsembleCredits.dbg.json index 0482557..f8a8e48 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/EnsembleCreditsModule#EnsembleCredits.dbg.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/EnsembleCreditsModule#EnsembleCredits.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/5077781210b2b75bdbf774e14f2d3801.json" + "buildInfo": "../build-info/40c23a112789d71e0ac92ec95a0fc229.json" } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/EnsembleCreditsModule#EnsembleCredits.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/EnsembleCreditsModule#EnsembleCredits.json index f4c4634..93c0352 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/EnsembleCreditsModule#EnsembleCredits.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/EnsembleCreditsModule#EnsembleCredits.json @@ -792,8 +792,8 @@ "type": "function" } ], - "bytecode": "0x60806040523480156200001157600080fd5b50604051620015c8380380620015c88339810160408190526200003491620004a6565b83836003620000448382620005ca565b506004620000538282620005ca565b5050506001600160a01b038216620000c85760405162461bcd60e51b815260206004820152602d60248201527f456e73656d626c65437265646974733a2061646d696e2063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084015b60405180910390fd5b620000d56000836200016f565b50620000f1600080516020620015a8833981519152836200016f565b506200010d600080516020620015a88339815191528062000222565b801562000165576200012082826200026d565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040516200015c91815260200190565b60405180910390a25b50505050620006b8565b60008281526005602090815260408083206001600160a01b038516845290915281205460ff16620002185760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055620001cf3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016200021c565b5060005b92915050565b600082815260056020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6001600160a01b038216620002995760405163ec442f0560e01b815260006004820152602401620000bf565b620002a760008383620002ab565b5050565b6001600160a01b038316620002da578060026000828254620002ce919062000696565b909155506200034e9050565b6001600160a01b038316600090815260208190526040902054818110156200032f5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000bf565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166200036c576002805482900390556200038b565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003d191815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200040657600080fd5b81516001600160401b0380821115620004235762000423620003de565b604051601f8301601f19908116603f011681019082821181831017156200044e576200044e620003de565b81604052838152602092508660208588010111156200046c57600080fd5b600091505b8382101562000490578582018301518183018401529082019062000471565b6000602085830101528094505050505092915050565b60008060008060808587031215620004bd57600080fd5b84516001600160401b0380821115620004d557600080fd5b620004e388838901620003f4565b95506020870151915080821115620004fa57600080fd5b506200050987828801620003f4565b604087015190945090506001600160a01b03811681146200052957600080fd5b6060959095015193969295505050565b600181811c908216806200054e57607f821691505b6020821081036200056f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005c5576000816000526020600020601f850160051c81016020861015620005a05750805b601f850160051c820191505b81811015620005c157828155600101620005ac565b5050505b505050565b81516001600160401b03811115620005e657620005e6620003de565b620005fe81620005f7845462000539565b8462000575565b602080601f8311600181146200063657600084156200061d5750858301515b600019600386901b1c1916600185901b178555620005c1565b600085815260208120601f198616915b82811015620006675788860151825594840194600190910190840162000646565b5085821015620006865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200021c57634e487b7160e01b600052601160045260246000fd5b610ee080620006c86000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a217fddf11610097578063aa271e1a11610071578063aa271e1a14610300578063d539139314610313578063d547741f14610328578063dd62ed3e1461033b57600080fd5b8063a217fddf146102ea578063a457c2d7146101b5578063a9059cbb146102f257600080fd5b806342966c681461026d57806370a082311461028057806379cc6790146102a957806391d14854146102bc57806395d89b41146102cf578063983b2d56146102d757600080fd5b80632f2ff15d116101305780632f2ff15d146102105780633092afd514610225578063313ce5671461023857806336568abe1461024757806339509351146101b557806340c10f191461025a57600080fd5b806301ffc9a71461017857806306fdde03146101a0578063095ea7b3146101b557806318160ddd146101c857806323b872dd146101da578063248a9ca3146101ed575b600080fd5b61018b610186366004610ca3565b610349565b60405190151581526020015b60405180910390f35b6101a8610380565b6040516101979190610cd4565b61018b6101c3366004610d3f565b610412565b6002545b604051908152602001610197565b61018b6101e8366004610d69565b61042d565b6101cc6101fb366004610da5565b60009081526005602052604090206001015490565b61022361021e366004610dbe565b610448565b005b610223610233366004610dea565b610473565b60405160068152602001610197565b610223610255366004610dbe565b6105ca565b610223610268366004610d3f565b610602565b61022361027b366004610da5565b6106d7565b6101cc61028e366004610dea565b6001600160a01b031660009081526020819052604090205490565b6102236102b7366004610d3f565b610729565b61018b6102ca366004610dbe565b61086f565b6101a861089a565b6102236102e5366004610dea565b6108a9565b6101cc600081565b61018b6101e8366004610d3f565b61018b61030e366004610dea565b610983565b6101cc600080516020610e8b83398151915281565b610223610336366004610dbe565b61099d565b6101cc6101c3366004610e05565b60006001600160e01b03198216637965db0b60e01b148061037a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461038f90610e2f565b80601f01602080910402602001604051908101604052809291908181526020018280546103bb90610e2f565b80156104085780601f106103dd57610100808354040283529160200191610408565b820191906000526020600020905b8154815290600101906020018083116103eb57829003601f168201915b5050505050905090565b600060405163043038b760e11b815260040160405180910390fd5b6000604051638cd22d1960e01b815260040160405180910390fd5b600082815260056020526040902060010154610463816109c2565b61046d83836109cf565b50505050565b600080516020610e8b83398151915261048b816109c2565b6001600160a01b0382166105045760405162461bcd60e51b815260206004820152603560248201527f456e73656d626c65437265646974733a2063616e6e6f742072656d6f7665207a60448201527432b9379030b2323932b9b99030b99036b4b73a32b960591b60648201526084015b60405180910390fd5b61051c600080516020610e8b8339815191528361086f565b6105795760405162461bcd60e51b815260206004820152602860248201527f456e73656d626c65437265646974733a2061646472657373206973206e6f7420604482015267309036b4b73a32b960c11b60648201526084016104fb565b610591600080516020610e8b83398151915283610a63565b506040516001600160a01b038316907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a25050565b6001600160a01b03811633146105f35760405163334bd91960e11b815260040160405180910390fd5b6105fd8282610a63565b505050565b600080516020610e8b83398151915261061a816109c2565b6001600160a01b0383166106855760405162461bcd60e51b815260206004820152602c60248201527f456e73656d626c65437265646974733a2063616e6e6f74206d696e7420746f2060448201526b7a65726f206164647265737360a01b60648201526084016104fb565b61068f8383610ad0565b826001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040516106ca91815260200190565b60405180910390a2505050565b336106e28183610b0a565b806001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161071d91815260200190565b60405180910390a25050565b610741600080516020610e8b8339815191523361086f565b6107bd5760405162461bcd60e51b815260206004820152604160248201527f456e73656d626c65437265646974733a2063616c6c6572206d7573742068617660448201527f65206d696e74657220726f6c6520746f206275726e2066726f6d206f746865726064820152607360f81b608482015260a4016104fb565b6001600160a01b03821661082a5760405162461bcd60e51b815260206004820152602e60248201527f456e73656d626c65437265646974733a2063616e6e6f74206275726e2066726f60448201526d6d207a65726f206164647265737360901b60648201526084016104fb565b6108348282610b0a565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161071d91815260200190565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461038f90610e2f565b600080516020610e8b8339815191526108c1816109c2565b6001600160a01b0382166109325760405162461bcd60e51b815260206004820152603260248201527f456e73656d626c65437265646974733a2063616e6e6f7420616464207a65726f6044820152711030b2323932b9b99030b99036b4b73a32b960711b60648201526084016104fb565b61094a600080516020610e8b833981519152836109cf565b506040516001600160a01b038316907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a25050565b600061037a600080516020610e8b8339815191528361086f565b6000828152600560205260409020600101546109b8816109c2565b61046d8383610a63565b6109cc8133610b40565b50565b60006109db838361086f565b610a5b5760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055610a133390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161037a565b50600061037a565b6000610a6f838361086f565b15610a5b5760008381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161037a565b6001600160a01b038216610afa5760405163ec442f0560e01b8152600060048201526024016104fb565b610b0660008383610b79565b5050565b6001600160a01b038216610b3457604051634b637e8f60e11b8152600060048201526024016104fb565b610b0682600083610b79565b610b4a828261086f565b610b065760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104fb565b6001600160a01b038316610ba4578060026000828254610b999190610e69565b90915550610c169050565b6001600160a01b03831660009081526020819052604090205481811015610bf75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104fb565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610c3257600280548290039055610c51565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c9691815260200190565b60405180910390a3505050565b600060208284031215610cb557600080fd5b81356001600160e01b031981168114610ccd57600080fd5b9392505050565b60006020808352835180602085015260005b81811015610d0257858101830151858201604001528201610ce6565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d3a57600080fd5b919050565b60008060408385031215610d5257600080fd5b610d5b83610d23565b946020939093013593505050565b600080600060608486031215610d7e57600080fd5b610d8784610d23565b9250610d9560208501610d23565b9150604084013590509250925092565b600060208284031215610db757600080fd5b5035919050565b60008060408385031215610dd157600080fd5b82359150610de160208401610d23565b90509250929050565b600060208284031215610dfc57600080fd5b610ccd82610d23565b60008060408385031215610e1857600080fd5b610e2183610d23565b9150610de160208401610d23565b600181811c90821680610e4357607f821691505b602082108103610e6357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561037a57634e487b7160e01b600052601160045260246000fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a26469706673582212205ead6f3848d5c78edab3a1db539091a373142a54f11a8364018847bf49705e2564736f6c634300081600339f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a217fddf11610097578063aa271e1a11610071578063aa271e1a14610300578063d539139314610313578063d547741f14610328578063dd62ed3e1461033b57600080fd5b8063a217fddf146102ea578063a457c2d7146101b5578063a9059cbb146102f257600080fd5b806342966c681461026d57806370a082311461028057806379cc6790146102a957806391d14854146102bc57806395d89b41146102cf578063983b2d56146102d757600080fd5b80632f2ff15d116101305780632f2ff15d146102105780633092afd514610225578063313ce5671461023857806336568abe1461024757806339509351146101b557806340c10f191461025a57600080fd5b806301ffc9a71461017857806306fdde03146101a0578063095ea7b3146101b557806318160ddd146101c857806323b872dd146101da578063248a9ca3146101ed575b600080fd5b61018b610186366004610ca3565b610349565b60405190151581526020015b60405180910390f35b6101a8610380565b6040516101979190610cd4565b61018b6101c3366004610d3f565b610412565b6002545b604051908152602001610197565b61018b6101e8366004610d69565b61042d565b6101cc6101fb366004610da5565b60009081526005602052604090206001015490565b61022361021e366004610dbe565b610448565b005b610223610233366004610dea565b610473565b60405160068152602001610197565b610223610255366004610dbe565b6105ca565b610223610268366004610d3f565b610602565b61022361027b366004610da5565b6106d7565b6101cc61028e366004610dea565b6001600160a01b031660009081526020819052604090205490565b6102236102b7366004610d3f565b610729565b61018b6102ca366004610dbe565b61086f565b6101a861089a565b6102236102e5366004610dea565b6108a9565b6101cc600081565b61018b6101e8366004610d3f565b61018b61030e366004610dea565b610983565b6101cc600080516020610e8b83398151915281565b610223610336366004610dbe565b61099d565b6101cc6101c3366004610e05565b60006001600160e01b03198216637965db0b60e01b148061037a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461038f90610e2f565b80601f01602080910402602001604051908101604052809291908181526020018280546103bb90610e2f565b80156104085780601f106103dd57610100808354040283529160200191610408565b820191906000526020600020905b8154815290600101906020018083116103eb57829003601f168201915b5050505050905090565b600060405163043038b760e11b815260040160405180910390fd5b6000604051638cd22d1960e01b815260040160405180910390fd5b600082815260056020526040902060010154610463816109c2565b61046d83836109cf565b50505050565b600080516020610e8b83398151915261048b816109c2565b6001600160a01b0382166105045760405162461bcd60e51b815260206004820152603560248201527f456e73656d626c65437265646974733a2063616e6e6f742072656d6f7665207a60448201527432b9379030b2323932b9b99030b99036b4b73a32b960591b60648201526084015b60405180910390fd5b61051c600080516020610e8b8339815191528361086f565b6105795760405162461bcd60e51b815260206004820152602860248201527f456e73656d626c65437265646974733a2061646472657373206973206e6f7420604482015267309036b4b73a32b960c11b60648201526084016104fb565b610591600080516020610e8b83398151915283610a63565b506040516001600160a01b038316907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a25050565b6001600160a01b03811633146105f35760405163334bd91960e11b815260040160405180910390fd5b6105fd8282610a63565b505050565b600080516020610e8b83398151915261061a816109c2565b6001600160a01b0383166106855760405162461bcd60e51b815260206004820152602c60248201527f456e73656d626c65437265646974733a2063616e6e6f74206d696e7420746f2060448201526b7a65726f206164647265737360a01b60648201526084016104fb565b61068f8383610ad0565b826001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040516106ca91815260200190565b60405180910390a2505050565b336106e28183610b0a565b806001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161071d91815260200190565b60405180910390a25050565b610741600080516020610e8b8339815191523361086f565b6107bd5760405162461bcd60e51b815260206004820152604160248201527f456e73656d626c65437265646974733a2063616c6c6572206d7573742068617660448201527f65206d696e74657220726f6c6520746f206275726e2066726f6d206f746865726064820152607360f81b608482015260a4016104fb565b6001600160a01b03821661082a5760405162461bcd60e51b815260206004820152602e60248201527f456e73656d626c65437265646974733a2063616e6e6f74206275726e2066726f60448201526d6d207a65726f206164647265737360901b60648201526084016104fb565b6108348282610b0a565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161071d91815260200190565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461038f90610e2f565b600080516020610e8b8339815191526108c1816109c2565b6001600160a01b0382166109325760405162461bcd60e51b815260206004820152603260248201527f456e73656d626c65437265646974733a2063616e6e6f7420616464207a65726f6044820152711030b2323932b9b99030b99036b4b73a32b960711b60648201526084016104fb565b61094a600080516020610e8b833981519152836109cf565b506040516001600160a01b038316907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a25050565b600061037a600080516020610e8b8339815191528361086f565b6000828152600560205260409020600101546109b8816109c2565b61046d8383610a63565b6109cc8133610b40565b50565b60006109db838361086f565b610a5b5760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055610a133390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161037a565b50600061037a565b6000610a6f838361086f565b15610a5b5760008381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161037a565b6001600160a01b038216610afa5760405163ec442f0560e01b8152600060048201526024016104fb565b610b0660008383610b79565b5050565b6001600160a01b038216610b3457604051634b637e8f60e11b8152600060048201526024016104fb565b610b0682600083610b79565b610b4a828261086f565b610b065760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104fb565b6001600160a01b038316610ba4578060026000828254610b999190610e69565b90915550610c169050565b6001600160a01b03831660009081526020819052604090205481811015610bf75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104fb565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610c3257600280548290039055610c51565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c9691815260200190565b60405180910390a3505050565b600060208284031215610cb557600080fd5b81356001600160e01b031981168114610ccd57600080fd5b9392505050565b60006020808352835180602085015260005b81811015610d0257858101830151858201604001528201610ce6565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d3a57600080fd5b919050565b60008060408385031215610d5257600080fd5b610d5b83610d23565b946020939093013593505050565b600080600060608486031215610d7e57600080fd5b610d8784610d23565b9250610d9560208501610d23565b9150604084013590509250925092565b600060208284031215610db757600080fd5b5035919050565b60008060408385031215610dd157600080fd5b82359150610de160208401610d23565b90509250929050565b600060208284031215610dfc57600080fd5b610ccd82610d23565b60008060408385031215610e1857600080fd5b610e2183610d23565b9150610de160208401610d23565b600181811c90821680610e4357607f821691505b602082108103610e6357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561037a57634e487b7160e01b600052601160045260246000fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a26469706673582212205ead6f3848d5c78edab3a1db539091a373142a54f11a8364018847bf49705e2564736f6c63430008160033", + "bytecode": "0x60806040523480156200001157600080fd5b50604051620015c8380380620015c88339810160408190526200003491620004a6565b83836003620000448382620005ca565b506004620000538282620005ca565b5050506001600160a01b038216620000c85760405162461bcd60e51b815260206004820152602d60248201527f456e73656d626c65437265646974733a2061646d696e2063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084015b60405180910390fd5b620000d56000836200016f565b50620000f1600080516020620015a8833981519152836200016f565b506200010d600080516020620015a88339815191528062000222565b801562000165576200012082826200026d565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040516200015c91815260200190565b60405180910390a25b50505050620006b8565b60008281526005602090815260408083206001600160a01b038516845290915281205460ff16620002185760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055620001cf3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016200021c565b5060005b92915050565b600082815260056020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6001600160a01b038216620002995760405163ec442f0560e01b815260006004820152602401620000bf565b620002a760008383620002ab565b5050565b6001600160a01b038316620002da578060026000828254620002ce919062000696565b909155506200034e9050565b6001600160a01b038316600090815260208190526040902054818110156200032f5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000bf565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166200036c576002805482900390556200038b565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003d191815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200040657600080fd5b81516001600160401b0380821115620004235762000423620003de565b604051601f8301601f19908116603f011681019082821181831017156200044e576200044e620003de565b81604052838152602092508660208588010111156200046c57600080fd5b600091505b8382101562000490578582018301518183018401529082019062000471565b6000602085830101528094505050505092915050565b60008060008060808587031215620004bd57600080fd5b84516001600160401b0380821115620004d557600080fd5b620004e388838901620003f4565b95506020870151915080821115620004fa57600080fd5b506200050987828801620003f4565b604087015190945090506001600160a01b03811681146200052957600080fd5b6060959095015193969295505050565b600181811c908216806200054e57607f821691505b6020821081036200056f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005c5576000816000526020600020601f850160051c81016020861015620005a05750805b601f850160051c820191505b81811015620005c157828155600101620005ac565b5050505b505050565b81516001600160401b03811115620005e657620005e6620003de565b620005fe81620005f7845462000539565b8462000575565b602080601f8311600181146200063657600084156200061d5750858301515b600019600386901b1c1916600185901b178555620005c1565b600085815260208120601f198616915b82811015620006675788860151825594840194600190910190840162000646565b5085821015620006865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200021c57634e487b7160e01b600052601160045260246000fd5b610ee080620006c86000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a217fddf11610097578063aa271e1a11610071578063aa271e1a14610300578063d539139314610313578063d547741f14610328578063dd62ed3e1461033b57600080fd5b8063a217fddf146102ea578063a457c2d7146101b5578063a9059cbb146102f257600080fd5b806342966c681461026d57806370a082311461028057806379cc6790146102a957806391d14854146102bc57806395d89b41146102cf578063983b2d56146102d757600080fd5b80632f2ff15d116101305780632f2ff15d146102105780633092afd514610225578063313ce5671461023857806336568abe1461024757806339509351146101b557806340c10f191461025a57600080fd5b806301ffc9a71461017857806306fdde03146101a0578063095ea7b3146101b557806318160ddd146101c857806323b872dd146101da578063248a9ca3146101ed575b600080fd5b61018b610186366004610ca3565b610349565b60405190151581526020015b60405180910390f35b6101a8610380565b6040516101979190610cd4565b61018b6101c3366004610d3f565b610412565b6002545b604051908152602001610197565b61018b6101e8366004610d69565b61042d565b6101cc6101fb366004610da5565b60009081526005602052604090206001015490565b61022361021e366004610dbe565b610448565b005b610223610233366004610dea565b610473565b60405160068152602001610197565b610223610255366004610dbe565b6105ca565b610223610268366004610d3f565b610602565b61022361027b366004610da5565b6106d7565b6101cc61028e366004610dea565b6001600160a01b031660009081526020819052604090205490565b6102236102b7366004610d3f565b610729565b61018b6102ca366004610dbe565b61086f565b6101a861089a565b6102236102e5366004610dea565b6108a9565b6101cc600081565b61018b6101e8366004610d3f565b61018b61030e366004610dea565b610983565b6101cc600080516020610e8b83398151915281565b610223610336366004610dbe565b61099d565b6101cc6101c3366004610e05565b60006001600160e01b03198216637965db0b60e01b148061037a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461038f90610e2f565b80601f01602080910402602001604051908101604052809291908181526020018280546103bb90610e2f565b80156104085780601f106103dd57610100808354040283529160200191610408565b820191906000526020600020905b8154815290600101906020018083116103eb57829003601f168201915b5050505050905090565b600060405163043038b760e11b815260040160405180910390fd5b6000604051638cd22d1960e01b815260040160405180910390fd5b600082815260056020526040902060010154610463816109c2565b61046d83836109cf565b50505050565b600080516020610e8b83398151915261048b816109c2565b6001600160a01b0382166105045760405162461bcd60e51b815260206004820152603560248201527f456e73656d626c65437265646974733a2063616e6e6f742072656d6f7665207a60448201527432b9379030b2323932b9b99030b99036b4b73a32b960591b60648201526084015b60405180910390fd5b61051c600080516020610e8b8339815191528361086f565b6105795760405162461bcd60e51b815260206004820152602860248201527f456e73656d626c65437265646974733a2061646472657373206973206e6f7420604482015267309036b4b73a32b960c11b60648201526084016104fb565b610591600080516020610e8b83398151915283610a63565b506040516001600160a01b038316907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a25050565b6001600160a01b03811633146105f35760405163334bd91960e11b815260040160405180910390fd5b6105fd8282610a63565b505050565b600080516020610e8b83398151915261061a816109c2565b6001600160a01b0383166106855760405162461bcd60e51b815260206004820152602c60248201527f456e73656d626c65437265646974733a2063616e6e6f74206d696e7420746f2060448201526b7a65726f206164647265737360a01b60648201526084016104fb565b61068f8383610ad0565b826001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040516106ca91815260200190565b60405180910390a2505050565b336106e28183610b0a565b806001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161071d91815260200190565b60405180910390a25050565b610741600080516020610e8b8339815191523361086f565b6107bd5760405162461bcd60e51b815260206004820152604160248201527f456e73656d626c65437265646974733a2063616c6c6572206d7573742068617660448201527f65206d696e74657220726f6c6520746f206275726e2066726f6d206f746865726064820152607360f81b608482015260a4016104fb565b6001600160a01b03821661082a5760405162461bcd60e51b815260206004820152602e60248201527f456e73656d626c65437265646974733a2063616e6e6f74206275726e2066726f60448201526d6d207a65726f206164647265737360901b60648201526084016104fb565b6108348282610b0a565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161071d91815260200190565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461038f90610e2f565b600080516020610e8b8339815191526108c1816109c2565b6001600160a01b0382166109325760405162461bcd60e51b815260206004820152603260248201527f456e73656d626c65437265646974733a2063616e6e6f7420616464207a65726f6044820152711030b2323932b9b99030b99036b4b73a32b960711b60648201526084016104fb565b61094a600080516020610e8b833981519152836109cf565b506040516001600160a01b038316907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a25050565b600061037a600080516020610e8b8339815191528361086f565b6000828152600560205260409020600101546109b8816109c2565b61046d8383610a63565b6109cc8133610b40565b50565b60006109db838361086f565b610a5b5760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055610a133390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161037a565b50600061037a565b6000610a6f838361086f565b15610a5b5760008381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161037a565b6001600160a01b038216610afa5760405163ec442f0560e01b8152600060048201526024016104fb565b610b0660008383610b79565b5050565b6001600160a01b038216610b3457604051634b637e8f60e11b8152600060048201526024016104fb565b610b0682600083610b79565b610b4a828261086f565b610b065760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104fb565b6001600160a01b038316610ba4578060026000828254610b999190610e69565b90915550610c169050565b6001600160a01b03831660009081526020819052604090205481811015610bf75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104fb565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610c3257600280548290039055610c51565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c9691815260200190565b60405180910390a3505050565b600060208284031215610cb557600080fd5b81356001600160e01b031981168114610ccd57600080fd5b9392505050565b60006020808352835180602085015260005b81811015610d0257858101830151858201604001528201610ce6565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d3a57600080fd5b919050565b60008060408385031215610d5257600080fd5b610d5b83610d23565b946020939093013593505050565b600080600060608486031215610d7e57600080fd5b610d8784610d23565b9250610d9560208501610d23565b9150604084013590509250925092565b600060208284031215610db757600080fd5b5035919050565b60008060408385031215610dd157600080fd5b82359150610de160208401610d23565b90509250929050565b600060208284031215610dfc57600080fd5b610ccd82610d23565b60008060408385031215610e1857600080fd5b610e2183610d23565b9150610de160208401610d23565b600181811c90821680610e4357607f821691505b602082108103610e6357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561037a57634e487b7160e01b600052601160045260246000fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220cbcbaafbce63d8ac619a22d4e837fc602232386c5248b061ca0f8706e5c5be4564736f6c634300081600339f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a217fddf11610097578063aa271e1a11610071578063aa271e1a14610300578063d539139314610313578063d547741f14610328578063dd62ed3e1461033b57600080fd5b8063a217fddf146102ea578063a457c2d7146101b5578063a9059cbb146102f257600080fd5b806342966c681461026d57806370a082311461028057806379cc6790146102a957806391d14854146102bc57806395d89b41146102cf578063983b2d56146102d757600080fd5b80632f2ff15d116101305780632f2ff15d146102105780633092afd514610225578063313ce5671461023857806336568abe1461024757806339509351146101b557806340c10f191461025a57600080fd5b806301ffc9a71461017857806306fdde03146101a0578063095ea7b3146101b557806318160ddd146101c857806323b872dd146101da578063248a9ca3146101ed575b600080fd5b61018b610186366004610ca3565b610349565b60405190151581526020015b60405180910390f35b6101a8610380565b6040516101979190610cd4565b61018b6101c3366004610d3f565b610412565b6002545b604051908152602001610197565b61018b6101e8366004610d69565b61042d565b6101cc6101fb366004610da5565b60009081526005602052604090206001015490565b61022361021e366004610dbe565b610448565b005b610223610233366004610dea565b610473565b60405160068152602001610197565b610223610255366004610dbe565b6105ca565b610223610268366004610d3f565b610602565b61022361027b366004610da5565b6106d7565b6101cc61028e366004610dea565b6001600160a01b031660009081526020819052604090205490565b6102236102b7366004610d3f565b610729565b61018b6102ca366004610dbe565b61086f565b6101a861089a565b6102236102e5366004610dea565b6108a9565b6101cc600081565b61018b6101e8366004610d3f565b61018b61030e366004610dea565b610983565b6101cc600080516020610e8b83398151915281565b610223610336366004610dbe565b61099d565b6101cc6101c3366004610e05565b60006001600160e01b03198216637965db0b60e01b148061037a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461038f90610e2f565b80601f01602080910402602001604051908101604052809291908181526020018280546103bb90610e2f565b80156104085780601f106103dd57610100808354040283529160200191610408565b820191906000526020600020905b8154815290600101906020018083116103eb57829003601f168201915b5050505050905090565b600060405163043038b760e11b815260040160405180910390fd5b6000604051638cd22d1960e01b815260040160405180910390fd5b600082815260056020526040902060010154610463816109c2565b61046d83836109cf565b50505050565b600080516020610e8b83398151915261048b816109c2565b6001600160a01b0382166105045760405162461bcd60e51b815260206004820152603560248201527f456e73656d626c65437265646974733a2063616e6e6f742072656d6f7665207a60448201527432b9379030b2323932b9b99030b99036b4b73a32b960591b60648201526084015b60405180910390fd5b61051c600080516020610e8b8339815191528361086f565b6105795760405162461bcd60e51b815260206004820152602860248201527f456e73656d626c65437265646974733a2061646472657373206973206e6f7420604482015267309036b4b73a32b960c11b60648201526084016104fb565b610591600080516020610e8b83398151915283610a63565b506040516001600160a01b038316907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a25050565b6001600160a01b03811633146105f35760405163334bd91960e11b815260040160405180910390fd5b6105fd8282610a63565b505050565b600080516020610e8b83398151915261061a816109c2565b6001600160a01b0383166106855760405162461bcd60e51b815260206004820152602c60248201527f456e73656d626c65437265646974733a2063616e6e6f74206d696e7420746f2060448201526b7a65726f206164647265737360a01b60648201526084016104fb565b61068f8383610ad0565b826001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040516106ca91815260200190565b60405180910390a2505050565b336106e28183610b0a565b806001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161071d91815260200190565b60405180910390a25050565b610741600080516020610e8b8339815191523361086f565b6107bd5760405162461bcd60e51b815260206004820152604160248201527f456e73656d626c65437265646974733a2063616c6c6572206d7573742068617660448201527f65206d696e74657220726f6c6520746f206275726e2066726f6d206f746865726064820152607360f81b608482015260a4016104fb565b6001600160a01b03821661082a5760405162461bcd60e51b815260206004820152602e60248201527f456e73656d626c65437265646974733a2063616e6e6f74206275726e2066726f60448201526d6d207a65726f206164647265737360901b60648201526084016104fb565b6108348282610b0a565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161071d91815260200190565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461038f90610e2f565b600080516020610e8b8339815191526108c1816109c2565b6001600160a01b0382166109325760405162461bcd60e51b815260206004820152603260248201527f456e73656d626c65437265646974733a2063616e6e6f7420616464207a65726f6044820152711030b2323932b9b99030b99036b4b73a32b960711b60648201526084016104fb565b61094a600080516020610e8b833981519152836109cf565b506040516001600160a01b038316907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a25050565b600061037a600080516020610e8b8339815191528361086f565b6000828152600560205260409020600101546109b8816109c2565b61046d8383610a63565b6109cc8133610b40565b50565b60006109db838361086f565b610a5b5760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055610a133390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161037a565b50600061037a565b6000610a6f838361086f565b15610a5b5760008381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161037a565b6001600160a01b038216610afa5760405163ec442f0560e01b8152600060048201526024016104fb565b610b0660008383610b79565b5050565b6001600160a01b038216610b3457604051634b637e8f60e11b8152600060048201526024016104fb565b610b0682600083610b79565b610b4a828261086f565b610b065760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104fb565b6001600160a01b038316610ba4578060026000828254610b999190610e69565b90915550610c169050565b6001600160a01b03831660009081526020819052604090205481811015610bf75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104fb565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610c3257600280548290039055610c51565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c9691815260200190565b60405180910390a3505050565b600060208284031215610cb557600080fd5b81356001600160e01b031981168114610ccd57600080fd5b9392505050565b60006020808352835180602085015260005b81811015610d0257858101830151858201604001528201610ce6565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d3a57600080fd5b919050565b60008060408385031215610d5257600080fd5b610d5b83610d23565b946020939093013593505050565b600080600060608486031215610d7e57600080fd5b610d8784610d23565b9250610d9560208501610d23565b9150604084013590509250925092565b600060208284031215610db757600080fd5b5035919050565b60008060408385031215610dd157600080fd5b82359150610de160208401610d23565b90509250929050565b600060208284031215610dfc57600080fd5b610ccd82610d23565b60008060408385031215610e1857600080fd5b610e2183610d23565b9150610de160208401610d23565b600181811c90821680610e4357607f821691505b602082108103610e6357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561037a57634e487b7160e01b600052601160045260246000fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220cbcbaafbce63d8ac619a22d4e837fc602232386c5248b061ca0f8706e5c5be4564736f6c63430008160033", "linkReferences": {}, "deployedLinkReferences": {} } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryImpl.dbg.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryImpl.dbg.json index 0482557..26a6898 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryImpl.dbg.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryImpl.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/5077781210b2b75bdbf774e14f2d3801.json" + "buildInfo": "../build-info/fab9518c2cef19300334ce4b9b347f6b.json" } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryImpl.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryImpl.json index 3cf429e..efa7e53 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryImpl.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryImpl.json @@ -434,8 +434,8 @@ "type": "function" } ], - "bytecode": "0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516115ac6100fd60003960008181610bce01528181610bf70152610d3d01526115ac6000f3fe6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611132565b6102b5565b6040516100e7939291906111bf565b61013261012d36600461121e565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611132565b6104ca565b6040516100e79190611280565b34801561019757600080fd5b506101326101a63660046112d8565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e79190611360565b34801561025157600080fd5b50610265610260366004611132565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d8565b6109da565b3480156102a157600080fd5b506101326102b0366004611373565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138e565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138e565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138e565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155783398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c8565b90815260200160405180910390206040518060600160405290816000820180546105279061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138e565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138e565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138e565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff908690600401611360565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e4565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c8565b908152604051908190036020019020815181906107d29082611456565b50602082015160018201906107e79082611456565b50604082015160028201906107fc9082611456565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111bf565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c8565b90815260405190819003602001902080546109d09061138e565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a21908790600401611360565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e4565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c8565b90815260405190819003602001902081518190610afc9082611456565b5060208201516001820190610b119082611456565b5060408201516002820190610b269082611456565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111bf565b60405180910390a160018054906000610b7583611516565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611557833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153d565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115578339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c8565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b7576110b7611086565b604051601f8501601f19908116603f011681019082821181831017156110df576110df611086565b816040528093508581528686860111156110f857600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112357600080fd5b610b7e8383356020850161109c565b60006020828403121561114457600080fd5b813567ffffffffffffffff81111561115b57600080fd5b61116784828501611112565b949350505050565b60005b8381101561118a578181015183820152602001611172565b50506000910152565b600081518084526111ab81602086016020860161116f565b601f01601f19169290920160200192915050565b6060815260006111d26060830186611193565b82810360208401526111e48186611193565b905082810360408401526111f88185611193565b9695505050505050565b80356001600160a01b038116811461121957600080fd5b919050565b6000806040838503121561123157600080fd5b61123a83611202565b9150602083013567ffffffffffffffff81111561125657600080fd5b8301601f8101851361126757600080fd5b6112768582356020840161109c565b9150509250929050565b60208152600082516060602084015261129c6080840182611193565b90506020840151601f19808584030160408601526112ba8383611193565b9250604086015191508085840301606086015250610fd98282611193565b6000806000606084860312156112ed57600080fd5b833567ffffffffffffffff8082111561130557600080fd5b61131187838801611112565b9450602086013591508082111561132757600080fd5b61133387838801611112565b9350604086013591508082111561134957600080fd5b5061135686828701611112565b9150509250925092565b602081526000610b7e6020830184611193565b60006020828403121561138557600080fd5b610b7e82611202565b600181811c908216806113a257607f821691505b6020821081036113c257634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113da81846020870161116f565b9190910192915050565b6000602082840312156113f657600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142f5750805b601f850160051c820191505b8181101561144e5782815560010161143b565b505050505050565b815167ffffffffffffffff81111561147057611470611086565b6114848161147e845461138e565b84611406565b602080601f8311600181146114b957600084156114a15750858301515b600019600386901b1c1916600185901b17855561144e565b600085815260208120601f198616915b828110156114e8578886015182559484019460019091019084016114c9565b50858210156115065787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153657634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c75f83ec32a46ec4d9bba6a16b97fd7f4f8b4040e24571dde401082ff2399d0564736f6c63430008160033", - "deployedBytecode": "0x6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611132565b6102b5565b6040516100e7939291906111bf565b61013261012d36600461121e565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611132565b6104ca565b6040516100e79190611280565b34801561019757600080fd5b506101326101a63660046112d8565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e79190611360565b34801561025157600080fd5b50610265610260366004611132565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d8565b6109da565b3480156102a157600080fd5b506101326102b0366004611373565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138e565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138e565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138e565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155783398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c8565b90815260200160405180910390206040518060600160405290816000820180546105279061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138e565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138e565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138e565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff908690600401611360565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e4565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c8565b908152604051908190036020019020815181906107d29082611456565b50602082015160018201906107e79082611456565b50604082015160028201906107fc9082611456565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111bf565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c8565b90815260405190819003602001902080546109d09061138e565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a21908790600401611360565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e4565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c8565b90815260405190819003602001902081518190610afc9082611456565b5060208201516001820190610b119082611456565b5060408201516002820190610b269082611456565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111bf565b60405180910390a160018054906000610b7583611516565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611557833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153d565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115578339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c8565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b7576110b7611086565b604051601f8501601f19908116603f011681019082821181831017156110df576110df611086565b816040528093508581528686860111156110f857600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112357600080fd5b610b7e8383356020850161109c565b60006020828403121561114457600080fd5b813567ffffffffffffffff81111561115b57600080fd5b61116784828501611112565b949350505050565b60005b8381101561118a578181015183820152602001611172565b50506000910152565b600081518084526111ab81602086016020860161116f565b601f01601f19169290920160200192915050565b6060815260006111d26060830186611193565b82810360208401526111e48186611193565b905082810360408401526111f88185611193565b9695505050505050565b80356001600160a01b038116811461121957600080fd5b919050565b6000806040838503121561123157600080fd5b61123a83611202565b9150602083013567ffffffffffffffff81111561125657600080fd5b8301601f8101851361126757600080fd5b6112768582356020840161109c565b9150509250929050565b60208152600082516060602084015261129c6080840182611193565b90506020840151601f19808584030160408601526112ba8383611193565b9250604086015191508085840301606086015250610fd98282611193565b6000806000606084860312156112ed57600080fd5b833567ffffffffffffffff8082111561130557600080fd5b61131187838801611112565b9450602086013591508082111561132757600080fd5b61133387838801611112565b9350604086013591508082111561134957600080fd5b5061135686828701611112565b9150509250925092565b602081526000610b7e6020830184611193565b60006020828403121561138557600080fd5b610b7e82611202565b600181811c908216806113a257607f821691505b6020821081036113c257634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113da81846020870161116f565b9190910192915050565b6000602082840312156113f657600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142f5750805b601f850160051c820191505b8181101561144e5782815560010161143b565b505050505050565b815167ffffffffffffffff81111561147057611470611086565b6114848161147e845461138e565b84611406565b602080601f8311600181146114b957600084156114a15750858301515b600019600386901b1c1916600185901b17855561144e565b600085815260208120601f198616915b828110156114e8578886015182559484019460019091019084016114c9565b50858210156115065787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153657634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c75f83ec32a46ec4d9bba6a16b97fd7f4f8b4040e24571dde401082ff2399d0564736f6c63430008160033", + "bytecode": "0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516115ab6100fd60003960008181610bce01528181610bf70152610d3d01526115ab6000f3fe6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611131565b6102b5565b6040516100e7939291906111be565b61013261012d36600461121d565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611131565b6104ca565b6040516100e7919061127f565b34801561019757600080fd5b506101326101a63660046112d7565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e7919061135f565b34801561025157600080fd5b50610265610260366004611131565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d7565b6109da565b3480156102a157600080fd5b506101326102b0366004611372565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138d565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138d565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138d565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155683398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c7565b90815260200160405180910390206040518060600160405290816000820180546105279061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138d565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138d565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138d565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff90869060040161135f565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e3565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c7565b908152604051908190036020019020815181906107d29082611455565b50602082015160018201906107e79082611455565b50604082015160028201906107fc9082611455565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111be565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c7565b90815260405190819003602001902080546109d09061138d565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a2190879060040161135f565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e3565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c7565b90815260405190819003602001902081518190610afc9082611455565b5060208201516001820190610b119082611455565b5060408201516002820190610b269082611455565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111be565b60405180910390a160018054906000610b7583611515565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611556833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153c565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115568339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c7565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b6576110b6611085565b604051601f8501601f19908116603f011681019082821181831017156110de576110de611085565b816040528093508581528686860111156110f757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112257600080fd5b610b7e8383356020850161109b565b60006020828403121561114357600080fd5b813567ffffffffffffffff81111561115a57600080fd5b61116684828501611111565b949350505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b6060815260006111d16060830186611192565b82810360208401526111e38186611192565b905082810360408401526111f78185611192565b9695505050505050565b80356001600160a01b038116811461121857600080fd5b919050565b6000806040838503121561123057600080fd5b61123983611201565b9150602083013567ffffffffffffffff81111561125557600080fd5b8301601f8101851361126657600080fd5b6112758582356020840161109b565b9150509250929050565b60208152600082516060602084015261129b6080840182611192565b90506020840151601f19808584030160408601526112b98383611192565b9250604086015191508085840301606086015250610fd98282611192565b6000806000606084860312156112ec57600080fd5b833567ffffffffffffffff8082111561130457600080fd5b61131087838801611111565b9450602086013591508082111561132657600080fd5b61133287838801611111565b9350604086013591508082111561134857600080fd5b5061135586828701611111565b9150509250925092565b602081526000610b7e6020830184611192565b60006020828403121561138457600080fd5b610b7e82611201565b600181811c908216806113a157607f821691505b6020821081036113c157634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113d981846020870161116e565b9190910192915050565b6000602082840312156113f557600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142e5750805b601f850160051c820191505b8181101561144d5782815560010161143a565b505050505050565b815167ffffffffffffffff81111561146f5761146f611085565b6114838161147d845461138d565b84611405565b602080601f8311600181146114b857600084156114a05750858301515b600019600386901b1c1916600185901b17855561144d565b600085815260208120601f198616915b828110156114e7578886015182559484019460019091019084016114c8565b50858210156115055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153557634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154e57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212202bfc3b81f904787b5ab23808a04349a17cd56f161fa1b7a96ecce2619be06d4264736f6c63430008160033", + "deployedBytecode": "0x6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611131565b6102b5565b6040516100e7939291906111be565b61013261012d36600461121d565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611131565b6104ca565b6040516100e7919061127f565b34801561019757600080fd5b506101326101a63660046112d7565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e7919061135f565b34801561025157600080fd5b50610265610260366004611131565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d7565b6109da565b3480156102a157600080fd5b506101326102b0366004611372565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138d565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138d565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138d565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155683398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c7565b90815260200160405180910390206040518060600160405290816000820180546105279061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138d565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138d565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138d565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff90869060040161135f565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e3565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c7565b908152604051908190036020019020815181906107d29082611455565b50602082015160018201906107e79082611455565b50604082015160028201906107fc9082611455565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111be565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c7565b90815260405190819003602001902080546109d09061138d565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a2190879060040161135f565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e3565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c7565b90815260405190819003602001902081518190610afc9082611455565b5060208201516001820190610b119082611455565b5060408201516002820190610b269082611455565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111be565b60405180910390a160018054906000610b7583611515565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611556833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153c565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115568339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c7565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b6576110b6611085565b604051601f8501601f19908116603f011681019082821181831017156110de576110de611085565b816040528093508581528686860111156110f757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112257600080fd5b610b7e8383356020850161109b565b60006020828403121561114357600080fd5b813567ffffffffffffffff81111561115a57600080fd5b61116684828501611111565b949350505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b6060815260006111d16060830186611192565b82810360208401526111e38186611192565b905082810360408401526111f78185611192565b9695505050505050565b80356001600160a01b038116811461121857600080fd5b919050565b6000806040838503121561123057600080fd5b61123983611201565b9150602083013567ffffffffffffffff81111561125557600080fd5b8301601f8101851361126657600080fd5b6112758582356020840161109b565b9150509250929050565b60208152600082516060602084015261129b6080840182611192565b90506020840151601f19808584030160408601526112b98383611192565b9250604086015191508085840301606086015250610fd98282611192565b6000806000606084860312156112ec57600080fd5b833567ffffffffffffffff8082111561130457600080fd5b61131087838801611111565b9450602086013591508082111561132657600080fd5b61133287838801611111565b9350604086013591508082111561134857600080fd5b5061135586828701611111565b9150509250925092565b602081526000610b7e6020830184611192565b60006020828403121561138457600080fd5b610b7e82611201565b600181811c908216806113a157607f821691505b6020821081036113c157634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113d981846020870161116e565b9190910192915050565b6000602082840312156113f557600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142e5750805b601f850160051c820191505b8181101561144d5782815560010161143a565b505050505050565b815167ffffffffffffffff81111561146f5761146f611085565b6114838161147d845461138d565b84611405565b602080601f8311600181146114b857600084156114a05750858301515b600019600386901b1c1916600185901b17855561144d565b600085815260208120601f198616915b828110156114e7578886015182559484019460019091019084016114c8565b50858210156115055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153557634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154e57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212202bfc3b81f904787b5ab23808a04349a17cd56f161fa1b7a96ecce2619be06d4264736f6c63430008160033", "linkReferences": {}, "deployedLinkReferences": {} } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxied.dbg.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxied.dbg.json index 0482557..26a6898 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxied.dbg.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxied.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/5077781210b2b75bdbf774e14f2d3801.json" + "buildInfo": "../build-info/fab9518c2cef19300334ce4b9b347f6b.json" } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxied.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxied.json index 3cf429e..efa7e53 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxied.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxied.json @@ -434,8 +434,8 @@ "type": "function" } ], - "bytecode": "0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516115ac6100fd60003960008181610bce01528181610bf70152610d3d01526115ac6000f3fe6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611132565b6102b5565b6040516100e7939291906111bf565b61013261012d36600461121e565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611132565b6104ca565b6040516100e79190611280565b34801561019757600080fd5b506101326101a63660046112d8565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e79190611360565b34801561025157600080fd5b50610265610260366004611132565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d8565b6109da565b3480156102a157600080fd5b506101326102b0366004611373565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138e565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138e565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138e565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155783398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c8565b90815260200160405180910390206040518060600160405290816000820180546105279061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138e565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138e565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138e565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff908690600401611360565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e4565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c8565b908152604051908190036020019020815181906107d29082611456565b50602082015160018201906107e79082611456565b50604082015160028201906107fc9082611456565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111bf565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c8565b90815260405190819003602001902080546109d09061138e565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a21908790600401611360565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e4565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c8565b90815260405190819003602001902081518190610afc9082611456565b5060208201516001820190610b119082611456565b5060408201516002820190610b269082611456565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111bf565b60405180910390a160018054906000610b7583611516565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611557833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153d565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115578339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c8565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b7576110b7611086565b604051601f8501601f19908116603f011681019082821181831017156110df576110df611086565b816040528093508581528686860111156110f857600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112357600080fd5b610b7e8383356020850161109c565b60006020828403121561114457600080fd5b813567ffffffffffffffff81111561115b57600080fd5b61116784828501611112565b949350505050565b60005b8381101561118a578181015183820152602001611172565b50506000910152565b600081518084526111ab81602086016020860161116f565b601f01601f19169290920160200192915050565b6060815260006111d26060830186611193565b82810360208401526111e48186611193565b905082810360408401526111f88185611193565b9695505050505050565b80356001600160a01b038116811461121957600080fd5b919050565b6000806040838503121561123157600080fd5b61123a83611202565b9150602083013567ffffffffffffffff81111561125657600080fd5b8301601f8101851361126757600080fd5b6112768582356020840161109c565b9150509250929050565b60208152600082516060602084015261129c6080840182611193565b90506020840151601f19808584030160408601526112ba8383611193565b9250604086015191508085840301606086015250610fd98282611193565b6000806000606084860312156112ed57600080fd5b833567ffffffffffffffff8082111561130557600080fd5b61131187838801611112565b9450602086013591508082111561132757600080fd5b61133387838801611112565b9350604086013591508082111561134957600080fd5b5061135686828701611112565b9150509250925092565b602081526000610b7e6020830184611193565b60006020828403121561138557600080fd5b610b7e82611202565b600181811c908216806113a257607f821691505b6020821081036113c257634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113da81846020870161116f565b9190910192915050565b6000602082840312156113f657600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142f5750805b601f850160051c820191505b8181101561144e5782815560010161143b565b505050505050565b815167ffffffffffffffff81111561147057611470611086565b6114848161147e845461138e565b84611406565b602080601f8311600181146114b957600084156114a15750858301515b600019600386901b1c1916600185901b17855561144e565b600085815260208120601f198616915b828110156114e8578886015182559484019460019091019084016114c9565b50858210156115065787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153657634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c75f83ec32a46ec4d9bba6a16b97fd7f4f8b4040e24571dde401082ff2399d0564736f6c63430008160033", - "deployedBytecode": "0x6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611132565b6102b5565b6040516100e7939291906111bf565b61013261012d36600461121e565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611132565b6104ca565b6040516100e79190611280565b34801561019757600080fd5b506101326101a63660046112d8565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e79190611360565b34801561025157600080fd5b50610265610260366004611132565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d8565b6109da565b3480156102a157600080fd5b506101326102b0366004611373565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138e565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138e565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138e565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155783398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c8565b90815260200160405180910390206040518060600160405290816000820180546105279061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138e565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138e565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138e565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff908690600401611360565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e4565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c8565b908152604051908190036020019020815181906107d29082611456565b50602082015160018201906107e79082611456565b50604082015160028201906107fc9082611456565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111bf565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c8565b90815260405190819003602001902080546109d09061138e565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a21908790600401611360565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e4565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c8565b90815260405190819003602001902081518190610afc9082611456565b5060208201516001820190610b119082611456565b5060408201516002820190610b269082611456565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111bf565b60405180910390a160018054906000610b7583611516565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611557833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153d565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115578339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c8565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b7576110b7611086565b604051601f8501601f19908116603f011681019082821181831017156110df576110df611086565b816040528093508581528686860111156110f857600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112357600080fd5b610b7e8383356020850161109c565b60006020828403121561114457600080fd5b813567ffffffffffffffff81111561115b57600080fd5b61116784828501611112565b949350505050565b60005b8381101561118a578181015183820152602001611172565b50506000910152565b600081518084526111ab81602086016020860161116f565b601f01601f19169290920160200192915050565b6060815260006111d26060830186611193565b82810360208401526111e48186611193565b905082810360408401526111f88185611193565b9695505050505050565b80356001600160a01b038116811461121957600080fd5b919050565b6000806040838503121561123157600080fd5b61123a83611202565b9150602083013567ffffffffffffffff81111561125657600080fd5b8301601f8101851361126757600080fd5b6112768582356020840161109c565b9150509250929050565b60208152600082516060602084015261129c6080840182611193565b90506020840151601f19808584030160408601526112ba8383611193565b9250604086015191508085840301606086015250610fd98282611193565b6000806000606084860312156112ed57600080fd5b833567ffffffffffffffff8082111561130557600080fd5b61131187838801611112565b9450602086013591508082111561132757600080fd5b61133387838801611112565b9350604086013591508082111561134957600080fd5b5061135686828701611112565b9150509250925092565b602081526000610b7e6020830184611193565b60006020828403121561138557600080fd5b610b7e82611202565b600181811c908216806113a257607f821691505b6020821081036113c257634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113da81846020870161116f565b9190910192915050565b6000602082840312156113f657600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142f5750805b601f850160051c820191505b8181101561144e5782815560010161143b565b505050505050565b815167ffffffffffffffff81111561147057611470611086565b6114848161147e845461138e565b84611406565b602080601f8311600181146114b957600084156114a15750858301515b600019600386901b1c1916600185901b17855561144e565b600085815260208120601f198616915b828110156114e8578886015182559484019460019091019084016114c9565b50858210156115065787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153657634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c75f83ec32a46ec4d9bba6a16b97fd7f4f8b4040e24571dde401082ff2399d0564736f6c63430008160033", + "bytecode": "0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516115ab6100fd60003960008181610bce01528181610bf70152610d3d01526115ab6000f3fe6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611131565b6102b5565b6040516100e7939291906111be565b61013261012d36600461121d565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611131565b6104ca565b6040516100e7919061127f565b34801561019757600080fd5b506101326101a63660046112d7565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e7919061135f565b34801561025157600080fd5b50610265610260366004611131565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d7565b6109da565b3480156102a157600080fd5b506101326102b0366004611372565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138d565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138d565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138d565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155683398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c7565b90815260200160405180910390206040518060600160405290816000820180546105279061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138d565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138d565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138d565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff90869060040161135f565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e3565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c7565b908152604051908190036020019020815181906107d29082611455565b50602082015160018201906107e79082611455565b50604082015160028201906107fc9082611455565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111be565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c7565b90815260405190819003602001902080546109d09061138d565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a2190879060040161135f565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e3565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c7565b90815260405190819003602001902081518190610afc9082611455565b5060208201516001820190610b119082611455565b5060408201516002820190610b269082611455565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111be565b60405180910390a160018054906000610b7583611515565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611556833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153c565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115568339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c7565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b6576110b6611085565b604051601f8501601f19908116603f011681019082821181831017156110de576110de611085565b816040528093508581528686860111156110f757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112257600080fd5b610b7e8383356020850161109b565b60006020828403121561114357600080fd5b813567ffffffffffffffff81111561115a57600080fd5b61116684828501611111565b949350505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b6060815260006111d16060830186611192565b82810360208401526111e38186611192565b905082810360408401526111f78185611192565b9695505050505050565b80356001600160a01b038116811461121857600080fd5b919050565b6000806040838503121561123057600080fd5b61123983611201565b9150602083013567ffffffffffffffff81111561125557600080fd5b8301601f8101851361126657600080fd5b6112758582356020840161109b565b9150509250929050565b60208152600082516060602084015261129b6080840182611192565b90506020840151601f19808584030160408601526112b98383611192565b9250604086015191508085840301606086015250610fd98282611192565b6000806000606084860312156112ec57600080fd5b833567ffffffffffffffff8082111561130457600080fd5b61131087838801611111565b9450602086013591508082111561132657600080fd5b61133287838801611111565b9350604086013591508082111561134857600080fd5b5061135586828701611111565b9150509250925092565b602081526000610b7e6020830184611192565b60006020828403121561138457600080fd5b610b7e82611201565b600181811c908216806113a157607f821691505b6020821081036113c157634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113d981846020870161116e565b9190910192915050565b6000602082840312156113f557600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142e5750805b601f850160051c820191505b8181101561144d5782815560010161143a565b505050505050565b815167ffffffffffffffff81111561146f5761146f611085565b6114838161147d845461138d565b84611405565b602080601f8311600181146114b857600084156114a05750858301515b600019600386901b1c1916600185901b17855561144d565b600085815260208120601f198616915b828110156114e7578886015182559484019460019091019084016114c8565b50858210156115055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153557634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154e57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212202bfc3b81f904787b5ab23808a04349a17cd56f161fa1b7a96ecce2619be06d4264736f6c63430008160033", + "deployedBytecode": "0x6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611131565b6102b5565b6040516100e7939291906111be565b61013261012d36600461121d565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611131565b6104ca565b6040516100e7919061127f565b34801561019757600080fd5b506101326101a63660046112d7565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e7919061135f565b34801561025157600080fd5b50610265610260366004611131565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d7565b6109da565b3480156102a157600080fd5b506101326102b0366004611372565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138d565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138d565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138d565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155683398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c7565b90815260200160405180910390206040518060600160405290816000820180546105279061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138d565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138d565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138d565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff90869060040161135f565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e3565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c7565b908152604051908190036020019020815181906107d29082611455565b50602082015160018201906107e79082611455565b50604082015160028201906107fc9082611455565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111be565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c7565b90815260405190819003602001902080546109d09061138d565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a2190879060040161135f565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e3565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c7565b90815260405190819003602001902081518190610afc9082611455565b5060208201516001820190610b119082611455565b5060408201516002820190610b269082611455565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111be565b60405180910390a160018054906000610b7583611515565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611556833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153c565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115568339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c7565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b6576110b6611085565b604051601f8501601f19908116603f011681019082821181831017156110de576110de611085565b816040528093508581528686860111156110f757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112257600080fd5b610b7e8383356020850161109b565b60006020828403121561114357600080fd5b813567ffffffffffffffff81111561115a57600080fd5b61116684828501611111565b949350505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b6060815260006111d16060830186611192565b82810360208401526111e38186611192565b905082810360408401526111f78185611192565b9695505050505050565b80356001600160a01b038116811461121857600080fd5b919050565b6000806040838503121561123057600080fd5b61123983611201565b9150602083013567ffffffffffffffff81111561125557600080fd5b8301601f8101851361126657600080fd5b6112758582356020840161109b565b9150509250929050565b60208152600082516060602084015261129b6080840182611192565b90506020840151601f19808584030160408601526112b98383611192565b9250604086015191508085840301606086015250610fd98282611192565b6000806000606084860312156112ec57600080fd5b833567ffffffffffffffff8082111561130457600080fd5b61131087838801611111565b9450602086013591508082111561132657600080fd5b61133287838801611111565b9350604086013591508082111561134857600080fd5b5061135586828701611111565b9150509250925092565b602081526000610b7e6020830184611192565b60006020828403121561138457600080fd5b610b7e82611201565b600181811c908216806113a157607f821691505b6020821081036113c157634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113d981846020870161116e565b9190910192915050565b6000602082840312156113f557600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142e5750805b601f850160051c820191505b8181101561144d5782815560010161143a565b505050505050565b815167ffffffffffffffff81111561146f5761146f611085565b6114838161147d845461138d565b84611405565b602080601f8311600181146114b857600084156114a05750858301515b600019600386901b1c1916600185901b17855561144d565b600085815260208120601f198616915b828110156114e7578886015182559484019460019091019084016114c8565b50858210156115055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153557634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154e57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212202bfc3b81f904787b5ab23808a04349a17cd56f161fa1b7a96ecce2619be06d4264736f6c63430008160033", "linkReferences": {}, "deployedLinkReferences": {} } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxy.dbg.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxy.dbg.json index 0482557..f8a8e48 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxy.dbg.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxy.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/5077781210b2b75bdbf774e14f2d3801.json" + "buildInfo": "../build-info/40c23a112789d71e0ac92ec95a0fc229.json" } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxy.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxy.json index 06b60d9..a4a9ea5 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxy.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/ServiceRegistryUpgradeableModule#ServiceRegistryProxy.json @@ -69,8 +69,8 @@ "type": "fallback" } ], - "bytecode": "0x608060405260405161040a38038061040a83398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60aa806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212201d1e675cd71e57bb3f08113f3040612bee9b14a06a3515aeb6fc806b55a6323764736f6c63430008160033", - "deployedBytecode": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212201d1e675cd71e57bb3f08113f3040612bee9b14a06a3515aeb6fc806b55a6323764736f6c63430008160033", + "bytecode": "0x608060405260405161040938038061040983398101604081905261002291610267565b61002c8282610033565b5050610351565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610335565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b80511561021457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025e578181015183820152602001610246565b50506000910152565b6000806040838503121561027a57600080fd5b82516001600160a01b038116811461029157600080fd5b60208401519092506001600160401b03808211156102ae57600080fd5b818501915085601f8301126102c257600080fd5b8151818111156102d4576102d461022d565b604051601f8201601f19908116603f011681019083821181831017156102fc576102fc61022d565b8160405282815288602084870101111561031557600080fd5b610326836020830160208801610243565b80955050505050509250929050565b60008251610347818460208701610243565b9190910192915050565b60aa8061035f6000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea264697066735822122060aeada43c964f1fbb27c2d9cbef9ca57ecc24f36b6aed0059d5371ade8a972f64736f6c63430008160033", + "deployedBytecode": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea264697066735822122060aeada43c964f1fbb27c2d9cbef9ca57ecc24f36b6aed0059d5371ade8a972f64736f6c63430008160033", "linkReferences": {}, "deployedLinkReferences": {} } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryImpl.dbg.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryImpl.dbg.json index e233517..26a6898 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryImpl.dbg.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryImpl.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/92a867347047d071fbd362c460decd54.json" + "buildInfo": "../build-info/fab9518c2cef19300334ce4b9b347f6b.json" } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryImpl.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryImpl.json index 40e6839..c00f73d 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryImpl.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryImpl.json @@ -730,8 +730,8 @@ "type": "function" } ], - "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125d06200010460003960008181611699015281816116c2015261180801526125d06000f3fe6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed2565b6103f8565b60405161012e9190611f9f565b60405180910390f35b34801561014357600080fd5b50610170610152366004612049565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612049565b610853565b3480156101d457600080fd5b506101e86101e3366004612077565b610a1f565b60405190815260200161012e565b6102096102043660046120a3565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612049565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612107565b34801561027357600080fd5b50610209610282366004612115565b610a8c565b34801561029357600080fd5b506102a76102a236600461214b565b610d56565b60405161012e9190612168565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ac565b610dd6565b3480156102f557600080fd5b50610209610304366004612049565b61100f565b34801561031557600080fd5b50610329610324366004612049565b611282565b60405161012e9897969594939291906121e9565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225c565b3480156103c457600080fd5b506102096103d336600461226f565b6113ed565b3480156103e457600080fd5b506102096103f336600461214b565b611512565b610400611d7e565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b4565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612424565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e4565b60405180910390a36002805490600061069083612503565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a2565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f67565b600381111561078357610783611f67565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a2565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7e565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a2565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f67565b600381111561095457610954611f67565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a2565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257b83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f67565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b4565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d16919061252a565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f67565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612424565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b4565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612107565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225c565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f67565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f67565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b4565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612107565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a2565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a2565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a2565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612543565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255f565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257b833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f191682019092526117929181019061252a565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257b83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612543565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612543565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255f565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612543565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d655780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dbb57611dbb611f67565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1557611e15611ddc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4457611e44611ddc565b604052919050565b600067ffffffffffffffff821115611e6657611e66611ddc565b50601f01601f191660200190565b6000611e87611e8284611e4c565b611e1b565b9050828152838383011115611e9b57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec357600080fd5b611d4e83833560208501611e74565b60008060408385031215611ee557600080fd5b823567ffffffffffffffff811115611efc57600080fd5b611f0885828601611eb2565b95602094909401359450505050565b60005b83811015611f32578181015183820152602001611f1a565b50506000910152565b60008151808452611f53816020860160208601611f17565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9b57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc8610120850183611f3b565b915060018060a01b0360408601511660608501526060850151611fee6080860182611f7d565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120298382611f3b565b92505060e085015161203f8286018260ff169052565b5090949350505050565b60006020828403121561205b57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208a57600080fd5b823561209581612062565b946020939093013593505050565b600080604083850312156120b657600080fd5b82356120c181612062565b9150602083013567ffffffffffffffff8111156120dd57600080fd5b8301601f810185136120ee57600080fd5b6120fd85823560208401611e74565b9150509250929050565b6020810161084d8284611f7d565b6000806040838503121561212857600080fd5b82359150602083013560ff8116811461214057600080fd5b809150509250929050565b60006020828403121561215d57600080fd5b8135611d4e81612062565b6020808252825182820181905260009190848201906040850190845b818110156121a057835183529284019291840191600101612184565b50909695505050505050565b600080604083850312156121bf57600080fd5b82359150602083013567ffffffffffffffff8111156121dd57600080fd5b6120fd85828601611eb2565b60006101008a83528060208401526122038184018b611f3b565b6001600160a01b038a81166040860152909150612223606085018a611f7d565b8716608084015260a0830186905282810360c08401526122438186611f3b565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3b565b6000806040838503121561228257600080fd5b82359150602083013561214081612062565b805161229f81612062565b919050565b8051801515811461229f57600080fd5b600060208083850312156122c757600080fd5b825167ffffffffffffffff808211156122df57600080fd5b9084019060c082870312156122f357600080fd5b6122fb611df2565b825161230681612062565b8152828401518281111561231957600080fd5b83019150601f8201871361232c57600080fd5b815161233a611e8282611e4c565b818152888683860101111561234e57600080fd5b61235d82878301888701611f17565b82860152506040838101519082015261237860608401612294565b60608201526080830151608082015261239360a084016122a4565b60a08201529695505050505050565b600181811c908216806123b657607f821691505b6020821081036123d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124055750805b601f850160051c820191505b8181101561168657828155600101612411565b815167ffffffffffffffff81111561243e5761243e611ddc565b6124528161244c84546123a2565b846123dc565b602080601f831160018114612487576000841561246f5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b657888601518255948401946001909101908401612497565b50858210156124d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3b565b60006001820161252357634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253c57600080fd5b5051919050565b60008251612555818460208701611f17565b9190910192915050565b60006020828403121561257157600080fd5b611d4e826122a456fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212200206fb8c32e5b0ca19955dd0cd96c2c0092a360b74e8402ac6b25e22e2d4295e64736f6c63430008160033", - "deployedBytecode": "0x6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed2565b6103f8565b60405161012e9190611f9f565b60405180910390f35b34801561014357600080fd5b50610170610152366004612049565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612049565b610853565b3480156101d457600080fd5b506101e86101e3366004612077565b610a1f565b60405190815260200161012e565b6102096102043660046120a3565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612049565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612107565b34801561027357600080fd5b50610209610282366004612115565b610a8c565b34801561029357600080fd5b506102a76102a236600461214b565b610d56565b60405161012e9190612168565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ac565b610dd6565b3480156102f557600080fd5b50610209610304366004612049565b61100f565b34801561031557600080fd5b50610329610324366004612049565b611282565b60405161012e9897969594939291906121e9565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225c565b3480156103c457600080fd5b506102096103d336600461226f565b6113ed565b3480156103e457600080fd5b506102096103f336600461214b565b611512565b610400611d7e565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b4565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612424565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e4565b60405180910390a36002805490600061069083612503565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a2565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f67565b600381111561078357610783611f67565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a2565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7e565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a2565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f67565b600381111561095457610954611f67565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a2565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257b83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f67565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b4565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d16919061252a565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f67565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612424565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b4565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612107565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225c565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f67565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f67565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b4565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612107565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a2565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a2565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a2565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612543565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255f565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257b833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f191682019092526117929181019061252a565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257b83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612543565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612543565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255f565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612543565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d655780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dbb57611dbb611f67565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1557611e15611ddc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4457611e44611ddc565b604052919050565b600067ffffffffffffffff821115611e6657611e66611ddc565b50601f01601f191660200190565b6000611e87611e8284611e4c565b611e1b565b9050828152838383011115611e9b57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec357600080fd5b611d4e83833560208501611e74565b60008060408385031215611ee557600080fd5b823567ffffffffffffffff811115611efc57600080fd5b611f0885828601611eb2565b95602094909401359450505050565b60005b83811015611f32578181015183820152602001611f1a565b50506000910152565b60008151808452611f53816020860160208601611f17565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9b57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc8610120850183611f3b565b915060018060a01b0360408601511660608501526060850151611fee6080860182611f7d565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120298382611f3b565b92505060e085015161203f8286018260ff169052565b5090949350505050565b60006020828403121561205b57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208a57600080fd5b823561209581612062565b946020939093013593505050565b600080604083850312156120b657600080fd5b82356120c181612062565b9150602083013567ffffffffffffffff8111156120dd57600080fd5b8301601f810185136120ee57600080fd5b6120fd85823560208401611e74565b9150509250929050565b6020810161084d8284611f7d565b6000806040838503121561212857600080fd5b82359150602083013560ff8116811461214057600080fd5b809150509250929050565b60006020828403121561215d57600080fd5b8135611d4e81612062565b6020808252825182820181905260009190848201906040850190845b818110156121a057835183529284019291840191600101612184565b50909695505050505050565b600080604083850312156121bf57600080fd5b82359150602083013567ffffffffffffffff8111156121dd57600080fd5b6120fd85828601611eb2565b60006101008a83528060208401526122038184018b611f3b565b6001600160a01b038a81166040860152909150612223606085018a611f7d565b8716608084015260a0830186905282810360c08401526122438186611f3b565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3b565b6000806040838503121561228257600080fd5b82359150602083013561214081612062565b805161229f81612062565b919050565b8051801515811461229f57600080fd5b600060208083850312156122c757600080fd5b825167ffffffffffffffff808211156122df57600080fd5b9084019060c082870312156122f357600080fd5b6122fb611df2565b825161230681612062565b8152828401518281111561231957600080fd5b83019150601f8201871361232c57600080fd5b815161233a611e8282611e4c565b818152888683860101111561234e57600080fd5b61235d82878301888701611f17565b82860152506040838101519082015261237860608401612294565b60608201526080830151608082015261239360a084016122a4565b60a08201529695505050505050565b600181811c908216806123b657607f821691505b6020821081036123d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124055750805b601f850160051c820191505b8181101561168657828155600101612411565b815167ffffffffffffffff81111561243e5761243e611ddc565b6124528161244c84546123a2565b846123dc565b602080601f831160018114612487576000841561246f5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b657888601518255948401946001909101908401612497565b50858210156124d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3b565b60006001820161252357634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253c57600080fd5b5051919050565b60008251612555818460208701611f17565b9190910192915050565b60006020828403121561257157600080fd5b611d4e826122a456fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212200206fb8c32e5b0ca19955dd0cd96c2c0092a360b74e8402ac6b25e22e2d4295e64736f6c63430008160033", + "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125cf6200010460003960008181611699015281816116c2015261180801526125cf6000f3fe6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed1565b6103f8565b60405161012e9190611f9e565b60405180910390f35b34801561014357600080fd5b50610170610152366004612048565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612048565b610853565b3480156101d457600080fd5b506101e86101e3366004612076565b610a1f565b60405190815260200161012e565b6102096102043660046120a2565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612048565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612106565b34801561027357600080fd5b50610209610282366004612114565b610a8c565b34801561029357600080fd5b506102a76102a236600461214a565b610d56565b60405161012e9190612167565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ab565b610dd6565b3480156102f557600080fd5b50610209610304366004612048565b61100f565b34801561031557600080fd5b50610329610324366004612048565b611282565b60405161012e9897969594939291906121e8565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225b565b3480156103c457600080fd5b506102096103d336600461226e565b6113ed565b3480156103e457600080fd5b506102096103f336600461214a565b611512565b610400611d7d565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b3565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612423565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e3565b60405180910390a36002805490600061069083612502565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a1565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f66565b600381111561078357610783611f66565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a1565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7d565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a1565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f66565b600381111561095457610954611f66565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a1565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257a83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f66565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b3565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190612529565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f66565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612423565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b3565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612106565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225b565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f66565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f66565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b3565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612106565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a1565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a1565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a1565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612542565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255e565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257a833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f1916820190925261179291810190612529565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257a83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612542565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612542565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255e565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612542565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d6457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dba57611dba611f66565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1457611e14611ddb565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4357611e43611ddb565b604052919050565b600067ffffffffffffffff821115611e6557611e65611ddb565b50601f01601f191660200190565b6000611e86611e8184611e4b565b611e1a565b9050828152838383011115611e9a57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec257600080fd5b611d4e83833560208501611e73565b60008060408385031215611ee457600080fd5b823567ffffffffffffffff811115611efb57600080fd5b611f0785828601611eb1565b95602094909401359450505050565b60005b83811015611f31578181015183820152602001611f19565b50506000910152565b60008151808452611f52816020860160208601611f16565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9a57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc7610120850183611f3a565b915060018060a01b0360408601511660608501526060850151611fed6080860182611f7c565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120288382611f3a565b92505060e085015161203e8286018260ff169052565b5090949350505050565b60006020828403121561205a57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208957600080fd5b823561209481612061565b946020939093013593505050565b600080604083850312156120b557600080fd5b82356120c081612061565b9150602083013567ffffffffffffffff8111156120dc57600080fd5b8301601f810185136120ed57600080fd5b6120fc85823560208401611e73565b9150509250929050565b6020810161084d8284611f7c565b6000806040838503121561212757600080fd5b82359150602083013560ff8116811461213f57600080fd5b809150509250929050565b60006020828403121561215c57600080fd5b8135611d4e81612061565b6020808252825182820181905260009190848201906040850190845b8181101561219f57835183529284019291840191600101612183565b50909695505050505050565b600080604083850312156121be57600080fd5b82359150602083013567ffffffffffffffff8111156121dc57600080fd5b6120fc85828601611eb1565b60006101008a83528060208401526122028184018b611f3a565b6001600160a01b038a81166040860152909150612222606085018a611f7c565b8716608084015260a0830186905282810360c08401526122428186611f3a565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3a565b6000806040838503121561228157600080fd5b82359150602083013561213f81612061565b805161229e81612061565b919050565b8051801515811461229e57600080fd5b600060208083850312156122c657600080fd5b825167ffffffffffffffff808211156122de57600080fd5b9084019060c082870312156122f257600080fd5b6122fa611df1565b825161230581612061565b8152828401518281111561231857600080fd5b83019150601f8201871361232b57600080fd5b8151612339611e8182611e4b565b818152888683860101111561234d57600080fd5b61235c82878301888701611f16565b82860152506040838101519082015261237760608401612293565b60608201526080830151608082015261239260a084016122a3565b60a08201529695505050505050565b600181811c908216806123b557607f821691505b6020821081036123d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124045750805b601f850160051c820191505b8181101561168657828155600101612410565b815167ffffffffffffffff81111561243d5761243d611ddb565b6124518161244b84546123a1565b846123db565b602080601f831160018114612486576000841561246e5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b557888601518255948401946001909101908401612496565b50858210156124d35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3a565b60006001820161252257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253b57600080fd5b5051919050565b60008251612554818460208701611f16565b9190910192915050565b60006020828403121561257057600080fd5b611d4e826122a356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d3b080e19c883e02f2c45a696f8fc9ffe9b7d894958f1142da9c3a68737d889a64736f6c63430008160033", + "deployedBytecode": "0x6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed1565b6103f8565b60405161012e9190611f9e565b60405180910390f35b34801561014357600080fd5b50610170610152366004612048565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612048565b610853565b3480156101d457600080fd5b506101e86101e3366004612076565b610a1f565b60405190815260200161012e565b6102096102043660046120a2565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612048565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612106565b34801561027357600080fd5b50610209610282366004612114565b610a8c565b34801561029357600080fd5b506102a76102a236600461214a565b610d56565b60405161012e9190612167565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ab565b610dd6565b3480156102f557600080fd5b50610209610304366004612048565b61100f565b34801561031557600080fd5b50610329610324366004612048565b611282565b60405161012e9897969594939291906121e8565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225b565b3480156103c457600080fd5b506102096103d336600461226e565b6113ed565b3480156103e457600080fd5b506102096103f336600461214a565b611512565b610400611d7d565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b3565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612423565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e3565b60405180910390a36002805490600061069083612502565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a1565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f66565b600381111561078357610783611f66565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a1565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7d565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a1565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f66565b600381111561095457610954611f66565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a1565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257a83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f66565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b3565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190612529565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f66565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612423565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b3565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612106565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225b565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f66565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f66565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b3565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612106565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a1565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a1565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a1565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612542565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255e565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257a833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f1916820190925261179291810190612529565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257a83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612542565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612542565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255e565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612542565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d6457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dba57611dba611f66565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1457611e14611ddb565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4357611e43611ddb565b604052919050565b600067ffffffffffffffff821115611e6557611e65611ddb565b50601f01601f191660200190565b6000611e86611e8184611e4b565b611e1a565b9050828152838383011115611e9a57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec257600080fd5b611d4e83833560208501611e73565b60008060408385031215611ee457600080fd5b823567ffffffffffffffff811115611efb57600080fd5b611f0785828601611eb1565b95602094909401359450505050565b60005b83811015611f31578181015183820152602001611f19565b50506000910152565b60008151808452611f52816020860160208601611f16565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9a57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc7610120850183611f3a565b915060018060a01b0360408601511660608501526060850151611fed6080860182611f7c565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120288382611f3a565b92505060e085015161203e8286018260ff169052565b5090949350505050565b60006020828403121561205a57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208957600080fd5b823561209481612061565b946020939093013593505050565b600080604083850312156120b557600080fd5b82356120c081612061565b9150602083013567ffffffffffffffff8111156120dc57600080fd5b8301601f810185136120ed57600080fd5b6120fc85823560208401611e73565b9150509250929050565b6020810161084d8284611f7c565b6000806040838503121561212757600080fd5b82359150602083013560ff8116811461213f57600080fd5b809150509250929050565b60006020828403121561215c57600080fd5b8135611d4e81612061565b6020808252825182820181905260009190848201906040850190845b8181101561219f57835183529284019291840191600101612183565b50909695505050505050565b600080604083850312156121be57600080fd5b82359150602083013567ffffffffffffffff8111156121dc57600080fd5b6120fc85828601611eb1565b60006101008a83528060208401526122028184018b611f3a565b6001600160a01b038a81166040860152909150612222606085018a611f7c565b8716608084015260a0830186905282810360c08401526122428186611f3a565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3a565b6000806040838503121561228157600080fd5b82359150602083013561213f81612061565b805161229e81612061565b919050565b8051801515811461229e57600080fd5b600060208083850312156122c657600080fd5b825167ffffffffffffffff808211156122de57600080fd5b9084019060c082870312156122f257600080fd5b6122fa611df1565b825161230581612061565b8152828401518281111561231857600080fd5b83019150601f8201871361232b57600080fd5b8151612339611e8182611e4b565b818152888683860101111561234d57600080fd5b61235c82878301888701611f16565b82860152506040838101519082015261237760608401612293565b60608201526080830151608082015261239260a084016122a3565b60a08201529695505050505050565b600181811c908216806123b557607f821691505b6020821081036123d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124045750805b601f850160051c820191505b8181101561168657828155600101612410565b815167ffffffffffffffff81111561243d5761243d611ddb565b6124518161244b84546123a1565b846123db565b602080601f831160018114612486576000841561246e5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b557888601518255948401946001909101908401612496565b50858210156124d35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3a565b60006001820161252257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253b57600080fd5b5051919050565b60008251612554818460208701611f16565b9190910192915050565b60006020828403121561257057600080fd5b611d4e826122a356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d3b080e19c883e02f2c45a696f8fc9ffe9b7d894958f1142da9c3a68737d889a64736f6c63430008160033", "linkReferences": {}, "deployedLinkReferences": {} } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxied.dbg.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxied.dbg.json index e233517..26a6898 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxied.dbg.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxied.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/92a867347047d071fbd362c460decd54.json" + "buildInfo": "../build-info/fab9518c2cef19300334ce4b9b347f6b.json" } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxied.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxied.json index 40e6839..c00f73d 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxied.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxied.json @@ -730,8 +730,8 @@ "type": "function" } ], - "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125d06200010460003960008181611699015281816116c2015261180801526125d06000f3fe6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed2565b6103f8565b60405161012e9190611f9f565b60405180910390f35b34801561014357600080fd5b50610170610152366004612049565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612049565b610853565b3480156101d457600080fd5b506101e86101e3366004612077565b610a1f565b60405190815260200161012e565b6102096102043660046120a3565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612049565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612107565b34801561027357600080fd5b50610209610282366004612115565b610a8c565b34801561029357600080fd5b506102a76102a236600461214b565b610d56565b60405161012e9190612168565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ac565b610dd6565b3480156102f557600080fd5b50610209610304366004612049565b61100f565b34801561031557600080fd5b50610329610324366004612049565b611282565b60405161012e9897969594939291906121e9565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225c565b3480156103c457600080fd5b506102096103d336600461226f565b6113ed565b3480156103e457600080fd5b506102096103f336600461214b565b611512565b610400611d7e565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b4565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612424565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e4565b60405180910390a36002805490600061069083612503565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a2565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f67565b600381111561078357610783611f67565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a2565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7e565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a2565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f67565b600381111561095457610954611f67565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a2565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257b83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f67565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b4565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d16919061252a565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f67565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612424565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b4565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612107565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225c565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f67565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f67565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b4565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612107565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a2565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a2565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a2565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612543565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255f565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257b833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f191682019092526117929181019061252a565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257b83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612543565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612543565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255f565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612543565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d655780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dbb57611dbb611f67565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1557611e15611ddc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4457611e44611ddc565b604052919050565b600067ffffffffffffffff821115611e6657611e66611ddc565b50601f01601f191660200190565b6000611e87611e8284611e4c565b611e1b565b9050828152838383011115611e9b57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec357600080fd5b611d4e83833560208501611e74565b60008060408385031215611ee557600080fd5b823567ffffffffffffffff811115611efc57600080fd5b611f0885828601611eb2565b95602094909401359450505050565b60005b83811015611f32578181015183820152602001611f1a565b50506000910152565b60008151808452611f53816020860160208601611f17565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9b57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc8610120850183611f3b565b915060018060a01b0360408601511660608501526060850151611fee6080860182611f7d565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120298382611f3b565b92505060e085015161203f8286018260ff169052565b5090949350505050565b60006020828403121561205b57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208a57600080fd5b823561209581612062565b946020939093013593505050565b600080604083850312156120b657600080fd5b82356120c181612062565b9150602083013567ffffffffffffffff8111156120dd57600080fd5b8301601f810185136120ee57600080fd5b6120fd85823560208401611e74565b9150509250929050565b6020810161084d8284611f7d565b6000806040838503121561212857600080fd5b82359150602083013560ff8116811461214057600080fd5b809150509250929050565b60006020828403121561215d57600080fd5b8135611d4e81612062565b6020808252825182820181905260009190848201906040850190845b818110156121a057835183529284019291840191600101612184565b50909695505050505050565b600080604083850312156121bf57600080fd5b82359150602083013567ffffffffffffffff8111156121dd57600080fd5b6120fd85828601611eb2565b60006101008a83528060208401526122038184018b611f3b565b6001600160a01b038a81166040860152909150612223606085018a611f7d565b8716608084015260a0830186905282810360c08401526122438186611f3b565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3b565b6000806040838503121561228257600080fd5b82359150602083013561214081612062565b805161229f81612062565b919050565b8051801515811461229f57600080fd5b600060208083850312156122c757600080fd5b825167ffffffffffffffff808211156122df57600080fd5b9084019060c082870312156122f357600080fd5b6122fb611df2565b825161230681612062565b8152828401518281111561231957600080fd5b83019150601f8201871361232c57600080fd5b815161233a611e8282611e4c565b818152888683860101111561234e57600080fd5b61235d82878301888701611f17565b82860152506040838101519082015261237860608401612294565b60608201526080830151608082015261239360a084016122a4565b60a08201529695505050505050565b600181811c908216806123b657607f821691505b6020821081036123d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124055750805b601f850160051c820191505b8181101561168657828155600101612411565b815167ffffffffffffffff81111561243e5761243e611ddc565b6124528161244c84546123a2565b846123dc565b602080601f831160018114612487576000841561246f5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b657888601518255948401946001909101908401612497565b50858210156124d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3b565b60006001820161252357634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253c57600080fd5b5051919050565b60008251612555818460208701611f17565b9190910192915050565b60006020828403121561257157600080fd5b611d4e826122a456fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212200206fb8c32e5b0ca19955dd0cd96c2c0092a360b74e8402ac6b25e22e2d4295e64736f6c63430008160033", - "deployedBytecode": "0x6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed2565b6103f8565b60405161012e9190611f9f565b60405180910390f35b34801561014357600080fd5b50610170610152366004612049565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612049565b610853565b3480156101d457600080fd5b506101e86101e3366004612077565b610a1f565b60405190815260200161012e565b6102096102043660046120a3565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612049565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612107565b34801561027357600080fd5b50610209610282366004612115565b610a8c565b34801561029357600080fd5b506102a76102a236600461214b565b610d56565b60405161012e9190612168565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ac565b610dd6565b3480156102f557600080fd5b50610209610304366004612049565b61100f565b34801561031557600080fd5b50610329610324366004612049565b611282565b60405161012e9897969594939291906121e9565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225c565b3480156103c457600080fd5b506102096103d336600461226f565b6113ed565b3480156103e457600080fd5b506102096103f336600461214b565b611512565b610400611d7e565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b4565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612424565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e4565b60405180910390a36002805490600061069083612503565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a2565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f67565b600381111561078357610783611f67565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a2565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7e565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a2565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f67565b600381111561095457610954611f67565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a2565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257b83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f67565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b4565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d16919061252a565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f67565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612424565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b4565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612107565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225c565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f67565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f67565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b4565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612107565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a2565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a2565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a2565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612543565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255f565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257b833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f191682019092526117929181019061252a565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257b83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612543565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612543565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255f565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612543565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d655780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dbb57611dbb611f67565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1557611e15611ddc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4457611e44611ddc565b604052919050565b600067ffffffffffffffff821115611e6657611e66611ddc565b50601f01601f191660200190565b6000611e87611e8284611e4c565b611e1b565b9050828152838383011115611e9b57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec357600080fd5b611d4e83833560208501611e74565b60008060408385031215611ee557600080fd5b823567ffffffffffffffff811115611efc57600080fd5b611f0885828601611eb2565b95602094909401359450505050565b60005b83811015611f32578181015183820152602001611f1a565b50506000910152565b60008151808452611f53816020860160208601611f17565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9b57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc8610120850183611f3b565b915060018060a01b0360408601511660608501526060850151611fee6080860182611f7d565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120298382611f3b565b92505060e085015161203f8286018260ff169052565b5090949350505050565b60006020828403121561205b57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208a57600080fd5b823561209581612062565b946020939093013593505050565b600080604083850312156120b657600080fd5b82356120c181612062565b9150602083013567ffffffffffffffff8111156120dd57600080fd5b8301601f810185136120ee57600080fd5b6120fd85823560208401611e74565b9150509250929050565b6020810161084d8284611f7d565b6000806040838503121561212857600080fd5b82359150602083013560ff8116811461214057600080fd5b809150509250929050565b60006020828403121561215d57600080fd5b8135611d4e81612062565b6020808252825182820181905260009190848201906040850190845b818110156121a057835183529284019291840191600101612184565b50909695505050505050565b600080604083850312156121bf57600080fd5b82359150602083013567ffffffffffffffff8111156121dd57600080fd5b6120fd85828601611eb2565b60006101008a83528060208401526122038184018b611f3b565b6001600160a01b038a81166040860152909150612223606085018a611f7d565b8716608084015260a0830186905282810360c08401526122438186611f3b565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3b565b6000806040838503121561228257600080fd5b82359150602083013561214081612062565b805161229f81612062565b919050565b8051801515811461229f57600080fd5b600060208083850312156122c757600080fd5b825167ffffffffffffffff808211156122df57600080fd5b9084019060c082870312156122f357600080fd5b6122fb611df2565b825161230681612062565b8152828401518281111561231957600080fd5b83019150601f8201871361232c57600080fd5b815161233a611e8282611e4c565b818152888683860101111561234e57600080fd5b61235d82878301888701611f17565b82860152506040838101519082015261237860608401612294565b60608201526080830151608082015261239360a084016122a4565b60a08201529695505050505050565b600181811c908216806123b657607f821691505b6020821081036123d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124055750805b601f850160051c820191505b8181101561168657828155600101612411565b815167ffffffffffffffff81111561243e5761243e611ddc565b6124528161244c84546123a2565b846123dc565b602080601f831160018114612487576000841561246f5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b657888601518255948401946001909101908401612497565b50858210156124d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3b565b60006001820161252357634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253c57600080fd5b5051919050565b60008251612555818460208701611f17565b9190910192915050565b60006020828403121561257157600080fd5b611d4e826122a456fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212200206fb8c32e5b0ca19955dd0cd96c2c0092a360b74e8402ac6b25e22e2d4295e64736f6c63430008160033", + "bytecode": "0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125cf6200010460003960008181611699015281816116c2015261180801526125cf6000f3fe6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed1565b6103f8565b60405161012e9190611f9e565b60405180910390f35b34801561014357600080fd5b50610170610152366004612048565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612048565b610853565b3480156101d457600080fd5b506101e86101e3366004612076565b610a1f565b60405190815260200161012e565b6102096102043660046120a2565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612048565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612106565b34801561027357600080fd5b50610209610282366004612114565b610a8c565b34801561029357600080fd5b506102a76102a236600461214a565b610d56565b60405161012e9190612167565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ab565b610dd6565b3480156102f557600080fd5b50610209610304366004612048565b61100f565b34801561031557600080fd5b50610329610324366004612048565b611282565b60405161012e9897969594939291906121e8565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225b565b3480156103c457600080fd5b506102096103d336600461226e565b6113ed565b3480156103e457600080fd5b506102096103f336600461214a565b611512565b610400611d7d565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b3565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612423565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e3565b60405180910390a36002805490600061069083612502565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a1565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f66565b600381111561078357610783611f66565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a1565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7d565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a1565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f66565b600381111561095457610954611f66565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a1565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257a83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f66565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b3565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190612529565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f66565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612423565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b3565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612106565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225b565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f66565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f66565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b3565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612106565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a1565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a1565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a1565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612542565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255e565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257a833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f1916820190925261179291810190612529565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257a83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612542565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612542565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255e565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612542565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d6457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dba57611dba611f66565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1457611e14611ddb565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4357611e43611ddb565b604052919050565b600067ffffffffffffffff821115611e6557611e65611ddb565b50601f01601f191660200190565b6000611e86611e8184611e4b565b611e1a565b9050828152838383011115611e9a57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec257600080fd5b611d4e83833560208501611e73565b60008060408385031215611ee457600080fd5b823567ffffffffffffffff811115611efb57600080fd5b611f0785828601611eb1565b95602094909401359450505050565b60005b83811015611f31578181015183820152602001611f19565b50506000910152565b60008151808452611f52816020860160208601611f16565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9a57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc7610120850183611f3a565b915060018060a01b0360408601511660608501526060850151611fed6080860182611f7c565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120288382611f3a565b92505060e085015161203e8286018260ff169052565b5090949350505050565b60006020828403121561205a57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208957600080fd5b823561209481612061565b946020939093013593505050565b600080604083850312156120b557600080fd5b82356120c081612061565b9150602083013567ffffffffffffffff8111156120dc57600080fd5b8301601f810185136120ed57600080fd5b6120fc85823560208401611e73565b9150509250929050565b6020810161084d8284611f7c565b6000806040838503121561212757600080fd5b82359150602083013560ff8116811461213f57600080fd5b809150509250929050565b60006020828403121561215c57600080fd5b8135611d4e81612061565b6020808252825182820181905260009190848201906040850190845b8181101561219f57835183529284019291840191600101612183565b50909695505050505050565b600080604083850312156121be57600080fd5b82359150602083013567ffffffffffffffff8111156121dc57600080fd5b6120fc85828601611eb1565b60006101008a83528060208401526122028184018b611f3a565b6001600160a01b038a81166040860152909150612222606085018a611f7c565b8716608084015260a0830186905282810360c08401526122428186611f3a565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3a565b6000806040838503121561228157600080fd5b82359150602083013561213f81612061565b805161229e81612061565b919050565b8051801515811461229e57600080fd5b600060208083850312156122c657600080fd5b825167ffffffffffffffff808211156122de57600080fd5b9084019060c082870312156122f257600080fd5b6122fa611df1565b825161230581612061565b8152828401518281111561231857600080fd5b83019150601f8201871361232b57600080fd5b8151612339611e8182611e4b565b818152888683860101111561234d57600080fd5b61235c82878301888701611f16565b82860152506040838101519082015261237760608401612293565b60608201526080830151608082015261239260a084016122a3565b60a08201529695505050505050565b600181811c908216806123b557607f821691505b6020821081036123d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124045750805b601f850160051c820191505b8181101561168657828155600101612410565b815167ffffffffffffffff81111561243d5761243d611ddb565b6124518161244b84546123a1565b846123db565b602080601f831160018114612486576000841561246e5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b557888601518255948401946001909101908401612496565b50858210156124d35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3a565b60006001820161252257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253b57600080fd5b5051919050565b60008251612554818460208701611f16565b9190910192915050565b60006020828403121561257057600080fd5b611d4e826122a356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d3b080e19c883e02f2c45a696f8fc9ffe9b7d894958f1142da9c3a68737d889a64736f6c63430008160033", + "deployedBytecode": "0x6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed1565b6103f8565b60405161012e9190611f9e565b60405180910390f35b34801561014357600080fd5b50610170610152366004612048565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612048565b610853565b3480156101d457600080fd5b506101e86101e3366004612076565b610a1f565b60405190815260200161012e565b6102096102043660046120a2565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612048565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612106565b34801561027357600080fd5b50610209610282366004612114565b610a8c565b34801561029357600080fd5b506102a76102a236600461214a565b610d56565b60405161012e9190612167565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ab565b610dd6565b3480156102f557600080fd5b50610209610304366004612048565b61100f565b34801561031557600080fd5b50610329610324366004612048565b611282565b60405161012e9897969594939291906121e8565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225b565b3480156103c457600080fd5b506102096103d336600461226e565b6113ed565b3480156103e457600080fd5b506102096103f336600461214a565b611512565b610400611d7d565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b3565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612423565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e3565b60405180910390a36002805490600061069083612502565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a1565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f66565b600381111561078357610783611f66565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a1565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7d565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a1565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f66565b600381111561095457610954611f66565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a1565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257a83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f66565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b3565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190612529565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f66565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612423565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b3565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612106565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225b565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f66565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f66565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b3565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612106565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a1565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a1565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a1565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612542565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255e565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257a833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f1916820190925261179291810190612529565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257a83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612542565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612542565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255e565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612542565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d6457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dba57611dba611f66565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1457611e14611ddb565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4357611e43611ddb565b604052919050565b600067ffffffffffffffff821115611e6557611e65611ddb565b50601f01601f191660200190565b6000611e86611e8184611e4b565b611e1a565b9050828152838383011115611e9a57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec257600080fd5b611d4e83833560208501611e73565b60008060408385031215611ee457600080fd5b823567ffffffffffffffff811115611efb57600080fd5b611f0785828601611eb1565b95602094909401359450505050565b60005b83811015611f31578181015183820152602001611f19565b50506000910152565b60008151808452611f52816020860160208601611f16565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9a57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc7610120850183611f3a565b915060018060a01b0360408601511660608501526060850151611fed6080860182611f7c565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120288382611f3a565b92505060e085015161203e8286018260ff169052565b5090949350505050565b60006020828403121561205a57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208957600080fd5b823561209481612061565b946020939093013593505050565b600080604083850312156120b557600080fd5b82356120c081612061565b9150602083013567ffffffffffffffff8111156120dc57600080fd5b8301601f810185136120ed57600080fd5b6120fc85823560208401611e73565b9150509250929050565b6020810161084d8284611f7c565b6000806040838503121561212757600080fd5b82359150602083013560ff8116811461213f57600080fd5b809150509250929050565b60006020828403121561215c57600080fd5b8135611d4e81612061565b6020808252825182820181905260009190848201906040850190845b8181101561219f57835183529284019291840191600101612183565b50909695505050505050565b600080604083850312156121be57600080fd5b82359150602083013567ffffffffffffffff8111156121dc57600080fd5b6120fc85828601611eb1565b60006101008a83528060208401526122028184018b611f3a565b6001600160a01b038a81166040860152909150612222606085018a611f7c565b8716608084015260a0830186905282810360c08401526122428186611f3a565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3a565b6000806040838503121561228157600080fd5b82359150602083013561213f81612061565b805161229e81612061565b919050565b8051801515811461229e57600080fd5b600060208083850312156122c657600080fd5b825167ffffffffffffffff808211156122de57600080fd5b9084019060c082870312156122f257600080fd5b6122fa611df1565b825161230581612061565b8152828401518281111561231857600080fd5b83019150601f8201871361232b57600080fd5b8151612339611e8182611e4b565b818152888683860101111561234d57600080fd5b61235c82878301888701611f16565b82860152506040838101519082015261237760608401612293565b60608201526080830151608082015261239260a084016122a3565b60a08201529695505050505050565b600181811c908216806123b557607f821691505b6020821081036123d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124045750805b601f850160051c820191505b8181101561168657828155600101612410565b815167ffffffffffffffff81111561243d5761243d611ddb565b6124518161244b84546123a1565b846123db565b602080601f831160018114612486576000841561246e5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b557888601518255948401946001909101908401612496565b50858210156124d35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3a565b60006001820161252257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253b57600080fd5b5051919050565b60008251612554818460208701611f16565b9190910192915050565b60006020828403121561257057600080fd5b611d4e826122a356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d3b080e19c883e02f2c45a696f8fc9ffe9b7d894958f1142da9c3a68737d889a64736f6c63430008160033", "linkReferences": {}, "deployedLinkReferences": {} } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxy.dbg.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxy.dbg.json index 0482557..f8a8e48 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxy.dbg.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxy.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../build-info/5077781210b2b75bdbf774e14f2d3801.json" + "buildInfo": "../build-info/40c23a112789d71e0ac92ec95a0fc229.json" } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxy.json b/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxy.json index 06b60d9..a4a9ea5 100644 --- a/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxy.json +++ b/packages/contracts/ignition/deployments/chain-84532/artifacts/TaskRegistryUpgradeableModule#TaskRegistryProxy.json @@ -69,8 +69,8 @@ "type": "fallback" } ], - "bytecode": "0x608060405260405161040a38038061040a83398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60aa806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212201d1e675cd71e57bb3f08113f3040612bee9b14a06a3515aeb6fc806b55a6323764736f6c63430008160033", - "deployedBytecode": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212201d1e675cd71e57bb3f08113f3040612bee9b14a06a3515aeb6fc806b55a6323764736f6c63430008160033", + "bytecode": "0x608060405260405161040938038061040983398101604081905261002291610267565b61002c8282610033565b5050610351565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610335565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b80511561021457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025e578181015183820152602001610246565b50506000910152565b6000806040838503121561027a57600080fd5b82516001600160a01b038116811461029157600080fd5b60208401519092506001600160401b03808211156102ae57600080fd5b818501915085601f8301126102c257600080fd5b8151818111156102d4576102d461022d565b604051601f8201601f19908116603f011681019083821181831017156102fc576102fc61022d565b8160405282815288602084870101111561031557600080fd5b610326836020830160208801610243565b80955050505050509250929050565b60008251610347818460208701610243565b9190910192915050565b60aa8061035f6000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea264697066735822122060aeada43c964f1fbb27c2d9cbef9ca57ecc24f36b6aed0059d5371ade8a972f64736f6c63430008160033", + "deployedBytecode": "0x6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea264697066735822122060aeada43c964f1fbb27c2d9cbef9ca57ecc24f36b6aed0059d5371ade8a972f64736f6c63430008160033", "linkReferences": {}, "deployedLinkReferences": {} } \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/build-info/5077781210b2b75bdbf774e14f2d3801.json b/packages/contracts/ignition/deployments/chain-84532/build-info/40c23a112789d71e0ac92ec95a0fc229.json similarity index 81% rename from packages/contracts/ignition/deployments/chain-84532/build-info/5077781210b2b75bdbf774e14f2d3801.json rename to packages/contracts/ignition/deployments/chain-84532/build-info/40c23a112789d71e0ac92ec95a0fc229.json index 9e80870..581adbf 100644 --- a/packages/contracts/ignition/deployments/chain-84532/build-info/5077781210b2b75bdbf774e14f2d3801.json +++ b/packages/contracts/ignition/deployments/chain-84532/build-info/40c23a112789d71e0ac92ec95a0fc229.json @@ -1,5 +1,5 @@ { - "id": "5077781210b2b75bdbf774e14f2d3801", + "id": "40c23a112789d71e0ac92ec95a0fc229", "_format": "hh-sol-build-info-1", "solcVersion": "0.8.22", "solcLongVersion": "0.8.22+commit.4fc1097e", @@ -19,31 +19,31 @@ "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\nimport {Initializable} from \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract ContextUpgradeable is Initializable {\n function __Context_init() internal onlyInitializing {\n }\n\n function __Context_init_unchained() internal onlyInitializing {\n }\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n" }, "@openzeppelin/contracts/access/AccessControl.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.20;\n\nimport {IAccessControl} from \"./IAccessControl.sol\";\nimport {Context} from \"../utils/Context.sol\";\nimport {ERC165} from \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```solidity\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```solidity\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}\n * to enforce additional security measures for this role.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping(address account => bool) hasRole;\n bytes32 adminRole;\n }\n\n mapping(bytes32 role => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Modifier that checks that an account has a specific role. Reverts\n * with an {AccessControlUnauthorizedAccount} error including the required role.\n */\n modifier onlyRole(bytes32 role) {\n _checkRole(role);\n _;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view virtual returns (bool) {\n return _roles[role].hasRole[account];\n }\n\n /**\n * @dev Reverts with an {AccessControlUnauthorizedAccount} error if `_msgSender()`\n * is missing `role`. Overriding this function changes the behavior of the {onlyRole} modifier.\n */\n function _checkRole(bytes32 role) internal view virtual {\n _checkRole(role, _msgSender());\n }\n\n /**\n * @dev Reverts with an {AccessControlUnauthorizedAccount} error if `account`\n * is missing `role`.\n */\n function _checkRole(bytes32 role, address account) internal view virtual {\n if (!hasRole(role, account)) {\n revert AccessControlUnauthorizedAccount(account, role);\n }\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view virtual returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleGranted} event.\n */\n function grantRole(bytes32 role, address account) public virtual onlyRole(getRoleAdmin(role)) {\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleRevoked} event.\n */\n function revokeRole(bytes32 role, address account) public virtual onlyRole(getRoleAdmin(role)) {\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `callerConfirmation`.\n *\n * May emit a {RoleRevoked} event.\n */\n function renounceRole(bytes32 role, address callerConfirmation) public virtual {\n if (callerConfirmation != _msgSender()) {\n revert AccessControlBadConfirmation();\n }\n\n _revokeRole(role, callerConfirmation);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n bytes32 previousAdminRole = getRoleAdmin(role);\n _roles[role].adminRole = adminRole;\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\n }\n\n /**\n * @dev Attempts to grant `role` to `account` and returns a boolean indicating if `role` was granted.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleGranted} event.\n */\n function _grantRole(bytes32 role, address account) internal virtual returns (bool) {\n if (!hasRole(role, account)) {\n _roles[role].hasRole[account] = true;\n emit RoleGranted(role, account, _msgSender());\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Attempts to revoke `role` from `account` and returns a boolean indicating if `role` was revoked.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleRevoked} event.\n */\n function _revokeRole(bytes32 role, address account) internal virtual returns (bool) {\n if (hasRole(role, account)) {\n _roles[role].hasRole[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n return true;\n } else {\n return false;\n }\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.20;\n\nimport {IAccessControl} from \"./IAccessControl.sol\";\nimport {Context} from \"../utils/Context.sol\";\nimport {IERC165, ERC165} from \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```solidity\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```solidity\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}\n * to enforce additional security measures for this role.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping(address account => bool) hasRole;\n bytes32 adminRole;\n }\n\n mapping(bytes32 role => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Modifier that checks that an account has a specific role. Reverts\n * with an {AccessControlUnauthorizedAccount} error including the required role.\n */\n modifier onlyRole(bytes32 role) {\n _checkRole(role);\n _;\n }\n\n /// @inheritdoc IERC165\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view virtual returns (bool) {\n return _roles[role].hasRole[account];\n }\n\n /**\n * @dev Reverts with an {AccessControlUnauthorizedAccount} error if `_msgSender()`\n * is missing `role`. Overriding this function changes the behavior of the {onlyRole} modifier.\n */\n function _checkRole(bytes32 role) internal view virtual {\n _checkRole(role, _msgSender());\n }\n\n /**\n * @dev Reverts with an {AccessControlUnauthorizedAccount} error if `account`\n * is missing `role`.\n */\n function _checkRole(bytes32 role, address account) internal view virtual {\n if (!hasRole(role, account)) {\n revert AccessControlUnauthorizedAccount(account, role);\n }\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view virtual returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleGranted} event.\n */\n function grantRole(bytes32 role, address account) public virtual onlyRole(getRoleAdmin(role)) {\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n *\n * May emit a {RoleRevoked} event.\n */\n function revokeRole(bytes32 role, address account) public virtual onlyRole(getRoleAdmin(role)) {\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `callerConfirmation`.\n *\n * May emit a {RoleRevoked} event.\n */\n function renounceRole(bytes32 role, address callerConfirmation) public virtual {\n if (callerConfirmation != _msgSender()) {\n revert AccessControlBadConfirmation();\n }\n\n _revokeRole(role, callerConfirmation);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n bytes32 previousAdminRole = getRoleAdmin(role);\n _roles[role].adminRole = adminRole;\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\n }\n\n /**\n * @dev Attempts to grant `role` to `account` and returns a boolean indicating if `role` was granted.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleGranted} event.\n */\n function _grantRole(bytes32 role, address account) internal virtual returns (bool) {\n if (!hasRole(role, account)) {\n _roles[role].hasRole[account] = true;\n emit RoleGranted(role, account, _msgSender());\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @dev Attempts to revoke `role` from `account` and returns a boolean indicating if `role` was revoked.\n *\n * Internal function without access restriction.\n *\n * May emit a {RoleRevoked} event.\n */\n function _revokeRole(bytes32 role, address account) internal virtual returns (bool) {\n if (hasRole(role, account)) {\n _roles[role].hasRole[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n return true;\n } else {\n return false;\n }\n }\n}\n" }, "@openzeppelin/contracts/access/IAccessControl.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (access/IAccessControl.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev External interface of AccessControl declared to support ERC-165 detection.\n */\ninterface IAccessControl {\n /**\n * @dev The `account` is missing a role.\n */\n error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);\n\n /**\n * @dev The caller of a function is not the expected one.\n *\n * NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\n */\n error AccessControlBadConfirmation();\n\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted to signal this.\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call. This account bears the admin role (for the granted role).\n * Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `callerConfirmation`.\n */\n function renounceRole(bytes32 role, address callerConfirmation) external;\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (access/IAccessControl.sol)\n\npragma solidity >=0.8.4;\n\n/**\n * @dev External interface of AccessControl declared to support ERC-165 detection.\n */\ninterface IAccessControl {\n /**\n * @dev The `account` is missing a role.\n */\n error AccessControlUnauthorizedAccount(address account, bytes32 neededRole);\n\n /**\n * @dev The caller of a function is not the expected one.\n *\n * NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\n */\n error AccessControlBadConfirmation();\n\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted to signal this.\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call. This account bears the admin role (for the granted role).\n * Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `callerConfirmation`.\n */\n function renounceRole(bytes32 role, address callerConfirmation) external;\n}\n" }, "@openzeppelin/contracts/access/Ownable.sol": { "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)\n\npragma solidity ^0.8.20;\n\nimport {Context} from \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * The initial owner is set to the address provided by the deployer. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n /**\n * @dev The caller account is not authorized to perform an operation.\n */\n error OwnableUnauthorizedAccount(address account);\n\n /**\n * @dev The owner is not a valid owner account. (eg. `address(0)`)\n */\n error OwnableInvalidOwner(address owner);\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the address provided by the deployer as the initial owner.\n */\n constructor(address initialOwner) {\n if (initialOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(initialOwner);\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n if (owner() != _msgSender()) {\n revert OwnableUnauthorizedAccount(_msgSender());\n }\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby disabling any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n if (newOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n" }, "@openzeppelin/contracts/interfaces/draft-IERC1822.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC1822.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n * proxy whose upgrades are fully controlled by the current implementation.\n */\ninterface IERC1822Proxiable {\n /**\n * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n * address.\n *\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n * function revert if invoked through a proxy.\n */\n function proxiableUUID() external view returns (bytes32);\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC1822.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n * proxy whose upgrades are fully controlled by the current implementation.\n */\ninterface IERC1822Proxiable {\n /**\n * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n * address.\n *\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n * function revert if invoked through a proxy.\n */\n function proxiableUUID() external view returns (bytes32);\n}\n" }, "@openzeppelin/contracts/interfaces/draft-IERC6093.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (interfaces/draft-IERC6093.sol)\npragma solidity ^0.8.20;\n\n/**\n * @dev Standard ERC-20 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\n */\ninterface IERC20Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC20InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC20InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n * @param allowance Amount of tokens a `spender` is allowed to operate with.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC20InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC20InvalidSpender(address spender);\n}\n\n/**\n * @dev Standard ERC-721 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\n */\ninterface IERC721Errors {\n /**\n * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20.\n * Used in balance queries.\n * @param owner Address of the current owner of a token.\n */\n error ERC721InvalidOwner(address owner);\n\n /**\n * @dev Indicates a `tokenId` whose `owner` is the zero address.\n * @param tokenId Identifier number of a token.\n */\n error ERC721NonexistentToken(uint256 tokenId);\n\n /**\n * @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param tokenId Identifier number of a token.\n * @param owner Address of the current owner of a token.\n */\n error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC721InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC721InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param tokenId Identifier number of a token.\n */\n error ERC721InsufficientApproval(address operator, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC721InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC721InvalidOperator(address operator);\n}\n\n/**\n * @dev Standard ERC-1155 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\n */\ninterface IERC1155Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n * @param tokenId Identifier number of a token.\n */\n error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC1155InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC1155InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param owner Address of the current owner of a token.\n */\n error ERC1155MissingApprovalForAll(address operator, address owner);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC1155InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC1155InvalidOperator(address operator);\n\n /**\n * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n * Used in batch transfers.\n * @param idsLength Length of the array of token identifiers\n * @param valuesLength Length of the array of token amounts\n */\n error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC6093.sol)\npragma solidity >=0.8.4;\n\n/**\n * @dev Standard ERC-20 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\n */\ninterface IERC20Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientBalance(address sender, uint256 balance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC20InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC20InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n * @param allowance Amount of tokens a `spender` is allowed to operate with.\n * @param needed Minimum amount required to perform a transfer.\n */\n error ERC20InsufficientAllowance(address spender, uint256 allowance, uint256 needed);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC20InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n * @param spender Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC20InvalidSpender(address spender);\n}\n\n/**\n * @dev Standard ERC-721 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\n */\ninterface IERC721Errors {\n /**\n * @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20.\n * Used in balance queries.\n * @param owner Address of the current owner of a token.\n */\n error ERC721InvalidOwner(address owner);\n\n /**\n * @dev Indicates a `tokenId` whose `owner` is the zero address.\n * @param tokenId Identifier number of a token.\n */\n error ERC721NonexistentToken(uint256 tokenId);\n\n /**\n * @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param tokenId Identifier number of a token.\n * @param owner Address of the current owner of a token.\n */\n error ERC721IncorrectOwner(address sender, uint256 tokenId, address owner);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC721InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC721InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param tokenId Identifier number of a token.\n */\n error ERC721InsufficientApproval(address operator, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC721InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC721InvalidOperator(address operator);\n}\n\n/**\n * @dev Standard ERC-1155 Errors\n * Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\n */\ninterface IERC1155Errors {\n /**\n * @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n * @param balance Current balance for the interacting account.\n * @param needed Minimum amount required to perform a transfer.\n * @param tokenId Identifier number of a token.\n */\n error ERC1155InsufficientBalance(address sender, uint256 balance, uint256 needed, uint256 tokenId);\n\n /**\n * @dev Indicates a failure with the token `sender`. Used in transfers.\n * @param sender Address whose tokens are being transferred.\n */\n error ERC1155InvalidSender(address sender);\n\n /**\n * @dev Indicates a failure with the token `receiver`. Used in transfers.\n * @param receiver Address to which tokens are being transferred.\n */\n error ERC1155InvalidReceiver(address receiver);\n\n /**\n * @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n * @param owner Address of the current owner of a token.\n */\n error ERC1155MissingApprovalForAll(address operator, address owner);\n\n /**\n * @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n * @param approver Address initiating an approval operation.\n */\n error ERC1155InvalidApprover(address approver);\n\n /**\n * @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n * @param operator Address that may be allowed to operate on tokens without being their owner.\n */\n error ERC1155InvalidOperator(address operator);\n\n /**\n * @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n * Used in batch transfers.\n * @param idsLength Length of the array of token identifiers\n * @param valuesLength Length of the array of token amounts\n */\n error ERC1155InvalidArrayLength(uint256 idsLength, uint256 valuesLength);\n}\n" }, "@openzeppelin/contracts/interfaces/IERC1967.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (interfaces/IERC1967.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.\n */\ninterface IERC1967 {\n /**\n * @dev Emitted when the implementation is upgraded.\n */\n event Upgraded(address indexed implementation);\n\n /**\n * @dev Emitted when the admin account has changed.\n */\n event AdminChanged(address previousAdmin, address newAdmin);\n\n /**\n * @dev Emitted when the beacon is changed.\n */\n event BeaconUpgraded(address indexed beacon);\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1967.sol)\n\npragma solidity >=0.4.11;\n\n/**\n * @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.\n */\ninterface IERC1967 {\n /**\n * @dev Emitted when the implementation is upgraded.\n */\n event Upgraded(address indexed implementation);\n\n /**\n * @dev Emitted when the admin account has changed.\n */\n event AdminChanged(address previousAdmin, address newAdmin);\n\n /**\n * @dev Emitted when the beacon is changed.\n */\n event BeaconUpgraded(address indexed beacon);\n}\n" }, "@openzeppelin/contracts/proxy/beacon/IBeacon.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (proxy/beacon/IBeacon.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev This is the interface that {BeaconProxy} expects of its beacon.\n */\ninterface IBeacon {\n /**\n * @dev Must return an address that can be used as a delegate call target.\n *\n * {UpgradeableBeacon} will check that this address is a contract.\n */\n function implementation() external view returns (address);\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (proxy/beacon/IBeacon.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev This is the interface that {BeaconProxy} expects of its beacon.\n */\ninterface IBeacon {\n /**\n * @dev Must return an address that can be used as a delegate call target.\n *\n * {UpgradeableBeacon} will check that this address is a contract.\n */\n function implementation() external view returns (address);\n}\n" }, "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol": { "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.2.0) (proxy/ERC1967/ERC1967Proxy.sol)\n\npragma solidity ^0.8.22;\n\nimport {Proxy} from \"../Proxy.sol\";\nimport {ERC1967Utils} from \"./ERC1967Utils.sol\";\n\n/**\n * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\n * implementation address that can be changed. This address is stored in storage in the location specified by\n * https://eips.ethereum.org/EIPS/eip-1967[ERC-1967], so that it doesn't conflict with the storage layout of the\n * implementation behind the proxy.\n */\ncontract ERC1967Proxy is Proxy {\n /**\n * @dev Initializes the upgradeable proxy with an initial implementation specified by `implementation`.\n *\n * If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an\n * encoded function call, and allows initializing the storage of the proxy like a Solidity constructor.\n *\n * Requirements:\n *\n * - If `data` is empty, `msg.value` must be zero.\n */\n constructor(address implementation, bytes memory _data) payable {\n ERC1967Utils.upgradeToAndCall(implementation, _data);\n }\n\n /**\n * @dev Returns the current implementation address.\n *\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n * the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n * `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`\n */\n function _implementation() internal view virtual override returns (address) {\n return ERC1967Utils.getImplementation();\n }\n}\n" }, "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.2.0) (proxy/ERC1967/ERC1967Utils.sol)\n\npragma solidity ^0.8.22;\n\nimport {IBeacon} from \"../beacon/IBeacon.sol\";\nimport {IERC1967} from \"../../interfaces/IERC1967.sol\";\nimport {Address} from \"../../utils/Address.sol\";\nimport {StorageSlot} from \"../../utils/StorageSlot.sol\";\n\n/**\n * @dev This library provides getters and event emitting update functions for\n * https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.\n */\nlibrary ERC1967Utils {\n /**\n * @dev Storage slot with the address of the current implementation.\n * This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /**\n * @dev The `implementation` of the proxy is invalid.\n */\n error ERC1967InvalidImplementation(address implementation);\n\n /**\n * @dev The `admin` of the proxy is invalid.\n */\n error ERC1967InvalidAdmin(address admin);\n\n /**\n * @dev The `beacon` of the proxy is invalid.\n */\n error ERC1967InvalidBeacon(address beacon);\n\n /**\n * @dev An upgrade function sees `msg.value > 0` that may be lost.\n */\n error ERC1967NonPayable();\n\n /**\n * @dev Returns the current implementation address.\n */\n function getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the ERC-1967 implementation slot.\n */\n function _setImplementation(address newImplementation) private {\n if (newImplementation.code.length == 0) {\n revert ERC1967InvalidImplementation(newImplementation);\n }\n StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value = newImplementation;\n }\n\n /**\n * @dev Performs implementation upgrade with additional setup call if data is nonempty.\n * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n * to avoid stuck value in the contract.\n *\n * Emits an {IERC1967-Upgraded} event.\n */\n function upgradeToAndCall(address newImplementation, bytes memory data) internal {\n _setImplementation(newImplementation);\n emit IERC1967.Upgraded(newImplementation);\n\n if (data.length > 0) {\n Address.functionDelegateCall(newImplementation, data);\n } else {\n _checkNonPayable();\n }\n }\n\n /**\n * @dev Storage slot with the admin of the contract.\n * This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\n\n /**\n * @dev Returns the current admin.\n *\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n * the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\n */\n function getAdmin() internal view returns (address) {\n return StorageSlot.getAddressSlot(ADMIN_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the ERC-1967 admin slot.\n */\n function _setAdmin(address newAdmin) private {\n if (newAdmin == address(0)) {\n revert ERC1967InvalidAdmin(address(0));\n }\n StorageSlot.getAddressSlot(ADMIN_SLOT).value = newAdmin;\n }\n\n /**\n * @dev Changes the admin of the proxy.\n *\n * Emits an {IERC1967-AdminChanged} event.\n */\n function changeAdmin(address newAdmin) internal {\n emit IERC1967.AdminChanged(getAdmin(), newAdmin);\n _setAdmin(newAdmin);\n }\n\n /**\n * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n * This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;\n\n /**\n * @dev Returns the current beacon.\n */\n function getBeacon() internal view returns (address) {\n return StorageSlot.getAddressSlot(BEACON_SLOT).value;\n }\n\n /**\n * @dev Stores a new beacon in the ERC-1967 beacon slot.\n */\n function _setBeacon(address newBeacon) private {\n if (newBeacon.code.length == 0) {\n revert ERC1967InvalidBeacon(newBeacon);\n }\n\n StorageSlot.getAddressSlot(BEACON_SLOT).value = newBeacon;\n\n address beaconImplementation = IBeacon(newBeacon).implementation();\n if (beaconImplementation.code.length == 0) {\n revert ERC1967InvalidImplementation(beaconImplementation);\n }\n }\n\n /**\n * @dev Change the beacon and trigger a setup call if data is nonempty.\n * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n * to avoid stuck value in the contract.\n *\n * Emits an {IERC1967-BeaconUpgraded} event.\n *\n * CAUTION: Invoking this function has no effect on an instance of {BeaconProxy} since v5, since\n * it uses an immutable beacon without looking at the value of the ERC-1967 beacon slot for\n * efficiency.\n */\n function upgradeBeaconToAndCall(address newBeacon, bytes memory data) internal {\n _setBeacon(newBeacon);\n emit IERC1967.BeaconUpgraded(newBeacon);\n\n if (data.length > 0) {\n Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data);\n } else {\n _checkNonPayable();\n }\n }\n\n /**\n * @dev Reverts if `msg.value` is not zero. It can be used to avoid `msg.value` stuck in the contract\n * if an upgrade doesn't perform an initialization call.\n */\n function _checkNonPayable() private {\n if (msg.value > 0) {\n revert ERC1967NonPayable();\n }\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (proxy/ERC1967/ERC1967Utils.sol)\n\npragma solidity ^0.8.21;\n\nimport {IBeacon} from \"../beacon/IBeacon.sol\";\nimport {IERC1967} from \"../../interfaces/IERC1967.sol\";\nimport {Address} from \"../../utils/Address.sol\";\nimport {StorageSlot} from \"../../utils/StorageSlot.sol\";\n\n/**\n * @dev This library provides getters and event emitting update functions for\n * https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.\n */\nlibrary ERC1967Utils {\n /**\n * @dev Storage slot with the address of the current implementation.\n * This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /**\n * @dev The `implementation` of the proxy is invalid.\n */\n error ERC1967InvalidImplementation(address implementation);\n\n /**\n * @dev The `admin` of the proxy is invalid.\n */\n error ERC1967InvalidAdmin(address admin);\n\n /**\n * @dev The `beacon` of the proxy is invalid.\n */\n error ERC1967InvalidBeacon(address beacon);\n\n /**\n * @dev An upgrade function sees `msg.value > 0` that may be lost.\n */\n error ERC1967NonPayable();\n\n /**\n * @dev Returns the current implementation address.\n */\n function getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the ERC-1967 implementation slot.\n */\n function _setImplementation(address newImplementation) private {\n if (newImplementation.code.length == 0) {\n revert ERC1967InvalidImplementation(newImplementation);\n }\n StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value = newImplementation;\n }\n\n /**\n * @dev Performs implementation upgrade with additional setup call if data is nonempty.\n * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n * to avoid stuck value in the contract.\n *\n * Emits an {IERC1967-Upgraded} event.\n */\n function upgradeToAndCall(address newImplementation, bytes memory data) internal {\n _setImplementation(newImplementation);\n emit IERC1967.Upgraded(newImplementation);\n\n if (data.length > 0) {\n Address.functionDelegateCall(newImplementation, data);\n } else {\n _checkNonPayable();\n }\n }\n\n /**\n * @dev Storage slot with the admin of the contract.\n * This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\n\n /**\n * @dev Returns the current admin.\n *\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n * the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\n */\n function getAdmin() internal view returns (address) {\n return StorageSlot.getAddressSlot(ADMIN_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the ERC-1967 admin slot.\n */\n function _setAdmin(address newAdmin) private {\n if (newAdmin == address(0)) {\n revert ERC1967InvalidAdmin(address(0));\n }\n StorageSlot.getAddressSlot(ADMIN_SLOT).value = newAdmin;\n }\n\n /**\n * @dev Changes the admin of the proxy.\n *\n * Emits an {IERC1967-AdminChanged} event.\n */\n function changeAdmin(address newAdmin) internal {\n emit IERC1967.AdminChanged(getAdmin(), newAdmin);\n _setAdmin(newAdmin);\n }\n\n /**\n * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n * This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;\n\n /**\n * @dev Returns the current beacon.\n */\n function getBeacon() internal view returns (address) {\n return StorageSlot.getAddressSlot(BEACON_SLOT).value;\n }\n\n /**\n * @dev Stores a new beacon in the ERC-1967 beacon slot.\n */\n function _setBeacon(address newBeacon) private {\n if (newBeacon.code.length == 0) {\n revert ERC1967InvalidBeacon(newBeacon);\n }\n\n StorageSlot.getAddressSlot(BEACON_SLOT).value = newBeacon;\n\n address beaconImplementation = IBeacon(newBeacon).implementation();\n if (beaconImplementation.code.length == 0) {\n revert ERC1967InvalidImplementation(beaconImplementation);\n }\n }\n\n /**\n * @dev Change the beacon and trigger a setup call if data is nonempty.\n * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n * to avoid stuck value in the contract.\n *\n * Emits an {IERC1967-BeaconUpgraded} event.\n *\n * CAUTION: Invoking this function has no effect on an instance of {BeaconProxy} since v5, since\n * it uses an immutable beacon without looking at the value of the ERC-1967 beacon slot for\n * efficiency.\n */\n function upgradeBeaconToAndCall(address newBeacon, bytes memory data) internal {\n _setBeacon(newBeacon);\n emit IERC1967.BeaconUpgraded(newBeacon);\n\n if (data.length > 0) {\n Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data);\n } else {\n _checkNonPayable();\n }\n }\n\n /**\n * @dev Reverts if `msg.value` is not zero. It can be used to avoid `msg.value` stuck in the contract\n * if an upgrade doesn't perform an initialization call.\n */\n function _checkNonPayable() private {\n if (msg.value > 0) {\n revert ERC1967NonPayable();\n }\n }\n}\n" }, "@openzeppelin/contracts/proxy/Proxy.sol": { "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (proxy/Proxy.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM\n * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to\n * be specified by overriding the virtual {_implementation} function.\n *\n * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a\n * different contract through the {_delegate} function.\n *\n * The success and return data of the delegated call will be returned back to the caller of the proxy.\n */\nabstract contract Proxy {\n /**\n * @dev Delegates the current call to `implementation`.\n *\n * This function does not return to its internal call site, it will return directly to the external caller.\n */\n function _delegate(address implementation) internal virtual {\n assembly {\n // Copy msg.data. We take full control of memory in this inline assembly\n // block because it will not return to Solidity code. We overwrite the\n // Solidity scratch pad at memory position 0.\n calldatacopy(0, 0, calldatasize())\n\n // Call the implementation.\n // out and outsize are 0 because we don't know the size yet.\n let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0)\n\n // Copy the returned data.\n returndatacopy(0, 0, returndatasize())\n\n switch result\n // delegatecall returns 0 on error.\n case 0 {\n revert(0, returndatasize())\n }\n default {\n return(0, returndatasize())\n }\n }\n }\n\n /**\n * @dev This is a virtual function that should be overridden so it returns the address to which the fallback\n * function and {_fallback} should delegate.\n */\n function _implementation() internal view virtual returns (address);\n\n /**\n * @dev Delegates the current call to the address returned by `_implementation()`.\n *\n * This function does not return to its internal call site, it will return directly to the external caller.\n */\n function _fallback() internal virtual {\n _delegate(_implementation());\n }\n\n /**\n * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other\n * function in the contract matches the call data.\n */\n fallback() external payable virtual {\n _fallback();\n }\n}\n" @@ -55,19 +55,19 @@ "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.2.0) (proxy/transparent/TransparentUpgradeableProxy.sol)\n\npragma solidity ^0.8.22;\n\nimport {ERC1967Utils} from \"../ERC1967/ERC1967Utils.sol\";\nimport {ERC1967Proxy} from \"../ERC1967/ERC1967Proxy.sol\";\nimport {IERC1967} from \"../../interfaces/IERC1967.sol\";\nimport {ProxyAdmin} from \"./ProxyAdmin.sol\";\n\n/**\n * @dev Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy}\n * does not implement this interface directly, and its upgradeability mechanism is implemented by an internal dispatch\n * mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not\n * include them in the ABI so this interface must be used to interact with it.\n */\ninterface ITransparentUpgradeableProxy is IERC1967 {\n /// @dev See {UUPSUpgradeable-upgradeToAndCall}\n function upgradeToAndCall(address newImplementation, bytes calldata data) external payable;\n}\n\n/**\n * @dev This contract implements a proxy that is upgradeable through an associated {ProxyAdmin} instance.\n *\n * To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector\n * clashing], which can potentially be used in an attack, this contract uses the\n * https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two\n * things that go hand in hand:\n *\n * 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if\n * that call matches the {ITransparentUpgradeableProxy-upgradeToAndCall} function exposed by the proxy itself.\n * 2. If the admin calls the proxy, it can call the `upgradeToAndCall` function but any other call won't be forwarded to\n * the implementation. If the admin tries to call a function on the implementation it will fail with an error indicating\n * the proxy admin cannot fallback to the target implementation.\n *\n * These properties mean that the admin account can only be used for upgrading the proxy, so it's best if it's a\n * dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to\n * call a function from the proxy implementation. For this reason, the proxy deploys an instance of {ProxyAdmin} and\n * allows upgrades only if they come through it. You should think of the `ProxyAdmin` instance as the administrative\n * interface of the proxy, including the ability to change who can trigger upgrades by transferring ownership.\n *\n * NOTE: The real interface of this proxy is that defined in `ITransparentUpgradeableProxy`. This contract does not\n * inherit from that interface, and instead `upgradeToAndCall` is implicitly implemented using a custom dispatch\n * mechanism in `_fallback`. Consequently, the compiler will not produce an ABI for this contract. This is necessary to\n * fully implement transparency without decoding reverts caused by selector clashes between the proxy and the\n * implementation.\n *\n * NOTE: This proxy does not inherit from {Context} deliberately. The {ProxyAdmin} of this contract won't send a\n * meta-transaction in any way, and any other meta-transaction setup should be made in the implementation contract.\n *\n * IMPORTANT: This contract avoids unnecessary storage reads by setting the admin only during construction as an\n * immutable variable, preventing any changes thereafter. However, the admin slot defined in ERC-1967 can still be\n * overwritten by the implementation logic pointed to by this proxy. In such cases, the contract may end up in an\n * undesirable state where the admin slot is different from the actual admin. Relying on the value of the admin slot\n * is generally fine if the implementation is trusted.\n *\n * WARNING: It is not recommended to extend this contract to add additional external functions. If you do so, the\n * compiler will not check that there are no selector conflicts, due to the note above. A selector clash between any new\n * function and the functions declared in {ITransparentUpgradeableProxy} will be resolved in favor of the new one. This\n * could render the `upgradeToAndCall` function inaccessible, preventing upgradeability and compromising transparency.\n */\ncontract TransparentUpgradeableProxy is ERC1967Proxy {\n // An immutable address for the admin to avoid unnecessary SLOADs before each call\n // at the expense of removing the ability to change the admin once it's set.\n // This is acceptable if the admin is always a ProxyAdmin instance or similar contract\n // with its own ability to transfer the permissions to another account.\n address private immutable _admin;\n\n /**\n * @dev The proxy caller is the current admin, and can't fallback to the proxy target.\n */\n error ProxyDeniedAdminAccess();\n\n /**\n * @dev Initializes an upgradeable proxy managed by an instance of a {ProxyAdmin} with an `initialOwner`,\n * backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in\n * {ERC1967Proxy-constructor}.\n */\n constructor(address _logic, address initialOwner, bytes memory _data) payable ERC1967Proxy(_logic, _data) {\n _admin = address(new ProxyAdmin(initialOwner));\n // Set the storage value and emit an event for ERC-1967 compatibility\n ERC1967Utils.changeAdmin(_proxyAdmin());\n }\n\n /**\n * @dev Returns the admin of this proxy.\n */\n function _proxyAdmin() internal view virtual returns (address) {\n return _admin;\n }\n\n /**\n * @dev If caller is the admin process the call internally, otherwise transparently fallback to the proxy behavior.\n */\n function _fallback() internal virtual override {\n if (msg.sender == _proxyAdmin()) {\n if (msg.sig != ITransparentUpgradeableProxy.upgradeToAndCall.selector) {\n revert ProxyDeniedAdminAccess();\n } else {\n _dispatchUpgradeToAndCall();\n }\n } else {\n super._fallback();\n }\n }\n\n /**\n * @dev Upgrade the implementation of the proxy. See {ERC1967Utils-upgradeToAndCall}.\n *\n * Requirements:\n *\n * - If `data` is empty, `msg.value` must be zero.\n */\n function _dispatchUpgradeToAndCall() private {\n (address newImplementation, bytes memory data) = abi.decode(msg.data[4:], (address, bytes));\n ERC1967Utils.upgradeToAndCall(newImplementation, data);\n }\n}\n" }, "@openzeppelin/contracts/token/ERC20/ERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC20Metadata} from \"./extensions/IERC20Metadata.sol\";\nimport {Context} from \"../../utils/Context.sol\";\nimport {IERC20Errors} from \"../../interfaces/draft-IERC6093.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * The default value of {decimals} is 18. To change this, you should override\n * this function so it returns a different value.\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC-20\n * applications.\n */\nabstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {\n mapping(address account => uint256) private _balances;\n\n mapping(address account => mapping(address spender => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * Both values are immutable: they can only be set once during construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the default value returned by this function, unless\n * it's overridden.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual returns (uint8) {\n return 18;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view virtual returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `value`.\n */\n function transfer(address to, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, value);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, value);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Skips emitting an {Approval} event indicating an allowance update. This is not\n * required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `value`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `value`.\n */\n function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, value);\n _transfer(from, to, value);\n return true;\n }\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _transfer(address from, address to, uint256 value) internal {\n if (from == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n if (to == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(from, to, value);\n }\n\n /**\n * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n * this function.\n *\n * Emits a {Transfer} event.\n */\n function _update(address from, address to, uint256 value) internal virtual {\n if (from == address(0)) {\n // Overflow check required: The rest of the code assumes that totalSupply never overflows\n _totalSupply += value;\n } else {\n uint256 fromBalance = _balances[from];\n if (fromBalance < value) {\n revert ERC20InsufficientBalance(from, fromBalance, value);\n }\n unchecked {\n // Overflow not possible: value <= fromBalance <= totalSupply.\n _balances[from] = fromBalance - value;\n }\n }\n\n if (to == address(0)) {\n unchecked {\n // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.\n _totalSupply -= value;\n }\n } else {\n unchecked {\n // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.\n _balances[to] += value;\n }\n }\n\n emit Transfer(from, to, value);\n }\n\n /**\n * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n * Relies on the `_update` mechanism\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _mint(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(address(0), account, value);\n }\n\n /**\n * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n * Relies on the `_update` mechanism.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead\n */\n function _burn(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n _update(account, address(0), value);\n }\n\n /**\n * @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n *\n * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.\n */\n function _approve(address owner, address spender, uint256 value) internal {\n _approve(owner, spender, value, true);\n }\n\n /**\n * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n *\n * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any\n * `Approval` event during `transferFrom` operations.\n *\n * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to\n * true using the following override:\n *\n * ```solidity\n * function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n * super._approve(owner, spender, value, true);\n * }\n * ```\n *\n * Requirements are the same as {_approve}.\n */\n function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {\n if (owner == address(0)) {\n revert ERC20InvalidApprover(address(0));\n }\n if (spender == address(0)) {\n revert ERC20InvalidSpender(address(0));\n }\n _allowances[owner][spender] = value;\n if (emitEvent) {\n emit Approval(owner, spender, value);\n }\n }\n\n /**\n * @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n *\n * Does not update the allowance value in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Does not emit an {Approval} event.\n */\n function _spendAllowance(address owner, address spender, uint256 value) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance < type(uint256).max) {\n if (currentAllowance < value) {\n revert ERC20InsufficientAllowance(spender, currentAllowance, value);\n }\n unchecked {\n _approve(owner, spender, currentAllowance - value, false);\n }\n }\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"./IERC20.sol\";\nimport {IERC20Metadata} from \"./extensions/IERC20Metadata.sol\";\nimport {Context} from \"../../utils/Context.sol\";\nimport {IERC20Errors} from \"../../interfaces/draft-IERC6093.sol\";\n\n/**\n * @dev Implementation of the {IERC20} interface.\n *\n * This implementation is agnostic to the way tokens are created. This means\n * that a supply mechanism has to be added in a derived contract using {_mint}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\n *\n * The default value of {decimals} is 18. To change this, you should override\n * this function so it returns a different value.\n *\n * We have followed general OpenZeppelin Contracts guidelines: functions revert\n * instead returning `false` on failure. This behavior is nonetheless\n * conventional and does not conflict with the expectations of ERC-20\n * applications.\n */\nabstract contract ERC20 is Context, IERC20, IERC20Metadata, IERC20Errors {\n mapping(address account => uint256) private _balances;\n\n mapping(address account => mapping(address spender => uint256)) private _allowances;\n\n uint256 private _totalSupply;\n\n string private _name;\n string private _symbol;\n\n /**\n * @dev Sets the values for {name} and {symbol}.\n *\n * Both values are immutable: they can only be set once during construction.\n */\n constructor(string memory name_, string memory symbol_) {\n _name = name_;\n _symbol = symbol_;\n }\n\n /**\n * @dev Returns the name of the token.\n */\n function name() public view virtual returns (string memory) {\n return _name;\n }\n\n /**\n * @dev Returns the symbol of the token, usually a shorter version of the\n * name.\n */\n function symbol() public view virtual returns (string memory) {\n return _symbol;\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation.\n * For example, if `decimals` equals `2`, a balance of `505` tokens should\n * be displayed to a user as `5.05` (`505 / 10 ** 2`).\n *\n * Tokens usually opt for a value of 18, imitating the relationship between\n * Ether and Wei. This is the default value returned by this function, unless\n * it's overridden.\n *\n * NOTE: This information is only used for _display_ purposes: it in\n * no way affects any of the arithmetic of the contract, including\n * {IERC20-balanceOf} and {IERC20-transfer}.\n */\n function decimals() public view virtual returns (uint8) {\n return 18;\n }\n\n /// @inheritdoc IERC20\n function totalSupply() public view virtual returns (uint256) {\n return _totalSupply;\n }\n\n /// @inheritdoc IERC20\n function balanceOf(address account) public view virtual returns (uint256) {\n return _balances[account];\n }\n\n /**\n * @dev See {IERC20-transfer}.\n *\n * Requirements:\n *\n * - `to` cannot be the zero address.\n * - the caller must have a balance of at least `value`.\n */\n function transfer(address to, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, value);\n return true;\n }\n\n /// @inheritdoc IERC20\n function allowance(address owner, address spender) public view virtual returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n * `transferFrom`. This is semantically equivalent to an infinite approval.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function approve(address spender, uint256 value) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, value);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Skips emitting an {Approval} event indicating an allowance update. This is not\n * required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n *\n * NOTE: Does not update the allowance if the current allowance\n * is the maximum `uint256`.\n *\n * Requirements:\n *\n * - `from` and `to` cannot be the zero address.\n * - `from` must have a balance of at least `value`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `value`.\n */\n function transferFrom(address from, address to, uint256 value) public virtual returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, value);\n _transfer(from, to, value);\n return true;\n }\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to`.\n *\n * This internal function is equivalent to {transfer}, and can be used to\n * e.g. implement automatic token fees, slashing mechanisms, etc.\n *\n * Emits a {Transfer} event.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _transfer(address from, address to, uint256 value) internal {\n if (from == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n if (to == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(from, to, value);\n }\n\n /**\n * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n * (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n * this function.\n *\n * Emits a {Transfer} event.\n */\n function _update(address from, address to, uint256 value) internal virtual {\n if (from == address(0)) {\n // Overflow check required: The rest of the code assumes that totalSupply never overflows\n _totalSupply += value;\n } else {\n uint256 fromBalance = _balances[from];\n if (fromBalance < value) {\n revert ERC20InsufficientBalance(from, fromBalance, value);\n }\n unchecked {\n // Overflow not possible: value <= fromBalance <= totalSupply.\n _balances[from] = fromBalance - value;\n }\n }\n\n if (to == address(0)) {\n unchecked {\n // Overflow not possible: value <= totalSupply or value <= fromBalance <= totalSupply.\n _totalSupply -= value;\n }\n } else {\n unchecked {\n // Overflow not possible: balance + value is at most totalSupply, which we know fits into a uint256.\n _balances[to] += value;\n }\n }\n\n emit Transfer(from, to, value);\n }\n\n /**\n * @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n * Relies on the `_update` mechanism\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead.\n */\n function _mint(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidReceiver(address(0));\n }\n _update(address(0), account, value);\n }\n\n /**\n * @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n * Relies on the `_update` mechanism.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * NOTE: This function is not virtual, {_update} should be overridden instead\n */\n function _burn(address account, uint256 value) internal {\n if (account == address(0)) {\n revert ERC20InvalidSender(address(0));\n }\n _update(account, address(0), value);\n }\n\n /**\n * @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.\n *\n * This internal function is equivalent to `approve`, and can be used to\n * e.g. set automatic allowances for certain subsystems, etc.\n *\n * Emits an {Approval} event.\n *\n * Requirements:\n *\n * - `owner` cannot be the zero address.\n * - `spender` cannot be the zero address.\n *\n * Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument.\n */\n function _approve(address owner, address spender, uint256 value) internal {\n _approve(owner, spender, value, true);\n }\n\n /**\n * @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n *\n * By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n * `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any\n * `Approval` event during `transferFrom` operations.\n *\n * Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to\n * true using the following override:\n *\n * ```solidity\n * function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n * super._approve(owner, spender, value, true);\n * }\n * ```\n *\n * Requirements are the same as {_approve}.\n */\n function _approve(address owner, address spender, uint256 value, bool emitEvent) internal virtual {\n if (owner == address(0)) {\n revert ERC20InvalidApprover(address(0));\n }\n if (spender == address(0)) {\n revert ERC20InvalidSpender(address(0));\n }\n _allowances[owner][spender] = value;\n if (emitEvent) {\n emit Approval(owner, spender, value);\n }\n }\n\n /**\n * @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n *\n * Does not update the allowance value in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Does not emit an {Approval} event.\n */\n function _spendAllowance(address owner, address spender, uint256 value) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance < type(uint256).max) {\n if (currentAllowance < value) {\n revert ERC20InsufficientAllowance(spender, currentAllowance, value);\n }\n unchecked {\n _approve(owner, spender, currentAllowance - value, false);\n }\n }\n }\n}\n" }, "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol": { "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (token/ERC20/extensions/ERC20Burnable.sol)\n\npragma solidity ^0.8.20;\n\nimport {ERC20} from \"../ERC20.sol\";\nimport {Context} from \"../../../utils/Context.sol\";\n\n/**\n * @dev Extension of {ERC20} that allows token holders to destroy both their own\n * tokens and those that they have an allowance for, in a way that can be\n * recognized off-chain (via event analysis).\n */\nabstract contract ERC20Burnable is Context, ERC20 {\n /**\n * @dev Destroys a `value` amount of tokens from the caller.\n *\n * See {ERC20-_burn}.\n */\n function burn(uint256 value) public virtual {\n _burn(_msgSender(), value);\n }\n\n /**\n * @dev Destroys a `value` amount of tokens from `account`, deducting from\n * the caller's allowance.\n *\n * See {ERC20-_burn} and {ERC20-allowance}.\n *\n * Requirements:\n *\n * - the caller must have allowance for ``accounts``'s tokens of at least\n * `value`.\n */\n function burnFrom(address account, uint256 value) public virtual {\n _spendAllowance(account, _msgSender(), value);\n _burn(account, value);\n }\n}\n" }, "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC20} from \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC-20 standard.\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity >=0.6.2;\n\nimport {IERC20} from \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC-20 standard.\n */\ninterface IERC20Metadata is IERC20 {\n /**\n * @dev Returns the name of the token.\n */\n function name() external view returns (string memory);\n\n /**\n * @dev Returns the symbol of the token.\n */\n function symbol() external view returns (string memory);\n\n /**\n * @dev Returns the decimals places of the token.\n */\n function decimals() external view returns (uint8);\n}\n" }, "@openzeppelin/contracts/token/ERC20/IERC20.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC-20 standard as defined in the ERC.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the value of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the value of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the\n * allowance mechanism. `value` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (token/ERC20/IERC20.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface of the ERC-20 standard as defined in the ERC.\n */\ninterface IERC20 {\n /**\n * @dev Emitted when `value` tokens are moved from one account (`from`) to\n * another (`to`).\n *\n * Note that `value` may be zero.\n */\n event Transfer(address indexed from, address indexed to, uint256 value);\n\n /**\n * @dev Emitted when the allowance of a `spender` for an `owner` is set by\n * a call to {approve}. `value` is the new allowance.\n */\n event Approval(address indexed owner, address indexed spender, uint256 value);\n\n /**\n * @dev Returns the value of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the value of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves a `value` amount of tokens from the caller's account to `to`.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transfer(address to, uint256 value) external returns (bool);\n\n /**\n * @dev Returns the remaining number of tokens that `spender` will be\n * allowed to spend on behalf of `owner` through {transferFrom}. This is\n * zero by default.\n *\n * This value changes when {approve} or {transferFrom} are called.\n */\n function allowance(address owner, address spender) external view returns (uint256);\n\n /**\n * @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n * caller's tokens.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * IMPORTANT: Beware that changing an allowance with this method brings the risk\n * that someone may use both the old and the new allowance by unfortunate\n * transaction ordering. One possible solution to mitigate this race\n * condition is to first reduce the spender's allowance to 0 and set the\n * desired value afterwards:\n * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n *\n * Emits an {Approval} event.\n */\n function approve(address spender, uint256 value) external returns (bool);\n\n /**\n * @dev Moves a `value` amount of tokens from `from` to `to` using the\n * allowance mechanism. `value` is then deducted from the caller's\n * allowance.\n *\n * Returns a boolean value indicating whether the operation succeeded.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(address from, address to, uint256 value) external returns (bool);\n}\n" }, "@openzeppelin/contracts/utils/Address.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.2.0) (utils/Address.sol)\n\npragma solidity ^0.8.20;\n\nimport {Errors} from \"./Errors.sol\";\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev There's no code at `target` (it is not a contract).\n */\n error AddressEmptyCode(address target);\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n if (address(this).balance < amount) {\n revert Errors.InsufficientBalance(address(this).balance, amount);\n }\n\n (bool success, bytes memory returndata) = recipient.call{value: amount}(\"\");\n if (!success) {\n _revert(returndata);\n }\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason or custom error, it is bubbled\n * up by this function (like regular Solidity function calls). However, if\n * the call reverted with no returned reason, this function reverts with a\n * {Errors.FailedCall} error.\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n if (address(this).balance < value) {\n revert Errors.InsufficientBalance(address(this).balance, value);\n }\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target\n * was not a contract or bubbling up the revert reason (falling back to {Errors.FailedCall}) in case\n * of an unsuccessful call.\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata\n ) internal view returns (bytes memory) {\n if (!success) {\n _revert(returndata);\n } else {\n // only check if target is a contract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n if (returndata.length == 0 && target.code.length == 0) {\n revert AddressEmptyCode(target);\n }\n return returndata;\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the\n * revert reason or with a default {Errors.FailedCall} error.\n */\n function verifyCallResult(bool success, bytes memory returndata) internal pure returns (bytes memory) {\n if (!success) {\n _revert(returndata);\n } else {\n return returndata;\n }\n }\n\n /**\n * @dev Reverts with returndata if present. Otherwise reverts with {Errors.FailedCall}.\n */\n function _revert(bytes memory returndata) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n assembly (\"memory-safe\") {\n let returndata_size := mload(returndata)\n revert(add(32, returndata), returndata_size)\n }\n } else {\n revert Errors.FailedCall();\n }\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/Address.sol)\n\npragma solidity ^0.8.20;\n\nimport {Errors} from \"./Errors.sol\";\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev There's no code at `target` (it is not a contract).\n */\n error AddressEmptyCode(address target);\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n if (address(this).balance < amount) {\n revert Errors.InsufficientBalance(address(this).balance, amount);\n }\n\n (bool success, bytes memory returndata) = recipient.call{value: amount}(\"\");\n if (!success) {\n _revert(returndata);\n }\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason or custom error, it is bubbled\n * up by this function (like regular Solidity function calls). However, if\n * the call reverted with no returned reason, this function reverts with a\n * {Errors.FailedCall} error.\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n if (address(this).balance < value) {\n revert Errors.InsufficientBalance(address(this).balance, value);\n }\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target\n * was not a contract or bubbling up the revert reason (falling back to {Errors.FailedCall}) in case\n * of an unsuccessful call.\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata\n ) internal view returns (bytes memory) {\n if (!success) {\n _revert(returndata);\n } else {\n // only check if target is a contract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n if (returndata.length == 0 && target.code.length == 0) {\n revert AddressEmptyCode(target);\n }\n return returndata;\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the\n * revert reason or with a default {Errors.FailedCall} error.\n */\n function verifyCallResult(bool success, bytes memory returndata) internal pure returns (bytes memory) {\n if (!success) {\n _revert(returndata);\n } else {\n return returndata;\n }\n }\n\n /**\n * @dev Reverts with returndata if present. Otherwise reverts with {Errors.FailedCall}.\n */\n function _revert(bytes memory returndata) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n assembly (\"memory-safe\") {\n revert(add(returndata, 0x20), mload(returndata))\n }\n } else {\n revert Errors.FailedCall();\n }\n }\n}\n" }, "@openzeppelin/contracts/utils/Context.sol": { "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract Context {\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n" @@ -76,32 +76,26 @@ "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/Errors.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Collection of common custom errors used in multiple contracts\n *\n * IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library.\n * It is recommended to avoid relying on the error API for critical functionality.\n *\n * _Available since v5.1._\n */\nlibrary Errors {\n /**\n * @dev The ETH balance of the account is not enough to perform the operation.\n */\n error InsufficientBalance(uint256 balance, uint256 needed);\n\n /**\n * @dev A call to an address target failed. The target may have reverted.\n */\n error FailedCall();\n\n /**\n * @dev The deployment failed.\n */\n error FailedDeployment();\n\n /**\n * @dev A necessary precompile is missing.\n */\n error MissingPrecompile(address);\n}\n" }, "@openzeppelin/contracts/utils/introspection/ERC165.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\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 *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.20;\n\nimport {IERC165} from \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\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 *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n */\nabstract contract ERC165 is IERC165 {\n /// @inheritdoc IERC165\n function supportsInterface(bytes4 interfaceId) public view virtual returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" }, "@openzeppelin/contracts/utils/introspection/IERC165.sol": { - "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Interface of the ERC-165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[ERC].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n" + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/introspection/IERC165.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev Interface of the ERC-165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[ERC].\n *\n * Implementers can declare support of contract interfaces, which can then be\n * queried by others ({ERC165Checker}).\n *\n * For an implementation, see {ERC165}.\n */\ninterface IERC165 {\n /**\n * @dev Returns true if this contract implements the interface defined by\n * `interfaceId`. See the corresponding\n * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section]\n * to learn more about how these ids are created.\n *\n * This function call must use less than 30 000 gas.\n */\n function supportsInterface(bytes4 interfaceId) external view returns (bool);\n}\n" }, "@openzeppelin/contracts/utils/StorageSlot.sol": { "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/StorageSlot.sol)\n// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library for reading and writing primitive types to specific storage slots.\n *\n * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n * This library helps with reading and writing to such slots without the need for inline assembly.\n *\n * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n *\n * Example usage to set ERC-1967 implementation slot:\n * ```solidity\n * contract ERC1967 {\n * // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.\n * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n *\n * function _getImplementation() internal view returns (address) {\n * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n * }\n *\n * function _setImplementation(address newImplementation) internal {\n * require(newImplementation.code.length > 0);\n * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n * }\n * }\n * ```\n *\n * TIP: Consider using this library along with {SlotDerivation}.\n */\nlibrary StorageSlot {\n struct AddressSlot {\n address value;\n }\n\n struct BooleanSlot {\n bool value;\n }\n\n struct Bytes32Slot {\n bytes32 value;\n }\n\n struct Uint256Slot {\n uint256 value;\n }\n\n struct Int256Slot {\n int256 value;\n }\n\n struct StringSlot {\n string value;\n }\n\n struct BytesSlot {\n bytes value;\n }\n\n /**\n * @dev Returns an `AddressSlot` with member `value` located at `slot`.\n */\n function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `BooleanSlot` with member `value` located at `slot`.\n */\n function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Bytes32Slot` with member `value` located at `slot`.\n */\n function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Uint256Slot` with member `value` located at `slot`.\n */\n function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Int256Slot` with member `value` located at `slot`.\n */\n function getInt256Slot(bytes32 slot) internal pure returns (Int256Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `StringSlot` with member `value` located at `slot`.\n */\n function getStringSlot(bytes32 slot) internal pure returns (StringSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `StringSlot` representation of the string storage pointer `store`.\n */\n function getStringSlot(string storage store) internal pure returns (StringSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := store.slot\n }\n }\n\n /**\n * @dev Returns a `BytesSlot` with member `value` located at `slot`.\n */\n function getBytesSlot(bytes32 slot) internal pure returns (BytesSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`.\n */\n function getBytesSlot(bytes storage store) internal pure returns (BytesSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := store.slot\n }\n }\n}\n" }, "contracts/AgentsRegistryUpgradeable.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.22;\n\nimport \"./ServiceRegistryUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport \"./interfaces/IProposalStruct.sol\";\nimport \"./interfaces/IAgentRegistryV1.sol\";\n\n// Interface for V1 ServiceRegistry compatibility\ninterface IServiceRegistryV1 {\n struct Service {\n string name;\n string category;\n string description;\n bool isActive;\n }\n \n function getService(string memory serviceName) external view returns (Service memory);\n}\n\n/**\n * @title AgentsRegistryUpgradeable\n * @author leonprou\n * @notice A smart contract that stores information about the agents, and the services proposals provided by the agents.\n * @dev Upgradeable version using UUPS proxy pattern\n */\ncontract AgentsRegistryUpgradeable is Initializable, OwnableUpgradeable, UUPSUpgradeable, IProposalStruct {\n struct AgentData {\n string name;\n string agentUri;\n address owner;\n address agent;\n uint256 reputation;\n uint256 totalRatings;\n }\n\n IAgentRegistryV1 public agentRegistryV1;\n ServiceRegistryUpgradeable public serviceRegistry;\n address public taskRegistry;\n\n mapping(address => AgentData) public agents;\n mapping(uint256 => ServiceProposal) public proposals;\n uint256 public nextProposalId;\n\n modifier onlyAgentOwner(address agent) {\n require(\n agents[agent].owner == msg.sender,\n \"Not the owner of the agent\"\n );\n _;\n }\n\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n _disableInitializers();\n }\n\n /**\n * @dev Initializes the contract\n * @param _agentRegistryV1 The address of the V1 agent registry for migration\n * @param _serviceRegistry The address of the service registry\n */\n function initialize(\n IAgentRegistryV1 _agentRegistryV1,\n ServiceRegistryUpgradeable _serviceRegistry\n ) public initializer {\n __Ownable_init(msg.sender);\n __UUPSUpgradeable_init();\n \n agentRegistryV1 = _agentRegistryV1;\n serviceRegistry = _serviceRegistry;\n nextProposalId = 1;\n }\n\n event AgentRegistered(\n address indexed agent,\n address indexed owner,\n string name,\n string agentUri\n );\n event ReputationUpdated(address indexed agent, uint256 newReputation);\n\n event ProposalAdded(\n address indexed agent,\n uint256 proposalId,\n string name,\n uint256 price,\n address tokenAddress\n );\n event ProposalRemoved(address indexed agent, uint256 proposalId);\n\n event ProposalUpdated(\n address indexed agent,\n uint256 proposalId,\n uint256 price,\n address tokenAddress\n );\n event AgentDataUpdated(\n address indexed agent,\n string name,\n string agentUri\n );\n\n event AgentRemoved(\n address indexed agent,\n address indexed owner\n );\n\n /**\n * @dev Sets the address of the TaskRegistry contract.\n * @param _taskRegistry The address of the TaskRegistry contract.\n */\n function setTaskRegistry(address _taskRegistry) external onlyOwner {\n require(_taskRegistry != address(0), \"Invalid address\");\n taskRegistry = _taskRegistry;\n }\n\n /**\n * @dev Sets the address of the ServiceRegistry contract.\n * @param _serviceRegistry The address of the ServiceRegistry contract.\n */\n function setServiceRegistry(address _serviceRegistry) external onlyOwner {\n require(_serviceRegistry != address(0), \"Invalid address\");\n serviceRegistry = ServiceRegistryUpgradeable(_serviceRegistry);\n }\n\n /**\n * @dev Registers a new agent with the given details.\n * @param name The name of the agent.\n * @param agentUri The URI pointing to the agent's metadata.\n * @param agent The address of the agent.\n *\n * Requirements:\n *\n * - The agent must not already be registered.\n * - The caller will be set as the owner of the agent.\n *\n * Emits an {AgentRegistered} event.\n */\n function registerAgent(\n address agent,\n string memory name,\n string memory agentUri\n ) external {\n require(agents[agent].agent == address(0), \"Agent already registered\");\n\n _createAgent(agent, name, agentUri, msg.sender, 0);\n }\n\n /**\n * @dev Registers a new agent with the given details and the proposal.\n * @param name The name of the agent.\n * @param agentUri The URI pointing to the agent's metadata.\n * @param agent The address of the agent.\n * @param serviceName The name of the service.\n * @param servicePrice The price of the service.\n *\n * Requirements:\n *\n * - The agent must not already be registered.\n * - The caller will be set as the owner of the agent.\n *\n * Emits an {AgentRegistered} event.\n */\n function registerAgentWithProposal(\n address agent,\n string memory name,\n string memory agentUri,\n string memory serviceName,\n uint256 servicePrice,\n address tokenAddress\n ) external {\n require(agents[agent].agent == address(0), \"Agent already registered\");\n require(\n serviceRegistry.isServiceRegistered(serviceName),\n \"Service not registered\"\n );\n\n _createAgent(agent, name, agentUri, msg.sender, 0);\n\n _createProposal(agent, serviceName, servicePrice, tokenAddress);\n }\n\n /**\n * @dev Adds a new proposal for an agent.\n * @param agent The address of the agent.\n * @param serviceName The name of the service.\n * @param servicePrice The price of the service.\n *\n * Requirements:\n *\n * - The caller must be the owner of the agent.\n * - The agent must be registered.\n * - The service must be registered.\n *\n * Emits a {ProposalAdded} event.\n */\n function addProposal(\n address agent,\n string memory serviceName,\n uint256 servicePrice,\n address tokenAddress\n ) public onlyAgentOwner(agent) {\n require(\n serviceRegistry.isServiceRegistered(serviceName),\n \"Service not registered\"\n );\n\n _createProposal(agent, serviceName, servicePrice, tokenAddress);\n }\n\n /**\n * @dev Removes a proposal for an agent.\n * @param agent The address of the agent.\n * @param proposalId The ID of the proposal to remove.\n * @return true if the proposal was removed successfully, false otherwise.\n *\n * Requirements:\n *\n * - The caller must be the owner of the agent.\n * - The agent must be registered.\n * - The proposal must exist.\n *\n * Emits a {ProposalRemoved} event.\n */\n function removeProposal(\n address agent,\n uint256 proposalId\n ) external onlyAgentOwner(agent) returns (bool) {\n require(\n proposals[proposalId].issuer == agent,\n \"ServiceProposal not found\"\n );\n\n delete proposals[proposalId];\n\n emit ProposalRemoved(agent, proposalId);\n\n return true;\n }\n\n /**\n * @dev Migrates an agent.\n * @param agent The address of the agent.\n */\n function migrateAgent(address agent) external {\n require(agents[agent].agent == address(0), \"Agent already registered\");\n\n IAgentRegistryV1.AgentData memory v1AgentData = IAgentRegistryV1(agentRegistryV1).getAgentData(agent);\n\n require(\n msg.sender == v1AgentData.owner || msg.sender == owner(),\n \"Not owner or agent owner\"\n );\n\n _createAgent(agent, v1AgentData.name, v1AgentData.agentUri, v1AgentData.owner, v1AgentData.reputation);\n\n _migrateAgentProposals(agent);\n }\n\n function addRating(\n address agent,\n uint256 _rating\n ) public returns (uint256) {\n require(msg.sender == taskRegistry, \"Not the TaskRegistry contract\");\n require(\n _rating >= 0 && _rating <= 100,\n \"Rating must be between 0 and 100\"\n );\n agents[agent].totalRatings += 1;\n agents[agent].reputation =\n (agents[agent].reputation *\n (agents[agent].totalRatings - 1) +\n _rating) /\n agents[agent].totalRatings;\n emit ReputationUpdated(agent, agents[agent].reputation);\n\n return agents[agent].reputation;\n }\n\n function getReputation(address agent) external view returns (uint256) {\n return agents[agent].reputation;\n }\n\n /**\n * @dev Returns the data of an agent.\n * @param _agent The address of the agent.\n * @return AgentData The data of the agent.\n */\n function getAgentData(\n address _agent\n ) external view returns (AgentData memory) {\n AgentData storage data = agents[_agent];\n return data;\n }\n\n function getProposal(\n uint256 proposalId\n ) external view returns (ServiceProposal memory) {\n return proposals[proposalId];\n }\n\n /**\n * @dev Sets the data of an existing agent.\n * @param agent The address of the agent to update.\n * @param name The new name of the agent.\n * @param agentUri The new URI pointing to the agent's metadata.\n *\n * Requirements:\n *\n * - The caller must be the owner of the agent.\n * - The agent must be registered.\n *\n * Emits an {AgentDataUpdated} event.\n */\n function setAgentData(\n address agent,\n string memory name,\n string memory agentUri\n ) external onlyAgentOwner(agent) {\n require(agents[agent].agent != address(0), \"Agent not registered\");\n \n agents[agent].name = name;\n agents[agent].agentUri = agentUri;\n \n emit AgentDataUpdated(agent, name, agentUri);\n }\n\n /**\n * @dev Removes an existing agent and removes all associated proposals.\n * @param agent The address of the agent to remove.\n *\n * Requirements:\n *\n * - The caller must be the owner of the agent.\n * - The agent must be registered.\n *\n * Emits an {AgentRemoved} event and {ProposalRemoved} events for each removed proposal.\n */\n function removeAgent(address agent) external onlyAgentOwner(agent) {\n require(agents[agent].agent != address(0), \"Agent not registered\");\n \n address agentOwner = agents[agent].owner;\n \n // Remove all active proposals for this agent\n _removeAllAgentProposals(agent);\n \n // Clear agent data\n delete agents[agent];\n \n emit AgentRemoved(agent, agentOwner);\n }\n\n function _createAgent(\n address agent,\n string memory name,\n string memory agentUri,\n address owner,\n uint256 reputation\n ) private {\n AgentData storage agentData = agents[agent];\n agentData.name = name;\n agentData.agentUri = agentUri;\n agentData.owner = owner;\n agentData.agent = agent;\n agentData.reputation = reputation;\n\n emit AgentRegistered(agent, owner, name, agentUri);\n }\n\n function _createProposal(\n address agent,\n string memory serviceName,\n uint256 servicePrice,\n address tokenAddress\n ) private {\n ServiceProposal memory newProposal = ServiceProposal(\n agent,\n serviceName,\n servicePrice,\n tokenAddress,\n nextProposalId,\n true\n );\n\n proposals[nextProposalId] = newProposal;\n\n emit ProposalAdded(agent, nextProposalId, serviceName, servicePrice, tokenAddress);\n\n nextProposalId++;\n }\n\n function _ensureServiceRegistered(string memory serviceName) private {\n if (!serviceRegistry.isServiceRegistered(serviceName)) {\n address serviceRegistryV1Addr = IAgentRegistryV1(agentRegistryV1)\n .serviceRegistry();\n\n IServiceRegistryV1 serviceRegistryV1 = IServiceRegistryV1(\n serviceRegistryV1Addr\n );\n\n IServiceRegistryV1.Service memory service = serviceRegistryV1\n .getService(serviceName);\n\n serviceRegistry.registerService(\n service.name,\n service.category,\n service.description\n );\n }\n }\n\n function _migrateAgentProposals(address agent) private {\n uint256 numProposalsRegistered = IAgentRegistryV1(agentRegistryV1)\n .nextProposalId();\n\n for (uint256 i = 0; i < numProposalsRegistered; i++) {\n IAgentRegistryV1.Proposal memory proposal = IAgentRegistryV1(\n agentRegistryV1\n ).getProposal(i);\n\n if (proposal.issuer != agent || !proposal.isActive) {\n continue;\n }\n\n _ensureServiceRegistered(proposal.serviceName);\n\n _createProposal(agent, proposal.serviceName, proposal.price, address(0));\n }\n }\n\n /**\n * @dev Internal function to remove all proposals associated with an agent.\n * @param agent The address of the agent whose proposals should be removed.\n */\n function _removeAllAgentProposals(address agent) private {\n // Iterate through all proposals to find and remove agent's proposals\n for (uint256 i = 1; i < nextProposalId; i++) {\n if (proposals[i].issuer == agent && proposals[i].isActive) {\n delete proposals[i];\n emit ProposalRemoved(agent, i);\n }\n }\n }\n\n /**\n * @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract.\n * @param newImplementation Address of the new implementation\n */\n function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}\n\n /**\n * @dev Storage gap for future upgrades\n */\n uint256[50] private __gap;\n} " + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.22;\n\nimport \"./ServiceRegistryUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport \"./interfaces/IProposalStruct.sol\";\nimport \"./interfaces/IAgentRegistryV1.sol\";\n\n// Interface for V1 ServiceRegistry compatibility\ninterface IServiceRegistryV1 {\n struct Service {\n string name;\n string category;\n string description;\n bool isActive;\n }\n \n function getService(string memory serviceName) external view returns (Service memory);\n}\n\n/**\n * @title AgentsRegistryUpgradeable\n * @author leonprou\n * @notice A smart contract that stores information about the agents, and the services proposals provided by the agents.\n * @dev Upgradeable version using UUPS proxy pattern\n */\ncontract AgentsRegistryUpgradeable is Initializable, OwnableUpgradeable, UUPSUpgradeable, IProposalStruct {\n struct AgentData {\n string name;\n string agentUri;\n address owner;\n address agent;\n uint256 reputation;\n uint256 totalRatings;\n }\n\n IAgentRegistryV1 public agentRegistryV1;\n ServiceRegistryUpgradeable public serviceRegistry;\n address public taskRegistry;\n\n mapping(address => AgentData) public agents;\n mapping(uint256 => ServiceProposal) public proposals;\n uint256 public nextProposalId;\n\n modifier onlyAgentOwner(address agent) {\n require(\n agents[agent].owner == msg.sender,\n \"Not the owner of the agent\"\n );\n _;\n }\n\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n _disableInitializers();\n }\n\n /**\n * @dev Initializes the contract\n * @param _agentRegistryV1 The address of the V1 agent registry for migration\n * @param _serviceRegistry The address of the service registry\n */\n function initialize(\n IAgentRegistryV1 _agentRegistryV1,\n ServiceRegistryUpgradeable _serviceRegistry\n ) public initializer {\n __Ownable_init(msg.sender);\n __UUPSUpgradeable_init();\n \n agentRegistryV1 = _agentRegistryV1;\n serviceRegistry = _serviceRegistry;\n nextProposalId = 1;\n }\n\n event AgentRegistered(\n address indexed agent,\n address indexed owner,\n string name,\n string agentUri\n );\n event ReputationUpdated(address indexed agent, uint256 newReputation);\n\n event ProposalAdded(\n address indexed agent,\n uint256 proposalId,\n string name,\n uint256 price,\n address tokenAddress\n );\n event ProposalRemoved(address indexed agent, uint256 proposalId);\n\n event ProposalUpdated(\n address indexed agent,\n uint256 proposalId,\n uint256 price,\n address tokenAddress\n );\n event AgentDataUpdated(\n address indexed agent,\n string name,\n string agentUri\n );\n\n event AgentRemoved(\n address indexed agent,\n address indexed owner\n );\n\n /**\n * @dev Sets the address of the TaskRegistry contract.\n * @param _taskRegistry The address of the TaskRegistry contract.\n */\n function setTaskRegistry(address _taskRegistry) external onlyOwner {\n require(_taskRegistry != address(0), \"Invalid address\");\n taskRegistry = _taskRegistry;\n }\n\n /**\n * @dev Sets the address of the ServiceRegistry contract.\n * @param _serviceRegistry The address of the ServiceRegistry contract.\n */\n function setServiceRegistry(address _serviceRegistry) external onlyOwner {\n require(_serviceRegistry != address(0), \"Invalid address\");\n serviceRegistry = ServiceRegistryUpgradeable(_serviceRegistry);\n }\n\n /**\n * @dev Registers a new agent with the given details.\n * @param name The name of the agent.\n * @param agentUri The URI pointing to the agent's metadata.\n * @param agent The address of the agent.\n *\n * Requirements:\n *\n * - The agent must not already be registered.\n * - The caller will be set as the owner of the agent.\n *\n * Emits an {AgentRegistered} event.\n */\n function registerAgent(\n address agent,\n string memory name,\n string memory agentUri\n ) external {\n require(agents[agent].agent == address(0), \"Agent already registered\");\n\n _createAgent(agent, name, agentUri, msg.sender, 0);\n }\n\n /**\n * @dev Registers a new agent with the given details and the proposal.\n * @param name The name of the agent.\n * @param agentUri The URI pointing to the agent's metadata.\n * @param agent The address of the agent.\n * @param serviceName The name of the service.\n * @param servicePrice The price of the service.\n *\n * Requirements:\n *\n * - The agent must not already be registered.\n * - The caller will be set as the owner of the agent.\n *\n * Emits an {AgentRegistered} event.\n */\n function registerAgentWithService(\n address agent,\n string memory name,\n string memory agentUri,\n string memory serviceName,\n uint256 servicePrice,\n address tokenAddress\n ) external {\n require(agents[agent].agent == address(0), \"Agent already registered\");\n require(\n serviceRegistry.isServiceRegistered(serviceName),\n \"Service not registered\"\n );\n\n _createAgent(agent, name, agentUri, msg.sender, 0);\n\n _createProposal(agent, serviceName, servicePrice, tokenAddress);\n }\n\n /**\n * @dev Adds a new proposal for an agent.\n * @param agent The address of the agent.\n * @param serviceName The name of the service.\n * @param servicePrice The price of the service.\n *\n * Requirements:\n *\n * - The caller must be the owner of the agent.\n * - The agent must be registered.\n * - The service must be registered.\n *\n * Emits a {ProposalAdded} event.\n */\n function addProposal(\n address agent,\n string memory serviceName,\n uint256 servicePrice,\n address tokenAddress\n ) public onlyAgentOwner(agent) {\n require(\n serviceRegistry.isServiceRegistered(serviceName),\n \"Service not registered\"\n );\n\n _createProposal(agent, serviceName, servicePrice, tokenAddress);\n }\n\n /**\n * @dev Removes a proposal for an agent.\n * @param agent The address of the agent.\n * @param proposalId The ID of the proposal to remove.\n * @return true if the proposal was removed successfully, false otherwise.\n *\n * Requirements:\n *\n * - The caller must be the owner of the agent.\n * - The agent must be registered.\n * - The proposal must exist.\n *\n * Emits a {ProposalRemoved} event.\n */\n function removeProposal(\n address agent,\n uint256 proposalId\n ) external onlyAgentOwner(agent) returns (bool) {\n require(\n proposals[proposalId].issuer == agent,\n \"ServiceProposal not found\"\n );\n\n delete proposals[proposalId];\n\n emit ProposalRemoved(agent, proposalId);\n\n return true;\n }\n\n /**\n * @dev Migrates an agent.\n * @param agent The address of the agent.\n */\n function migrateAgent(address agent) external {\n require(agents[agent].agent == address(0), \"Agent already registered\");\n\n IAgentRegistryV1.AgentData memory v1AgentData = IAgentRegistryV1(agentRegistryV1).getAgentData(agent);\n\n require(\n msg.sender == v1AgentData.owner || msg.sender == owner(),\n \"Not owner or agent owner\"\n );\n\n _createAgent(agent, v1AgentData.name, v1AgentData.agentUri, v1AgentData.owner, v1AgentData.reputation);\n\n _migrateAgentProposals(agent);\n }\n\n function addRating(\n address agent,\n uint256 _rating\n ) public returns (uint256) {\n require(msg.sender == taskRegistry, \"Not the TaskRegistry contract\");\n require(\n _rating >= 0 && _rating <= 100,\n \"Rating must be between 0 and 100\"\n );\n agents[agent].totalRatings += 1;\n agents[agent].reputation =\n (agents[agent].reputation *\n (agents[agent].totalRatings - 1) +\n _rating) /\n agents[agent].totalRatings;\n emit ReputationUpdated(agent, agents[agent].reputation);\n\n return agents[agent].reputation;\n }\n\n function getReputation(address agent) external view returns (uint256) {\n return agents[agent].reputation;\n }\n\n /**\n * @dev Returns the data of an agent.\n * @param _agent The address of the agent.\n * @return AgentData The data of the agent.\n */\n function getAgentData(\n address _agent\n ) external view returns (AgentData memory) {\n AgentData storage data = agents[_agent];\n return data;\n }\n\n function getProposal(\n uint256 proposalId\n ) external view returns (ServiceProposal memory) {\n return proposals[proposalId];\n }\n\n /**\n * @dev Sets the data of an existing agent.\n * @param agent The address of the agent to update.\n * @param name The new name of the agent.\n * @param agentUri The new URI pointing to the agent's metadata.\n *\n * Requirements:\n *\n * - The caller must be the owner of the agent.\n * - The agent must be registered.\n *\n * Emits an {AgentDataUpdated} event.\n */\n function setAgentData(\n address agent,\n string memory name,\n string memory agentUri\n ) external onlyAgentOwner(agent) {\n require(agents[agent].agent != address(0), \"Agent not registered\");\n \n agents[agent].name = name;\n agents[agent].agentUri = agentUri;\n \n emit AgentDataUpdated(agent, name, agentUri);\n }\n\n /**\n * @dev Removes an existing agent and removes all associated proposals.\n * @param agent The address of the agent to remove.\n *\n * Requirements:\n *\n * - The caller must be the owner of the agent.\n * - The agent must be registered.\n *\n * Emits an {AgentRemoved} event and {ProposalRemoved} events for each removed proposal.\n */\n function removeAgent(address agent) external onlyAgentOwner(agent) {\n require(agents[agent].agent != address(0), \"Agent not registered\");\n \n address agentOwner = agents[agent].owner;\n \n // Remove all active proposals for this agent\n _removeAllAgentProposals(agent);\n \n // Clear agent data\n delete agents[agent];\n \n emit AgentRemoved(agent, agentOwner);\n }\n\n function _createAgent(\n address agent,\n string memory name,\n string memory agentUri,\n address owner,\n uint256 reputation\n ) private {\n AgentData storage agentData = agents[agent];\n agentData.name = name;\n agentData.agentUri = agentUri;\n agentData.owner = owner;\n agentData.agent = agent;\n agentData.reputation = reputation;\n\n emit AgentRegistered(agent, owner, name, agentUri);\n }\n\n function _createProposal(\n address agent,\n string memory serviceName,\n uint256 servicePrice,\n address tokenAddress\n ) private {\n ServiceProposal memory newProposal = ServiceProposal(\n agent,\n serviceName,\n servicePrice,\n tokenAddress,\n nextProposalId,\n true\n );\n\n proposals[nextProposalId] = newProposal;\n\n emit ProposalAdded(agent, nextProposalId, serviceName, servicePrice, tokenAddress);\n\n nextProposalId++;\n }\n\n function _ensureServiceRegistered(string memory serviceName) private {\n if (!serviceRegistry.isServiceRegistered(serviceName)) {\n address serviceRegistryV1Addr = IAgentRegistryV1(agentRegistryV1)\n .serviceRegistry();\n\n IServiceRegistryV1 serviceRegistryV1 = IServiceRegistryV1(\n serviceRegistryV1Addr\n );\n\n IServiceRegistryV1.Service memory service = serviceRegistryV1\n .getService(serviceName);\n\n serviceRegistry.registerService(\n service.name,\n service.category,\n service.description\n );\n }\n }\n\n function _migrateAgentProposals(address agent) private {\n uint256 numProposalsRegistered = IAgentRegistryV1(agentRegistryV1)\n .nextProposalId();\n\n for (uint256 i = 0; i < numProposalsRegistered; i++) {\n IAgentRegistryV1.Proposal memory proposal = IAgentRegistryV1(\n agentRegistryV1\n ).getProposal(i);\n\n if (proposal.issuer != agent || !proposal.isActive) {\n continue;\n }\n\n _ensureServiceRegistered(proposal.serviceName);\n\n _createProposal(agent, proposal.serviceName, proposal.price, address(0));\n }\n }\n\n /**\n * @dev Internal function to remove all proposals associated with an agent.\n * @param agent The address of the agent whose proposals should be removed.\n */\n function _removeAllAgentProposals(address agent) private {\n // Iterate through all proposals to find and remove agent's proposals\n for (uint256 i = 1; i < nextProposalId; i++) {\n if (proposals[i].issuer == agent && proposals[i].isActive) {\n delete proposals[i];\n emit ProposalRemoved(agent, i);\n }\n }\n }\n\n /**\n * @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract.\n * @param newImplementation Address of the new implementation\n */\n function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}\n\n /**\n * @dev Storage gap for future upgrades\n */\n uint256[50] private __gap;\n} " }, "contracts/EnsembleCredits.sol": { "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\n/**\n * @title EnsembleCredits\n * @dev Non-transferable ERC20 token for the Ensemble ecosystem\n * \n * Features:\n * - Non-transferable: tokens cannot be transferred between addresses\n * - Mintable: tokens can be minted by addresses with MINTER_ROLE\n * - Burnable: tokens can be burned by holders or minters\n * - 6 decimals precision for micro-transactions\n * - Role-based access control where minters can manage other minters\n */\ncontract EnsembleCredits is ERC20, ERC20Burnable, AccessControl {\n /// @dev Role identifier for addresses allowed to mint tokens\n bytes32 public constant MINTER_ROLE = keccak256(\"MINTER_ROLE\");\n \n /// @dev Custom error for when transfers are attempted (non-transferable token)\n error TransferNotAllowed();\n \n /// @dev Custom error for when approvals are attempted (not needed for non-transferable token)\n error ApprovalNotAllowed();\n\n /**\n * @dev Emitted when tokens are minted\n * @param to Address receiving the tokens\n * @param amount Amount of tokens minted\n */\n event Mint(address indexed to, uint256 amount);\n\n /**\n * @dev Emitted when tokens are burned\n * @param from Address from which tokens are burned\n * @param amount Amount of tokens burned\n */\n event Burn(address indexed from, uint256 amount);\n\n /**\n * @dev Emitted when a new minter is added\n * @param minter Address granted minter role\n */\n event MinterAdded(address indexed minter);\n\n /**\n * @dev Emitted when a minter is removed\n * @param minter Address removed from minter role\n */\n event MinterRemoved(address indexed minter);\n\n /**\n * @dev Constructor that sets up the token with initial admin\n * @param name Token name\n * @param symbol Token symbol\n * @param initialAdmin Address that will have admin and initial minter roles\n * @param initialSupply Optional initial supply to mint to admin (0 for no initial supply)\n */\n constructor(\n string memory name,\n string memory symbol,\n address initialAdmin,\n uint256 initialSupply\n ) ERC20(name, symbol) {\n require(initialAdmin != address(0), \"EnsembleCredits: admin cannot be zero address\");\n \n _grantRole(DEFAULT_ADMIN_ROLE, initialAdmin);\n _grantRole(MINTER_ROLE, initialAdmin);\n \n // Set MINTER_ROLE as its own admin so minters can manage other minters\n _setRoleAdmin(MINTER_ROLE, MINTER_ROLE);\n \n if (initialSupply > 0) {\n _mint(initialAdmin, initialSupply);\n emit Mint(initialAdmin, initialSupply);\n }\n }\n\n /**\n * @dev Returns the number of decimals used to get its user representation\n * @return Number of decimals (6 for micro-transactions)\n */\n function decimals() public pure override returns (uint8) {\n return 6;\n }\n\n /**\n * @dev Mint tokens to a specified address\n * @param to Address to mint tokens to\n * @param amount Amount of tokens to mint\n * \n * Requirements:\n * - Caller must have minter role\n * - `to` cannot be zero address\n */\n function mint(address to, uint256 amount) external onlyRole(MINTER_ROLE) {\n require(to != address(0), \"EnsembleCredits: cannot mint to zero address\");\n \n _mint(to, amount);\n emit Mint(to, amount);\n }\n\n /**\n * @dev Burn tokens from caller's balance\n * @param amount Amount of tokens to burn\n * \n * Requirements:\n * - Caller must have sufficient balance\n */\n function burn(uint256 amount) public override {\n address account = _msgSender();\n _burn(account, amount);\n emit Burn(account, amount);\n }\n\n /**\n * @dev Burn tokens from a specified address (minter only)\n * @param from Address to burn tokens from\n * @param amount Amount of tokens to burn\n * \n * Requirements:\n * - Caller must have minter role\n * - `from` must have sufficient balance\n */\n function burnFrom(address from, uint256 amount) public override {\n // Only minters can burn from other addresses\n require(hasRole(MINTER_ROLE, _msgSender()), \"EnsembleCredits: caller must have minter role to burn from others\");\n require(from != address(0), \"EnsembleCredits: cannot burn from zero address\");\n \n _burn(from, amount);\n emit Burn(from, amount);\n }\n\n /**\n * @dev Add a new minter\n * @param minter Address to grant minter role\n * \n * Requirements:\n * - Caller must have minter role (minters can add other minters)\n */\n function addMinter(address minter) external onlyRole(MINTER_ROLE) {\n require(minter != address(0), \"EnsembleCredits: cannot add zero address as minter\");\n \n _grantRole(MINTER_ROLE, minter);\n emit MinterAdded(minter);\n }\n\n /**\n * @dev Remove a minter\n * @param minter Address to remove minter role from\n * \n * Requirements:\n * - Caller must have minter role (minters can remove other minters)\n */\n function removeMinter(address minter) external onlyRole(MINTER_ROLE) {\n require(minter != address(0), \"EnsembleCredits: cannot remove zero address as minter\");\n require(hasRole(MINTER_ROLE, minter), \"EnsembleCredits: address is not a minter\");\n \n _revokeRole(MINTER_ROLE, minter);\n emit MinterRemoved(minter);\n }\n\n /**\n * @dev Check if an address has minter role\n * @param account Address to check\n * @return true if account has minter role\n */\n function isMinter(address account) external view returns (bool) {\n return hasRole(MINTER_ROLE, account);\n }\n\n /**\n * @dev Override transfer to make token non-transferable\n * @dev This function always reverts as the token is non-transferable\n */\n function transfer(address, uint256) public pure override returns (bool) {\n revert TransferNotAllowed();\n }\n\n /**\n * @dev Override transferFrom to make token non-transferable\n * @dev This function always reverts as the token is non-transferable\n */\n function transferFrom(address, address, uint256) public pure override returns (bool) {\n revert TransferNotAllowed();\n }\n\n /**\n * @dev Override approve to prevent approvals (not needed for non-transferable token)\n * @dev This function always reverts as approvals are not needed for non-transferable tokens\n */\n function approve(address, uint256) public pure override returns (bool) {\n revert ApprovalNotAllowed();\n }\n\n /**\n * @dev Override allowance to prevent allowance queries (not needed for non-transferable token)\n * @dev This function always reverts as allowances are not needed for non-transferable tokens\n */\n function allowance(address, address) public pure override returns (uint256) {\n revert ApprovalNotAllowed();\n }\n\n /**\n * @dev Override increaseAllowance to prevent allowance increases (not needed for non-transferable token)\n * @dev This function always reverts as allowances are not needed for non-transferable tokens\n */\n function increaseAllowance(address, uint256) public pure returns (bool) {\n revert ApprovalNotAllowed();\n }\n\n /**\n * @dev Override decreaseAllowance to prevent allowance decreases (not needed for non-transferable token)\n * @dev This function always reverts as allowances are not needed for non-transferable tokens\n */\n function decreaseAllowance(address, uint256) public pure returns (bool) {\n revert ApprovalNotAllowed();\n }\n} " }, - "contracts/interfaces/IAgent.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ninterface IAgent {\n struct Skill {\n string name;\n uint256 level;\n }\n\n event ReputationUpdated(address indexed agent, uint256 newReputation);\n \n function updateReputation(uint256 _reputation) external;\n function getSkills() external view returns (Skill[] memory);\n function getReputation() external view returns (uint256);\n}\n" - }, "contracts/interfaces/IAgentRegistryV1.sol": { "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ninterface IAgentRegistryV1 {\n struct AgentData {\n string name;\n string agentUri;\n address owner;\n address agent;\n uint256 reputation;\n uint256 totalRatings;\n }\n \n struct Proposal {\n address issuer;\n string serviceName;\n uint256 price;\n uint256 proposalId;\n bool isActive;\n }\n\n function getAgentData(address _agent) external view returns (AgentData memory);\n\n function getProposal(uint256 _proposalId) external view returns (Proposal memory);\n\n function nextProposalId() external view returns (uint256);\n\n function serviceRegistry() external view returns (address);\n}\n" }, "contracts/interfaces/IProposalStruct.sol": { "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\ninterface IProposalStruct {\n struct ServiceProposal {\n address issuer;\n string serviceName;\n uint256 price;\n address tokenAddress;\n uint256 proposalId;\n bool isActive;\n }\n}" }, - "contracts/interfaces/ITask.sol": { - "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ninterface ITask {\n enum TaskType { SIMPLE, COMPLEX, COMPOSITE }\n enum TaskStatus { CREATED, ASSIGNED, COMPLETED, FAILED }\n\n event TaskExecuted(uint256 indexed taskId, bool success);\n event TaskStatusChanged(uint256 indexed taskId, TaskStatus status);\n event TaskAssigned(uint256 indexed taskId, address assignee);\n \n function execute(bytes calldata data, address target, uint256 value) external returns (bool);\n function getStatus() external view returns (TaskStatus);\n function getAssignee() external view returns (address);\n}\n" - }, "contracts/lib/TransferHelper.sol": { "content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\n// helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false\nlibrary TransferHelper {\n function safeApprove(\n address token,\n address to,\n uint256 value\n ) internal {\n // bytes4(keccak256(bytes('approve(address,uint256)')));\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n 'TransferHelper::safeApprove: approve failed'\n );\n }\n\n function safeTransfer(\n address token,\n address to,\n uint256 value\n ) internal {\n // bytes4(keccak256(bytes('transfer(address,uint256)')));\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n 'TransferHelper::safeTransfer: transfer failed'\n );\n }\n\n function safeTransferFrom(\n address token,\n address from,\n address to,\n uint256 value\n ) internal {\n // bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n 'TransferHelper::transferFrom: transferFrom failed'\n );\n }\n\n function safeTransferETH(address to, uint256 value) internal {\n (bool success, ) = to.call{value: value}(new bytes(0));\n require(success, 'TransferHelper::safeTransferETH: ETH transfer failed');\n }\n}" }, @@ -143,39 +137,39 @@ { "component": "general", "errorCode": "5740", - "formattedMessage": "Warning: Unreachable code.\n --> @openzeppelin/contracts/token/ERC20/ERC20.sol:151:9:\n |\n151 | _transfer(from, to, value);\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n", + "formattedMessage": "Warning: Unreachable code.\n --> @openzeppelin/contracts/token/ERC20/ERC20.sol:145:9:\n |\n145 | _transfer(from, to, value);\n | ^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n", "message": "Unreachable code.", "severity": "warning", "sourceLocation": { - "end": 4973, + "end": 4896, "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "start": 4947 + "start": 4870 }, "type": "Warning" }, { "component": "general", "errorCode": "5740", - "formattedMessage": "Warning: Unreachable code.\n --> @openzeppelin/contracts/token/ERC20/ERC20.sol:152:9:\n |\n152 | return true;\n | ^^^^^^^^^^^\n\n", + "formattedMessage": "Warning: Unreachable code.\n --> @openzeppelin/contracts/token/ERC20/ERC20.sol:146:9:\n |\n146 | return true;\n | ^^^^^^^^^^^\n\n", "message": "Unreachable code.", "severity": "warning", "sourceLocation": { - "end": 4994, + "end": 4917, "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "start": 4983 + "start": 4906 }, "type": "Warning" }, { "component": "general", "errorCode": "5740", - "formattedMessage": "Warning: Unreachable code.\n --> @openzeppelin/contracts/token/ERC20/ERC20.sol:302:9:\n |\n302 | if (currentAllowance < type(uint256).max) {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n", + "formattedMessage": "Warning: Unreachable code.\n --> @openzeppelin/contracts/token/ERC20/ERC20.sol:296:9:\n |\n296 | if (currentAllowance < type(uint256).max) {\n | ^ (Relevant source part starts here and spans across multiple lines).\n\n", "message": "Unreachable code.", "severity": "warning", "sourceLocation": { - "end": 10866, + "end": 10789, "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "start": 10557 + "start": 10480 }, "type": "Warning" }, @@ -5589,10 +5583,10 @@ "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", "exportedSymbols": { "ERC1967Utils": [ - 1717 + 1718 ], "IERC1822Proxiable": [ - 1248 + 1249 ], "Initializable": [ 462 @@ -5623,7 +5617,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 645, - "sourceUnit": 1249, + "sourceUnit": 1250, "src": "141:88:2", "symbolAliases": [ { @@ -5632,7 +5626,7 @@ "name": "IERC1822Proxiable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, + "referencedDeclaration": 1249, "src": "149:17:2", "typeDescriptions": {} }, @@ -5648,7 +5642,7 @@ "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 645, - "sourceUnit": 1718, + "sourceUnit": 1719, "src": "230:84:2", "symbolAliases": [ { @@ -5657,7 +5651,7 @@ "name": "ERC1967Utils", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1717, + "referencedDeclaration": 1718, "src": "238:12:2", "typeDescriptions": {} }, @@ -5717,7 +5711,7 @@ "1038:17:2" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1248, + "referencedDeclaration": 1249, "src": "1038:17:2" }, "id": 475, @@ -5738,7 +5732,7 @@ "id": 644, "linearizedBaseContracts": [ 644, - 1248, + 1249, 462 ], "name": "UUPSUpgradeable", @@ -6192,7 +6186,7 @@ }, { "baseFunctions": [ - 1247 + 1248 ], "body": { "id": 533, @@ -6206,10 +6200,10 @@ "name": "ERC1967Utils", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1717, + "referencedDeclaration": 1718, "src": "3803:12:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1717_$", + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1718_$", "typeString": "type(library ERC1967Utils)" } }, @@ -6221,7 +6215,7 @@ "memberLocation": "3816:19:2", "memberName": "IMPLEMENTATION_SLOT", "nodeType": "MemberAccess", - "referencedDeclaration": 1438, + "referencedDeclaration": 1439, "src": "3803:32:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -6674,10 +6668,10 @@ "name": "ERC1967Utils", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1717, + "referencedDeclaration": 1718, "src": "4728:12:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1717_$", + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1718_$", "typeString": "type(library ERC1967Utils)" } }, @@ -6689,7 +6683,7 @@ "memberLocation": "4741:17:2", "memberName": "getImplementation", "nodeType": "MemberAccess", - "referencedDeclaration": 1469, + "referencedDeclaration": 1470, "src": "4728:30:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", @@ -7098,10 +7092,10 @@ "name": "ERC1967Utils", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1717, + "referencedDeclaration": 1718, "src": "6233:12:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1717_$", + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1718_$", "typeString": "type(library ERC1967Utils)" } }, @@ -7113,7 +7107,7 @@ "memberLocation": "6246:19:2", "memberName": "IMPLEMENTATION_SLOT", "nodeType": "MemberAccess", - "referencedDeclaration": 1438, + "referencedDeclaration": 1439, "src": "6233:32:2", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -7235,10 +7229,10 @@ "name": "ERC1967Utils", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1717, + "referencedDeclaration": 1718, "src": "6354:12:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1717_$", + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1718_$", "typeString": "type(library ERC1967Utils)" } }, @@ -7250,7 +7244,7 @@ "memberLocation": "6367:16:2", "memberName": "upgradeToAndCall", "nodeType": "MemberAccess", - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "6354:29:2", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$", @@ -7352,10 +7346,10 @@ "name": "ERC1967Utils", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1717, + "referencedDeclaration": 1718, "src": "6493:12:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1717_$", + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1718_$", "typeString": "type(library ERC1967Utils)" } }, @@ -7367,7 +7361,7 @@ "memberLocation": "6506:28:2", "memberName": "ERC1967InvalidImplementation", "nodeType": "MemberAccess", - "referencedDeclaration": 1443, + "referencedDeclaration": 1444, "src": "6493:41:2", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", @@ -7432,10 +7426,10 @@ "name": "IERC1822Proxiable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1248, + "referencedDeclaration": 1249, "src": "6131:17:2", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1822Proxiable_$1248_$", + "typeIdentifier": "t_type$_t_contract$_IERC1822Proxiable_$1249_$", "typeString": "type(contract IERC1822Proxiable)" } }, @@ -7451,7 +7445,7 @@ "src": "6131:36:2", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IERC1822Proxiable_$1248", + "typeIdentifier": "t_contract$_IERC1822Proxiable_$1249", "typeString": "contract IERC1822Proxiable" } }, @@ -7463,7 +7457,7 @@ "memberLocation": "6168:13:2", "memberName": "proxiableUUID", "nodeType": "MemberAccess", - "referencedDeclaration": 1247, + "referencedDeclaration": 1248, "src": "6131:50:2", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", @@ -7587,14 +7581,14 @@ 214, 489, 494, - 1443, - 1456, - 2622, - 2915 + 1444, + 1457, + 2623, + 2916 ], "usedEvents": [ 219, - 1225 + 1226 ] } ], @@ -8082,19 +8076,22 @@ "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", "exportedSymbols": { "AccessControl": [ - 986 + 987 ], "Context": [ - 2902 + 2903 ], "ERC165": [ - 3072 + 3073 ], "IAccessControl": [ - 1069 + 1070 + ], + "IERC165": [ + 3085 ] }, - "id": 987, + "id": 988, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ @@ -8115,8 +8112,8 @@ "id": 694, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 987, - "sourceUnit": 1070, + "scope": 988, + "sourceUnit": 1071, "src": "134:52:4", "symbolAliases": [ { @@ -8125,7 +8122,7 @@ "name": "IAccessControl", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, + "referencedDeclaration": 1070, "src": "142:14:4", "typeDescriptions": {} }, @@ -8140,8 +8137,8 @@ "id": 696, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 987, - "sourceUnit": 2903, + "scope": 988, + "sourceUnit": 2904, "src": "187:45:4", "symbolAliases": [ { @@ -8150,7 +8147,7 @@ "name": "Context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2902, + "referencedDeclaration": 2903, "src": "195:7:4", "typeDescriptions": {} }, @@ -8162,21 +8159,33 @@ { "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", "file": "../utils/introspection/ERC165.sol", - "id": 698, + "id": 699, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 987, - "sourceUnit": 3073, - "src": "233:57:4", + "scope": 988, + "sourceUnit": 3074, + "src": "233:66:4", "symbolAliases": [ { "foreign": { "id": 697, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3085, + "src": "241:7:4", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + }, + { + "foreign": { + "id": 698, "name": "ERC165", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3072, - "src": "241:6:4", + "referencedDeclaration": 3073, + "src": "250:6:4", "typeDescriptions": {} }, "nameLocation": "-1:-1:-1" @@ -8189,85 +8198,85 @@ "baseContracts": [ { "baseName": { - "id": 700, + "id": 701, "name": "Context", "nameLocations": [ - "1988:7:4" + "1997:7:4" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2902, - "src": "1988:7:4" + "referencedDeclaration": 2903, + "src": "1997:7:4" }, - "id": 701, + "id": 702, "nodeType": "InheritanceSpecifier", - "src": "1988:7:4" + "src": "1997:7:4" }, { "baseName": { - "id": 702, + "id": 703, "name": "IAccessControl", "nameLocations": [ - "1997:14:4" + "2006:14:4" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1069, - "src": "1997:14:4" + "referencedDeclaration": 1070, + "src": "2006:14:4" }, - "id": 703, + "id": 704, "nodeType": "InheritanceSpecifier", - "src": "1997:14:4" + "src": "2006:14:4" }, { "baseName": { - "id": 704, + "id": 705, "name": "ERC165", "nameLocations": [ - "2013:6:4" + "2022:6:4" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3072, - "src": "2013:6:4" + "referencedDeclaration": 3073, + "src": "2022:6:4" }, - "id": 705, + "id": 706, "nodeType": "InheritanceSpecifier", - "src": "2013:6:4" + "src": "2022:6:4" } ], "canonicalName": "AccessControl", "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 699, + "id": 700, "nodeType": "StructuredDocumentation", - "src": "292:1660:4", + "src": "301:1660:4", "text": " @dev Contract module that allows children to implement role-based access\n control mechanisms. This is a lightweight version that doesn't allow enumerating role\n members except through off-chain means by accessing the contract event logs. Some\n applications may benefit from on-chain enumerability, for those cases see\n {AccessControlEnumerable}.\n Roles are referred to by their `bytes32` identifier. These should be exposed\n in the external API and be unique. The best way to achieve this is by\n using `public constant` hash digests:\n ```solidity\n bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n ```\n Roles can be used to represent a set of permissions. To restrict access to a\n function call, use {hasRole}:\n ```solidity\n function foo() public {\n require(hasRole(MY_ROLE, msg.sender));\n ...\n }\n ```\n Roles can be granted and revoked dynamically via the {grantRole} and\n {revokeRole} functions. Each role has an associated admin role, and only\n accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n that only accounts with this role will be able to grant or revoke other\n roles. More complex role relationships can be created by using\n {_setRoleAdmin}.\n WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n grant and revoke this role. Extra precautions should be taken to secure\n accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules}\n to enforce additional security measures for this role." }, "fullyImplemented": true, - "id": 986, + "id": 987, "linearizedBaseContracts": [ - 986, - 3072, - 3084, - 1069, - 2902 + 987, + 3073, + 3085, + 1070, + 2903 ], "name": "AccessControl", - "nameLocation": "1971:13:4", + "nameLocation": "1980:13:4", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "AccessControl.RoleData", - "id": 712, + "id": 713, "members": [ { "constant": false, - "id": 709, + "id": 710, "mutability": "mutable", "name": "hasRole", - "nameLocation": "2085:7:4", + "nameLocation": "2094:7:4", "nodeType": "VariableDeclaration", - "scope": 712, - "src": "2052:40:4", + "scope": 713, + "src": "2061:40:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8275,21 +8284,21 @@ "typeString": "mapping(address => bool)" }, "typeName": { - "id": 708, + "id": 709, "keyName": "account", - "keyNameLocation": "2068:7:4", + "keyNameLocation": "2077:7:4", "keyType": { - "id": 706, + "id": 707, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2060:7:4", + "src": "2069:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", - "src": "2052:32:4", + "src": "2061:32:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" @@ -8297,10 +8306,10 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 707, + "id": 708, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2079:4:4", + "src": "2088:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8311,13 +8320,13 @@ }, { "constant": false, - "id": 711, + "id": 712, "mutability": "mutable", "name": "adminRole", - "nameLocation": "2110:9:4", + "nameLocation": "2119:9:4", "nodeType": "VariableDeclaration", - "scope": 712, - "src": "2102:17:4", + "scope": 713, + "src": "2111:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8325,10 +8334,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 710, + "id": 711, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2102:7:4", + "src": "2111:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8338,66 +8347,66 @@ } ], "name": "RoleData", - "nameLocation": "2033:8:4", + "nameLocation": "2042:8:4", "nodeType": "StructDefinition", - "scope": 986, - "src": "2026:100:4", + "scope": 987, + "src": "2035:100:4", "visibility": "public" }, { "constant": false, - "id": 717, + "id": 718, "mutability": "mutable", "name": "_roles", - "nameLocation": "2174:6:4", + "nameLocation": "2183:6:4", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "2132:48:4", + "scope": 987, + "src": "2141:48:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$712_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$713_storage_$", "typeString": "mapping(bytes32 => struct AccessControl.RoleData)" }, "typeName": { - "id": 716, + "id": 717, "keyName": "role", - "keyNameLocation": "2148:4:4", + "keyNameLocation": "2157:4:4", "keyType": { - "id": 713, + "id": 714, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2140:7:4", + "src": "2149:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", - "src": "2132:33:4", + "src": "2141:33:4", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$712_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$713_storage_$", "typeString": "mapping(bytes32 => struct AccessControl.RoleData)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 715, + "id": 716, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 714, + "id": 715, "name": "RoleData", "nameLocations": [ - "2156:8:4" + "2165:8:4" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 712, - "src": "2156:8:4" + "referencedDeclaration": 713, + "src": "2165:8:4" }, - "referencedDeclaration": 712, - "src": "2156:8:4", + "referencedDeclaration": 713, + "src": "2165:8:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$712_storage_ptr", + "typeIdentifier": "t_struct$_RoleData_$713_storage_ptr", "typeString": "struct AccessControl.RoleData" } } @@ -8407,13 +8416,13 @@ { "constant": true, "functionSelector": "a217fddf", - "id": 720, + "id": 721, "mutability": "constant", "name": "DEFAULT_ADMIN_ROLE", - "nameLocation": "2211:18:4", + "nameLocation": "2220:18:4", "nodeType": "VariableDeclaration", - "scope": 986, - "src": "2187:49:4", + "scope": 987, + "src": "2196:49:4", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -8421,10 +8430,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 718, + "id": 719, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2187:7:4", + "src": "2196:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8432,14 +8441,14 @@ }, "value": { "hexValue": "30783030", - "id": 719, + "id": 720, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "2232:4:4", + "src": "2241:4:4", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -8450,20 +8459,20 @@ }, { "body": { - "id": 730, + "id": 731, "nodeType": "Block", - "src": "2454:44:4", + "src": "2463:44:4", "statements": [ { "expression": { "arguments": [ { - "id": 726, + "id": 727, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 723, - "src": "2475:4:4", + "referencedDeclaration": 724, + "src": "2484:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8477,21 +8486,21 @@ "typeString": "bytes32" } ], - "id": 725, + "id": 726, "name": "_checkRole", "nodeType": "Identifier", "overloadedDeclarations": [ - 784, - 805 + 785, + 806 ], - "referencedDeclaration": 784, - "src": "2464:10:4", + "referencedDeclaration": 785, + "src": "2473:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$__$", "typeString": "function (bytes32) view" } }, - "id": 727, + "id": 728, "isConstant": false, "isLValue": false, "isPure": false, @@ -8500,47 +8509,47 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2464:16:4", + "src": "2473:16:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 728, + "id": 729, "nodeType": "ExpressionStatement", - "src": "2464:16:4" + "src": "2473:16:4" }, { - "id": 729, + "id": 730, "nodeType": "PlaceholderStatement", - "src": "2490:1:4" + "src": "2499:1:4" } ] }, "documentation": { - "id": 721, + "id": 722, "nodeType": "StructuredDocumentation", - "src": "2243:174:4", + "src": "2252:174:4", "text": " @dev Modifier that checks that an account has a specific role. Reverts\n with an {AccessControlUnauthorizedAccount} error including the required role." }, - "id": 731, + "id": 732, "name": "onlyRole", - "nameLocation": "2431:8:4", + "nameLocation": "2440:8:4", "nodeType": "ModifierDefinition", "parameters": { - "id": 724, + "id": 725, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 723, + "id": 724, "mutability": "mutable", "name": "role", - "nameLocation": "2448:4:4", + "nameLocation": "2457:4:4", "nodeType": "VariableDeclaration", - "scope": 731, - "src": "2440:12:4", + "scope": 732, + "src": "2449:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8548,10 +8557,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 722, + "id": 723, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2440:7:4", + "src": "2449:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8560,20 +8569,20 @@ "visibility": "internal" } ], - "src": "2439:14:4" + "src": "2448:14:4" }, - "src": "2422:76:4", + "src": "2431:76:4", "virtual": false, "visibility": "internal" }, { "baseFunctions": [ - 3071 + 3072 ], "body": { - "id": 752, + "id": 753, "nodeType": "Block", - "src": "2656:111:4", + "src": "2632:111:4", "statements": [ { "expression": { @@ -8581,7 +8590,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 750, + "id": 751, "isConstant": false, "isLValue": false, "isPure": false, @@ -8591,18 +8600,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 745, + "id": 746, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 740, + "id": 741, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 734, - "src": "2673:11:4", + "referencedDeclaration": 735, + "src": "2649:11:4", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -8614,14 +8623,14 @@ "expression": { "arguments": [ { - "id": 742, + "id": 743, "name": "IAccessControl", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1069, - "src": "2693:14:4", + "referencedDeclaration": 1070, + "src": "2669:14:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAccessControl_$1069_$", + "typeIdentifier": "t_type$_t_contract$_IAccessControl_$1070_$", "typeString": "type(contract IAccessControl)" } } @@ -8629,22 +8638,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_contract$_IAccessControl_$1069_$", + "typeIdentifier": "t_type$_t_contract$_IAccessControl_$1070_$", "typeString": "type(contract IAccessControl)" } ], - "id": 741, + "id": 742, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "2688:4:4", + "src": "2664:4:4", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 743, + "id": 744, "isConstant": false, "isLValue": false, "isPure": true, @@ -8653,28 +8662,28 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2688:20:4", + "src": "2664:20:4", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IAccessControl_$1069", + "typeIdentifier": "t_magic_meta_type_t_contract$_IAccessControl_$1070", "typeString": "type(contract IAccessControl)" } }, - "id": 744, + "id": 745, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "2709:11:4", + "memberLocation": "2685:11:4", "memberName": "interfaceId", "nodeType": "MemberAccess", - "src": "2688:32:4", + "src": "2664:32:4", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "2673:47:4", + "src": "2649:47:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8685,12 +8694,12 @@ "rightExpression": { "arguments": [ { - "id": 748, + "id": 749, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 734, - "src": "2748:11:4", + "referencedDeclaration": 735, + "src": "2724:11:4", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -8705,33 +8714,33 @@ } ], "expression": { - "id": 746, + "id": 747, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, - "src": "2724:5:4", + "src": "2700:5:4", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_AccessControl_$986_$", + "typeIdentifier": "t_type$_t_super$_AccessControl_$987_$", "typeString": "type(contract super AccessControl)" } }, - "id": 747, + "id": 748, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "2730:17:4", + "memberLocation": "2706:17:4", "memberName": "supportsInterface", "nodeType": "MemberAccess", - "referencedDeclaration": 3071, - "src": "2724:23:4", + "referencedDeclaration": 3072, + "src": "2700:23:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", "typeString": "function (bytes4) view returns (bool)" } }, - "id": 749, + "id": 750, "isConstant": false, "isLValue": false, "isPure": false, @@ -8740,59 +8749,59 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "2724:36:4", + "src": "2700:36:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "2673:87:4", + "src": "2649:87:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 739, - "id": 751, + "functionReturnParameters": 740, + "id": 752, "nodeType": "Return", - "src": "2666:94:4" + "src": "2642:94:4" } ] }, "documentation": { - "id": 732, + "id": 733, "nodeType": "StructuredDocumentation", - "src": "2504:56:4", - "text": " @dev See {IERC165-supportsInterface}." + "src": "2513:23:4", + "text": "@inheritdoc IERC165" }, "functionSelector": "01ffc9a7", - "id": 753, + "id": 754, "implemented": true, "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "2574:17:4", + "nameLocation": "2550:17:4", "nodeType": "FunctionDefinition", "overrides": { - "id": 736, + "id": 737, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "2632:8:4" + "src": "2608:8:4" }, "parameters": { - "id": 735, + "id": 736, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 734, + "id": 735, "mutability": "mutable", "name": "interfaceId", - "nameLocation": "2599:11:4", + "nameLocation": "2575:11:4", "nodeType": "VariableDeclaration", - "scope": 753, - "src": "2592:18:4", + "scope": 754, + "src": "2568:18:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8800,10 +8809,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 733, + "id": 734, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "2592:6:4", + "src": "2568:6:4", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -8812,21 +8821,21 @@ "visibility": "internal" } ], - "src": "2591:20:4" + "src": "2567:20:4" }, "returnParameters": { - "id": 739, + "id": 740, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 738, + "id": 739, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 753, - "src": "2650:4:4", + "scope": 754, + "src": "2626:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8834,10 +8843,10 @@ "typeString": "bool" }, "typeName": { - "id": 737, + "id": 738, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2650:4:4", + "src": "2626:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -8846,47 +8855,47 @@ "visibility": "internal" } ], - "src": "2649:6:4" + "src": "2625:6:4" }, - "scope": 986, - "src": "2565:202:4", + "scope": 987, + "src": "2541:202:4", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 1036 + 1037 ], "body": { - "id": 770, + "id": 771, "nodeType": "Block", - "src": "2937:53:4", + "src": "2913:53:4", "statements": [ { "expression": { "baseExpression": { "expression": { "baseExpression": { - "id": 763, + "id": 764, "name": "_roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "2954:6:4", + "referencedDeclaration": 718, + "src": "2930:6:4", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$712_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$713_storage_$", "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" } }, - "id": 765, + "id": 766, "indexExpression": { - "id": 764, + "id": 765, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 756, - "src": "2961:4:4", + "referencedDeclaration": 757, + "src": "2937:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8897,35 +8906,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2954:12:4", + "src": "2930:12:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$712_storage", + "typeIdentifier": "t_struct$_RoleData_$713_storage", "typeString": "struct AccessControl.RoleData storage ref" } }, - "id": 766, + "id": 767, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "2967:7:4", + "memberLocation": "2943:7:4", "memberName": "hasRole", "nodeType": "MemberAccess", - "referencedDeclaration": 709, - "src": "2954:20:4", + "referencedDeclaration": 710, + "src": "2930:20:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 768, + "id": 769, "indexExpression": { - "id": 767, + "id": 768, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 758, - "src": "2975:7:4", + "referencedDeclaration": 759, + "src": "2951:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -8936,46 +8945,46 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "2954:29:4", + "src": "2930:29:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 762, - "id": 769, + "functionReturnParameters": 763, + "id": 770, "nodeType": "Return", - "src": "2947:36:4" + "src": "2923:36:4" } ] }, "documentation": { - "id": 754, + "id": 755, "nodeType": "StructuredDocumentation", - "src": "2773:76:4", + "src": "2749:76:4", "text": " @dev Returns `true` if `account` has been granted `role`." }, "functionSelector": "91d14854", - "id": 771, + "id": 772, "implemented": true, "kind": "function", "modifiers": [], "name": "hasRole", - "nameLocation": "2863:7:4", + "nameLocation": "2839:7:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 759, + "id": 760, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 756, + "id": 757, "mutability": "mutable", "name": "role", - "nameLocation": "2879:4:4", + "nameLocation": "2855:4:4", "nodeType": "VariableDeclaration", - "scope": 771, - "src": "2871:12:4", + "scope": 772, + "src": "2847:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -8983,10 +8992,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 755, + "id": 756, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "2871:7:4", + "src": "2847:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -8996,13 +9005,13 @@ }, { "constant": false, - "id": 758, + "id": 759, "mutability": "mutable", "name": "account", - "nameLocation": "2893:7:4", + "nameLocation": "2869:7:4", "nodeType": "VariableDeclaration", - "scope": 771, - "src": "2885:15:4", + "scope": 772, + "src": "2861:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9010,10 +9019,10 @@ "typeString": "address" }, "typeName": { - "id": 757, + "id": 758, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2885:7:4", + "src": "2861:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9023,21 +9032,21 @@ "visibility": "internal" } ], - "src": "2870:31:4" + "src": "2846:31:4" }, "returnParameters": { - "id": 762, + "id": 763, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 761, + "id": 762, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 771, - "src": "2931:4:4", + "scope": 772, + "src": "2907:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9045,10 +9054,10 @@ "typeString": "bool" }, "typeName": { - "id": 760, + "id": 761, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2931:4:4", + "src": "2907:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -9057,30 +9066,30 @@ "visibility": "internal" } ], - "src": "2930:6:4" + "src": "2906:6:4" }, - "scope": 986, - "src": "2854:136:4", + "scope": 987, + "src": "2830:136:4", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "body": { - "id": 783, + "id": 784, "nodeType": "Block", - "src": "3255:47:4", + "src": "3231:47:4", "statements": [ { "expression": { "arguments": [ { - "id": 778, + "id": 779, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 774, - "src": "3276:4:4", + "referencedDeclaration": 775, + "src": "3252:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9090,18 +9099,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 779, + "id": 780, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, - "src": "3282:10:4", + "referencedDeclaration": 2885, + "src": "3258:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 780, + "id": 781, "isConstant": false, "isLValue": false, "isPure": false, @@ -9110,7 +9119,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3282:12:4", + "src": "3258:12:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -9129,21 +9138,21 @@ "typeString": "address" } ], - "id": 777, + "id": 778, "name": "_checkRole", "nodeType": "Identifier", "overloadedDeclarations": [ - 784, - 805 + 785, + 806 ], - "referencedDeclaration": 805, - "src": "3265:10:4", + "referencedDeclaration": 806, + "src": "3241:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$__$", "typeString": "function (bytes32,address) view" } }, - "id": 781, + "id": 782, "isConstant": false, "isLValue": false, "isPure": false, @@ -9152,45 +9161,45 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3265:30:4", + "src": "3241:30:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 782, + "id": 783, "nodeType": "ExpressionStatement", - "src": "3265:30:4" + "src": "3241:30:4" } ] }, "documentation": { - "id": 772, + "id": 773, "nodeType": "StructuredDocumentation", - "src": "2996:198:4", + "src": "2972:198:4", "text": " @dev Reverts with an {AccessControlUnauthorizedAccount} error if `_msgSender()`\n is missing `role`. Overriding this function changes the behavior of the {onlyRole} modifier." }, - "id": 784, + "id": 785, "implemented": true, "kind": "function", "modifiers": [], "name": "_checkRole", - "nameLocation": "3208:10:4", + "nameLocation": "3184:10:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 775, + "id": 776, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 774, + "id": 775, "mutability": "mutable", "name": "role", - "nameLocation": "3227:4:4", + "nameLocation": "3203:4:4", "nodeType": "VariableDeclaration", - "scope": 784, - "src": "3219:12:4", + "scope": 785, + "src": "3195:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9198,10 +9207,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 773, + "id": 774, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3219:7:4", + "src": "3195:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9210,29 +9219,29 @@ "visibility": "internal" } ], - "src": "3218:14:4" + "src": "3194:14:4" }, "returnParameters": { - "id": 776, + "id": 777, "nodeType": "ParameterList", "parameters": [], - "src": "3255:0:4" + "src": "3231:0:4" }, - "scope": 986, - "src": "3199:103:4", + "scope": 987, + "src": "3175:103:4", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "body": { - "id": 804, + "id": 805, "nodeType": "Block", - "src": "3505:124:4", + "src": "3481:124:4", "statements": [ { "condition": { - "id": 796, + "id": 797, "isConstant": false, "isLValue": false, "isPure": false, @@ -9240,28 +9249,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "3519:23:4", + "src": "3495:23:4", "subExpression": { "arguments": [ { - "id": 793, + "id": 794, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 787, - "src": "3528:4:4", + "referencedDeclaration": 788, + "src": "3504:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 794, + "id": 795, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "3534:7:4", + "referencedDeclaration": 790, + "src": "3510:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9279,18 +9288,18 @@ "typeString": "address" } ], - "id": 792, + "id": 793, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 771, - "src": "3520:7:4", + "referencedDeclaration": 772, + "src": "3496:7:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" } }, - "id": 795, + "id": 796, "isConstant": false, "isLValue": false, "isPure": false, @@ -9299,7 +9308,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3520:22:4", + "src": "3496:22:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -9311,36 +9320,36 @@ "typeString": "bool" } }, - "id": 803, + "id": 804, "nodeType": "IfStatement", - "src": "3515:108:4", + "src": "3491:108:4", "trueBody": { - "id": 802, + "id": 803, "nodeType": "Block", - "src": "3544:79:4", + "src": "3520:79:4", "statements": [ { "errorCall": { "arguments": [ { - "id": 798, + "id": 799, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 789, - "src": "3598:7:4", + "referencedDeclaration": 790, + "src": "3574:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 799, + "id": 800, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 787, - "src": "3607:4:4", + "referencedDeclaration": 788, + "src": "3583:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9358,18 +9367,18 @@ "typeString": "bytes32" } ], - "id": 797, + "id": 798, "name": "AccessControlUnauthorizedAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 996, - "src": "3565:32:4", + "referencedDeclaration": 997, + "src": "3541:32:4", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_bytes32_$returns$__$", "typeString": "function (address,bytes32) pure" } }, - "id": 800, + "id": 801, "isConstant": false, "isLValue": false, "isPure": false, @@ -9378,16 +9387,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3565:47:4", + "src": "3541:47:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 801, + "id": 802, "nodeType": "RevertStatement", - "src": "3558:54:4" + "src": "3534:54:4" } ] } @@ -9395,31 +9404,31 @@ ] }, "documentation": { - "id": 785, + "id": 786, "nodeType": "StructuredDocumentation", - "src": "3308:119:4", + "src": "3284:119:4", "text": " @dev Reverts with an {AccessControlUnauthorizedAccount} error if `account`\n is missing `role`." }, - "id": 805, + "id": 806, "implemented": true, "kind": "function", "modifiers": [], "name": "_checkRole", - "nameLocation": "3441:10:4", + "nameLocation": "3417:10:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 790, + "id": 791, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 787, + "id": 788, "mutability": "mutable", "name": "role", - "nameLocation": "3460:4:4", + "nameLocation": "3436:4:4", "nodeType": "VariableDeclaration", - "scope": 805, - "src": "3452:12:4", + "scope": 806, + "src": "3428:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9427,10 +9436,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 786, + "id": 787, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3452:7:4", + "src": "3428:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9440,13 +9449,13 @@ }, { "constant": false, - "id": 789, + "id": 790, "mutability": "mutable", "name": "account", - "nameLocation": "3474:7:4", + "nameLocation": "3450:7:4", "nodeType": "VariableDeclaration", - "scope": 805, - "src": "3466:15:4", + "scope": 806, + "src": "3442:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9454,10 +9463,10 @@ "typeString": "address" }, "typeName": { - "id": 788, + "id": 789, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3466:7:4", + "src": "3442:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9467,52 +9476,52 @@ "visibility": "internal" } ], - "src": "3451:31:4" + "src": "3427:31:4" }, "returnParameters": { - "id": 791, + "id": 792, "nodeType": "ParameterList", "parameters": [], - "src": "3505:0:4" + "src": "3481:0:4" }, - "scope": 986, - "src": "3432:197:4", + "scope": 987, + "src": "3408:197:4", "stateMutability": "view", "virtual": true, "visibility": "internal" }, { "baseFunctions": [ - 1044 + 1045 ], "body": { - "id": 818, + "id": 819, "nodeType": "Block", - "src": "3884:46:4", + "src": "3860:46:4", "statements": [ { "expression": { "expression": { "baseExpression": { - "id": 813, + "id": 814, "name": "_roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "3901:6:4", + "referencedDeclaration": 718, + "src": "3877:6:4", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$712_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$713_storage_$", "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" } }, - "id": 815, + "id": 816, "indexExpression": { - "id": 814, + "id": 815, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 808, - "src": "3908:4:4", + "referencedDeclaration": 809, + "src": "3884:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9523,61 +9532,61 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3901:12:4", + "src": "3877:12:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$712_storage", + "typeIdentifier": "t_struct$_RoleData_$713_storage", "typeString": "struct AccessControl.RoleData storage ref" } }, - "id": 816, + "id": 817, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "3914:9:4", + "memberLocation": "3890:9:4", "memberName": "adminRole", "nodeType": "MemberAccess", - "referencedDeclaration": 711, - "src": "3901:22:4", + "referencedDeclaration": 712, + "src": "3877:22:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "functionReturnParameters": 812, - "id": 817, + "functionReturnParameters": 813, + "id": 818, "nodeType": "Return", - "src": "3894:29:4" + "src": "3870:29:4" } ] }, "documentation": { - "id": 806, + "id": 807, "nodeType": "StructuredDocumentation", - "src": "3635:170:4", + "src": "3611:170:4", "text": " @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {_setRoleAdmin}." }, "functionSelector": "248a9ca3", - "id": 819, + "id": 820, "implemented": true, "kind": "function", "modifiers": [], "name": "getRoleAdmin", - "nameLocation": "3819:12:4", + "nameLocation": "3795:12:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 809, + "id": 810, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 808, + "id": 809, "mutability": "mutable", "name": "role", - "nameLocation": "3840:4:4", + "nameLocation": "3816:4:4", "nodeType": "VariableDeclaration", - "scope": 819, - "src": "3832:12:4", + "scope": 820, + "src": "3808:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9585,10 +9594,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 807, + "id": 808, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3832:7:4", + "src": "3808:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9597,21 +9606,21 @@ "visibility": "internal" } ], - "src": "3831:14:4" + "src": "3807:14:4" }, "returnParameters": { - "id": 812, + "id": 813, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 811, + "id": 812, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 819, - "src": "3875:7:4", + "scope": 820, + "src": "3851:7:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9619,10 +9628,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 810, + "id": 811, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "3875:7:4", + "src": "3851:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9631,45 +9640,45 @@ "visibility": "internal" } ], - "src": "3874:9:4" + "src": "3850:9:4" }, - "scope": 986, - "src": "3810:120:4", + "scope": 987, + "src": "3786:120:4", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 1052 + 1053 ], "body": { - "id": 837, + "id": 838, "nodeType": "Block", - "src": "4320:42:4", + "src": "4296:42:4", "statements": [ { "expression": { "arguments": [ { - "id": 833, + "id": 834, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "4341:4:4", + "referencedDeclaration": 823, + "src": "4317:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 834, + "id": 835, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 824, - "src": "4347:7:4", + "referencedDeclaration": 825, + "src": "4323:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9687,18 +9696,18 @@ "typeString": "address" } ], - "id": 832, + "id": 833, "name": "_grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 947, - "src": "4330:10:4", + "referencedDeclaration": 948, + "src": "4306:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) returns (bool)" } }, - "id": 835, + "id": 836, "isConstant": false, "isLValue": false, "isPure": false, @@ -9707,27 +9716,27 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4330:25:4", + "src": "4306:25:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 836, + "id": 837, "nodeType": "ExpressionStatement", - "src": "4330:25:4" + "src": "4306:25:4" } ] }, "documentation": { - "id": 820, + "id": 821, "nodeType": "StructuredDocumentation", - "src": "3936:285:4", + "src": "3912:285:4", "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role.\n May emit a {RoleGranted} event." }, "functionSelector": "2f2ff15d", - "id": 838, + "id": 839, "implemented": true, "kind": "function", "modifiers": [ @@ -9736,12 +9745,12 @@ { "arguments": [ { - "id": 828, + "id": 829, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 822, - "src": "4313:4:4", + "referencedDeclaration": 823, + "src": "4289:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9755,18 +9764,18 @@ "typeString": "bytes32" } ], - "id": 827, + "id": 828, "name": "getRoleAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 819, - "src": "4300:12:4", + "referencedDeclaration": 820, + "src": "4276:12:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 829, + "id": 830, "isConstant": false, "isLValue": false, "isPure": false, @@ -9775,7 +9784,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4300:18:4", + "src": "4276:18:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -9783,38 +9792,38 @@ } } ], - "id": 830, + "id": 831, "kind": "modifierInvocation", "modifierName": { - "id": 826, + "id": 827, "name": "onlyRole", "nameLocations": [ - "4291:8:4" + "4267:8:4" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 731, - "src": "4291:8:4" + "referencedDeclaration": 732, + "src": "4267:8:4" }, "nodeType": "ModifierInvocation", - "src": "4291:28:4" + "src": "4267:28:4" } ], "name": "grantRole", - "nameLocation": "4235:9:4", + "nameLocation": "4211:9:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 825, + "id": 826, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 822, + "id": 823, "mutability": "mutable", "name": "role", - "nameLocation": "4253:4:4", + "nameLocation": "4229:4:4", "nodeType": "VariableDeclaration", - "scope": 838, - "src": "4245:12:4", + "scope": 839, + "src": "4221:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9822,10 +9831,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 821, + "id": 822, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4245:7:4", + "src": "4221:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9835,13 +9844,13 @@ }, { "constant": false, - "id": 824, + "id": 825, "mutability": "mutable", "name": "account", - "nameLocation": "4267:7:4", + "nameLocation": "4243:7:4", "nodeType": "VariableDeclaration", - "scope": 838, - "src": "4259:15:4", + "scope": 839, + "src": "4235:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -9849,10 +9858,10 @@ "typeString": "address" }, "typeName": { - "id": 823, + "id": 824, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4259:7:4", + "src": "4235:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -9862,51 +9871,51 @@ "visibility": "internal" } ], - "src": "4244:31:4" + "src": "4220:31:4" }, "returnParameters": { - "id": 831, + "id": 832, "nodeType": "ParameterList", "parameters": [], - "src": "4320:0:4" + "src": "4296:0:4" }, - "scope": 986, - "src": "4226:136:4", + "scope": 987, + "src": "4202:136:4", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 1060 + 1061 ], "body": { - "id": 856, + "id": 857, "nodeType": "Block", - "src": "4737:43:4", + "src": "4713:43:4", "statements": [ { "expression": { "arguments": [ { - "id": 852, + "id": 853, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "4759:4:4", + "referencedDeclaration": 842, + "src": "4735:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 853, + "id": 854, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 843, - "src": "4765:7:4", + "referencedDeclaration": 844, + "src": "4741:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -9924,18 +9933,18 @@ "typeString": "address" } ], - "id": 851, + "id": 852, "name": "_revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 985, - "src": "4747:11:4", + "referencedDeclaration": 986, + "src": "4723:11:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) returns (bool)" } }, - "id": 854, + "id": 855, "isConstant": false, "isLValue": false, "isPure": false, @@ -9944,27 +9953,27 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4747:26:4", + "src": "4723:26:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 855, + "id": 856, "nodeType": "ExpressionStatement", - "src": "4747:26:4" + "src": "4723:26:4" } ] }, "documentation": { - "id": 839, + "id": 840, "nodeType": "StructuredDocumentation", - "src": "4368:269:4", + "src": "4344:269:4", "text": " @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role.\n May emit a {RoleRevoked} event." }, "functionSelector": "d547741f", - "id": 857, + "id": 858, "implemented": true, "kind": "function", "modifiers": [ @@ -9973,12 +9982,12 @@ { "arguments": [ { - "id": 847, + "id": 848, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 841, - "src": "4730:4:4", + "referencedDeclaration": 842, + "src": "4706:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -9992,18 +10001,18 @@ "typeString": "bytes32" } ], - "id": 846, + "id": 847, "name": "getRoleAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 819, - "src": "4717:12:4", + "referencedDeclaration": 820, + "src": "4693:12:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 848, + "id": 849, "isConstant": false, "isLValue": false, "isPure": false, @@ -10012,7 +10021,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4717:18:4", + "src": "4693:18:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -10020,38 +10029,38 @@ } } ], - "id": 849, + "id": 850, "kind": "modifierInvocation", "modifierName": { - "id": 845, + "id": 846, "name": "onlyRole", "nameLocations": [ - "4708:8:4" + "4684:8:4" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 731, - "src": "4708:8:4" + "referencedDeclaration": 732, + "src": "4684:8:4" }, "nodeType": "ModifierInvocation", - "src": "4708:28:4" + "src": "4684:28:4" } ], "name": "revokeRole", - "nameLocation": "4651:10:4", + "nameLocation": "4627:10:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 844, + "id": 845, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 841, + "id": 842, "mutability": "mutable", "name": "role", - "nameLocation": "4670:4:4", + "nameLocation": "4646:4:4", "nodeType": "VariableDeclaration", - "scope": 857, - "src": "4662:12:4", + "scope": 858, + "src": "4638:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10059,10 +10068,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 840, + "id": 841, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "4662:7:4", + "src": "4638:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10072,13 +10081,13 @@ }, { "constant": false, - "id": 843, + "id": 844, "mutability": "mutable", "name": "account", - "nameLocation": "4684:7:4", + "nameLocation": "4660:7:4", "nodeType": "VariableDeclaration", - "scope": 857, - "src": "4676:15:4", + "scope": 858, + "src": "4652:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10086,10 +10095,10 @@ "typeString": "address" }, "typeName": { - "id": 842, + "id": 843, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4676:7:4", + "src": "4652:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10099,28 +10108,28 @@ "visibility": "internal" } ], - "src": "4661:31:4" + "src": "4637:31:4" }, "returnParameters": { - "id": 850, + "id": 851, "nodeType": "ParameterList", "parameters": [], - "src": "4737:0:4" + "src": "4713:0:4" }, - "scope": 986, - "src": "4642:138:4", + "scope": 987, + "src": "4618:138:4", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 1068 + 1069 ], "body": { - "id": 879, + "id": 880, "nodeType": "Block", - "src": "5407:166:4", + "src": "5383:166:4", "statements": [ { "condition": { @@ -10128,18 +10137,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 868, + "id": 869, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 865, + "id": 866, "name": "callerConfirmation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 862, - "src": "5421:18:4", + "referencedDeclaration": 863, + "src": "5397:18:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10151,18 +10160,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 866, + "id": 867, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, - "src": "5443:10:4", + "referencedDeclaration": 2885, + "src": "5419:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 867, + "id": 868, "isConstant": false, "isLValue": false, "isPure": false, @@ -10171,44 +10180,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5443:12:4", + "src": "5419:12:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5421:34:4", + "src": "5397:34:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 873, + "id": 874, "nodeType": "IfStatement", - "src": "5417:102:4", + "src": "5393:102:4", "trueBody": { - "id": 872, + "id": 873, "nodeType": "Block", - "src": "5457:62:4", + "src": "5433:62:4", "statements": [ { "errorCall": { "arguments": [], "expression": { "argumentTypes": [], - "id": 869, + "id": 870, "name": "AccessControlBadConfirmation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 999, - "src": "5478:28:4", + "referencedDeclaration": 1000, + "src": "5454:28:4", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 870, + "id": 871, "isConstant": false, "isLValue": false, "isPure": false, @@ -10217,16 +10226,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5478:30:4", + "src": "5454:30:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 871, + "id": 872, "nodeType": "RevertStatement", - "src": "5471:37:4" + "src": "5447:37:4" } ] } @@ -10235,24 +10244,24 @@ "expression": { "arguments": [ { - "id": 875, + "id": 876, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 860, - "src": "5541:4:4", + "referencedDeclaration": 861, + "src": "5517:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 876, + "id": 877, "name": "callerConfirmation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 862, - "src": "5547:18:4", + "referencedDeclaration": 863, + "src": "5523:18:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10270,18 +10279,18 @@ "typeString": "address" } ], - "id": 874, + "id": 875, "name": "_revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 985, - "src": "5529:11:4", + "referencedDeclaration": 986, + "src": "5505:11:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) returns (bool)" } }, - "id": 877, + "id": 878, "isConstant": false, "isLValue": false, "isPure": false, @@ -10290,46 +10299,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5529:37:4", + "src": "5505:37:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 878, + "id": 879, "nodeType": "ExpressionStatement", - "src": "5529:37:4" + "src": "5505:37:4" } ] }, "documentation": { - "id": 858, + "id": 859, "nodeType": "StructuredDocumentation", - "src": "4786:537:4", + "src": "4762:537:4", "text": " @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been revoked `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `callerConfirmation`.\n May emit a {RoleRevoked} event." }, "functionSelector": "36568abe", - "id": 880, + "id": 881, "implemented": true, "kind": "function", "modifiers": [], "name": "renounceRole", - "nameLocation": "5337:12:4", + "nameLocation": "5313:12:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 863, + "id": 864, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 860, + "id": 861, "mutability": "mutable", "name": "role", - "nameLocation": "5358:4:4", + "nameLocation": "5334:4:4", "nodeType": "VariableDeclaration", - "scope": 880, - "src": "5350:12:4", + "scope": 881, + "src": "5326:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10337,10 +10346,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 859, + "id": 860, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5350:7:4", + "src": "5326:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10350,13 +10359,13 @@ }, { "constant": false, - "id": 862, + "id": 863, "mutability": "mutable", "name": "callerConfirmation", - "nameLocation": "5372:18:4", + "nameLocation": "5348:18:4", "nodeType": "VariableDeclaration", - "scope": 880, - "src": "5364:26:4", + "scope": 881, + "src": "5340:26:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10364,10 +10373,10 @@ "typeString": "address" }, "typeName": { - "id": 861, + "id": 862, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5364:7:4", + "src": "5340:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -10377,40 +10386,40 @@ "visibility": "internal" } ], - "src": "5349:42:4" + "src": "5325:42:4" }, "returnParameters": { - "id": 864, + "id": 865, "nodeType": "ParameterList", "parameters": [], - "src": "5407:0:4" + "src": "5383:0:4" }, - "scope": 986, - "src": "5328:245:4", + "scope": 987, + "src": "5304:245:4", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 907, + "id": 908, "nodeType": "Block", - "src": "5771:174:4", + "src": "5747:174:4", "statements": [ { "assignments": [ - 889 + 890 ], "declarations": [ { "constant": false, - "id": 889, + "id": 890, "mutability": "mutable", "name": "previousAdminRole", - "nameLocation": "5789:17:4", + "nameLocation": "5765:17:4", "nodeType": "VariableDeclaration", - "scope": 907, - "src": "5781:25:4", + "scope": 908, + "src": "5757:25:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10418,10 +10427,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 888, + "id": 889, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5781:7:4", + "src": "5757:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10430,16 +10439,16 @@ "visibility": "internal" } ], - "id": 893, + "id": 894, "initialValue": { "arguments": [ { - "id": 891, + "id": 892, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 883, - "src": "5822:4:4", + "referencedDeclaration": 884, + "src": "5798:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10453,18 +10462,18 @@ "typeString": "bytes32" } ], - "id": 890, + "id": 891, "name": "getRoleAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 819, - "src": "5809:12:4", + "referencedDeclaration": 820, + "src": "5785:12:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", "typeString": "function (bytes32) view returns (bytes32)" } }, - "id": 892, + "id": 893, "isConstant": false, "isLValue": false, "isPure": false, @@ -10473,7 +10482,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5809:18:4", + "src": "5785:18:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -10481,11 +10490,11 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "5781:46:4" + "src": "5757:46:4" }, { "expression": { - "id": 899, + "id": 900, "isConstant": false, "isLValue": false, "isPure": false, @@ -10493,25 +10502,25 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 894, + "id": 895, "name": "_roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "5837:6:4", + "referencedDeclaration": 718, + "src": "5813:6:4", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$712_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$713_storage_$", "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" } }, - "id": 896, + "id": 897, "indexExpression": { - "id": 895, + "id": 896, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 883, - "src": "5844:4:4", + "referencedDeclaration": 884, + "src": "5820:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10522,22 +10531,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5837:12:4", + "src": "5813:12:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$712_storage", + "typeIdentifier": "t_struct$_RoleData_$713_storage", "typeString": "struct AccessControl.RoleData storage ref" } }, - "id": 897, + "id": 898, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "5850:9:4", + "memberLocation": "5826:9:4", "memberName": "adminRole", "nodeType": "MemberAccess", - "referencedDeclaration": 711, - "src": "5837:22:4", + "referencedDeclaration": 712, + "src": "5813:22:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10546,61 +10555,61 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 898, + "id": 899, "name": "adminRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 885, - "src": "5862:9:4", + "referencedDeclaration": 886, + "src": "5838:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "src": "5837:34:4", + "src": "5813:34:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, - "id": 900, + "id": 901, "nodeType": "ExpressionStatement", - "src": "5837:34:4" + "src": "5813:34:4" }, { "eventCall": { "arguments": [ { - "id": 902, + "id": 903, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 883, - "src": "5903:4:4", + "referencedDeclaration": 884, + "src": "5879:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 903, + "id": 904, "name": "previousAdminRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 889, - "src": "5909:17:4", + "referencedDeclaration": 890, + "src": "5885:17:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 904, + "id": 905, "name": "adminRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 885, - "src": "5928:9:4", + "referencedDeclaration": 886, + "src": "5904:9:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10622,18 +10631,18 @@ "typeString": "bytes32" } ], - "id": 901, + "id": 902, "name": "RoleAdminChanged", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1008, - "src": "5886:16:4", + "referencedDeclaration": 1009, + "src": "5862:16:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes32,bytes32,bytes32)" } }, - "id": 905, + "id": 906, "isConstant": false, "isLValue": false, "isPure": false, @@ -10642,45 +10651,45 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5886:52:4", + "src": "5862:52:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 906, + "id": 907, "nodeType": "EmitStatement", - "src": "5881:57:4" + "src": "5857:57:4" } ] }, "documentation": { - "id": 881, + "id": 882, "nodeType": "StructuredDocumentation", - "src": "5579:114:4", + "src": "5555:114:4", "text": " @dev Sets `adminRole` as ``role``'s admin role.\n Emits a {RoleAdminChanged} event." }, - "id": 908, + "id": 909, "implemented": true, "kind": "function", "modifiers": [], "name": "_setRoleAdmin", - "nameLocation": "5707:13:4", + "nameLocation": "5683:13:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 886, + "id": 887, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 883, + "id": 884, "mutability": "mutable", "name": "role", - "nameLocation": "5729:4:4", + "nameLocation": "5705:4:4", "nodeType": "VariableDeclaration", - "scope": 908, - "src": "5721:12:4", + "scope": 909, + "src": "5697:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10688,10 +10697,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 882, + "id": 883, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5721:7:4", + "src": "5697:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10701,13 +10710,13 @@ }, { "constant": false, - "id": 885, + "id": 886, "mutability": "mutable", "name": "adminRole", - "nameLocation": "5743:9:4", + "nameLocation": "5719:9:4", "nodeType": "VariableDeclaration", - "scope": 908, - "src": "5735:17:4", + "scope": 909, + "src": "5711:17:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -10715,10 +10724,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 884, + "id": 885, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "5735:7:4", + "src": "5711:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10727,29 +10736,29 @@ "visibility": "internal" } ], - "src": "5720:33:4" + "src": "5696:33:4" }, "returnParameters": { - "id": 887, + "id": 888, "nodeType": "ParameterList", "parameters": [], - "src": "5771:0:4" + "src": "5747:0:4" }, - "scope": 986, - "src": "5698:247:4", + "scope": 987, + "src": "5674:247:4", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 946, + "id": 947, "nodeType": "Block", - "src": "6262:233:4", + "src": "6238:233:4", "statements": [ { "condition": { - "id": 922, + "id": 923, "isConstant": false, "isLValue": false, "isPure": false, @@ -10757,28 +10766,28 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "6276:23:4", + "src": "6252:23:4", "subExpression": { "arguments": [ { - "id": 919, + "id": 920, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 911, - "src": "6285:4:4", + "referencedDeclaration": 912, + "src": "6261:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 920, + "id": 921, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "6291:7:4", + "referencedDeclaration": 914, + "src": "6267:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10796,18 +10805,18 @@ "typeString": "address" } ], - "id": 918, + "id": 919, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 771, - "src": "6277:7:4", + "referencedDeclaration": 772, + "src": "6253:7:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" } }, - "id": 921, + "id": 922, "isConstant": false, "isLValue": false, "isPure": false, @@ -10816,7 +10825,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6277:22:4", + "src": "6253:22:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -10829,45 +10838,45 @@ } }, "falseBody": { - "id": 944, + "id": 945, "nodeType": "Block", - "src": "6452:37:4", + "src": "6428:37:4", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 942, + "id": 943, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6473:5:4", + "src": "6449:5:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 917, - "id": 943, + "functionReturnParameters": 918, + "id": 944, "nodeType": "Return", - "src": "6466:12:4" + "src": "6442:12:4" } ] }, - "id": 945, + "id": 946, "nodeType": "IfStatement", - "src": "6272:217:4", + "src": "6248:217:4", "trueBody": { - "id": 941, + "id": 942, "nodeType": "Block", - "src": "6301:145:4", + "src": "6277:145:4", "statements": [ { "expression": { - "id": 930, + "id": 931, "isConstant": false, "isLValue": false, "isPure": false, @@ -10876,25 +10885,25 @@ "baseExpression": { "expression": { "baseExpression": { - "id": 923, + "id": 924, "name": "_roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "6315:6:4", + "referencedDeclaration": 718, + "src": "6291:6:4", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$712_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$713_storage_$", "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" } }, - "id": 925, + "id": 926, "indexExpression": { - "id": 924, + "id": 925, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 911, - "src": "6322:4:4", + "referencedDeclaration": 912, + "src": "6298:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -10905,35 +10914,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6315:12:4", + "src": "6291:12:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$712_storage", + "typeIdentifier": "t_struct$_RoleData_$713_storage", "typeString": "struct AccessControl.RoleData storage ref" } }, - "id": 926, + "id": 927, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "6328:7:4", + "memberLocation": "6304:7:4", "memberName": "hasRole", "nodeType": "MemberAccess", - "referencedDeclaration": 709, - "src": "6315:20:4", + "referencedDeclaration": 710, + "src": "6291:20:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 928, + "id": 929, "indexExpression": { - "id": 927, + "id": 928, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "6336:7:4", + "referencedDeclaration": 914, + "src": "6312:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -10944,7 +10953,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6315:29:4", + "src": "6291:29:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -10954,52 +10963,52 @@ "operator": "=", "rightHandSide": { "hexValue": "74727565", - "id": 929, + "id": 930, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6347:4:4", + "src": "6323:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "src": "6315:36:4", + "src": "6291:36:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 931, + "id": 932, "nodeType": "ExpressionStatement", - "src": "6315:36:4" + "src": "6291:36:4" }, { "eventCall": { "arguments": [ { - "id": 933, + "id": 934, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 911, - "src": "6382:4:4", + "referencedDeclaration": 912, + "src": "6358:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 934, + "id": 935, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 913, - "src": "6388:7:4", + "referencedDeclaration": 914, + "src": "6364:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11009,18 +11018,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 935, + "id": 936, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, - "src": "6397:10:4", + "referencedDeclaration": 2885, + "src": "6373:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 936, + "id": 937, "isConstant": false, "isLValue": false, "isPure": false, @@ -11029,7 +11038,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6397:12:4", + "src": "6373:12:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -11052,18 +11061,18 @@ "typeString": "address" } ], - "id": 932, + "id": 933, "name": "RoleGranted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1017, - "src": "6370:11:4", + "referencedDeclaration": 1018, + "src": "6346:11:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", "typeString": "function (bytes32,address,address)" } }, - "id": 937, + "id": 938, "isConstant": false, "isLValue": false, "isPure": false, @@ -11072,38 +11081,38 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6370:40:4", + "src": "6346:40:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 938, + "id": 939, "nodeType": "EmitStatement", - "src": "6365:45:4" + "src": "6341:45:4" }, { "expression": { "hexValue": "74727565", - "id": 939, + "id": 940, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6431:4:4", + "src": "6407:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 917, - "id": 940, + "functionReturnParameters": 918, + "id": 941, "nodeType": "Return", - "src": "6424:11:4" + "src": "6400:11:4" } ] } @@ -11111,31 +11120,31 @@ ] }, "documentation": { - "id": 909, + "id": 910, "nodeType": "StructuredDocumentation", - "src": "5951:223:4", + "src": "5927:223:4", "text": " @dev Attempts to grant `role` to `account` and returns a boolean indicating if `role` was granted.\n Internal function without access restriction.\n May emit a {RoleGranted} event." }, - "id": 947, + "id": 948, "implemented": true, "kind": "function", "modifiers": [], "name": "_grantRole", - "nameLocation": "6188:10:4", + "nameLocation": "6164:10:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 914, + "id": 915, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 911, + "id": 912, "mutability": "mutable", "name": "role", - "nameLocation": "6207:4:4", + "nameLocation": "6183:4:4", "nodeType": "VariableDeclaration", - "scope": 947, - "src": "6199:12:4", + "scope": 948, + "src": "6175:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11143,10 +11152,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 910, + "id": 911, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6199:7:4", + "src": "6175:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11156,13 +11165,13 @@ }, { "constant": false, - "id": 913, + "id": 914, "mutability": "mutable", "name": "account", - "nameLocation": "6221:7:4", + "nameLocation": "6197:7:4", "nodeType": "VariableDeclaration", - "scope": 947, - "src": "6213:15:4", + "scope": 948, + "src": "6189:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11170,10 +11179,10 @@ "typeString": "address" }, "typeName": { - "id": 912, + "id": 913, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6213:7:4", + "src": "6189:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11183,21 +11192,21 @@ "visibility": "internal" } ], - "src": "6198:31:4" + "src": "6174:31:4" }, "returnParameters": { - "id": 917, + "id": 918, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 916, + "id": 917, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 947, - "src": "6256:4:4", + "scope": 948, + "src": "6232:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11205,10 +11214,10 @@ "typeString": "bool" }, "typeName": { - "id": 915, + "id": 916, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6256:4:4", + "src": "6232:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11217,42 +11226,42 @@ "visibility": "internal" } ], - "src": "6255:6:4" + "src": "6231:6:4" }, - "scope": 986, - "src": "6179:316:4", + "scope": 987, + "src": "6155:316:4", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 984, + "id": 985, "nodeType": "Block", - "src": "6816:233:4", + "src": "6792:233:4", "statements": [ { "condition": { "arguments": [ { - "id": 958, + "id": 959, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "6838:4:4", + "referencedDeclaration": 951, + "src": "6814:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 959, + "id": 960, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "6844:7:4", + "referencedDeclaration": 953, + "src": "6820:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11270,18 +11279,18 @@ "typeString": "address" } ], - "id": 957, + "id": 958, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 771, - "src": "6830:7:4", + "referencedDeclaration": 772, + "src": "6806:7:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" } }, - "id": 960, + "id": 961, "isConstant": false, "isLValue": false, "isPure": false, @@ -11290,7 +11299,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6830:22:4", + "src": "6806:22:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -11298,45 +11307,45 @@ } }, "falseBody": { - "id": 982, + "id": 983, "nodeType": "Block", - "src": "7006:37:4", + "src": "6982:37:4", "statements": [ { "expression": { "hexValue": "66616c7365", - "id": 980, + "id": 981, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7027:5:4", + "src": "7003:5:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "functionReturnParameters": 956, - "id": 981, + "functionReturnParameters": 957, + "id": 982, "nodeType": "Return", - "src": "7020:12:4" + "src": "6996:12:4" } ] }, - "id": 983, + "id": 984, "nodeType": "IfStatement", - "src": "6826:217:4", + "src": "6802:217:4", "trueBody": { - "id": 979, + "id": 980, "nodeType": "Block", - "src": "6854:146:4", + "src": "6830:146:4", "statements": [ { "expression": { - "id": 968, + "id": 969, "isConstant": false, "isLValue": false, "isPure": false, @@ -11345,25 +11354,25 @@ "baseExpression": { "expression": { "baseExpression": { - "id": 961, + "id": 962, "name": "_roles", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 717, - "src": "6868:6:4", + "referencedDeclaration": 718, + "src": "6844:6:4", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$712_storage_$", + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$713_storage_$", "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" } }, - "id": 963, + "id": 964, "indexExpression": { - "id": 962, + "id": 963, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "6875:4:4", + "referencedDeclaration": 951, + "src": "6851:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11374,35 +11383,35 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6868:12:4", + "src": "6844:12:4", "typeDescriptions": { - "typeIdentifier": "t_struct$_RoleData_$712_storage", + "typeIdentifier": "t_struct$_RoleData_$713_storage", "typeString": "struct AccessControl.RoleData storage ref" } }, - "id": 964, + "id": 965, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "6881:7:4", + "memberLocation": "6857:7:4", "memberName": "hasRole", "nodeType": "MemberAccess", - "referencedDeclaration": 709, - "src": "6868:20:4", + "referencedDeclaration": 710, + "src": "6844:20:4", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" } }, - "id": 966, + "id": 967, "indexExpression": { - "id": 965, + "id": 966, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "6889:7:4", + "referencedDeclaration": 953, + "src": "6865:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11413,7 +11422,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6868:29:4", + "src": "6844:29:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11423,52 +11432,52 @@ "operator": "=", "rightHandSide": { "hexValue": "66616c7365", - "id": 967, + "id": 968, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6900:5:4", + "src": "6876:5:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "false" }, - "src": "6868:37:4", + "src": "6844:37:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 969, + "id": 970, "nodeType": "ExpressionStatement", - "src": "6868:37:4" + "src": "6844:37:4" }, { "eventCall": { "arguments": [ { - "id": 971, + "id": 972, "name": "role", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 950, - "src": "6936:4:4", + "referencedDeclaration": 951, + "src": "6912:4:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, { - "id": 972, + "id": 973, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 952, - "src": "6942:7:4", + "referencedDeclaration": 953, + "src": "6918:7:4", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -11478,18 +11487,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 973, + "id": 974, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, - "src": "6951:10:4", + "referencedDeclaration": 2885, + "src": "6927:10:4", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 974, + "id": 975, "isConstant": false, "isLValue": false, "isPure": false, @@ -11498,7 +11507,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6951:12:4", + "src": "6927:12:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -11521,18 +11530,18 @@ "typeString": "address" } ], - "id": 970, + "id": 971, "name": "RoleRevoked", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1026, - "src": "6924:11:4", + "referencedDeclaration": 1027, + "src": "6900:11:4", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", "typeString": "function (bytes32,address,address)" } }, - "id": 975, + "id": 976, "isConstant": false, "isLValue": false, "isPure": false, @@ -11541,38 +11550,38 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6924:40:4", + "src": "6900:40:4", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 976, + "id": 977, "nodeType": "EmitStatement", - "src": "6919:45:4" + "src": "6895:45:4" }, { "expression": { "hexValue": "74727565", - "id": 977, + "id": 978, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "6985:4:4", + "src": "6961:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 956, - "id": 978, + "functionReturnParameters": 957, + "id": 979, "nodeType": "Return", - "src": "6978:11:4" + "src": "6954:11:4" } ] } @@ -11580,31 +11589,31 @@ ] }, "documentation": { - "id": 948, + "id": 949, "nodeType": "StructuredDocumentation", - "src": "6501:226:4", + "src": "6477:226:4", "text": " @dev Attempts to revoke `role` from `account` and returns a boolean indicating if `role` was revoked.\n Internal function without access restriction.\n May emit a {RoleRevoked} event." }, - "id": 985, + "id": 986, "implemented": true, "kind": "function", "modifiers": [], "name": "_revokeRole", - "nameLocation": "6741:11:4", + "nameLocation": "6717:11:4", "nodeType": "FunctionDefinition", "parameters": { - "id": 953, + "id": 954, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 950, + "id": 951, "mutability": "mutable", "name": "role", - "nameLocation": "6761:4:4", + "nameLocation": "6737:4:4", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "6753:12:4", + "scope": 986, + "src": "6729:12:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11612,10 +11621,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 949, + "id": 950, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "6753:7:4", + "src": "6729:7:4", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -11625,13 +11634,13 @@ }, { "constant": false, - "id": 952, + "id": 953, "mutability": "mutable", "name": "account", - "nameLocation": "6775:7:4", + "nameLocation": "6751:7:4", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "6767:15:4", + "scope": 986, + "src": "6743:15:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11639,10 +11648,10 @@ "typeString": "address" }, "typeName": { - "id": 951, + "id": 952, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6767:7:4", + "src": "6743:7:4", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -11652,21 +11661,21 @@ "visibility": "internal" } ], - "src": "6752:31:4" + "src": "6728:31:4" }, "returnParameters": { - "id": 956, + "id": 957, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 955, + "id": 956, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 985, - "src": "6810:4:4", + "scope": 986, + "src": "6786:4:4", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -11674,10 +11683,10 @@ "typeString": "bool" }, "typeName": { - "id": 954, + "id": 955, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "6810:4:4", + "src": "6786:4:4", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -11686,29 +11695,29 @@ "visibility": "internal" } ], - "src": "6809:6:4" + "src": "6785:6:4" }, - "scope": 986, - "src": "6732:317:4", + "scope": 987, + "src": "6708:317:4", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" } ], - "scope": 987, - "src": "1953:5098:4", + "scope": 988, + "src": "1962:5065:4", "usedErrors": [ - 996, - 999 + 997, + 1000 ], "usedEvents": [ - 1008, - 1017, - 1026 + 1009, + 1018, + 1027 ] } ], - "src": "108:6944:4" + "src": "108:6920:4" }, "id": 4 }, @@ -11717,20 +11726,20 @@ "absolutePath": "@openzeppelin/contracts/access/IAccessControl.sol", "exportedSymbols": { "IAccessControl": [ - 1069 + 1070 ] }, - "id": 1070, + "id": 1071, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 988, + "id": 989, "literals": [ "solidity", - "^", + ">=", "0.8", - ".20" + ".4" ], "nodeType": "PragmaDirective", "src": "109:24:5" @@ -11742,15 +11751,15 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 989, + "id": 990, "nodeType": "StructuredDocumentation", "src": "135:90:5", "text": " @dev External interface of AccessControl declared to support ERC-165 detection." }, "fullyImplemented": false, - "id": 1069, + "id": 1070, "linearizedBaseContracts": [ - 1069 + 1070 ], "name": "IAccessControl", "nameLocation": "236:14:5", @@ -11758,28 +11767,28 @@ "nodes": [ { "documentation": { - "id": 990, + "id": 991, "nodeType": "StructuredDocumentation", "src": "257:56:5", "text": " @dev The `account` is missing a role." }, "errorSelector": "e2517d3f", - "id": 996, + "id": 997, "name": "AccessControlUnauthorizedAccount", "nameLocation": "324:32:5", "nodeType": "ErrorDefinition", "parameters": { - "id": 995, + "id": 996, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 992, + "id": 993, "mutability": "mutable", "name": "account", "nameLocation": "365:7:5", "nodeType": "VariableDeclaration", - "scope": 996, + "scope": 997, "src": "357:15:5", "stateVariable": false, "storageLocation": "default", @@ -11788,7 +11797,7 @@ "typeString": "address" }, "typeName": { - "id": 991, + "id": 992, "name": "address", "nodeType": "ElementaryTypeName", "src": "357:7:5", @@ -11802,12 +11811,12 @@ }, { "constant": false, - "id": 994, + "id": 995, "mutability": "mutable", "name": "neededRole", "nameLocation": "382:10:5", "nodeType": "VariableDeclaration", - "scope": 996, + "scope": 997, "src": "374:18:5", "stateVariable": false, "storageLocation": "default", @@ -11816,7 +11825,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 993, + "id": 994, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "374:7:5", @@ -11834,18 +11843,18 @@ }, { "documentation": { - "id": 997, + "id": 998, "nodeType": "StructuredDocumentation", "src": "400:148:5", "text": " @dev The caller of a function is not the expected one.\n NOTE: Don't confuse with {AccessControlUnauthorizedAccount}." }, "errorSelector": "6697b232", - "id": 999, + "id": 1000, "name": "AccessControlBadConfirmation", "nameLocation": "559:28:5", "nodeType": "ErrorDefinition", "parameters": { - "id": 998, + "id": 999, "nodeType": "ParameterList", "parameters": [], "src": "587:2:5" @@ -11855,29 +11864,29 @@ { "anonymous": false, "documentation": { - "id": 1000, + "id": 1001, "nodeType": "StructuredDocumentation", "src": "596:254:5", "text": " @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n {RoleAdminChanged} not being emitted to signal this." }, "eventSelector": "bd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff", - "id": 1008, + "id": 1009, "name": "RoleAdminChanged", "nameLocation": "861:16:5", "nodeType": "EventDefinition", "parameters": { - "id": 1007, + "id": 1008, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1002, + "id": 1003, "indexed": true, "mutability": "mutable", "name": "role", "nameLocation": "894:4:5", "nodeType": "VariableDeclaration", - "scope": 1008, + "scope": 1009, "src": "878:20:5", "stateVariable": false, "storageLocation": "default", @@ -11886,7 +11895,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1001, + "id": 1002, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "878:7:5", @@ -11899,13 +11908,13 @@ }, { "constant": false, - "id": 1004, + "id": 1005, "indexed": true, "mutability": "mutable", "name": "previousAdminRole", "nameLocation": "916:17:5", "nodeType": "VariableDeclaration", - "scope": 1008, + "scope": 1009, "src": "900:33:5", "stateVariable": false, "storageLocation": "default", @@ -11914,7 +11923,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1003, + "id": 1004, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "900:7:5", @@ -11927,13 +11936,13 @@ }, { "constant": false, - "id": 1006, + "id": 1007, "indexed": true, "mutability": "mutable", "name": "newAdminRole", "nameLocation": "951:12:5", "nodeType": "VariableDeclaration", - "scope": 1008, + "scope": 1009, "src": "935:28:5", "stateVariable": false, "storageLocation": "default", @@ -11942,7 +11951,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1005, + "id": 1006, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "935:7:5", @@ -11961,29 +11970,29 @@ { "anonymous": false, "documentation": { - "id": 1009, + "id": 1010, "nodeType": "StructuredDocumentation", "src": "971:295:5", "text": " @dev Emitted when `account` is granted `role`.\n `sender` is the account that originated the contract call. This account bears the admin role (for the granted role).\n Expected in cases where the role was granted using the internal {AccessControl-_grantRole}." }, "eventSelector": "2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", - "id": 1017, + "id": 1018, "name": "RoleGranted", "nameLocation": "1277:11:5", "nodeType": "EventDefinition", "parameters": { - "id": 1016, + "id": 1017, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1011, + "id": 1012, "indexed": true, "mutability": "mutable", "name": "role", "nameLocation": "1305:4:5", "nodeType": "VariableDeclaration", - "scope": 1017, + "scope": 1018, "src": "1289:20:5", "stateVariable": false, "storageLocation": "default", @@ -11992,7 +12001,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1010, + "id": 1011, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1289:7:5", @@ -12005,13 +12014,13 @@ }, { "constant": false, - "id": 1013, + "id": 1014, "indexed": true, "mutability": "mutable", "name": "account", "nameLocation": "1327:7:5", "nodeType": "VariableDeclaration", - "scope": 1017, + "scope": 1018, "src": "1311:23:5", "stateVariable": false, "storageLocation": "default", @@ -12020,7 +12029,7 @@ "typeString": "address" }, "typeName": { - "id": 1012, + "id": 1013, "name": "address", "nodeType": "ElementaryTypeName", "src": "1311:7:5", @@ -12034,13 +12043,13 @@ }, { "constant": false, - "id": 1015, + "id": 1016, "indexed": true, "mutability": "mutable", "name": "sender", "nameLocation": "1352:6:5", "nodeType": "VariableDeclaration", - "scope": 1017, + "scope": 1018, "src": "1336:22:5", "stateVariable": false, "storageLocation": "default", @@ -12049,7 +12058,7 @@ "typeString": "address" }, "typeName": { - "id": 1014, + "id": 1015, "name": "address", "nodeType": "ElementaryTypeName", "src": "1336:7:5", @@ -12069,29 +12078,29 @@ { "anonymous": false, "documentation": { - "id": 1018, + "id": 1019, "nodeType": "StructuredDocumentation", "src": "1366:275:5", "text": " @dev Emitted when `account` is revoked `role`.\n `sender` is the account that originated the contract call:\n - if using `revokeRole`, it is the admin role bearer\n - if using `renounceRole`, it is the role bearer (i.e. `account`)" }, "eventSelector": "f6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b", - "id": 1026, + "id": 1027, "name": "RoleRevoked", "nameLocation": "1652:11:5", "nodeType": "EventDefinition", "parameters": { - "id": 1025, + "id": 1026, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1020, + "id": 1021, "indexed": true, "mutability": "mutable", "name": "role", "nameLocation": "1680:4:5", "nodeType": "VariableDeclaration", - "scope": 1026, + "scope": 1027, "src": "1664:20:5", "stateVariable": false, "storageLocation": "default", @@ -12100,7 +12109,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1019, + "id": 1020, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1664:7:5", @@ -12113,13 +12122,13 @@ }, { "constant": false, - "id": 1022, + "id": 1023, "indexed": true, "mutability": "mutable", "name": "account", "nameLocation": "1702:7:5", "nodeType": "VariableDeclaration", - "scope": 1026, + "scope": 1027, "src": "1686:23:5", "stateVariable": false, "storageLocation": "default", @@ -12128,7 +12137,7 @@ "typeString": "address" }, "typeName": { - "id": 1021, + "id": 1022, "name": "address", "nodeType": "ElementaryTypeName", "src": "1686:7:5", @@ -12142,13 +12151,13 @@ }, { "constant": false, - "id": 1024, + "id": 1025, "indexed": true, "mutability": "mutable", "name": "sender", "nameLocation": "1727:6:5", "nodeType": "VariableDeclaration", - "scope": 1026, + "scope": 1027, "src": "1711:22:5", "stateVariable": false, "storageLocation": "default", @@ -12157,7 +12166,7 @@ "typeString": "address" }, "typeName": { - "id": 1023, + "id": 1024, "name": "address", "nodeType": "ElementaryTypeName", "src": "1711:7:5", @@ -12176,13 +12185,13 @@ }, { "documentation": { - "id": 1027, + "id": 1028, "nodeType": "StructuredDocumentation", "src": "1741:76:5", "text": " @dev Returns `true` if `account` has been granted `role`." }, "functionSelector": "91d14854", - "id": 1036, + "id": 1037, "implemented": false, "kind": "function", "modifiers": [], @@ -12190,17 +12199,17 @@ "nameLocation": "1831:7:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1032, + "id": 1033, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1029, + "id": 1030, "mutability": "mutable", "name": "role", "nameLocation": "1847:4:5", "nodeType": "VariableDeclaration", - "scope": 1036, + "scope": 1037, "src": "1839:12:5", "stateVariable": false, "storageLocation": "default", @@ -12209,7 +12218,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1028, + "id": 1029, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1839:7:5", @@ -12222,12 +12231,12 @@ }, { "constant": false, - "id": 1031, + "id": 1032, "mutability": "mutable", "name": "account", "nameLocation": "1861:7:5", "nodeType": "VariableDeclaration", - "scope": 1036, + "scope": 1037, "src": "1853:15:5", "stateVariable": false, "storageLocation": "default", @@ -12236,7 +12245,7 @@ "typeString": "address" }, "typeName": { - "id": 1030, + "id": 1031, "name": "address", "nodeType": "ElementaryTypeName", "src": "1853:7:5", @@ -12252,17 +12261,17 @@ "src": "1838:31:5" }, "returnParameters": { - "id": 1035, + "id": 1036, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1034, + "id": 1035, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1036, + "scope": 1037, "src": "1893:4:5", "stateVariable": false, "storageLocation": "default", @@ -12271,7 +12280,7 @@ "typeString": "bool" }, "typeName": { - "id": 1033, + "id": 1034, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1893:4:5", @@ -12285,7 +12294,7 @@ ], "src": "1892:6:5" }, - "scope": 1069, + "scope": 1070, "src": "1822:77:5", "stateMutability": "view", "virtual": false, @@ -12293,13 +12302,13 @@ }, { "documentation": { - "id": 1037, + "id": 1038, "nodeType": "StructuredDocumentation", "src": "1905:184:5", "text": " @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {AccessControl-_setRoleAdmin}." }, "functionSelector": "248a9ca3", - "id": 1044, + "id": 1045, "implemented": false, "kind": "function", "modifiers": [], @@ -12307,17 +12316,17 @@ "nameLocation": "2103:12:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1040, + "id": 1041, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1039, + "id": 1040, "mutability": "mutable", "name": "role", "nameLocation": "2124:4:5", "nodeType": "VariableDeclaration", - "scope": 1044, + "scope": 1045, "src": "2116:12:5", "stateVariable": false, "storageLocation": "default", @@ -12326,7 +12335,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1038, + "id": 1039, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2116:7:5", @@ -12341,17 +12350,17 @@ "src": "2115:14:5" }, "returnParameters": { - "id": 1043, + "id": 1044, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1042, + "id": 1043, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1044, + "scope": 1045, "src": "2153:7:5", "stateVariable": false, "storageLocation": "default", @@ -12360,7 +12369,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1041, + "id": 1042, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2153:7:5", @@ -12374,7 +12383,7 @@ ], "src": "2152:9:5" }, - "scope": 1069, + "scope": 1070, "src": "2094:68:5", "stateMutability": "view", "virtual": false, @@ -12382,13 +12391,13 @@ }, { "documentation": { - "id": 1045, + "id": 1046, "nodeType": "StructuredDocumentation", "src": "2168:239:5", "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role." }, "functionSelector": "2f2ff15d", - "id": 1052, + "id": 1053, "implemented": false, "kind": "function", "modifiers": [], @@ -12396,17 +12405,17 @@ "nameLocation": "2421:9:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1050, + "id": 1051, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1047, + "id": 1048, "mutability": "mutable", "name": "role", "nameLocation": "2439:4:5", "nodeType": "VariableDeclaration", - "scope": 1052, + "scope": 1053, "src": "2431:12:5", "stateVariable": false, "storageLocation": "default", @@ -12415,7 +12424,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1046, + "id": 1047, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2431:7:5", @@ -12428,12 +12437,12 @@ }, { "constant": false, - "id": 1049, + "id": 1050, "mutability": "mutable", "name": "account", "nameLocation": "2453:7:5", "nodeType": "VariableDeclaration", - "scope": 1052, + "scope": 1053, "src": "2445:15:5", "stateVariable": false, "storageLocation": "default", @@ -12442,7 +12451,7 @@ "typeString": "address" }, "typeName": { - "id": 1048, + "id": 1049, "name": "address", "nodeType": "ElementaryTypeName", "src": "2445:7:5", @@ -12458,12 +12467,12 @@ "src": "2430:31:5" }, "returnParameters": { - "id": 1051, + "id": 1052, "nodeType": "ParameterList", "parameters": [], "src": "2470:0:5" }, - "scope": 1069, + "scope": 1070, "src": "2412:59:5", "stateMutability": "nonpayable", "virtual": false, @@ -12471,13 +12480,13 @@ }, { "documentation": { - "id": 1053, + "id": 1054, "nodeType": "StructuredDocumentation", "src": "2477:223:5", "text": " @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role." }, "functionSelector": "d547741f", - "id": 1060, + "id": 1061, "implemented": false, "kind": "function", "modifiers": [], @@ -12485,17 +12494,17 @@ "nameLocation": "2714:10:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1058, + "id": 1059, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1055, + "id": 1056, "mutability": "mutable", "name": "role", "nameLocation": "2733:4:5", "nodeType": "VariableDeclaration", - "scope": 1060, + "scope": 1061, "src": "2725:12:5", "stateVariable": false, "storageLocation": "default", @@ -12504,7 +12513,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1054, + "id": 1055, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2725:7:5", @@ -12517,12 +12526,12 @@ }, { "constant": false, - "id": 1057, + "id": 1058, "mutability": "mutable", "name": "account", "nameLocation": "2747:7:5", "nodeType": "VariableDeclaration", - "scope": 1060, + "scope": 1061, "src": "2739:15:5", "stateVariable": false, "storageLocation": "default", @@ -12531,7 +12540,7 @@ "typeString": "address" }, "typeName": { - "id": 1056, + "id": 1057, "name": "address", "nodeType": "ElementaryTypeName", "src": "2739:7:5", @@ -12547,12 +12556,12 @@ "src": "2724:31:5" }, "returnParameters": { - "id": 1059, + "id": 1060, "nodeType": "ParameterList", "parameters": [], "src": "2764:0:5" }, - "scope": 1069, + "scope": 1070, "src": "2705:60:5", "stateMutability": "nonpayable", "virtual": false, @@ -12560,13 +12569,13 @@ }, { "documentation": { - "id": 1061, + "id": 1062, "nodeType": "StructuredDocumentation", "src": "2771:491:5", "text": " @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been granted `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `callerConfirmation`." }, "functionSelector": "36568abe", - "id": 1068, + "id": 1069, "implemented": false, "kind": "function", "modifiers": [], @@ -12574,17 +12583,17 @@ "nameLocation": "3276:12:5", "nodeType": "FunctionDefinition", "parameters": { - "id": 1066, + "id": 1067, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1063, + "id": 1064, "mutability": "mutable", "name": "role", "nameLocation": "3297:4:5", "nodeType": "VariableDeclaration", - "scope": 1068, + "scope": 1069, "src": "3289:12:5", "stateVariable": false, "storageLocation": "default", @@ -12593,7 +12602,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1062, + "id": 1063, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3289:7:5", @@ -12606,12 +12615,12 @@ }, { "constant": false, - "id": 1065, + "id": 1066, "mutability": "mutable", "name": "callerConfirmation", "nameLocation": "3311:18:5", "nodeType": "VariableDeclaration", - "scope": 1068, + "scope": 1069, "src": "3303:26:5", "stateVariable": false, "storageLocation": "default", @@ -12620,7 +12629,7 @@ "typeString": "address" }, "typeName": { - "id": 1064, + "id": 1065, "name": "address", "nodeType": "ElementaryTypeName", "src": "3303:7:5", @@ -12636,28 +12645,28 @@ "src": "3288:42:5" }, "returnParameters": { - "id": 1067, + "id": 1068, "nodeType": "ParameterList", "parameters": [], "src": "3339:0:5" }, - "scope": 1069, + "scope": 1070, "src": "3267:73:5", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 1070, + "scope": 1071, "src": "226:3116:5", "usedErrors": [ - 996, - 999 + 997, + 1000 ], "usedEvents": [ - 1008, - 1017, - 1026 + 1009, + 1018, + 1027 ] } ], @@ -12670,18 +12679,18 @@ "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", "exportedSymbols": { "Context": [ - 2902 + 2903 ], "Ownable": [ - 1217 + 1218 ] }, - "id": 1218, + "id": 1219, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1071, + "id": 1072, "literals": [ "solidity", "^", @@ -12694,20 +12703,20 @@ { "absolutePath": "@openzeppelin/contracts/utils/Context.sol", "file": "../utils/Context.sol", - "id": 1073, + "id": 1074, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1218, - "sourceUnit": 2903, + "scope": 1219, + "sourceUnit": 2904, "src": "128:45:6", "symbolAliases": [ { "foreign": { - "id": 1072, + "id": 1073, "name": "Context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2902, + "referencedDeclaration": 2903, "src": "136:7:6", "typeDescriptions": {} }, @@ -12721,16 +12730,16 @@ "baseContracts": [ { "baseName": { - "id": 1075, + "id": 1076, "name": "Context", "nameLocations": [ "692:7:6" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2902, + "referencedDeclaration": 2903, "src": "692:7:6" }, - "id": 1076, + "id": 1077, "nodeType": "InheritanceSpecifier", "src": "692:7:6" } @@ -12739,16 +12748,16 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 1074, + "id": 1075, "nodeType": "StructuredDocumentation", "src": "175:487:6", "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n The initial owner is set to the address provided by the deployer. This can\n later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." }, "fullyImplemented": true, - "id": 1217, + "id": 1218, "linearizedBaseContracts": [ - 1217, - 2902 + 1218, + 2903 ], "name": "Ownable", "nameLocation": "681:7:6", @@ -12756,12 +12765,12 @@ "nodes": [ { "constant": false, - "id": 1078, + "id": 1079, "mutability": "mutable", "name": "_owner", "nameLocation": "722:6:6", "nodeType": "VariableDeclaration", - "scope": 1217, + "scope": 1218, "src": "706:22:6", "stateVariable": true, "storageLocation": "default", @@ -12770,7 +12779,7 @@ "typeString": "address" }, "typeName": { - "id": 1077, + "id": 1078, "name": "address", "nodeType": "ElementaryTypeName", "src": "706:7:6", @@ -12784,28 +12793,28 @@ }, { "documentation": { - "id": 1079, + "id": 1080, "nodeType": "StructuredDocumentation", "src": "735:85:6", "text": " @dev The caller account is not authorized to perform an operation." }, "errorSelector": "118cdaa7", - "id": 1083, + "id": 1084, "name": "OwnableUnauthorizedAccount", "nameLocation": "831:26:6", "nodeType": "ErrorDefinition", "parameters": { - "id": 1082, + "id": 1083, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1081, + "id": 1082, "mutability": "mutable", "name": "account", "nameLocation": "866:7:6", "nodeType": "VariableDeclaration", - "scope": 1083, + "scope": 1084, "src": "858:15:6", "stateVariable": false, "storageLocation": "default", @@ -12814,7 +12823,7 @@ "typeString": "address" }, "typeName": { - "id": 1080, + "id": 1081, "name": "address", "nodeType": "ElementaryTypeName", "src": "858:7:6", @@ -12833,28 +12842,28 @@ }, { "documentation": { - "id": 1084, + "id": 1085, "nodeType": "StructuredDocumentation", "src": "881:82:6", "text": " @dev The owner is not a valid owner account. (eg. `address(0)`)" }, "errorSelector": "1e4fbdf7", - "id": 1088, + "id": 1089, "name": "OwnableInvalidOwner", "nameLocation": "974:19:6", "nodeType": "ErrorDefinition", "parameters": { - "id": 1087, + "id": 1088, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1086, + "id": 1087, "mutability": "mutable", "name": "owner", "nameLocation": "1002:5:6", "nodeType": "VariableDeclaration", - "scope": 1088, + "scope": 1089, "src": "994:13:6", "stateVariable": false, "storageLocation": "default", @@ -12863,7 +12872,7 @@ "typeString": "address" }, "typeName": { - "id": 1085, + "id": 1086, "name": "address", "nodeType": "ElementaryTypeName", "src": "994:7:6", @@ -12883,23 +12892,23 @@ { "anonymous": false, "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", - "id": 1094, + "id": 1095, "name": "OwnershipTransferred", "nameLocation": "1021:20:6", "nodeType": "EventDefinition", "parameters": { - "id": 1093, + "id": 1094, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1090, + "id": 1091, "indexed": true, "mutability": "mutable", "name": "previousOwner", "nameLocation": "1058:13:6", "nodeType": "VariableDeclaration", - "scope": 1094, + "scope": 1095, "src": "1042:29:6", "stateVariable": false, "storageLocation": "default", @@ -12908,7 +12917,7 @@ "typeString": "address" }, "typeName": { - "id": 1089, + "id": 1090, "name": "address", "nodeType": "ElementaryTypeName", "src": "1042:7:6", @@ -12922,13 +12931,13 @@ }, { "constant": false, - "id": 1092, + "id": 1093, "indexed": true, "mutability": "mutable", "name": "newOwner", "nameLocation": "1089:8:6", "nodeType": "VariableDeclaration", - "scope": 1094, + "scope": 1095, "src": "1073:24:6", "stateVariable": false, "storageLocation": "default", @@ -12937,7 +12946,7 @@ "typeString": "address" }, "typeName": { - "id": 1091, + "id": 1092, "name": "address", "nodeType": "ElementaryTypeName", "src": "1073:7:6", @@ -12956,7 +12965,7 @@ }, { "body": { - "id": 1119, + "id": 1120, "nodeType": "Block", "src": "1259:153:6", "statements": [ @@ -12966,17 +12975,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1105, + "id": 1106, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1100, + "id": 1101, "name": "initialOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1097, + "referencedDeclaration": 1098, "src": "1273:12:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -12989,7 +12998,7 @@ "arguments": [ { "hexValue": "30", - "id": 1103, + "id": 1104, "isConstant": false, "isLValue": false, "isPure": true, @@ -13011,7 +13020,7 @@ "typeString": "int_const 0" } ], - "id": 1102, + "id": 1103, "isConstant": false, "isLValue": false, "isPure": true, @@ -13023,14 +13032,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 1101, + "id": 1102, "name": "address", "nodeType": "ElementaryTypeName", "src": "1289:7:6", "typeDescriptions": {} } }, - "id": 1104, + "id": 1105, "isConstant": false, "isLValue": false, "isPure": true, @@ -13052,11 +13061,11 @@ "typeString": "bool" } }, - "id": 1114, + "id": 1115, "nodeType": "IfStatement", "src": "1269:95:6", "trueBody": { - "id": 1113, + "id": 1114, "nodeType": "Block", "src": "1301:63:6", "statements": [ @@ -13067,7 +13076,7 @@ "arguments": [ { "hexValue": "30", - "id": 1109, + "id": 1110, "isConstant": false, "isLValue": false, "isPure": true, @@ -13089,7 +13098,7 @@ "typeString": "int_const 0" } ], - "id": 1108, + "id": 1109, "isConstant": false, "isLValue": false, "isPure": true, @@ -13101,14 +13110,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 1107, + "id": 1108, "name": "address", "nodeType": "ElementaryTypeName", "src": "1342:7:6", "typeDescriptions": {} } }, - "id": 1110, + "id": 1111, "isConstant": false, "isLValue": false, "isPure": true, @@ -13132,18 +13141,18 @@ "typeString": "address" } ], - "id": 1106, + "id": 1107, "name": "OwnableInvalidOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1088, + "referencedDeclaration": 1089, "src": "1322:19:6", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 1111, + "id": 1112, "isConstant": false, "isLValue": false, "isPure": false, @@ -13159,7 +13168,7 @@ "typeString": "tuple()" } }, - "id": 1112, + "id": 1113, "nodeType": "RevertStatement", "src": "1315:38:6" } @@ -13170,11 +13179,11 @@ "expression": { "arguments": [ { - "id": 1116, + "id": 1117, "name": "initialOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1097, + "referencedDeclaration": 1098, "src": "1392:12:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13189,18 +13198,18 @@ "typeString": "address" } ], - "id": 1115, + "id": 1116, "name": "_transferOwnership", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1216, + "referencedDeclaration": 1217, "src": "1373:18:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1117, + "id": 1118, "isConstant": false, "isLValue": false, "isPure": false, @@ -13216,19 +13225,19 @@ "typeString": "tuple()" } }, - "id": 1118, + "id": 1119, "nodeType": "ExpressionStatement", "src": "1373:32:6" } ] }, "documentation": { - "id": 1095, + "id": 1096, "nodeType": "StructuredDocumentation", "src": "1105:115:6", "text": " @dev Initializes the contract setting the address provided by the deployer as the initial owner." }, - "id": 1120, + "id": 1121, "implemented": true, "kind": "constructor", "modifiers": [], @@ -13236,17 +13245,17 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 1098, + "id": 1099, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1097, + "id": 1098, "mutability": "mutable", "name": "initialOwner", "nameLocation": "1245:12:6", "nodeType": "VariableDeclaration", - "scope": 1120, + "scope": 1121, "src": "1237:20:6", "stateVariable": false, "storageLocation": "default", @@ -13255,7 +13264,7 @@ "typeString": "address" }, "typeName": { - "id": 1096, + "id": 1097, "name": "address", "nodeType": "ElementaryTypeName", "src": "1237:7:6", @@ -13271,12 +13280,12 @@ "src": "1236:22:6" }, "returnParameters": { - "id": 1099, + "id": 1100, "nodeType": "ParameterList", "parameters": [], "src": "1259:0:6" }, - "scope": 1217, + "scope": 1218, "src": "1225:187:6", "stateMutability": "nonpayable", "virtual": false, @@ -13284,7 +13293,7 @@ }, { "body": { - "id": 1127, + "id": 1128, "nodeType": "Block", "src": "1521:41:6", "statements": [ @@ -13293,18 +13302,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1123, + "id": 1124, "name": "_checkOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1154, + "referencedDeclaration": 1155, "src": "1531:11:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$__$", "typeString": "function () view" } }, - "id": 1124, + "id": 1125, "isConstant": false, "isLValue": false, "isPure": false, @@ -13320,29 +13329,29 @@ "typeString": "tuple()" } }, - "id": 1125, + "id": 1126, "nodeType": "ExpressionStatement", "src": "1531:13:6" }, { - "id": 1126, + "id": 1127, "nodeType": "PlaceholderStatement", "src": "1554:1:6" } ] }, "documentation": { - "id": 1121, + "id": 1122, "nodeType": "StructuredDocumentation", "src": "1418:77:6", "text": " @dev Throws if called by any account other than the owner." }, - "id": 1128, + "id": 1129, "name": "onlyOwner", "nameLocation": "1509:9:6", "nodeType": "ModifierDefinition", "parameters": { - "id": 1122, + "id": 1123, "nodeType": "ParameterList", "parameters": [], "src": "1518:2:6" @@ -13353,38 +13362,38 @@ }, { "body": { - "id": 1136, + "id": 1137, "nodeType": "Block", "src": "1693:30:6", "statements": [ { "expression": { - "id": 1134, + "id": 1135, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, + "referencedDeclaration": 1079, "src": "1710:6:6", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 1133, - "id": 1135, + "functionReturnParameters": 1134, + "id": 1136, "nodeType": "Return", "src": "1703:13:6" } ] }, "documentation": { - "id": 1129, + "id": 1130, "nodeType": "StructuredDocumentation", "src": "1568:65:6", "text": " @dev Returns the address of the current owner." }, "functionSelector": "8da5cb5b", - "id": 1137, + "id": 1138, "implemented": true, "kind": "function", "modifiers": [], @@ -13392,23 +13401,23 @@ "nameLocation": "1647:5:6", "nodeType": "FunctionDefinition", "parameters": { - "id": 1130, + "id": 1131, "nodeType": "ParameterList", "parameters": [], "src": "1652:2:6" }, "returnParameters": { - "id": 1133, + "id": 1134, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1132, + "id": 1133, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1137, + "scope": 1138, "src": "1684:7:6", "stateVariable": false, "storageLocation": "default", @@ -13417,7 +13426,7 @@ "typeString": "address" }, "typeName": { - "id": 1131, + "id": 1132, "name": "address", "nodeType": "ElementaryTypeName", "src": "1684:7:6", @@ -13432,7 +13441,7 @@ ], "src": "1683:9:6" }, - "scope": 1217, + "scope": 1218, "src": "1638:85:6", "stateMutability": "view", "virtual": true, @@ -13440,7 +13449,7 @@ }, { "body": { - "id": 1153, + "id": 1154, "nodeType": "Block", "src": "1841:117:6", "statements": [ @@ -13450,7 +13459,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1145, + "id": 1146, "isConstant": false, "isLValue": false, "isPure": false, @@ -13459,18 +13468,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1141, + "id": 1142, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1137, + "referencedDeclaration": 1138, "src": "1855:5:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1142, + "id": 1143, "isConstant": false, "isLValue": false, "isPure": false, @@ -13492,18 +13501,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1143, + "id": 1144, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, + "referencedDeclaration": 2885, "src": "1866:10:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1144, + "id": 1145, "isConstant": false, "isLValue": false, "isPure": false, @@ -13525,11 +13534,11 @@ "typeString": "bool" } }, - "id": 1152, + "id": 1153, "nodeType": "IfStatement", "src": "1851:101:6", "trueBody": { - "id": 1151, + "id": 1152, "nodeType": "Block", "src": "1880:72:6", "statements": [ @@ -13540,18 +13549,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1147, + "id": 1148, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, + "referencedDeclaration": 2885, "src": "1928:10:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1148, + "id": 1149, "isConstant": false, "isLValue": false, "isPure": false, @@ -13575,18 +13584,18 @@ "typeString": "address" } ], - "id": 1146, + "id": 1147, "name": "OwnableUnauthorizedAccount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1083, + "referencedDeclaration": 1084, "src": "1901:26:6", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 1149, + "id": 1150, "isConstant": false, "isLValue": false, "isPure": false, @@ -13602,7 +13611,7 @@ "typeString": "tuple()" } }, - "id": 1150, + "id": 1151, "nodeType": "RevertStatement", "src": "1894:47:6" } @@ -13612,12 +13621,12 @@ ] }, "documentation": { - "id": 1138, + "id": 1139, "nodeType": "StructuredDocumentation", "src": "1729:62:6", "text": " @dev Throws if the sender is not the owner." }, - "id": 1154, + "id": 1155, "implemented": true, "kind": "function", "modifiers": [], @@ -13625,18 +13634,18 @@ "nameLocation": "1805:11:6", "nodeType": "FunctionDefinition", "parameters": { - "id": 1139, + "id": 1140, "nodeType": "ParameterList", "parameters": [], "src": "1816:2:6" }, "returnParameters": { - "id": 1140, + "id": 1141, "nodeType": "ParameterList", "parameters": [], "src": "1841:0:6" }, - "scope": 1217, + "scope": 1218, "src": "1796:162:6", "stateMutability": "view", "virtual": true, @@ -13644,7 +13653,7 @@ }, { "body": { - "id": 1167, + "id": 1168, "nodeType": "Block", "src": "2347:47:6", "statements": [ @@ -13655,7 +13664,7 @@ "arguments": [ { "hexValue": "30", - "id": 1163, + "id": 1164, "isConstant": false, "isLValue": false, "isPure": true, @@ -13677,7 +13686,7 @@ "typeString": "int_const 0" } ], - "id": 1162, + "id": 1163, "isConstant": false, "isLValue": false, "isPure": true, @@ -13689,14 +13698,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 1161, + "id": 1162, "name": "address", "nodeType": "ElementaryTypeName", "src": "2376:7:6", "typeDescriptions": {} } }, - "id": 1164, + "id": 1165, "isConstant": false, "isLValue": false, "isPure": true, @@ -13720,18 +13729,18 @@ "typeString": "address" } ], - "id": 1160, + "id": 1161, "name": "_transferOwnership", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1216, + "referencedDeclaration": 1217, "src": "2357:18:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1165, + "id": 1166, "isConstant": false, "isLValue": false, "isPure": false, @@ -13747,34 +13756,34 @@ "typeString": "tuple()" } }, - "id": 1166, + "id": 1167, "nodeType": "ExpressionStatement", "src": "2357:30:6" } ] }, "documentation": { - "id": 1155, + "id": 1156, "nodeType": "StructuredDocumentation", "src": "1964:324:6", "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby disabling any functionality that is only available to the owner." }, "functionSelector": "715018a6", - "id": 1168, + "id": 1169, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1158, + "id": 1159, "kind": "modifierInvocation", "modifierName": { - "id": 1157, + "id": 1158, "name": "onlyOwner", "nameLocations": [ "2337:9:6" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1128, + "referencedDeclaration": 1129, "src": "2337:9:6" }, "nodeType": "ModifierInvocation", @@ -13785,18 +13794,18 @@ "nameLocation": "2302:17:6", "nodeType": "FunctionDefinition", "parameters": { - "id": 1156, + "id": 1157, "nodeType": "ParameterList", "parameters": [], "src": "2319:2:6" }, "returnParameters": { - "id": 1159, + "id": 1160, "nodeType": "ParameterList", "parameters": [], "src": "2347:0:6" }, - "scope": 1217, + "scope": 1218, "src": "2293:101:6", "stateMutability": "nonpayable", "virtual": true, @@ -13804,7 +13813,7 @@ }, { "body": { - "id": 1195, + "id": 1196, "nodeType": "Block", "src": "2613:145:6", "statements": [ @@ -13814,17 +13823,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1181, + "id": 1182, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1176, + "id": 1177, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1171, + "referencedDeclaration": 1172, "src": "2627:8:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -13837,7 +13846,7 @@ "arguments": [ { "hexValue": "30", - "id": 1179, + "id": 1180, "isConstant": false, "isLValue": false, "isPure": true, @@ -13859,7 +13868,7 @@ "typeString": "int_const 0" } ], - "id": 1178, + "id": 1179, "isConstant": false, "isLValue": false, "isPure": true, @@ -13871,14 +13880,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 1177, + "id": 1178, "name": "address", "nodeType": "ElementaryTypeName", "src": "2639:7:6", "typeDescriptions": {} } }, - "id": 1180, + "id": 1181, "isConstant": false, "isLValue": false, "isPure": true, @@ -13900,11 +13909,11 @@ "typeString": "bool" } }, - "id": 1190, + "id": 1191, "nodeType": "IfStatement", "src": "2623:91:6", "trueBody": { - "id": 1189, + "id": 1190, "nodeType": "Block", "src": "2651:63:6", "statements": [ @@ -13915,7 +13924,7 @@ "arguments": [ { "hexValue": "30", - "id": 1185, + "id": 1186, "isConstant": false, "isLValue": false, "isPure": true, @@ -13937,7 +13946,7 @@ "typeString": "int_const 0" } ], - "id": 1184, + "id": 1185, "isConstant": false, "isLValue": false, "isPure": true, @@ -13949,14 +13958,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 1183, + "id": 1184, "name": "address", "nodeType": "ElementaryTypeName", "src": "2692:7:6", "typeDescriptions": {} } }, - "id": 1186, + "id": 1187, "isConstant": false, "isLValue": false, "isPure": true, @@ -13980,18 +13989,18 @@ "typeString": "address" } ], - "id": 1182, + "id": 1183, "name": "OwnableInvalidOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1088, + "referencedDeclaration": 1089, "src": "2672:19:6", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 1187, + "id": 1188, "isConstant": false, "isLValue": false, "isPure": false, @@ -14007,7 +14016,7 @@ "typeString": "tuple()" } }, - "id": 1188, + "id": 1189, "nodeType": "RevertStatement", "src": "2665:38:6" } @@ -14018,11 +14027,11 @@ "expression": { "arguments": [ { - "id": 1192, + "id": 1193, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1171, + "referencedDeclaration": 1172, "src": "2742:8:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14037,18 +14046,18 @@ "typeString": "address" } ], - "id": 1191, + "id": 1192, "name": "_transferOwnership", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1216, + "referencedDeclaration": 1217, "src": "2723:18:6", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1193, + "id": 1194, "isConstant": false, "isLValue": false, "isPure": false, @@ -14064,34 +14073,34 @@ "typeString": "tuple()" } }, - "id": 1194, + "id": 1195, "nodeType": "ExpressionStatement", "src": "2723:28:6" } ] }, "documentation": { - "id": 1169, + "id": 1170, "nodeType": "StructuredDocumentation", "src": "2400:138:6", "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." }, "functionSelector": "f2fde38b", - "id": 1196, + "id": 1197, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1174, + "id": 1175, "kind": "modifierInvocation", "modifierName": { - "id": 1173, + "id": 1174, "name": "onlyOwner", "nameLocations": [ "2603:9:6" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1128, + "referencedDeclaration": 1129, "src": "2603:9:6" }, "nodeType": "ModifierInvocation", @@ -14102,17 +14111,17 @@ "nameLocation": "2552:17:6", "nodeType": "FunctionDefinition", "parameters": { - "id": 1172, + "id": 1173, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1171, + "id": 1172, "mutability": "mutable", "name": "newOwner", "nameLocation": "2578:8:6", "nodeType": "VariableDeclaration", - "scope": 1196, + "scope": 1197, "src": "2570:16:6", "stateVariable": false, "storageLocation": "default", @@ -14121,7 +14130,7 @@ "typeString": "address" }, "typeName": { - "id": 1170, + "id": 1171, "name": "address", "nodeType": "ElementaryTypeName", "src": "2570:7:6", @@ -14137,12 +14146,12 @@ "src": "2569:18:6" }, "returnParameters": { - "id": 1175, + "id": 1176, "nodeType": "ParameterList", "parameters": [], "src": "2613:0:6" }, - "scope": 1217, + "scope": 1218, "src": "2543:215:6", "stateMutability": "nonpayable", "virtual": true, @@ -14150,23 +14159,23 @@ }, { "body": { - "id": 1215, + "id": 1216, "nodeType": "Block", "src": "2975:124:6", "statements": [ { "assignments": [ - 1203 + 1204 ], "declarations": [ { "constant": false, - "id": 1203, + "id": 1204, "mutability": "mutable", "name": "oldOwner", "nameLocation": "2993:8:6", "nodeType": "VariableDeclaration", - "scope": 1215, + "scope": 1216, "src": "2985:16:6", "stateVariable": false, "storageLocation": "default", @@ -14175,7 +14184,7 @@ "typeString": "address" }, "typeName": { - "id": 1202, + "id": 1203, "name": "address", "nodeType": "ElementaryTypeName", "src": "2985:7:6", @@ -14188,13 +14197,13 @@ "visibility": "internal" } ], - "id": 1205, + "id": 1206, "initialValue": { - "id": 1204, + "id": 1205, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, + "referencedDeclaration": 1079, "src": "3004:6:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14206,17 +14215,17 @@ }, { "expression": { - "id": 1208, + "id": 1209, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1206, + "id": 1207, "name": "_owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1078, + "referencedDeclaration": 1079, "src": "3020:6:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14226,11 +14235,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1207, + "id": 1208, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1199, + "referencedDeclaration": 1200, "src": "3029:8:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14243,7 +14252,7 @@ "typeString": "address" } }, - "id": 1209, + "id": 1210, "nodeType": "ExpressionStatement", "src": "3020:17:6" }, @@ -14251,11 +14260,11 @@ "eventCall": { "arguments": [ { - "id": 1211, + "id": 1212, "name": "oldOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1203, + "referencedDeclaration": 1204, "src": "3073:8:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14263,11 +14272,11 @@ } }, { - "id": 1212, + "id": 1213, "name": "newOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1199, + "referencedDeclaration": 1200, "src": "3083:8:6", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14286,18 +14295,18 @@ "typeString": "address" } ], - "id": 1210, + "id": 1211, "name": "OwnershipTransferred", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1094, + "referencedDeclaration": 1095, "src": "3052:20:6", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 1213, + "id": 1214, "isConstant": false, "isLValue": false, "isPure": false, @@ -14313,19 +14322,19 @@ "typeString": "tuple()" } }, - "id": 1214, + "id": 1215, "nodeType": "EmitStatement", "src": "3047:45:6" } ] }, "documentation": { - "id": 1197, + "id": 1198, "nodeType": "StructuredDocumentation", "src": "2764:143:6", "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." }, - "id": 1216, + "id": 1217, "implemented": true, "kind": "function", "modifiers": [], @@ -14333,17 +14342,17 @@ "nameLocation": "2921:18:6", "nodeType": "FunctionDefinition", "parameters": { - "id": 1200, + "id": 1201, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1199, + "id": 1200, "mutability": "mutable", "name": "newOwner", "nameLocation": "2948:8:6", "nodeType": "VariableDeclaration", - "scope": 1216, + "scope": 1217, "src": "2940:16:6", "stateVariable": false, "storageLocation": "default", @@ -14352,7 +14361,7 @@ "typeString": "address" }, "typeName": { - "id": 1198, + "id": 1199, "name": "address", "nodeType": "ElementaryTypeName", "src": "2940:7:6", @@ -14368,26 +14377,26 @@ "src": "2939:18:6" }, "returnParameters": { - "id": 1201, + "id": 1202, "nodeType": "ParameterList", "parameters": [], "src": "2975:0:6" }, - "scope": 1217, + "scope": 1218, "src": "2912:187:6", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" } ], - "scope": 1218, + "scope": 1219, "src": "663:2438:6", "usedErrors": [ - 1083, - 1088 + 1084, + 1089 ], "usedEvents": [ - 1094 + 1095 ] } ], @@ -14400,23 +14409,23 @@ "absolutePath": "@openzeppelin/contracts/interfaces/IERC1967.sol", "exportedSymbols": { "IERC1967": [ - 1238 + 1239 ] }, - "id": 1239, + "id": 1240, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1219, + "id": 1220, "literals": [ "solidity", - "^", - "0.8", - ".20" + ">=", + "0.4", + ".11" ], "nodeType": "PragmaDirective", - "src": "107:24:7" + "src": "107:25:7" }, { "abstract": false, @@ -14425,47 +14434,47 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 1220, + "id": 1221, "nodeType": "StructuredDocumentation", - "src": "133:101:7", + "src": "134:101:7", "text": " @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC." }, "fullyImplemented": true, - "id": 1238, + "id": 1239, "linearizedBaseContracts": [ - 1238 + 1239 ], "name": "IERC1967", - "nameLocation": "245:8:7", + "nameLocation": "246:8:7", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": { - "id": 1221, + "id": 1222, "nodeType": "StructuredDocumentation", - "src": "260:68:7", + "src": "261:68:7", "text": " @dev Emitted when the implementation is upgraded." }, "eventSelector": "bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", - "id": 1225, + "id": 1226, "name": "Upgraded", - "nameLocation": "339:8:7", + "nameLocation": "340:8:7", "nodeType": "EventDefinition", "parameters": { - "id": 1224, + "id": 1225, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1223, + "id": 1224, "indexed": true, "mutability": "mutable", "name": "implementation", - "nameLocation": "364:14:7", + "nameLocation": "365:14:7", "nodeType": "VariableDeclaration", - "scope": 1225, - "src": "348:30:7", + "scope": 1226, + "src": "349:30:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14473,10 +14482,10 @@ "typeString": "address" }, "typeName": { - "id": 1222, + "id": 1223, "name": "address", "nodeType": "ElementaryTypeName", - "src": "348:7:7", + "src": "349:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14486,37 +14495,37 @@ "visibility": "internal" } ], - "src": "347:32:7" + "src": "348:32:7" }, - "src": "333:47:7" + "src": "334:47:7" }, { "anonymous": false, "documentation": { - "id": 1226, + "id": 1227, "nodeType": "StructuredDocumentation", - "src": "386:67:7", + "src": "387:67:7", "text": " @dev Emitted when the admin account has changed." }, "eventSelector": "7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f", - "id": 1232, + "id": 1233, "name": "AdminChanged", - "nameLocation": "464:12:7", + "nameLocation": "465:12:7", "nodeType": "EventDefinition", "parameters": { - "id": 1231, + "id": 1232, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1228, + "id": 1229, "indexed": false, "mutability": "mutable", "name": "previousAdmin", - "nameLocation": "485:13:7", + "nameLocation": "486:13:7", "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "477:21:7", + "scope": 1233, + "src": "478:21:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14524,10 +14533,10 @@ "typeString": "address" }, "typeName": { - "id": 1227, + "id": 1228, "name": "address", "nodeType": "ElementaryTypeName", - "src": "477:7:7", + "src": "478:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14538,14 +14547,14 @@ }, { "constant": false, - "id": 1230, + "id": 1231, "indexed": false, "mutability": "mutable", "name": "newAdmin", - "nameLocation": "508:8:7", + "nameLocation": "509:8:7", "nodeType": "VariableDeclaration", - "scope": 1232, - "src": "500:16:7", + "scope": 1233, + "src": "501:16:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14553,10 +14562,10 @@ "typeString": "address" }, "typeName": { - "id": 1229, + "id": 1230, "name": "address", "nodeType": "ElementaryTypeName", - "src": "500:7:7", + "src": "501:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14566,37 +14575,37 @@ "visibility": "internal" } ], - "src": "476:41:7" + "src": "477:41:7" }, - "src": "458:60:7" + "src": "459:60:7" }, { "anonymous": false, "documentation": { - "id": 1233, + "id": 1234, "nodeType": "StructuredDocumentation", - "src": "524:59:7", + "src": "525:59:7", "text": " @dev Emitted when the beacon is changed." }, "eventSelector": "1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e", - "id": 1237, + "id": 1238, "name": "BeaconUpgraded", - "nameLocation": "594:14:7", + "nameLocation": "595:14:7", "nodeType": "EventDefinition", "parameters": { - "id": 1236, + "id": 1237, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1235, + "id": 1236, "indexed": true, "mutability": "mutable", "name": "beacon", - "nameLocation": "625:6:7", + "nameLocation": "626:6:7", "nodeType": "VariableDeclaration", - "scope": 1237, - "src": "609:22:7", + "scope": 1238, + "src": "610:22:7", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14604,10 +14613,10 @@ "typeString": "address" }, "typeName": { - "id": 1234, + "id": 1235, "name": "address", "nodeType": "ElementaryTypeName", - "src": "609:7:7", + "src": "610:7:7", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -14617,22 +14626,22 @@ "visibility": "internal" } ], - "src": "608:24:7" + "src": "609:24:7" }, - "src": "588:45:7" + "src": "589:45:7" } ], - "scope": 1239, - "src": "235:400:7", + "scope": 1240, + "src": "236:400:7", "usedErrors": [], "usedEvents": [ - 1225, - 1232, - 1237 + 1226, + 1233, + 1238 ] } ], - "src": "107:529:7" + "src": "107:530:7" }, "id": 7 }, @@ -14641,23 +14650,23 @@ "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC1822.sol", "exportedSymbols": { "IERC1822Proxiable": [ - 1248 + 1249 ] }, - "id": 1249, + "id": 1250, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1240, + "id": 1241, "literals": [ "solidity", - "^", - "0.8", - ".20" + ">=", + "0.4", + ".16" ], "nodeType": "PragmaDirective", - "src": "113:24:8" + "src": "113:25:8" }, { "abstract": false, @@ -14666,54 +14675,54 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 1241, + "id": 1242, "nodeType": "StructuredDocumentation", - "src": "139:204:8", + "src": "140:204:8", "text": " @dev ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n proxy whose upgrades are fully controlled by the current implementation." }, "fullyImplemented": false, - "id": 1248, + "id": 1249, "linearizedBaseContracts": [ - 1248 + 1249 ], "name": "IERC1822Proxiable", - "nameLocation": "354:17:8", + "nameLocation": "355:17:8", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { - "id": 1242, + "id": 1243, "nodeType": "StructuredDocumentation", - "src": "378:438:8", + "src": "379:438:8", "text": " @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n address.\n IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n function revert if invoked through a proxy." }, "functionSelector": "52d1902d", - "id": 1247, + "id": 1248, "implemented": false, "kind": "function", "modifiers": [], "name": "proxiableUUID", - "nameLocation": "830:13:8", + "nameLocation": "831:13:8", "nodeType": "FunctionDefinition", "parameters": { - "id": 1243, + "id": 1244, "nodeType": "ParameterList", "parameters": [], - "src": "843:2:8" + "src": "844:2:8" }, "returnParameters": { - "id": 1246, + "id": 1247, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1245, + "id": 1246, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1247, - "src": "869:7:8", + "scope": 1248, + "src": "870:7:8", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -14721,10 +14730,10 @@ "typeString": "bytes32" }, "typeName": { - "id": 1244, + "id": 1245, "name": "bytes32", "nodeType": "ElementaryTypeName", - "src": "869:7:8", + "src": "870:7:8", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" @@ -14733,22 +14742,22 @@ "visibility": "internal" } ], - "src": "868:9:8" + "src": "869:9:8" }, - "scope": 1248, - "src": "821:57:8", + "scope": 1249, + "src": "822:57:8", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 1249, - "src": "344:536:8", + "scope": 1250, + "src": "345:536:8", "usedErrors": [], "usedEvents": [] } ], - "src": "113:768:8" + "src": "113:769:8" }, "id": 8 }, @@ -14757,26 +14766,26 @@ "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC6093.sol", "exportedSymbols": { "IERC1155Errors": [ - 1385 + 1386 ], "IERC20Errors": [ - 1290 + 1291 ], "IERC721Errors": [ - 1338 + 1339 ] }, - "id": 1386, + "id": 1387, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1250, + "id": 1251, "literals": [ "solidity", - "^", + ">=", "0.8", - ".20" + ".4" ], "nodeType": "PragmaDirective", "src": "112:24:9" @@ -14788,15 +14797,15 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 1251, + "id": 1252, "nodeType": "StructuredDocumentation", "src": "138:141:9", "text": " @dev Standard ERC-20 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens." }, "fullyImplemented": true, - "id": 1290, + "id": 1291, "linearizedBaseContracts": [ - 1290 + 1291 ], "name": "IERC20Errors", "nameLocation": "290:12:9", @@ -14804,28 +14813,28 @@ "nodes": [ { "documentation": { - "id": 1252, + "id": 1253, "nodeType": "StructuredDocumentation", "src": "309:309:9", "text": " @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer." }, "errorSelector": "e450d38c", - "id": 1260, + "id": 1261, "name": "ERC20InsufficientBalance", "nameLocation": "629:24:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1259, + "id": 1260, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1254, + "id": 1255, "mutability": "mutable", "name": "sender", "nameLocation": "662:6:9", "nodeType": "VariableDeclaration", - "scope": 1260, + "scope": 1261, "src": "654:14:9", "stateVariable": false, "storageLocation": "default", @@ -14834,7 +14843,7 @@ "typeString": "address" }, "typeName": { - "id": 1253, + "id": 1254, "name": "address", "nodeType": "ElementaryTypeName", "src": "654:7:9", @@ -14848,12 +14857,12 @@ }, { "constant": false, - "id": 1256, + "id": 1257, "mutability": "mutable", "name": "balance", "nameLocation": "678:7:9", "nodeType": "VariableDeclaration", - "scope": 1260, + "scope": 1261, "src": "670:15:9", "stateVariable": false, "storageLocation": "default", @@ -14862,7 +14871,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1255, + "id": 1256, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "670:7:9", @@ -14875,12 +14884,12 @@ }, { "constant": false, - "id": 1258, + "id": 1259, "mutability": "mutable", "name": "needed", "nameLocation": "695:6:9", "nodeType": "VariableDeclaration", - "scope": 1260, + "scope": 1261, "src": "687:14:9", "stateVariable": false, "storageLocation": "default", @@ -14889,7 +14898,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1257, + "id": 1258, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "687:7:9", @@ -14907,28 +14916,28 @@ }, { "documentation": { - "id": 1261, + "id": 1262, "nodeType": "StructuredDocumentation", "src": "709:152:9", "text": " @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred." }, "errorSelector": "96c6fd1e", - "id": 1265, + "id": 1266, "name": "ERC20InvalidSender", "nameLocation": "872:18:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1264, + "id": 1265, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1263, + "id": 1264, "mutability": "mutable", "name": "sender", "nameLocation": "899:6:9", "nodeType": "VariableDeclaration", - "scope": 1265, + "scope": 1266, "src": "891:14:9", "stateVariable": false, "storageLocation": "default", @@ -14937,7 +14946,7 @@ "typeString": "address" }, "typeName": { - "id": 1262, + "id": 1263, "name": "address", "nodeType": "ElementaryTypeName", "src": "891:7:9", @@ -14956,28 +14965,28 @@ }, { "documentation": { - "id": 1266, + "id": 1267, "nodeType": "StructuredDocumentation", "src": "913:159:9", "text": " @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred." }, "errorSelector": "ec442f05", - "id": 1270, + "id": 1271, "name": "ERC20InvalidReceiver", "nameLocation": "1083:20:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1269, + "id": 1270, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1268, + "id": 1269, "mutability": "mutable", "name": "receiver", "nameLocation": "1112:8:9", "nodeType": "VariableDeclaration", - "scope": 1270, + "scope": 1271, "src": "1104:16:9", "stateVariable": false, "storageLocation": "default", @@ -14986,7 +14995,7 @@ "typeString": "address" }, "typeName": { - "id": 1267, + "id": 1268, "name": "address", "nodeType": "ElementaryTypeName", "src": "1104:7:9", @@ -15005,28 +15014,28 @@ }, { "documentation": { - "id": 1271, + "id": 1272, "nodeType": "StructuredDocumentation", "src": "1128:345:9", "text": " @dev Indicates a failure with the `spender`’s `allowance`. Used in transfers.\n @param spender Address that may be allowed to operate on tokens without being their owner.\n @param allowance Amount of tokens a `spender` is allowed to operate with.\n @param needed Minimum amount required to perform a transfer." }, "errorSelector": "fb8f41b2", - "id": 1279, + "id": 1280, "name": "ERC20InsufficientAllowance", "nameLocation": "1484:26:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1278, + "id": 1279, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1273, + "id": 1274, "mutability": "mutable", "name": "spender", "nameLocation": "1519:7:9", "nodeType": "VariableDeclaration", - "scope": 1279, + "scope": 1280, "src": "1511:15:9", "stateVariable": false, "storageLocation": "default", @@ -15035,7 +15044,7 @@ "typeString": "address" }, "typeName": { - "id": 1272, + "id": 1273, "name": "address", "nodeType": "ElementaryTypeName", "src": "1511:7:9", @@ -15049,12 +15058,12 @@ }, { "constant": false, - "id": 1275, + "id": 1276, "mutability": "mutable", "name": "allowance", "nameLocation": "1536:9:9", "nodeType": "VariableDeclaration", - "scope": 1279, + "scope": 1280, "src": "1528:17:9", "stateVariable": false, "storageLocation": "default", @@ -15063,7 +15072,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1274, + "id": 1275, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1528:7:9", @@ -15076,12 +15085,12 @@ }, { "constant": false, - "id": 1277, + "id": 1278, "mutability": "mutable", "name": "needed", "nameLocation": "1555:6:9", "nodeType": "VariableDeclaration", - "scope": 1279, + "scope": 1280, "src": "1547:14:9", "stateVariable": false, "storageLocation": "default", @@ -15090,7 +15099,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1276, + "id": 1277, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1547:7:9", @@ -15108,28 +15117,28 @@ }, { "documentation": { - "id": 1280, + "id": 1281, "nodeType": "StructuredDocumentation", "src": "1569:174:9", "text": " @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation." }, "errorSelector": "e602df05", - "id": 1284, + "id": 1285, "name": "ERC20InvalidApprover", "nameLocation": "1754:20:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1283, + "id": 1284, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1282, + "id": 1283, "mutability": "mutable", "name": "approver", "nameLocation": "1783:8:9", "nodeType": "VariableDeclaration", - "scope": 1284, + "scope": 1285, "src": "1775:16:9", "stateVariable": false, "storageLocation": "default", @@ -15138,7 +15147,7 @@ "typeString": "address" }, "typeName": { - "id": 1281, + "id": 1282, "name": "address", "nodeType": "ElementaryTypeName", "src": "1775:7:9", @@ -15157,28 +15166,28 @@ }, { "documentation": { - "id": 1285, + "id": 1286, "nodeType": "StructuredDocumentation", "src": "1799:195:9", "text": " @dev Indicates a failure with the `spender` to be approved. Used in approvals.\n @param spender Address that may be allowed to operate on tokens without being their owner." }, "errorSelector": "94280d62", - "id": 1289, + "id": 1290, "name": "ERC20InvalidSpender", "nameLocation": "2005:19:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1288, + "id": 1289, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1287, + "id": 1288, "mutability": "mutable", "name": "spender", "nameLocation": "2033:7:9", "nodeType": "VariableDeclaration", - "scope": 1289, + "scope": 1290, "src": "2025:15:9", "stateVariable": false, "storageLocation": "default", @@ -15187,7 +15196,7 @@ "typeString": "address" }, "typeName": { - "id": 1286, + "id": 1287, "name": "address", "nodeType": "ElementaryTypeName", "src": "2025:7:9", @@ -15205,15 +15214,15 @@ "src": "1999:43:9" } ], - "scope": 1386, + "scope": 1387, "src": "280:1764:9", "usedErrors": [ - 1260, - 1265, - 1270, - 1279, - 1284, - 1289 + 1261, + 1266, + 1271, + 1280, + 1285, + 1290 ], "usedEvents": [] }, @@ -15224,15 +15233,15 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 1291, + "id": 1292, "nodeType": "StructuredDocumentation", "src": "2046:143:9", "text": " @dev Standard ERC-721 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens." }, "fullyImplemented": true, - "id": 1338, + "id": 1339, "linearizedBaseContracts": [ - 1338 + 1339 ], "name": "IERC721Errors", "nameLocation": "2200:13:9", @@ -15240,28 +15249,28 @@ "nodes": [ { "documentation": { - "id": 1292, + "id": 1293, "nodeType": "StructuredDocumentation", "src": "2220:219:9", "text": " @dev Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20.\n Used in balance queries.\n @param owner Address of the current owner of a token." }, "errorSelector": "89c62b64", - "id": 1296, + "id": 1297, "name": "ERC721InvalidOwner", "nameLocation": "2450:18:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1295, + "id": 1296, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1294, + "id": 1295, "mutability": "mutable", "name": "owner", "nameLocation": "2477:5:9", "nodeType": "VariableDeclaration", - "scope": 1296, + "scope": 1297, "src": "2469:13:9", "stateVariable": false, "storageLocation": "default", @@ -15270,7 +15279,7 @@ "typeString": "address" }, "typeName": { - "id": 1293, + "id": 1294, "name": "address", "nodeType": "ElementaryTypeName", "src": "2469:7:9", @@ -15289,28 +15298,28 @@ }, { "documentation": { - "id": 1297, + "id": 1298, "nodeType": "StructuredDocumentation", "src": "2490:132:9", "text": " @dev Indicates a `tokenId` whose `owner` is the zero address.\n @param tokenId Identifier number of a token." }, "errorSelector": "7e273289", - "id": 1301, + "id": 1302, "name": "ERC721NonexistentToken", "nameLocation": "2633:22:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1300, + "id": 1301, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1299, + "id": 1300, "mutability": "mutable", "name": "tokenId", "nameLocation": "2664:7:9", "nodeType": "VariableDeclaration", - "scope": 1301, + "scope": 1302, "src": "2656:15:9", "stateVariable": false, "storageLocation": "default", @@ -15319,7 +15328,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1298, + "id": 1299, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2656:7:9", @@ -15337,28 +15346,28 @@ }, { "documentation": { - "id": 1302, + "id": 1303, "nodeType": "StructuredDocumentation", "src": "2679:289:9", "text": " @dev Indicates an error related to the ownership over a particular token. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param tokenId Identifier number of a token.\n @param owner Address of the current owner of a token." }, "errorSelector": "64283d7b", - "id": 1310, + "id": 1311, "name": "ERC721IncorrectOwner", "nameLocation": "2979:20:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1309, + "id": 1310, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1304, + "id": 1305, "mutability": "mutable", "name": "sender", "nameLocation": "3008:6:9", "nodeType": "VariableDeclaration", - "scope": 1310, + "scope": 1311, "src": "3000:14:9", "stateVariable": false, "storageLocation": "default", @@ -15367,7 +15376,7 @@ "typeString": "address" }, "typeName": { - "id": 1303, + "id": 1304, "name": "address", "nodeType": "ElementaryTypeName", "src": "3000:7:9", @@ -15381,12 +15390,12 @@ }, { "constant": false, - "id": 1306, + "id": 1307, "mutability": "mutable", "name": "tokenId", "nameLocation": "3024:7:9", "nodeType": "VariableDeclaration", - "scope": 1310, + "scope": 1311, "src": "3016:15:9", "stateVariable": false, "storageLocation": "default", @@ -15395,7 +15404,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1305, + "id": 1306, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3016:7:9", @@ -15408,12 +15417,12 @@ }, { "constant": false, - "id": 1308, + "id": 1309, "mutability": "mutable", "name": "owner", "nameLocation": "3041:5:9", "nodeType": "VariableDeclaration", - "scope": 1310, + "scope": 1311, "src": "3033:13:9", "stateVariable": false, "storageLocation": "default", @@ -15422,7 +15431,7 @@ "typeString": "address" }, "typeName": { - "id": 1307, + "id": 1308, "name": "address", "nodeType": "ElementaryTypeName", "src": "3033:7:9", @@ -15441,28 +15450,28 @@ }, { "documentation": { - "id": 1311, + "id": 1312, "nodeType": "StructuredDocumentation", "src": "3054:152:9", "text": " @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred." }, "errorSelector": "73c6ac6e", - "id": 1315, + "id": 1316, "name": "ERC721InvalidSender", "nameLocation": "3217:19:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1314, + "id": 1315, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1313, + "id": 1314, "mutability": "mutable", "name": "sender", "nameLocation": "3245:6:9", "nodeType": "VariableDeclaration", - "scope": 1315, + "scope": 1316, "src": "3237:14:9", "stateVariable": false, "storageLocation": "default", @@ -15471,7 +15480,7 @@ "typeString": "address" }, "typeName": { - "id": 1312, + "id": 1313, "name": "address", "nodeType": "ElementaryTypeName", "src": "3237:7:9", @@ -15490,28 +15499,28 @@ }, { "documentation": { - "id": 1316, + "id": 1317, "nodeType": "StructuredDocumentation", "src": "3259:159:9", "text": " @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred." }, "errorSelector": "64a0ae92", - "id": 1320, + "id": 1321, "name": "ERC721InvalidReceiver", "nameLocation": "3429:21:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1319, + "id": 1320, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1318, + "id": 1319, "mutability": "mutable", "name": "receiver", "nameLocation": "3459:8:9", "nodeType": "VariableDeclaration", - "scope": 1320, + "scope": 1321, "src": "3451:16:9", "stateVariable": false, "storageLocation": "default", @@ -15520,7 +15529,7 @@ "typeString": "address" }, "typeName": { - "id": 1317, + "id": 1318, "name": "address", "nodeType": "ElementaryTypeName", "src": "3451:7:9", @@ -15539,28 +15548,28 @@ }, { "documentation": { - "id": 1321, + "id": 1322, "nodeType": "StructuredDocumentation", "src": "3475:247:9", "text": " @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param tokenId Identifier number of a token." }, "errorSelector": "177e802f", - "id": 1327, + "id": 1328, "name": "ERC721InsufficientApproval", "nameLocation": "3733:26:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1326, + "id": 1327, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1323, + "id": 1324, "mutability": "mutable", "name": "operator", "nameLocation": "3768:8:9", "nodeType": "VariableDeclaration", - "scope": 1327, + "scope": 1328, "src": "3760:16:9", "stateVariable": false, "storageLocation": "default", @@ -15569,7 +15578,7 @@ "typeString": "address" }, "typeName": { - "id": 1322, + "id": 1323, "name": "address", "nodeType": "ElementaryTypeName", "src": "3760:7:9", @@ -15583,12 +15592,12 @@ }, { "constant": false, - "id": 1325, + "id": 1326, "mutability": "mutable", "name": "tokenId", "nameLocation": "3786:7:9", "nodeType": "VariableDeclaration", - "scope": 1327, + "scope": 1328, "src": "3778:15:9", "stateVariable": false, "storageLocation": "default", @@ -15597,7 +15606,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1324, + "id": 1325, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3778:7:9", @@ -15615,28 +15624,28 @@ }, { "documentation": { - "id": 1328, + "id": 1329, "nodeType": "StructuredDocumentation", "src": "3801:174:9", "text": " @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation." }, "errorSelector": "a9fbf51f", - "id": 1332, + "id": 1333, "name": "ERC721InvalidApprover", "nameLocation": "3986:21:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1331, + "id": 1332, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1330, + "id": 1331, "mutability": "mutable", "name": "approver", "nameLocation": "4016:8:9", "nodeType": "VariableDeclaration", - "scope": 1332, + "scope": 1333, "src": "4008:16:9", "stateVariable": false, "storageLocation": "default", @@ -15645,7 +15654,7 @@ "typeString": "address" }, "typeName": { - "id": 1329, + "id": 1330, "name": "address", "nodeType": "ElementaryTypeName", "src": "4008:7:9", @@ -15664,28 +15673,28 @@ }, { "documentation": { - "id": 1333, + "id": 1334, "nodeType": "StructuredDocumentation", "src": "4032:197:9", "text": " @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner." }, "errorSelector": "5b08ba18", - "id": 1337, + "id": 1338, "name": "ERC721InvalidOperator", "nameLocation": "4240:21:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1336, + "id": 1337, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1335, + "id": 1336, "mutability": "mutable", "name": "operator", "nameLocation": "4270:8:9", "nodeType": "VariableDeclaration", - "scope": 1337, + "scope": 1338, "src": "4262:16:9", "stateVariable": false, "storageLocation": "default", @@ -15694,7 +15703,7 @@ "typeString": "address" }, "typeName": { - "id": 1334, + "id": 1335, "name": "address", "nodeType": "ElementaryTypeName", "src": "4262:7:9", @@ -15712,17 +15721,17 @@ "src": "4234:46:9" } ], - "scope": 1386, + "scope": 1387, "src": "2190:2092:9", "usedErrors": [ - 1296, - 1301, - 1310, - 1315, - 1320, - 1327, - 1332, - 1337 + 1297, + 1302, + 1311, + 1316, + 1321, + 1328, + 1333, + 1338 ], "usedEvents": [] }, @@ -15733,15 +15742,15 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 1339, + "id": 1340, "nodeType": "StructuredDocumentation", "src": "4284:145:9", "text": " @dev Standard ERC-1155 Errors\n Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens." }, "fullyImplemented": true, - "id": 1385, + "id": 1386, "linearizedBaseContracts": [ - 1385 + 1386 ], "name": "IERC1155Errors", "nameLocation": "4440:14:9", @@ -15749,28 +15758,28 @@ "nodes": [ { "documentation": { - "id": 1340, + "id": 1341, "nodeType": "StructuredDocumentation", "src": "4461:361:9", "text": " @dev Indicates an error related to the current `balance` of a `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred.\n @param balance Current balance for the interacting account.\n @param needed Minimum amount required to perform a transfer.\n @param tokenId Identifier number of a token." }, "errorSelector": "03dee4c5", - "id": 1350, + "id": 1351, "name": "ERC1155InsufficientBalance", "nameLocation": "4833:26:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1349, + "id": 1350, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1342, + "id": 1343, "mutability": "mutable", "name": "sender", "nameLocation": "4868:6:9", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1351, "src": "4860:14:9", "stateVariable": false, "storageLocation": "default", @@ -15779,7 +15788,7 @@ "typeString": "address" }, "typeName": { - "id": 1341, + "id": 1342, "name": "address", "nodeType": "ElementaryTypeName", "src": "4860:7:9", @@ -15793,12 +15802,12 @@ }, { "constant": false, - "id": 1344, + "id": 1345, "mutability": "mutable", "name": "balance", "nameLocation": "4884:7:9", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1351, "src": "4876:15:9", "stateVariable": false, "storageLocation": "default", @@ -15807,7 +15816,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1343, + "id": 1344, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4876:7:9", @@ -15820,12 +15829,12 @@ }, { "constant": false, - "id": 1346, + "id": 1347, "mutability": "mutable", "name": "needed", "nameLocation": "4901:6:9", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1351, "src": "4893:14:9", "stateVariable": false, "storageLocation": "default", @@ -15834,7 +15843,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1345, + "id": 1346, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4893:7:9", @@ -15847,12 +15856,12 @@ }, { "constant": false, - "id": 1348, + "id": 1349, "mutability": "mutable", "name": "tokenId", "nameLocation": "4917:7:9", "nodeType": "VariableDeclaration", - "scope": 1350, + "scope": 1351, "src": "4909:15:9", "stateVariable": false, "storageLocation": "default", @@ -15861,7 +15870,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1347, + "id": 1348, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4909:7:9", @@ -15879,28 +15888,28 @@ }, { "documentation": { - "id": 1351, + "id": 1352, "nodeType": "StructuredDocumentation", "src": "4932:152:9", "text": " @dev Indicates a failure with the token `sender`. Used in transfers.\n @param sender Address whose tokens are being transferred." }, "errorSelector": "01a83514", - "id": 1355, + "id": 1356, "name": "ERC1155InvalidSender", "nameLocation": "5095:20:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1354, + "id": 1355, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1353, + "id": 1354, "mutability": "mutable", "name": "sender", "nameLocation": "5124:6:9", "nodeType": "VariableDeclaration", - "scope": 1355, + "scope": 1356, "src": "5116:14:9", "stateVariable": false, "storageLocation": "default", @@ -15909,7 +15918,7 @@ "typeString": "address" }, "typeName": { - "id": 1352, + "id": 1353, "name": "address", "nodeType": "ElementaryTypeName", "src": "5116:7:9", @@ -15928,28 +15937,28 @@ }, { "documentation": { - "id": 1356, + "id": 1357, "nodeType": "StructuredDocumentation", "src": "5138:159:9", "text": " @dev Indicates a failure with the token `receiver`. Used in transfers.\n @param receiver Address to which tokens are being transferred." }, "errorSelector": "57f447ce", - "id": 1360, + "id": 1361, "name": "ERC1155InvalidReceiver", "nameLocation": "5308:22:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1359, + "id": 1360, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1358, + "id": 1359, "mutability": "mutable", "name": "receiver", "nameLocation": "5339:8:9", "nodeType": "VariableDeclaration", - "scope": 1360, + "scope": 1361, "src": "5331:16:9", "stateVariable": false, "storageLocation": "default", @@ -15958,7 +15967,7 @@ "typeString": "address" }, "typeName": { - "id": 1357, + "id": 1358, "name": "address", "nodeType": "ElementaryTypeName", "src": "5331:7:9", @@ -15977,28 +15986,28 @@ }, { "documentation": { - "id": 1361, + "id": 1362, "nodeType": "StructuredDocumentation", "src": "5355:256:9", "text": " @dev Indicates a failure with the `operator`’s approval. Used in transfers.\n @param operator Address that may be allowed to operate on tokens without being their owner.\n @param owner Address of the current owner of a token." }, "errorSelector": "e237d922", - "id": 1367, + "id": 1368, "name": "ERC1155MissingApprovalForAll", "nameLocation": "5622:28:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1366, + "id": 1367, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1363, + "id": 1364, "mutability": "mutable", "name": "operator", "nameLocation": "5659:8:9", "nodeType": "VariableDeclaration", - "scope": 1367, + "scope": 1368, "src": "5651:16:9", "stateVariable": false, "storageLocation": "default", @@ -16007,7 +16016,7 @@ "typeString": "address" }, "typeName": { - "id": 1362, + "id": 1363, "name": "address", "nodeType": "ElementaryTypeName", "src": "5651:7:9", @@ -16021,12 +16030,12 @@ }, { "constant": false, - "id": 1365, + "id": 1366, "mutability": "mutable", "name": "owner", "nameLocation": "5677:5:9", "nodeType": "VariableDeclaration", - "scope": 1367, + "scope": 1368, "src": "5669:13:9", "stateVariable": false, "storageLocation": "default", @@ -16035,7 +16044,7 @@ "typeString": "address" }, "typeName": { - "id": 1364, + "id": 1365, "name": "address", "nodeType": "ElementaryTypeName", "src": "5669:7:9", @@ -16054,28 +16063,28 @@ }, { "documentation": { - "id": 1368, + "id": 1369, "nodeType": "StructuredDocumentation", "src": "5690:174:9", "text": " @dev Indicates a failure with the `approver` of a token to be approved. Used in approvals.\n @param approver Address initiating an approval operation." }, "errorSelector": "3e31884e", - "id": 1372, + "id": 1373, "name": "ERC1155InvalidApprover", "nameLocation": "5875:22:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1371, + "id": 1372, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1370, + "id": 1371, "mutability": "mutable", "name": "approver", "nameLocation": "5906:8:9", "nodeType": "VariableDeclaration", - "scope": 1372, + "scope": 1373, "src": "5898:16:9", "stateVariable": false, "storageLocation": "default", @@ -16084,7 +16093,7 @@ "typeString": "address" }, "typeName": { - "id": 1369, + "id": 1370, "name": "address", "nodeType": "ElementaryTypeName", "src": "5898:7:9", @@ -16103,28 +16112,28 @@ }, { "documentation": { - "id": 1373, + "id": 1374, "nodeType": "StructuredDocumentation", "src": "5922:197:9", "text": " @dev Indicates a failure with the `operator` to be approved. Used in approvals.\n @param operator Address that may be allowed to operate on tokens without being their owner." }, "errorSelector": "ced3e100", - "id": 1377, + "id": 1378, "name": "ERC1155InvalidOperator", "nameLocation": "6130:22:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1376, + "id": 1377, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1375, + "id": 1376, "mutability": "mutable", "name": "operator", "nameLocation": "6161:8:9", "nodeType": "VariableDeclaration", - "scope": 1377, + "scope": 1378, "src": "6153:16:9", "stateVariable": false, "storageLocation": "default", @@ -16133,7 +16142,7 @@ "typeString": "address" }, "typeName": { - "id": 1374, + "id": 1375, "name": "address", "nodeType": "ElementaryTypeName", "src": "6153:7:9", @@ -16152,28 +16161,28 @@ }, { "documentation": { - "id": 1378, + "id": 1379, "nodeType": "StructuredDocumentation", "src": "6177:280:9", "text": " @dev Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation.\n Used in batch transfers.\n @param idsLength Length of the array of token identifiers\n @param valuesLength Length of the array of token amounts" }, "errorSelector": "5b059991", - "id": 1384, + "id": 1385, "name": "ERC1155InvalidArrayLength", "nameLocation": "6468:25:9", "nodeType": "ErrorDefinition", "parameters": { - "id": 1383, + "id": 1384, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1380, + "id": 1381, "mutability": "mutable", "name": "idsLength", "nameLocation": "6502:9:9", "nodeType": "VariableDeclaration", - "scope": 1384, + "scope": 1385, "src": "6494:17:9", "stateVariable": false, "storageLocation": "default", @@ -16182,7 +16191,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1379, + "id": 1380, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6494:7:9", @@ -16195,12 +16204,12 @@ }, { "constant": false, - "id": 1382, + "id": 1383, "mutability": "mutable", "name": "valuesLength", "nameLocation": "6521:12:9", "nodeType": "VariableDeclaration", - "scope": 1384, + "scope": 1385, "src": "6513:20:9", "stateVariable": false, "storageLocation": "default", @@ -16209,7 +16218,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1381, + "id": 1382, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6513:7:9", @@ -16226,16 +16235,16 @@ "src": "6462:73:9" } ], - "scope": 1386, + "scope": 1387, "src": "4430:2107:9", "usedErrors": [ - 1350, - 1355, - 1360, - 1367, - 1372, - 1377, - 1384 + 1351, + 1356, + 1361, + 1368, + 1373, + 1378, + 1385 ], "usedEvents": [] } @@ -16249,21 +16258,21 @@ "absolutePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol", "exportedSymbols": { "ERC1967Proxy": [ - 1423 + 1424 ], "ERC1967Utils": [ - 1717 + 1718 ], "Proxy": [ - 1753 + 1754 ] }, - "id": 1424, + "id": 1425, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1387, + "id": 1388, "literals": [ "solidity", "^", @@ -16276,20 +16285,20 @@ { "absolutePath": "@openzeppelin/contracts/proxy/Proxy.sol", "file": "../Proxy.sol", - "id": 1389, + "id": 1390, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1424, - "sourceUnit": 1754, + "scope": 1425, + "sourceUnit": 1755, "src": "140:35:10", "symbolAliases": [ { "foreign": { - "id": 1388, + "id": 1389, "name": "Proxy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1753, + "referencedDeclaration": 1754, "src": "148:5:10", "typeDescriptions": {} }, @@ -16301,20 +16310,20 @@ { "absolutePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol", "file": "./ERC1967Utils.sol", - "id": 1391, + "id": 1392, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1424, - "sourceUnit": 1718, + "scope": 1425, + "sourceUnit": 1719, "src": "176:48:10", "symbolAliases": [ { "foreign": { - "id": 1390, + "id": 1391, "name": "ERC1967Utils", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1717, + "referencedDeclaration": 1718, "src": "184:12:10", "typeDescriptions": {} }, @@ -16328,16 +16337,16 @@ "baseContracts": [ { "baseName": { - "id": 1393, + "id": 1394, "name": "Proxy", "nameLocations": [ "625:5:10" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1753, + "referencedDeclaration": 1754, "src": "625:5:10" }, - "id": 1394, + "id": 1395, "nodeType": "InheritanceSpecifier", "src": "625:5:10" } @@ -16346,16 +16355,16 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 1392, + "id": 1393, "nodeType": "StructuredDocumentation", "src": "226:373:10", "text": " @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an\n implementation address that can be changed. This address is stored in storage in the location specified by\n https://eips.ethereum.org/EIPS/eip-1967[ERC-1967], so that it doesn't conflict with the storage layout of the\n implementation behind the proxy." }, "fullyImplemented": true, - "id": 1423, + "id": 1424, "linearizedBaseContracts": [ - 1423, - 1753 + 1424, + 1754 ], "name": "ERC1967Proxy", "nameLocation": "609:12:10", @@ -16363,7 +16372,7 @@ "nodes": [ { "body": { - "id": 1409, + "id": 1410, "nodeType": "Block", "src": "1145:69:10", "statements": [ @@ -16371,11 +16380,11 @@ "expression": { "arguments": [ { - "id": 1405, + "id": 1406, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1397, + "referencedDeclaration": 1398, "src": "1185:14:10", "typeDescriptions": { "typeIdentifier": "t_address", @@ -16383,11 +16392,11 @@ } }, { - "id": 1406, + "id": 1407, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1399, + "referencedDeclaration": 1400, "src": "1201:5:10", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -16407,18 +16416,18 @@ } ], "expression": { - "id": 1402, + "id": 1403, "name": "ERC1967Utils", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1717, + "referencedDeclaration": 1718, "src": "1155:12:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1717_$", + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1718_$", "typeString": "type(library ERC1967Utils)" } }, - "id": 1404, + "id": 1405, "isConstant": false, "isLValue": false, "isPure": false, @@ -16426,14 +16435,14 @@ "memberLocation": "1168:16:10", "memberName": "upgradeToAndCall", "nodeType": "MemberAccess", - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "1155:29:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,bytes memory)" } }, - "id": 1407, + "id": 1408, "isConstant": false, "isLValue": false, "isPure": false, @@ -16449,19 +16458,19 @@ "typeString": "tuple()" } }, - "id": 1408, + "id": 1409, "nodeType": "ExpressionStatement", "src": "1155:52:10" } ] }, "documentation": { - "id": 1395, + "id": 1396, "nodeType": "StructuredDocumentation", "src": "637:439:10", "text": " @dev Initializes the upgradeable proxy with an initial implementation specified by `implementation`.\n If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an\n encoded function call, and allows initializing the storage of the proxy like a Solidity constructor.\n Requirements:\n - If `data` is empty, `msg.value` must be zero." }, - "id": 1410, + "id": 1411, "implemented": true, "kind": "constructor", "modifiers": [], @@ -16469,17 +16478,17 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 1400, + "id": 1401, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1397, + "id": 1398, "mutability": "mutable", "name": "implementation", "nameLocation": "1101:14:10", "nodeType": "VariableDeclaration", - "scope": 1410, + "scope": 1411, "src": "1093:22:10", "stateVariable": false, "storageLocation": "default", @@ -16488,7 +16497,7 @@ "typeString": "address" }, "typeName": { - "id": 1396, + "id": 1397, "name": "address", "nodeType": "ElementaryTypeName", "src": "1093:7:10", @@ -16502,12 +16511,12 @@ }, { "constant": false, - "id": 1399, + "id": 1400, "mutability": "mutable", "name": "_data", "nameLocation": "1130:5:10", "nodeType": "VariableDeclaration", - "scope": 1410, + "scope": 1411, "src": "1117:18:10", "stateVariable": false, "storageLocation": "memory", @@ -16516,7 +16525,7 @@ "typeString": "bytes" }, "typeName": { - "id": 1398, + "id": 1399, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1117:5:10", @@ -16531,12 +16540,12 @@ "src": "1092:44:10" }, "returnParameters": { - "id": 1401, + "id": 1402, "nodeType": "ParameterList", "parameters": [], "src": "1145:0:10" }, - "scope": 1423, + "scope": 1424, "src": "1081:133:10", "stateMutability": "payable", "virtual": false, @@ -16544,10 +16553,10 @@ }, { "baseFunctions": [ - 1734 + 1735 ], "body": { - "id": 1421, + "id": 1422, "nodeType": "Block", "src": "1659:56:10", "statements": [ @@ -16557,18 +16566,18 @@ "expression": { "argumentTypes": [], "expression": { - "id": 1417, + "id": 1418, "name": "ERC1967Utils", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1717, + "referencedDeclaration": 1718, "src": "1676:12:10", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1717_$", + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1718_$", "typeString": "type(library ERC1967Utils)" } }, - "id": 1418, + "id": 1419, "isConstant": false, "isLValue": false, "isPure": false, @@ -16576,14 +16585,14 @@ "memberLocation": "1689:17:10", "memberName": "getImplementation", "nodeType": "MemberAccess", - "referencedDeclaration": 1469, + "referencedDeclaration": 1470, "src": "1676:30:10", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1419, + "id": 1420, "isConstant": false, "isLValue": false, "isPure": false, @@ -16599,20 +16608,20 @@ "typeString": "address" } }, - "functionReturnParameters": 1416, - "id": 1420, + "functionReturnParameters": 1417, + "id": 1421, "nodeType": "Return", "src": "1669:39:10" } ] }, "documentation": { - "id": 1411, + "id": 1412, "nodeType": "StructuredDocumentation", "src": "1220:358:10", "text": " @dev Returns the current implementation address.\n TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`" }, - "id": 1422, + "id": 1423, "implemented": true, "kind": "function", "modifiers": [], @@ -16620,29 +16629,29 @@ "nameLocation": "1592:15:10", "nodeType": "FunctionDefinition", "overrides": { - "id": 1413, + "id": 1414, "nodeType": "OverrideSpecifier", "overrides": [], "src": "1632:8:10" }, "parameters": { - "id": 1412, + "id": 1413, "nodeType": "ParameterList", "parameters": [], "src": "1607:2:10" }, "returnParameters": { - "id": 1416, + "id": 1417, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1415, + "id": 1416, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1422, + "scope": 1423, "src": "1650:7:10", "stateVariable": false, "storageLocation": "default", @@ -16651,7 +16660,7 @@ "typeString": "address" }, "typeName": { - "id": 1414, + "id": 1415, "name": "address", "nodeType": "ElementaryTypeName", "src": "1650:7:10", @@ -16666,23 +16675,23 @@ ], "src": "1649:9:10" }, - "scope": 1423, + "scope": 1424, "src": "1583:132:10", "stateMutability": "view", "virtual": true, "visibility": "internal" } ], - "scope": 1424, + "scope": 1425, "src": "600:1117:10", "usedErrors": [ - 1443, - 1456, - 2622, - 2915 + 1444, + 1457, + 2623, + 2916 ], "usedEvents": [ - 1225 + 1226 ] } ], @@ -16695,32 +16704,32 @@ "absolutePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol", "exportedSymbols": { "Address": [ - 2872 + 2873 ], "ERC1967Utils": [ - 1717 + 1718 ], "IBeacon": [ - 1763 + 1764 ], "IERC1967": [ - 1238 + 1239 ], "StorageSlot": [ - 3048 + 3049 ] }, - "id": 1718, + "id": 1719, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1425, + "id": 1426, "literals": [ "solidity", "^", "0.8", - ".22" + ".21" ], "nodeType": "PragmaDirective", "src": "114:24:11" @@ -16728,20 +16737,20 @@ { "absolutePath": "@openzeppelin/contracts/proxy/beacon/IBeacon.sol", "file": "../beacon/IBeacon.sol", - "id": 1427, + "id": 1428, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1718, - "sourceUnit": 1764, + "scope": 1719, + "sourceUnit": 1765, "src": "140:46:11", "symbolAliases": [ { "foreign": { - "id": 1426, + "id": 1427, "name": "IBeacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1763, + "referencedDeclaration": 1764, "src": "148:7:11", "typeDescriptions": {} }, @@ -16753,20 +16762,20 @@ { "absolutePath": "@openzeppelin/contracts/interfaces/IERC1967.sol", "file": "../../interfaces/IERC1967.sol", - "id": 1429, + "id": 1430, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1718, - "sourceUnit": 1239, + "scope": 1719, + "sourceUnit": 1240, "src": "187:55:11", "symbolAliases": [ { "foreign": { - "id": 1428, + "id": 1429, "name": "IERC1967", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1238, + "referencedDeclaration": 1239, "src": "195:8:11", "typeDescriptions": {} }, @@ -16778,20 +16787,20 @@ { "absolutePath": "@openzeppelin/contracts/utils/Address.sol", "file": "../../utils/Address.sol", - "id": 1431, + "id": 1432, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1718, - "sourceUnit": 2873, + "scope": 1719, + "sourceUnit": 2874, "src": "243:48:11", "symbolAliases": [ { "foreign": { - "id": 1430, + "id": 1431, "name": "Address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2872, + "referencedDeclaration": 2873, "src": "251:7:11", "typeDescriptions": {} }, @@ -16803,20 +16812,20 @@ { "absolutePath": "@openzeppelin/contracts/utils/StorageSlot.sol", "file": "../../utils/StorageSlot.sol", - "id": 1433, + "id": 1434, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1718, - "sourceUnit": 3049, + "scope": 1719, + "sourceUnit": 3050, "src": "292:56:11", "symbolAliases": [ { "foreign": { - "id": 1432, + "id": 1433, "name": "StorageSlot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3048, + "referencedDeclaration": 3049, "src": "300:11:11", "typeDescriptions": {} }, @@ -16832,15 +16841,15 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 1434, + "id": 1435, "nodeType": "StructuredDocumentation", "src": "350:145:11", "text": " @dev This library provides getters and event emitting update functions for\n https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots." }, "fullyImplemented": true, - "id": 1717, + "id": 1718, "linearizedBaseContracts": [ - 1717 + 1718 ], "name": "ERC1967Utils", "nameLocation": "504:12:11", @@ -16849,17 +16858,17 @@ { "constant": true, "documentation": { - "id": 1435, + "id": 1436, "nodeType": "StructuredDocumentation", "src": "523:170:11", "text": " @dev Storage slot with the address of the current implementation.\n This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1." }, - "id": 1438, + "id": 1439, "mutability": "constant", "name": "IMPLEMENTATION_SLOT", "nameLocation": "789:19:11", "nodeType": "VariableDeclaration", - "scope": 1717, + "scope": 1718, "src": "763:114:11", "stateVariable": true, "storageLocation": "default", @@ -16868,7 +16877,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1436, + "id": 1437, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "763:7:11", @@ -16879,7 +16888,7 @@ }, "value": { "hexValue": "307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263", - "id": 1437, + "id": 1438, "isConstant": false, "isLValue": false, "isPure": true, @@ -16897,28 +16906,28 @@ }, { "documentation": { - "id": 1439, + "id": 1440, "nodeType": "StructuredDocumentation", "src": "884:69:11", "text": " @dev The `implementation` of the proxy is invalid." }, "errorSelector": "4c9c8ce3", - "id": 1443, + "id": 1444, "name": "ERC1967InvalidImplementation", "nameLocation": "964:28:11", "nodeType": "ErrorDefinition", "parameters": { - "id": 1442, + "id": 1443, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1441, + "id": 1442, "mutability": "mutable", "name": "implementation", "nameLocation": "1001:14:11", "nodeType": "VariableDeclaration", - "scope": 1443, + "scope": 1444, "src": "993:22:11", "stateVariable": false, "storageLocation": "default", @@ -16927,7 +16936,7 @@ "typeString": "address" }, "typeName": { - "id": 1440, + "id": 1441, "name": "address", "nodeType": "ElementaryTypeName", "src": "993:7:11", @@ -16946,28 +16955,28 @@ }, { "documentation": { - "id": 1444, + "id": 1445, "nodeType": "StructuredDocumentation", "src": "1023:60:11", "text": " @dev The `admin` of the proxy is invalid." }, "errorSelector": "62e77ba2", - "id": 1448, + "id": 1449, "name": "ERC1967InvalidAdmin", "nameLocation": "1094:19:11", "nodeType": "ErrorDefinition", "parameters": { - "id": 1447, + "id": 1448, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1446, + "id": 1447, "mutability": "mutable", "name": "admin", "nameLocation": "1122:5:11", "nodeType": "VariableDeclaration", - "scope": 1448, + "scope": 1449, "src": "1114:13:11", "stateVariable": false, "storageLocation": "default", @@ -16976,7 +16985,7 @@ "typeString": "address" }, "typeName": { - "id": 1445, + "id": 1446, "name": "address", "nodeType": "ElementaryTypeName", "src": "1114:7:11", @@ -16995,28 +17004,28 @@ }, { "documentation": { - "id": 1449, + "id": 1450, "nodeType": "StructuredDocumentation", "src": "1135:61:11", "text": " @dev The `beacon` of the proxy is invalid." }, "errorSelector": "64ced0ec", - "id": 1453, + "id": 1454, "name": "ERC1967InvalidBeacon", "nameLocation": "1207:20:11", "nodeType": "ErrorDefinition", "parameters": { - "id": 1452, + "id": 1453, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1451, + "id": 1452, "mutability": "mutable", "name": "beacon", "nameLocation": "1236:6:11", "nodeType": "VariableDeclaration", - "scope": 1453, + "scope": 1454, "src": "1228:14:11", "stateVariable": false, "storageLocation": "default", @@ -17025,7 +17034,7 @@ "typeString": "address" }, "typeName": { - "id": 1450, + "id": 1451, "name": "address", "nodeType": "ElementaryTypeName", "src": "1228:7:11", @@ -17044,18 +17053,18 @@ }, { "documentation": { - "id": 1454, + "id": 1455, "nodeType": "StructuredDocumentation", "src": "1250:82:11", "text": " @dev An upgrade function sees `msg.value > 0` that may be lost." }, "errorSelector": "b398979f", - "id": 1456, + "id": 1457, "name": "ERC1967NonPayable", "nameLocation": "1343:17:11", "nodeType": "ErrorDefinition", "parameters": { - "id": 1455, + "id": 1456, "nodeType": "ParameterList", "parameters": [], "src": "1360:2:11" @@ -17064,7 +17073,7 @@ }, { "body": { - "id": 1468, + "id": 1469, "nodeType": "Block", "src": "1502:77:11", "statements": [ @@ -17073,11 +17082,11 @@ "expression": { "arguments": [ { - "id": 1464, + "id": 1465, "name": "IMPLEMENTATION_SLOT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1438, + "referencedDeclaration": 1439, "src": "1546:19:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -17093,18 +17102,18 @@ } ], "expression": { - "id": 1462, + "id": 1463, "name": "StorageSlot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3048, + "referencedDeclaration": 3049, "src": "1519:11:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3048_$", + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3049_$", "typeString": "type(library StorageSlot)" } }, - "id": 1463, + "id": 1464, "isConstant": false, "isLValue": false, "isPure": false, @@ -17112,14 +17121,14 @@ "memberLocation": "1531:14:11", "memberName": "getAddressSlot", "nodeType": "MemberAccess", - "referencedDeclaration": 2959, + "referencedDeclaration": 2960, "src": "1519:26:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$2930_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$2931_storage_ptr_$", "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" } }, - "id": 1465, + "id": 1466, "isConstant": false, "isLValue": false, "isPure": false, @@ -17131,11 +17140,11 @@ "src": "1519:47:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSlot_$2930_storage_ptr", + "typeIdentifier": "t_struct$_AddressSlot_$2931_storage_ptr", "typeString": "struct StorageSlot.AddressSlot storage pointer" } }, - "id": 1466, + "id": 1467, "isConstant": false, "isLValue": true, "isPure": false, @@ -17143,27 +17152,27 @@ "memberLocation": "1567:5:11", "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 2929, + "referencedDeclaration": 2930, "src": "1519:53:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 1461, - "id": 1467, + "functionReturnParameters": 1462, + "id": 1468, "nodeType": "Return", "src": "1512:60:11" } ] }, "documentation": { - "id": 1457, + "id": 1458, "nodeType": "StructuredDocumentation", "src": "1369:67:11", "text": " @dev Returns the current implementation address." }, - "id": 1469, + "id": 1470, "implemented": true, "kind": "function", "modifiers": [], @@ -17171,23 +17180,23 @@ "nameLocation": "1450:17:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1458, + "id": 1459, "nodeType": "ParameterList", "parameters": [], "src": "1467:2:11" }, "returnParameters": { - "id": 1461, + "id": 1462, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1460, + "id": 1461, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1469, + "scope": 1470, "src": "1493:7:11", "stateVariable": false, "storageLocation": "default", @@ -17196,7 +17205,7 @@ "typeString": "address" }, "typeName": { - "id": 1459, + "id": 1460, "name": "address", "nodeType": "ElementaryTypeName", "src": "1493:7:11", @@ -17211,7 +17220,7 @@ ], "src": "1492:9:11" }, - "scope": 1717, + "scope": 1718, "src": "1441:138:11", "stateMutability": "view", "virtual": false, @@ -17219,7 +17228,7 @@ }, { "body": { - "id": 1495, + "id": 1496, "nodeType": "Block", "src": "1734:218:11", "statements": [ @@ -17229,7 +17238,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1479, + "id": 1480, "isConstant": false, "isLValue": false, "isPure": false, @@ -17237,18 +17246,18 @@ "leftExpression": { "expression": { "expression": { - "id": 1475, + "id": 1476, "name": "newImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1472, + "referencedDeclaration": 1473, "src": "1748:17:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1476, + "id": 1477, "isConstant": false, "isLValue": false, "isPure": false, @@ -17262,7 +17271,7 @@ "typeString": "bytes memory" } }, - "id": 1477, + "id": 1478, "isConstant": false, "isLValue": false, "isPure": false, @@ -17280,7 +17289,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1478, + "id": 1479, "isConstant": false, "isLValue": false, "isPure": true, @@ -17300,11 +17309,11 @@ "typeString": "bool" } }, - "id": 1485, + "id": 1486, "nodeType": "IfStatement", "src": "1744:119:11", "trueBody": { - "id": 1484, + "id": 1485, "nodeType": "Block", "src": "1784:79:11", "statements": [ @@ -17312,11 +17321,11 @@ "errorCall": { "arguments": [ { - "id": 1481, + "id": 1482, "name": "newImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1472, + "referencedDeclaration": 1473, "src": "1834:17:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17331,18 +17340,18 @@ "typeString": "address" } ], - "id": 1480, + "id": 1481, "name": "ERC1967InvalidImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1443, + "referencedDeclaration": 1444, "src": "1805:28:11", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 1482, + "id": 1483, "isConstant": false, "isLValue": false, "isPure": false, @@ -17358,7 +17367,7 @@ "typeString": "tuple()" } }, - "id": 1483, + "id": 1484, "nodeType": "RevertStatement", "src": "1798:54:11" } @@ -17367,7 +17376,7 @@ }, { "expression": { - "id": 1493, + "id": 1494, "isConstant": false, "isLValue": false, "isPure": false, @@ -17376,11 +17385,11 @@ "expression": { "arguments": [ { - "id": 1489, + "id": 1490, "name": "IMPLEMENTATION_SLOT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1438, + "referencedDeclaration": 1439, "src": "1899:19:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -17396,18 +17405,18 @@ } ], "expression": { - "id": 1486, + "id": 1487, "name": "StorageSlot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3048, + "referencedDeclaration": 3049, "src": "1872:11:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3048_$", + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3049_$", "typeString": "type(library StorageSlot)" } }, - "id": 1488, + "id": 1489, "isConstant": false, "isLValue": false, "isPure": false, @@ -17415,14 +17424,14 @@ "memberLocation": "1884:14:11", "memberName": "getAddressSlot", "nodeType": "MemberAccess", - "referencedDeclaration": 2959, + "referencedDeclaration": 2960, "src": "1872:26:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$2930_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$2931_storage_ptr_$", "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" } }, - "id": 1490, + "id": 1491, "isConstant": false, "isLValue": false, "isPure": false, @@ -17434,11 +17443,11 @@ "src": "1872:47:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSlot_$2930_storage_ptr", + "typeIdentifier": "t_struct$_AddressSlot_$2931_storage_ptr", "typeString": "struct StorageSlot.AddressSlot storage pointer" } }, - "id": 1491, + "id": 1492, "isConstant": false, "isLValue": true, "isPure": false, @@ -17446,7 +17455,7 @@ "memberLocation": "1920:5:11", "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 2929, + "referencedDeclaration": 2930, "src": "1872:53:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17456,11 +17465,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1492, + "id": 1493, "name": "newImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1472, + "referencedDeclaration": 1473, "src": "1928:17:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17473,19 +17482,19 @@ "typeString": "address" } }, - "id": 1494, + "id": 1495, "nodeType": "ExpressionStatement", "src": "1872:73:11" } ] }, "documentation": { - "id": 1470, + "id": 1471, "nodeType": "StructuredDocumentation", "src": "1585:81:11", "text": " @dev Stores a new address in the ERC-1967 implementation slot." }, - "id": 1496, + "id": 1497, "implemented": true, "kind": "function", "modifiers": [], @@ -17493,17 +17502,17 @@ "nameLocation": "1680:18:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1473, + "id": 1474, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1472, + "id": 1473, "mutability": "mutable", "name": "newImplementation", "nameLocation": "1707:17:11", "nodeType": "VariableDeclaration", - "scope": 1496, + "scope": 1497, "src": "1699:25:11", "stateVariable": false, "storageLocation": "default", @@ -17512,7 +17521,7 @@ "typeString": "address" }, "typeName": { - "id": 1471, + "id": 1472, "name": "address", "nodeType": "ElementaryTypeName", "src": "1699:7:11", @@ -17528,12 +17537,12 @@ "src": "1698:27:11" }, "returnParameters": { - "id": 1474, + "id": 1475, "nodeType": "ParameterList", "parameters": [], "src": "1734:0:11" }, - "scope": 1717, + "scope": 1718, "src": "1671:281:11", "stateMutability": "nonpayable", "virtual": false, @@ -17541,7 +17550,7 @@ }, { "body": { - "id": 1531, + "id": 1532, "nodeType": "Block", "src": "2345:263:11", "statements": [ @@ -17549,11 +17558,11 @@ "expression": { "arguments": [ { - "id": 1505, + "id": 1506, "name": "newImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1499, + "referencedDeclaration": 1500, "src": "2374:17:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17568,18 +17577,18 @@ "typeString": "address" } ], - "id": 1504, + "id": 1505, "name": "_setImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1496, + "referencedDeclaration": 1497, "src": "2355:18:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1506, + "id": 1507, "isConstant": false, "isLValue": false, "isPure": false, @@ -17595,7 +17604,7 @@ "typeString": "tuple()" } }, - "id": 1507, + "id": 1508, "nodeType": "ExpressionStatement", "src": "2355:37:11" }, @@ -17603,11 +17612,11 @@ "eventCall": { "arguments": [ { - "id": 1511, + "id": 1512, "name": "newImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1499, + "referencedDeclaration": 1500, "src": "2425:17:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17623,18 +17632,18 @@ } ], "expression": { - "id": 1508, + "id": 1509, "name": "IERC1967", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1238, + "referencedDeclaration": 1239, "src": "2407:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1967_$1238_$", + "typeIdentifier": "t_type$_t_contract$_IERC1967_$1239_$", "typeString": "type(contract IERC1967)" } }, - "id": 1510, + "id": 1511, "isConstant": false, "isLValue": false, "isPure": false, @@ -17642,14 +17651,14 @@ "memberLocation": "2416:8:11", "memberName": "Upgraded", "nodeType": "MemberAccess", - "referencedDeclaration": 1225, + "referencedDeclaration": 1226, "src": "2407:17:11", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1512, + "id": 1513, "isConstant": false, "isLValue": false, "isPure": false, @@ -17665,7 +17674,7 @@ "typeString": "tuple()" } }, - "id": 1513, + "id": 1514, "nodeType": "EmitStatement", "src": "2402:41:11" }, @@ -17675,25 +17684,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1517, + "id": 1518, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 1514, + "id": 1515, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1501, + "referencedDeclaration": 1502, "src": "2458:4:11", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 1515, + "id": 1516, "isConstant": false, "isLValue": false, "isPure": false, @@ -17711,7 +17720,7 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1516, + "id": 1517, "isConstant": false, "isLValue": false, "isPure": true, @@ -17732,7 +17741,7 @@ } }, "falseBody": { - "id": 1529, + "id": 1530, "nodeType": "Block", "src": "2559:43:11", "statements": [ @@ -17741,18 +17750,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1526, + "id": 1527, "name": "_checkNonPayable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1716, + "referencedDeclaration": 1717, "src": "2573:16:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 1527, + "id": 1528, "isConstant": false, "isLValue": false, "isPure": false, @@ -17768,17 +17777,17 @@ "typeString": "tuple()" } }, - "id": 1528, + "id": 1529, "nodeType": "ExpressionStatement", "src": "2573:18:11" } ] }, - "id": 1530, + "id": 1531, "nodeType": "IfStatement", "src": "2454:148:11", "trueBody": { - "id": 1525, + "id": 1526, "nodeType": "Block", "src": "2475:78:11", "statements": [ @@ -17786,11 +17795,11 @@ "expression": { "arguments": [ { - "id": 1521, + "id": 1522, "name": "newImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1499, + "referencedDeclaration": 1500, "src": "2518:17:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -17798,11 +17807,11 @@ } }, { - "id": 1522, + "id": 1523, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1501, + "referencedDeclaration": 1502, "src": "2537:4:11", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -17822,18 +17831,18 @@ } ], "expression": { - "id": 1518, + "id": 1519, "name": "Address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2872, + "referencedDeclaration": 2873, "src": "2489:7:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Address_$2872_$", + "typeIdentifier": "t_type$_t_contract$_Address_$2873_$", "typeString": "type(library Address)" } }, - "id": 1520, + "id": 1521, "isConstant": false, "isLValue": false, "isPure": false, @@ -17841,14 +17850,14 @@ "memberLocation": "2497:20:11", "memberName": "functionDelegateCall", "nodeType": "MemberAccess", - "referencedDeclaration": 2789, + "referencedDeclaration": 2790, "src": "2489:28:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory) returns (bytes memory)" } }, - "id": 1523, + "id": 1524, "isConstant": false, "isLValue": false, "isPure": false, @@ -17864,7 +17873,7 @@ "typeString": "bytes memory" } }, - "id": 1524, + "id": 1525, "nodeType": "ExpressionStatement", "src": "2489:53:11" } @@ -17874,12 +17883,12 @@ ] }, "documentation": { - "id": 1497, + "id": 1498, "nodeType": "StructuredDocumentation", "src": "1958:301:11", "text": " @dev Performs implementation upgrade with additional setup call if data is nonempty.\n This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n to avoid stuck value in the contract.\n Emits an {IERC1967-Upgraded} event." }, - "id": 1532, + "id": 1533, "implemented": true, "kind": "function", "modifiers": [], @@ -17887,17 +17896,17 @@ "nameLocation": "2273:16:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1502, + "id": 1503, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1499, + "id": 1500, "mutability": "mutable", "name": "newImplementation", "nameLocation": "2298:17:11", "nodeType": "VariableDeclaration", - "scope": 1532, + "scope": 1533, "src": "2290:25:11", "stateVariable": false, "storageLocation": "default", @@ -17906,7 +17915,7 @@ "typeString": "address" }, "typeName": { - "id": 1498, + "id": 1499, "name": "address", "nodeType": "ElementaryTypeName", "src": "2290:7:11", @@ -17920,12 +17929,12 @@ }, { "constant": false, - "id": 1501, + "id": 1502, "mutability": "mutable", "name": "data", "nameLocation": "2330:4:11", "nodeType": "VariableDeclaration", - "scope": 1532, + "scope": 1533, "src": "2317:17:11", "stateVariable": false, "storageLocation": "memory", @@ -17934,7 +17943,7 @@ "typeString": "bytes" }, "typeName": { - "id": 1500, + "id": 1501, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2317:5:11", @@ -17949,12 +17958,12 @@ "src": "2289:46:11" }, "returnParameters": { - "id": 1503, + "id": 1504, "nodeType": "ParameterList", "parameters": [], "src": "2345:0:11" }, - "scope": 1717, + "scope": 1718, "src": "2264:344:11", "stateMutability": "nonpayable", "virtual": false, @@ -17963,17 +17972,17 @@ { "constant": true, "documentation": { - "id": 1533, + "id": 1534, "nodeType": "StructuredDocumentation", "src": "2614:145:11", "text": " @dev Storage slot with the admin of the contract.\n This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1." }, - "id": 1536, + "id": 1537, "mutability": "constant", "name": "ADMIN_SLOT", "nameLocation": "2855:10:11", "nodeType": "VariableDeclaration", - "scope": 1717, + "scope": 1718, "src": "2829:105:11", "stateVariable": true, "storageLocation": "default", @@ -17982,7 +17991,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1534, + "id": 1535, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2829:7:11", @@ -17993,7 +18002,7 @@ }, "value": { "hexValue": "307862353331323736383461353638623331373361653133623966386136303136653234336536336236653865653131373864366137313738353062356436313033", - "id": 1535, + "id": 1536, "isConstant": false, "isLValue": false, "isPure": true, @@ -18011,7 +18020,7 @@ }, { "body": { - "id": 1548, + "id": 1549, "nodeType": "Block", "src": "3339:68:11", "statements": [ @@ -18020,11 +18029,11 @@ "expression": { "arguments": [ { - "id": 1544, + "id": 1545, "name": "ADMIN_SLOT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1536, + "referencedDeclaration": 1537, "src": "3383:10:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -18040,18 +18049,18 @@ } ], "expression": { - "id": 1542, + "id": 1543, "name": "StorageSlot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3048, + "referencedDeclaration": 3049, "src": "3356:11:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3048_$", + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3049_$", "typeString": "type(library StorageSlot)" } }, - "id": 1543, + "id": 1544, "isConstant": false, "isLValue": false, "isPure": false, @@ -18059,14 +18068,14 @@ "memberLocation": "3368:14:11", "memberName": "getAddressSlot", "nodeType": "MemberAccess", - "referencedDeclaration": 2959, + "referencedDeclaration": 2960, "src": "3356:26:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$2930_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$2931_storage_ptr_$", "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" } }, - "id": 1545, + "id": 1546, "isConstant": false, "isLValue": false, "isPure": false, @@ -18078,11 +18087,11 @@ "src": "3356:38:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSlot_$2930_storage_ptr", + "typeIdentifier": "t_struct$_AddressSlot_$2931_storage_ptr", "typeString": "struct StorageSlot.AddressSlot storage pointer" } }, - "id": 1546, + "id": 1547, "isConstant": false, "isLValue": true, "isPure": false, @@ -18090,27 +18099,27 @@ "memberLocation": "3395:5:11", "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 2929, + "referencedDeclaration": 2930, "src": "3356:44:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 1541, - "id": 1547, + "functionReturnParameters": 1542, + "id": 1548, "nodeType": "Return", "src": "3349:51:11" } ] }, "documentation": { - "id": 1537, + "id": 1538, "nodeType": "StructuredDocumentation", "src": "2941:341:11", "text": " @dev Returns the current admin.\n TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`" }, - "id": 1549, + "id": 1550, "implemented": true, "kind": "function", "modifiers": [], @@ -18118,23 +18127,23 @@ "nameLocation": "3296:8:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1538, + "id": 1539, "nodeType": "ParameterList", "parameters": [], "src": "3304:2:11" }, "returnParameters": { - "id": 1541, + "id": 1542, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1540, + "id": 1541, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1549, + "scope": 1550, "src": "3330:7:11", "stateVariable": false, "storageLocation": "default", @@ -18143,7 +18152,7 @@ "typeString": "address" }, "typeName": { - "id": 1539, + "id": 1540, "name": "address", "nodeType": "ElementaryTypeName", "src": "3330:7:11", @@ -18158,7 +18167,7 @@ ], "src": "3329:9:11" }, - "scope": 1717, + "scope": 1718, "src": "3287:120:11", "stateMutability": "view", "virtual": false, @@ -18166,7 +18175,7 @@ }, { "body": { - "id": 1579, + "id": 1580, "nodeType": "Block", "src": "3535:172:11", "statements": [ @@ -18176,17 +18185,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1560, + "id": 1561, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 1555, + "id": 1556, "name": "newAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1552, + "referencedDeclaration": 1553, "src": "3549:8:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18199,7 +18208,7 @@ "arguments": [ { "hexValue": "30", - "id": 1558, + "id": 1559, "isConstant": false, "isLValue": false, "isPure": true, @@ -18221,7 +18230,7 @@ "typeString": "int_const 0" } ], - "id": 1557, + "id": 1558, "isConstant": false, "isLValue": false, "isPure": true, @@ -18233,14 +18242,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 1556, + "id": 1557, "name": "address", "nodeType": "ElementaryTypeName", "src": "3561:7:11", "typeDescriptions": {} } }, - "id": 1559, + "id": 1560, "isConstant": false, "isLValue": false, "isPure": true, @@ -18262,11 +18271,11 @@ "typeString": "bool" } }, - "id": 1569, + "id": 1570, "nodeType": "IfStatement", "src": "3545:91:11", "trueBody": { - "id": 1568, + "id": 1569, "nodeType": "Block", "src": "3573:63:11", "statements": [ @@ -18277,7 +18286,7 @@ "arguments": [ { "hexValue": "30", - "id": 1564, + "id": 1565, "isConstant": false, "isLValue": false, "isPure": true, @@ -18299,7 +18308,7 @@ "typeString": "int_const 0" } ], - "id": 1563, + "id": 1564, "isConstant": false, "isLValue": false, "isPure": true, @@ -18311,14 +18320,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 1562, + "id": 1563, "name": "address", "nodeType": "ElementaryTypeName", "src": "3614:7:11", "typeDescriptions": {} } }, - "id": 1565, + "id": 1566, "isConstant": false, "isLValue": false, "isPure": true, @@ -18342,18 +18351,18 @@ "typeString": "address" } ], - "id": 1561, + "id": 1562, "name": "ERC1967InvalidAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1448, + "referencedDeclaration": 1449, "src": "3594:19:11", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 1566, + "id": 1567, "isConstant": false, "isLValue": false, "isPure": false, @@ -18369,7 +18378,7 @@ "typeString": "tuple()" } }, - "id": 1567, + "id": 1568, "nodeType": "RevertStatement", "src": "3587:38:11" } @@ -18378,7 +18387,7 @@ }, { "expression": { - "id": 1577, + "id": 1578, "isConstant": false, "isLValue": false, "isPure": false, @@ -18387,11 +18396,11 @@ "expression": { "arguments": [ { - "id": 1573, + "id": 1574, "name": "ADMIN_SLOT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1536, + "referencedDeclaration": 1537, "src": "3672:10:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -18407,18 +18416,18 @@ } ], "expression": { - "id": 1570, + "id": 1571, "name": "StorageSlot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3048, + "referencedDeclaration": 3049, "src": "3645:11:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3048_$", + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3049_$", "typeString": "type(library StorageSlot)" } }, - "id": 1572, + "id": 1573, "isConstant": false, "isLValue": false, "isPure": false, @@ -18426,14 +18435,14 @@ "memberLocation": "3657:14:11", "memberName": "getAddressSlot", "nodeType": "MemberAccess", - "referencedDeclaration": 2959, + "referencedDeclaration": 2960, "src": "3645:26:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$2930_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$2931_storage_ptr_$", "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" } }, - "id": 1574, + "id": 1575, "isConstant": false, "isLValue": false, "isPure": false, @@ -18445,11 +18454,11 @@ "src": "3645:38:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSlot_$2930_storage_ptr", + "typeIdentifier": "t_struct$_AddressSlot_$2931_storage_ptr", "typeString": "struct StorageSlot.AddressSlot storage pointer" } }, - "id": 1575, + "id": 1576, "isConstant": false, "isLValue": true, "isPure": false, @@ -18457,7 +18466,7 @@ "memberLocation": "3684:5:11", "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 2929, + "referencedDeclaration": 2930, "src": "3645:44:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18467,11 +18476,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1576, + "id": 1577, "name": "newAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1552, + "referencedDeclaration": 1553, "src": "3692:8:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18484,19 +18493,19 @@ "typeString": "address" } }, - "id": 1578, + "id": 1579, "nodeType": "ExpressionStatement", "src": "3645:55:11" } ] }, "documentation": { - "id": 1550, + "id": 1551, "nodeType": "StructuredDocumentation", "src": "3413:72:11", "text": " @dev Stores a new address in the ERC-1967 admin slot." }, - "id": 1580, + "id": 1581, "implemented": true, "kind": "function", "modifiers": [], @@ -18504,17 +18513,17 @@ "nameLocation": "3499:9:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1553, + "id": 1554, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1552, + "id": 1553, "mutability": "mutable", "name": "newAdmin", "nameLocation": "3517:8:11", "nodeType": "VariableDeclaration", - "scope": 1580, + "scope": 1581, "src": "3509:16:11", "stateVariable": false, "storageLocation": "default", @@ -18523,7 +18532,7 @@ "typeString": "address" }, "typeName": { - "id": 1551, + "id": 1552, "name": "address", "nodeType": "ElementaryTypeName", "src": "3509:7:11", @@ -18539,12 +18548,12 @@ "src": "3508:18:11" }, "returnParameters": { - "id": 1554, + "id": 1555, "nodeType": "ParameterList", "parameters": [], "src": "3535:0:11" }, - "scope": 1717, + "scope": 1718, "src": "3490:217:11", "stateMutability": "nonpayable", "virtual": false, @@ -18552,7 +18561,7 @@ }, { "body": { - "id": 1598, + "id": 1599, "nodeType": "Block", "src": "3875:94:11", "statements": [ @@ -18563,18 +18572,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1589, + "id": 1590, "name": "getAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1549, + "referencedDeclaration": 1550, "src": "3912:8:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1590, + "id": 1591, "isConstant": false, "isLValue": false, "isPure": false, @@ -18591,11 +18600,11 @@ } }, { - "id": 1591, + "id": 1592, "name": "newAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1583, + "referencedDeclaration": 1584, "src": "3924:8:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18615,18 +18624,18 @@ } ], "expression": { - "id": 1586, + "id": 1587, "name": "IERC1967", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1238, + "referencedDeclaration": 1239, "src": "3890:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1967_$1238_$", + "typeIdentifier": "t_type$_t_contract$_IERC1967_$1239_$", "typeString": "type(contract IERC1967)" } }, - "id": 1588, + "id": 1589, "isConstant": false, "isLValue": false, "isPure": false, @@ -18634,14 +18643,14 @@ "memberLocation": "3899:12:11", "memberName": "AdminChanged", "nodeType": "MemberAccess", - "referencedDeclaration": 1232, + "referencedDeclaration": 1233, "src": "3890:21:11", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 1592, + "id": 1593, "isConstant": false, "isLValue": false, "isPure": false, @@ -18657,7 +18666,7 @@ "typeString": "tuple()" } }, - "id": 1593, + "id": 1594, "nodeType": "EmitStatement", "src": "3885:48:11" }, @@ -18665,11 +18674,11 @@ "expression": { "arguments": [ { - "id": 1595, + "id": 1596, "name": "newAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1583, + "referencedDeclaration": 1584, "src": "3953:8:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -18684,18 +18693,18 @@ "typeString": "address" } ], - "id": 1594, + "id": 1595, "name": "_setAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1580, + "referencedDeclaration": 1581, "src": "3943:9:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1596, + "id": 1597, "isConstant": false, "isLValue": false, "isPure": false, @@ -18711,19 +18720,19 @@ "typeString": "tuple()" } }, - "id": 1597, + "id": 1598, "nodeType": "ExpressionStatement", "src": "3943:19:11" } ] }, "documentation": { - "id": 1581, + "id": 1582, "nodeType": "StructuredDocumentation", "src": "3713:109:11", "text": " @dev Changes the admin of the proxy.\n Emits an {IERC1967-AdminChanged} event." }, - "id": 1599, + "id": 1600, "implemented": true, "kind": "function", "modifiers": [], @@ -18731,17 +18740,17 @@ "nameLocation": "3836:11:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1584, + "id": 1585, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1583, + "id": 1584, "mutability": "mutable", "name": "newAdmin", "nameLocation": "3856:8:11", "nodeType": "VariableDeclaration", - "scope": 1599, + "scope": 1600, "src": "3848:16:11", "stateVariable": false, "storageLocation": "default", @@ -18750,7 +18759,7 @@ "typeString": "address" }, "typeName": { - "id": 1582, + "id": 1583, "name": "address", "nodeType": "ElementaryTypeName", "src": "3848:7:11", @@ -18766,12 +18775,12 @@ "src": "3847:18:11" }, "returnParameters": { - "id": 1585, + "id": 1586, "nodeType": "ParameterList", "parameters": [], "src": "3875:0:11" }, - "scope": 1717, + "scope": 1718, "src": "3827:142:11", "stateMutability": "nonpayable", "virtual": false, @@ -18780,17 +18789,17 @@ { "constant": true, "documentation": { - "id": 1600, + "id": 1601, "nodeType": "StructuredDocumentation", "src": "3975:201:11", "text": " @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1." }, - "id": 1603, + "id": 1604, "mutability": "constant", "name": "BEACON_SLOT", "nameLocation": "4272:11:11", "nodeType": "VariableDeclaration", - "scope": 1717, + "scope": 1718, "src": "4246:106:11", "stateVariable": true, "storageLocation": "default", @@ -18799,7 +18808,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 1601, + "id": 1602, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "4246:7:11", @@ -18810,7 +18819,7 @@ }, "value": { "hexValue": "307861336630616437346535343233616562666438306433656634333436353738333335613961373261656165653539666636636233353832623335313333643530", - "id": 1602, + "id": 1603, "isConstant": false, "isLValue": false, "isPure": true, @@ -18828,7 +18837,7 @@ }, { "body": { - "id": 1615, + "id": 1616, "nodeType": "Block", "src": "4468:69:11", "statements": [ @@ -18837,11 +18846,11 @@ "expression": { "arguments": [ { - "id": 1611, + "id": 1612, "name": "BEACON_SLOT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1603, + "referencedDeclaration": 1604, "src": "4512:11:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -18857,18 +18866,18 @@ } ], "expression": { - "id": 1609, + "id": 1610, "name": "StorageSlot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3048, + "referencedDeclaration": 3049, "src": "4485:11:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3048_$", + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3049_$", "typeString": "type(library StorageSlot)" } }, - "id": 1610, + "id": 1611, "isConstant": false, "isLValue": false, "isPure": false, @@ -18876,14 +18885,14 @@ "memberLocation": "4497:14:11", "memberName": "getAddressSlot", "nodeType": "MemberAccess", - "referencedDeclaration": 2959, + "referencedDeclaration": 2960, "src": "4485:26:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$2930_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$2931_storage_ptr_$", "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" } }, - "id": 1612, + "id": 1613, "isConstant": false, "isLValue": false, "isPure": false, @@ -18895,11 +18904,11 @@ "src": "4485:39:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSlot_$2930_storage_ptr", + "typeIdentifier": "t_struct$_AddressSlot_$2931_storage_ptr", "typeString": "struct StorageSlot.AddressSlot storage pointer" } }, - "id": 1613, + "id": 1614, "isConstant": false, "isLValue": true, "isPure": false, @@ -18907,27 +18916,27 @@ "memberLocation": "4525:5:11", "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 2929, + "referencedDeclaration": 2930, "src": "4485:45:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 1608, - "id": 1614, + "functionReturnParameters": 1609, + "id": 1615, "nodeType": "Return", "src": "4478:52:11" } ] }, "documentation": { - "id": 1604, + "id": 1605, "nodeType": "StructuredDocumentation", "src": "4359:51:11", "text": " @dev Returns the current beacon." }, - "id": 1616, + "id": 1617, "implemented": true, "kind": "function", "modifiers": [], @@ -18935,23 +18944,23 @@ "nameLocation": "4424:9:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1605, + "id": 1606, "nodeType": "ParameterList", "parameters": [], "src": "4433:2:11" }, "returnParameters": { - "id": 1608, + "id": 1609, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1607, + "id": 1608, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1616, + "scope": 1617, "src": "4459:7:11", "stateVariable": false, "storageLocation": "default", @@ -18960,7 +18969,7 @@ "typeString": "address" }, "typeName": { - "id": 1606, + "id": 1607, "name": "address", "nodeType": "ElementaryTypeName", "src": "4459:7:11", @@ -18975,7 +18984,7 @@ ], "src": "4458:9:11" }, - "scope": 1717, + "scope": 1718, "src": "4415:122:11", "stateMutability": "view", "virtual": false, @@ -18983,7 +18992,7 @@ }, { "body": { - "id": 1661, + "id": 1662, "nodeType": "Block", "src": "4667:390:11", "statements": [ @@ -18993,7 +19002,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1626, + "id": 1627, "isConstant": false, "isLValue": false, "isPure": false, @@ -19001,18 +19010,18 @@ "leftExpression": { "expression": { "expression": { - "id": 1622, + "id": 1623, "name": "newBeacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1619, + "referencedDeclaration": 1620, "src": "4681:9:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1623, + "id": 1624, "isConstant": false, "isLValue": false, "isPure": false, @@ -19026,7 +19035,7 @@ "typeString": "bytes memory" } }, - "id": 1624, + "id": 1625, "isConstant": false, "isLValue": false, "isPure": false, @@ -19044,7 +19053,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1625, + "id": 1626, "isConstant": false, "isLValue": false, "isPure": true, @@ -19064,11 +19073,11 @@ "typeString": "bool" } }, - "id": 1632, + "id": 1633, "nodeType": "IfStatement", "src": "4677:95:11", "trueBody": { - "id": 1631, + "id": 1632, "nodeType": "Block", "src": "4709:63:11", "statements": [ @@ -19076,11 +19085,11 @@ "errorCall": { "arguments": [ { - "id": 1628, + "id": 1629, "name": "newBeacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1619, + "referencedDeclaration": 1620, "src": "4751:9:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19095,18 +19104,18 @@ "typeString": "address" } ], - "id": 1627, + "id": 1628, "name": "ERC1967InvalidBeacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1453, + "referencedDeclaration": 1454, "src": "4730:20:11", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 1629, + "id": 1630, "isConstant": false, "isLValue": false, "isPure": false, @@ -19122,7 +19131,7 @@ "typeString": "tuple()" } }, - "id": 1630, + "id": 1631, "nodeType": "RevertStatement", "src": "4723:38:11" } @@ -19131,7 +19140,7 @@ }, { "expression": { - "id": 1640, + "id": 1641, "isConstant": false, "isLValue": false, "isPure": false, @@ -19140,11 +19149,11 @@ "expression": { "arguments": [ { - "id": 1636, + "id": 1637, "name": "BEACON_SLOT", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1603, + "referencedDeclaration": 1604, "src": "4809:11:11", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -19160,18 +19169,18 @@ } ], "expression": { - "id": 1633, + "id": 1634, "name": "StorageSlot", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3048, + "referencedDeclaration": 3049, "src": "4782:11:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3048_$", + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$3049_$", "typeString": "type(library StorageSlot)" } }, - "id": 1635, + "id": 1636, "isConstant": false, "isLValue": false, "isPure": false, @@ -19179,14 +19188,14 @@ "memberLocation": "4794:14:11", "memberName": "getAddressSlot", "nodeType": "MemberAccess", - "referencedDeclaration": 2959, + "referencedDeclaration": 2960, "src": "4782:26:11", "typeDescriptions": { - "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$2930_storage_ptr_$", + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$2931_storage_ptr_$", "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" } }, - "id": 1637, + "id": 1638, "isConstant": false, "isLValue": false, "isPure": false, @@ -19198,11 +19207,11 @@ "src": "4782:39:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSlot_$2930_storage_ptr", + "typeIdentifier": "t_struct$_AddressSlot_$2931_storage_ptr", "typeString": "struct StorageSlot.AddressSlot storage pointer" } }, - "id": 1638, + "id": 1639, "isConstant": false, "isLValue": true, "isPure": false, @@ -19210,7 +19219,7 @@ "memberLocation": "4822:5:11", "memberName": "value", "nodeType": "MemberAccess", - "referencedDeclaration": 2929, + "referencedDeclaration": 2930, "src": "4782:45:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19220,11 +19229,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1639, + "id": 1640, "name": "newBeacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1619, + "referencedDeclaration": 1620, "src": "4830:9:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19237,23 +19246,23 @@ "typeString": "address" } }, - "id": 1641, + "id": 1642, "nodeType": "ExpressionStatement", "src": "4782:57:11" }, { "assignments": [ - 1643 + 1644 ], "declarations": [ { "constant": false, - "id": 1643, + "id": 1644, "mutability": "mutable", "name": "beaconImplementation", "nameLocation": "4858:20:11", "nodeType": "VariableDeclaration", - "scope": 1661, + "scope": 1662, "src": "4850:28:11", "stateVariable": false, "storageLocation": "default", @@ -19262,7 +19271,7 @@ "typeString": "address" }, "typeName": { - "id": 1642, + "id": 1643, "name": "address", "nodeType": "ElementaryTypeName", "src": "4850:7:11", @@ -19275,7 +19284,7 @@ "visibility": "internal" } ], - "id": 1649, + "id": 1650, "initialValue": { "arguments": [], "expression": { @@ -19283,11 +19292,11 @@ "expression": { "arguments": [ { - "id": 1645, + "id": 1646, "name": "newBeacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1619, + "referencedDeclaration": 1620, "src": "4889:9:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19302,18 +19311,18 @@ "typeString": "address" } ], - "id": 1644, + "id": 1645, "name": "IBeacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1763, + "referencedDeclaration": 1764, "src": "4881:7:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBeacon_$1763_$", + "typeIdentifier": "t_type$_t_contract$_IBeacon_$1764_$", "typeString": "type(contract IBeacon)" } }, - "id": 1646, + "id": 1647, "isConstant": false, "isLValue": false, "isPure": false, @@ -19325,11 +19334,11 @@ "src": "4881:18:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IBeacon_$1763", + "typeIdentifier": "t_contract$_IBeacon_$1764", "typeString": "contract IBeacon" } }, - "id": 1647, + "id": 1648, "isConstant": false, "isLValue": false, "isPure": false, @@ -19337,14 +19346,14 @@ "memberLocation": "4900:14:11", "memberName": "implementation", "nodeType": "MemberAccess", - "referencedDeclaration": 1762, + "referencedDeclaration": 1763, "src": "4881:33:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 1648, + "id": 1649, "isConstant": false, "isLValue": false, "isPure": false, @@ -19369,7 +19378,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1654, + "id": 1655, "isConstant": false, "isLValue": false, "isPure": false, @@ -19377,18 +19386,18 @@ "leftExpression": { "expression": { "expression": { - "id": 1650, + "id": 1651, "name": "beaconImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, + "referencedDeclaration": 1644, "src": "4930:20:11", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 1651, + "id": 1652, "isConstant": false, "isLValue": false, "isPure": false, @@ -19402,7 +19411,7 @@ "typeString": "bytes memory" } }, - "id": 1652, + "id": 1653, "isConstant": false, "isLValue": false, "isPure": false, @@ -19420,7 +19429,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 1653, + "id": 1654, "isConstant": false, "isLValue": false, "isPure": true, @@ -19440,11 +19449,11 @@ "typeString": "bool" } }, - "id": 1660, + "id": 1661, "nodeType": "IfStatement", "src": "4926:125:11", "trueBody": { - "id": 1659, + "id": 1660, "nodeType": "Block", "src": "4969:82:11", "statements": [ @@ -19452,11 +19461,11 @@ "errorCall": { "arguments": [ { - "id": 1656, + "id": 1657, "name": "beaconImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1643, + "referencedDeclaration": 1644, "src": "5019:20:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19471,18 +19480,18 @@ "typeString": "address" } ], - "id": 1655, + "id": 1656, "name": "ERC1967InvalidImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1443, + "referencedDeclaration": 1444, "src": "4990:28:11", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 1657, + "id": 1658, "isConstant": false, "isLValue": false, "isPure": false, @@ -19498,7 +19507,7 @@ "typeString": "tuple()" } }, - "id": 1658, + "id": 1659, "nodeType": "RevertStatement", "src": "4983:57:11" } @@ -19508,12 +19517,12 @@ ] }, "documentation": { - "id": 1617, + "id": 1618, "nodeType": "StructuredDocumentation", "src": "4543:72:11", "text": " @dev Stores a new beacon in the ERC-1967 beacon slot." }, - "id": 1662, + "id": 1663, "implemented": true, "kind": "function", "modifiers": [], @@ -19521,17 +19530,17 @@ "nameLocation": "4629:10:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1620, + "id": 1621, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1619, + "id": 1620, "mutability": "mutable", "name": "newBeacon", "nameLocation": "4648:9:11", "nodeType": "VariableDeclaration", - "scope": 1662, + "scope": 1663, "src": "4640:17:11", "stateVariable": false, "storageLocation": "default", @@ -19540,7 +19549,7 @@ "typeString": "address" }, "typeName": { - "id": 1618, + "id": 1619, "name": "address", "nodeType": "ElementaryTypeName", "src": "4640:7:11", @@ -19556,12 +19565,12 @@ "src": "4639:19:11" }, "returnParameters": { - "id": 1621, + "id": 1622, "nodeType": "ParameterList", "parameters": [], "src": "4667:0:11" }, - "scope": 1717, + "scope": 1718, "src": "4620:437:11", "stateMutability": "nonpayable", "virtual": false, @@ -19569,7 +19578,7 @@ }, { "body": { - "id": 1701, + "id": 1702, "nodeType": "Block", "src": "5661:263:11", "statements": [ @@ -19577,11 +19586,11 @@ "expression": { "arguments": [ { - "id": 1671, + "id": 1672, "name": "newBeacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1665, + "referencedDeclaration": 1666, "src": "5682:9:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19596,18 +19605,18 @@ "typeString": "address" } ], - "id": 1670, + "id": 1671, "name": "_setBeacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1662, + "referencedDeclaration": 1663, "src": "5671:10:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1672, + "id": 1673, "isConstant": false, "isLValue": false, "isPure": false, @@ -19623,7 +19632,7 @@ "typeString": "tuple()" } }, - "id": 1673, + "id": 1674, "nodeType": "ExpressionStatement", "src": "5671:21:11" }, @@ -19631,11 +19640,11 @@ "eventCall": { "arguments": [ { - "id": 1677, + "id": 1678, "name": "newBeacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1665, + "referencedDeclaration": 1666, "src": "5731:9:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19651,18 +19660,18 @@ } ], "expression": { - "id": 1674, + "id": 1675, "name": "IERC1967", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1238, + "referencedDeclaration": 1239, "src": "5707:8:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC1967_$1238_$", + "typeIdentifier": "t_type$_t_contract$_IERC1967_$1239_$", "typeString": "type(contract IERC1967)" } }, - "id": 1676, + "id": 1677, "isConstant": false, "isLValue": false, "isPure": false, @@ -19670,14 +19679,14 @@ "memberLocation": "5716:14:11", "memberName": "BeaconUpgraded", "nodeType": "MemberAccess", - "referencedDeclaration": 1237, + "referencedDeclaration": 1238, "src": "5707:23:11", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1678, + "id": 1679, "isConstant": false, "isLValue": false, "isPure": false, @@ -19693,7 +19702,7 @@ "typeString": "tuple()" } }, - "id": 1679, + "id": 1680, "nodeType": "EmitStatement", "src": "5702:39:11" }, @@ -19703,25 +19712,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1683, + "id": 1684, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 1680, + "id": 1681, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1667, + "referencedDeclaration": 1668, "src": "5756:4:11", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 1681, + "id": 1682, "isConstant": false, "isLValue": false, "isPure": false, @@ -19739,7 +19748,7 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1682, + "id": 1683, "isConstant": false, "isLValue": false, "isPure": true, @@ -19760,7 +19769,7 @@ } }, "falseBody": { - "id": 1699, + "id": 1700, "nodeType": "Block", "src": "5875:43:11", "statements": [ @@ -19769,18 +19778,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1696, + "id": 1697, "name": "_checkNonPayable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1716, + "referencedDeclaration": 1717, "src": "5889:16:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 1697, + "id": 1698, "isConstant": false, "isLValue": false, "isPure": false, @@ -19796,17 +19805,17 @@ "typeString": "tuple()" } }, - "id": 1698, + "id": 1699, "nodeType": "ExpressionStatement", "src": "5889:18:11" } ] }, - "id": 1700, + "id": 1701, "nodeType": "IfStatement", "src": "5752:166:11", "trueBody": { - "id": 1695, + "id": 1696, "nodeType": "Block", "src": "5773:96:11", "statements": [ @@ -19820,11 +19829,11 @@ "expression": { "arguments": [ { - "id": 1688, + "id": 1689, "name": "newBeacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1665, + "referencedDeclaration": 1666, "src": "5824:9:11", "typeDescriptions": { "typeIdentifier": "t_address", @@ -19839,18 +19848,18 @@ "typeString": "address" } ], - "id": 1687, + "id": 1688, "name": "IBeacon", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1763, + "referencedDeclaration": 1764, "src": "5816:7:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IBeacon_$1763_$", + "typeIdentifier": "t_type$_t_contract$_IBeacon_$1764_$", "typeString": "type(contract IBeacon)" } }, - "id": 1689, + "id": 1690, "isConstant": false, "isLValue": false, "isPure": false, @@ -19862,11 +19871,11 @@ "src": "5816:18:11", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IBeacon_$1763", + "typeIdentifier": "t_contract$_IBeacon_$1764", "typeString": "contract IBeacon" } }, - "id": 1690, + "id": 1691, "isConstant": false, "isLValue": false, "isPure": false, @@ -19874,14 +19883,14 @@ "memberLocation": "5835:14:11", "memberName": "implementation", "nodeType": "MemberAccess", - "referencedDeclaration": 1762, + "referencedDeclaration": 1763, "src": "5816:33:11", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 1691, + "id": 1692, "isConstant": false, "isLValue": false, "isPure": false, @@ -19898,11 +19907,11 @@ } }, { - "id": 1692, + "id": 1693, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1667, + "referencedDeclaration": 1668, "src": "5853:4:11", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -19922,18 +19931,18 @@ } ], "expression": { - "id": 1684, + "id": 1685, "name": "Address", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2872, + "referencedDeclaration": 2873, "src": "5787:7:11", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Address_$2872_$", + "typeIdentifier": "t_type$_t_contract$_Address_$2873_$", "typeString": "type(library Address)" } }, - "id": 1686, + "id": 1687, "isConstant": false, "isLValue": false, "isPure": false, @@ -19941,14 +19950,14 @@ "memberLocation": "5795:20:11", "memberName": "functionDelegateCall", "nodeType": "MemberAccess", - "referencedDeclaration": 2789, + "referencedDeclaration": 2790, "src": "5787:28:11", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory) returns (bytes memory)" } }, - "id": 1693, + "id": 1694, "isConstant": false, "isLValue": false, "isPure": false, @@ -19964,7 +19973,7 @@ "typeString": "bytes memory" } }, - "id": 1694, + "id": 1695, "nodeType": "ExpressionStatement", "src": "5787:71:11" } @@ -19974,12 +19983,12 @@ ] }, "documentation": { - "id": 1663, + "id": 1664, "nodeType": "StructuredDocumentation", "src": "5063:514:11", "text": " @dev Change the beacon and trigger a setup call if data is nonempty.\n This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n to avoid stuck value in the contract.\n Emits an {IERC1967-BeaconUpgraded} event.\n CAUTION: Invoking this function has no effect on an instance of {BeaconProxy} since v5, since\n it uses an immutable beacon without looking at the value of the ERC-1967 beacon slot for\n efficiency." }, - "id": 1702, + "id": 1703, "implemented": true, "kind": "function", "modifiers": [], @@ -19987,17 +19996,17 @@ "nameLocation": "5591:22:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1668, + "id": 1669, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1665, + "id": 1666, "mutability": "mutable", "name": "newBeacon", "nameLocation": "5622:9:11", "nodeType": "VariableDeclaration", - "scope": 1702, + "scope": 1703, "src": "5614:17:11", "stateVariable": false, "storageLocation": "default", @@ -20006,7 +20015,7 @@ "typeString": "address" }, "typeName": { - "id": 1664, + "id": 1665, "name": "address", "nodeType": "ElementaryTypeName", "src": "5614:7:11", @@ -20020,12 +20029,12 @@ }, { "constant": false, - "id": 1667, + "id": 1668, "mutability": "mutable", "name": "data", "nameLocation": "5646:4:11", "nodeType": "VariableDeclaration", - "scope": 1702, + "scope": 1703, "src": "5633:17:11", "stateVariable": false, "storageLocation": "memory", @@ -20034,7 +20043,7 @@ "typeString": "bytes" }, "typeName": { - "id": 1666, + "id": 1667, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5633:5:11", @@ -20049,12 +20058,12 @@ "src": "5613:38:11" }, "returnParameters": { - "id": 1669, + "id": 1670, "nodeType": "ParameterList", "parameters": [], "src": "5661:0:11" }, - "scope": 1717, + "scope": 1718, "src": "5582:342:11", "stateMutability": "nonpayable", "virtual": false, @@ -20062,7 +20071,7 @@ }, { "body": { - "id": 1715, + "id": 1716, "nodeType": "Block", "src": "6149:86:11", "statements": [ @@ -20072,14 +20081,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 1709, + "id": 1710, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 1706, + "id": 1707, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -20090,7 +20099,7 @@ "typeString": "msg" } }, - "id": 1707, + "id": 1708, "isConstant": false, "isLValue": false, "isPure": false, @@ -20108,7 +20117,7 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 1708, + "id": 1709, "isConstant": false, "isLValue": false, "isPure": true, @@ -20128,11 +20137,11 @@ "typeString": "bool" } }, - "id": 1714, + "id": 1715, "nodeType": "IfStatement", "src": "6159:70:11", "trueBody": { - "id": 1713, + "id": 1714, "nodeType": "Block", "src": "6178:51:11", "statements": [ @@ -20141,18 +20150,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1710, + "id": 1711, "name": "ERC1967NonPayable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1456, + "referencedDeclaration": 1457, "src": "6199:17:11", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 1711, + "id": 1712, "isConstant": false, "isLValue": false, "isPure": false, @@ -20168,7 +20177,7 @@ "typeString": "tuple()" } }, - "id": 1712, + "id": 1713, "nodeType": "RevertStatement", "src": "6192:26:11" } @@ -20178,12 +20187,12 @@ ] }, "documentation": { - "id": 1703, + "id": 1704, "nodeType": "StructuredDocumentation", "src": "5930:178:11", "text": " @dev Reverts if `msg.value` is not zero. It can be used to avoid `msg.value` stuck in the contract\n if an upgrade doesn't perform an initialization call." }, - "id": 1716, + "id": 1717, "implemented": true, "kind": "function", "modifiers": [], @@ -20191,31 +20200,31 @@ "nameLocation": "6122:16:11", "nodeType": "FunctionDefinition", "parameters": { - "id": 1704, + "id": 1705, "nodeType": "ParameterList", "parameters": [], "src": "6138:2:11" }, "returnParameters": { - "id": 1705, + "id": 1706, "nodeType": "ParameterList", "parameters": [], "src": "6149:0:11" }, - "scope": 1717, + "scope": 1718, "src": "6113:122:11", "stateMutability": "nonpayable", "virtual": false, "visibility": "private" } ], - "scope": 1718, + "scope": 1719, "src": "496:5741:11", "usedErrors": [ - 1443, - 1448, - 1453, - 1456 + 1444, + 1449, + 1454, + 1457 ], "usedEvents": [] } @@ -20229,15 +20238,15 @@ "absolutePath": "@openzeppelin/contracts/proxy/Proxy.sol", "exportedSymbols": { "Proxy": [ - 1753 + 1754 ] }, - "id": 1754, + "id": 1755, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1719, + "id": 1720, "literals": [ "solidity", "^", @@ -20254,15 +20263,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 1720, + "id": 1721, "nodeType": "StructuredDocumentation", "src": "125:598:12", "text": " @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM\n instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to\n be specified by overriding the virtual {_implementation} function.\n Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a\n different contract through the {_delegate} function.\n The success and return data of the delegated call will be returned back to the caller of the proxy." }, "fullyImplemented": false, - "id": 1753, + "id": 1754, "linearizedBaseContracts": [ - 1753 + 1754 ], "name": "Proxy", "nameLocation": "742:5:12", @@ -20270,7 +20279,7 @@ "nodes": [ { "body": { - "id": 1727, + "id": 1728, "nodeType": "Block", "src": "1009:835:12", "statements": [ @@ -20580,26 +20589,26 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 1723, + "declaration": 1724, "isOffset": false, "isSlot": false, "src": "1463:14:12", "valueSize": 1 } ], - "id": 1726, + "id": 1727, "nodeType": "InlineAssembly", "src": "1019:819:12" } ] }, "documentation": { - "id": 1721, + "id": 1722, "nodeType": "StructuredDocumentation", "src": "754:190:12", "text": " @dev Delegates the current call to `implementation`.\n This function does not return to its internal call site, it will return directly to the external caller." }, - "id": 1728, + "id": 1729, "implemented": true, "kind": "function", "modifiers": [], @@ -20607,17 +20616,17 @@ "nameLocation": "958:9:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1724, + "id": 1725, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1723, + "id": 1724, "mutability": "mutable", "name": "implementation", "nameLocation": "976:14:12", "nodeType": "VariableDeclaration", - "scope": 1728, + "scope": 1729, "src": "968:22:12", "stateVariable": false, "storageLocation": "default", @@ -20626,7 +20635,7 @@ "typeString": "address" }, "typeName": { - "id": 1722, + "id": 1723, "name": "address", "nodeType": "ElementaryTypeName", "src": "968:7:12", @@ -20642,12 +20651,12 @@ "src": "967:24:12" }, "returnParameters": { - "id": 1725, + "id": 1726, "nodeType": "ParameterList", "parameters": [], "src": "1009:0:12" }, - "scope": 1753, + "scope": 1754, "src": "949:895:12", "stateMutability": "nonpayable", "virtual": true, @@ -20655,12 +20664,12 @@ }, { "documentation": { - "id": 1729, + "id": 1730, "nodeType": "StructuredDocumentation", "src": "1850:173:12", "text": " @dev This is a virtual function that should be overridden so it returns the address to which the fallback\n function and {_fallback} should delegate." }, - "id": 1734, + "id": 1735, "implemented": false, "kind": "function", "modifiers": [], @@ -20668,23 +20677,23 @@ "nameLocation": "2037:15:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1730, + "id": 1731, "nodeType": "ParameterList", "parameters": [], "src": "2052:2:12" }, "returnParameters": { - "id": 1733, + "id": 1734, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1732, + "id": 1733, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1734, + "scope": 1735, "src": "2086:7:12", "stateVariable": false, "storageLocation": "default", @@ -20693,7 +20702,7 @@ "typeString": "address" }, "typeName": { - "id": 1731, + "id": 1732, "name": "address", "nodeType": "ElementaryTypeName", "src": "2086:7:12", @@ -20708,7 +20717,7 @@ ], "src": "2085:9:12" }, - "scope": 1753, + "scope": 1754, "src": "2028:67:12", "stateMutability": "view", "virtual": true, @@ -20716,7 +20725,7 @@ }, { "body": { - "id": 1743, + "id": 1744, "nodeType": "Block", "src": "2361:45:12", "statements": [ @@ -20727,18 +20736,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1739, + "id": 1740, "name": "_implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1734, + "referencedDeclaration": 1735, "src": "2381:15:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1740, + "id": 1741, "isConstant": false, "isLValue": false, "isPure": false, @@ -20762,18 +20771,18 @@ "typeString": "address" } ], - "id": 1738, + "id": 1739, "name": "_delegate", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1728, + "referencedDeclaration": 1729, "src": "2371:9:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1741, + "id": 1742, "isConstant": false, "isLValue": false, "isPure": false, @@ -20789,19 +20798,19 @@ "typeString": "tuple()" } }, - "id": 1742, + "id": 1743, "nodeType": "ExpressionStatement", "src": "2371:28:12" } ] }, "documentation": { - "id": 1735, + "id": 1736, "nodeType": "StructuredDocumentation", "src": "2101:217:12", "text": " @dev Delegates the current call to the address returned by `_implementation()`.\n This function does not return to its internal call site, it will return directly to the external caller." }, - "id": 1744, + "id": 1745, "implemented": true, "kind": "function", "modifiers": [], @@ -20809,18 +20818,18 @@ "nameLocation": "2332:9:12", "nodeType": "FunctionDefinition", "parameters": { - "id": 1736, + "id": 1737, "nodeType": "ParameterList", "parameters": [], "src": "2341:2:12" }, "returnParameters": { - "id": 1737, + "id": 1738, "nodeType": "ParameterList", "parameters": [], "src": "2361:0:12" }, - "scope": 1753, + "scope": 1754, "src": "2323:83:12", "stateMutability": "nonpayable", "virtual": true, @@ -20828,7 +20837,7 @@ }, { "body": { - "id": 1751, + "id": 1752, "nodeType": "Block", "src": "2639:28:12", "statements": [ @@ -20837,18 +20846,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1748, + "id": 1749, "name": "_fallback", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1744, + "referencedDeclaration": 1745, "src": "2649:9:12", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 1749, + "id": 1750, "isConstant": false, "isLValue": false, "isPure": false, @@ -20864,19 +20873,19 @@ "typeString": "tuple()" } }, - "id": 1750, + "id": 1751, "nodeType": "ExpressionStatement", "src": "2649:11:12" } ] }, "documentation": { - "id": 1745, + "id": 1746, "nodeType": "StructuredDocumentation", "src": "2412:186:12", "text": " @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other\n function in the contract matches the call data." }, - "id": 1752, + "id": 1753, "implemented": true, "kind": "fallback", "modifiers": [], @@ -20884,25 +20893,25 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 1746, + "id": 1747, "nodeType": "ParameterList", "parameters": [], "src": "2611:2:12" }, "returnParameters": { - "id": 1747, + "id": 1748, "nodeType": "ParameterList", "parameters": [], "src": "2639:0:12" }, - "scope": 1753, + "scope": 1754, "src": "2603:64:12", "stateMutability": "payable", "virtual": true, "visibility": "external" } ], - "scope": 1754, + "scope": 1755, "src": "724:1945:12", "usedErrors": [], "usedEvents": [] @@ -20917,23 +20926,23 @@ "absolutePath": "@openzeppelin/contracts/proxy/beacon/IBeacon.sol", "exportedSymbols": { "IBeacon": [ - 1763 + 1764 ] }, - "id": 1764, + "id": 1765, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1755, + "id": 1756, "literals": [ "solidity", - "^", - "0.8", - ".20" + ">=", + "0.4", + ".16" ], "nodeType": "PragmaDirective", - "src": "108:24:13" + "src": "108:25:13" }, { "abstract": false, @@ -20942,54 +20951,54 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 1756, + "id": 1757, "nodeType": "StructuredDocumentation", - "src": "134:79:13", + "src": "135:79:13", "text": " @dev This is the interface that {BeaconProxy} expects of its beacon." }, "fullyImplemented": false, - "id": 1763, + "id": 1764, "linearizedBaseContracts": [ - 1763 + 1764 ], "name": "IBeacon", - "nameLocation": "224:7:13", + "nameLocation": "225:7:13", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { - "id": 1757, + "id": 1758, "nodeType": "StructuredDocumentation", - "src": "238:168:13", + "src": "239:168:13", "text": " @dev Must return an address that can be used as a delegate call target.\n {UpgradeableBeacon} will check that this address is a contract." }, "functionSelector": "5c60da1b", - "id": 1762, + "id": 1763, "implemented": false, "kind": "function", "modifiers": [], "name": "implementation", - "nameLocation": "420:14:13", + "nameLocation": "421:14:13", "nodeType": "FunctionDefinition", "parameters": { - "id": 1758, + "id": 1759, "nodeType": "ParameterList", "parameters": [], - "src": "434:2:13" + "src": "435:2:13" }, "returnParameters": { - "id": 1761, + "id": 1762, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1760, + "id": 1761, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1762, - "src": "460:7:13", + "scope": 1763, + "src": "461:7:13", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -20997,10 +21006,10 @@ "typeString": "address" }, "typeName": { - "id": 1759, + "id": 1760, "name": "address", "nodeType": "ElementaryTypeName", - "src": "460:7:13", + "src": "461:7:13", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21010,22 +21019,22 @@ "visibility": "internal" } ], - "src": "459:9:13" + "src": "460:9:13" }, - "scope": 1763, - "src": "411:58:13", + "scope": 1764, + "src": "412:58:13", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 1764, - "src": "214:257:13", + "scope": 1765, + "src": "215:257:13", "usedErrors": [], "usedEvents": [] } ], - "src": "108:364:13" + "src": "108:365:13" }, "id": 13 }, @@ -21034,21 +21043,21 @@ "absolutePath": "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol", "exportedSymbols": { "ITransparentUpgradeableProxy": [ - 1833 + 1834 ], "Ownable": [ - 1217 + 1218 ], "ProxyAdmin": [ - 1811 + 1812 ] }, - "id": 1812, + "id": 1813, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1765, + "id": 1766, "literals": [ "solidity", "^", @@ -21061,20 +21070,20 @@ { "absolutePath": "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol", "file": "./TransparentUpgradeableProxy.sol", - "id": 1767, + "id": 1768, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1812, - "sourceUnit": 1948, + "scope": 1813, + "sourceUnit": 1949, "src": "142:79:14", "symbolAliases": [ { "foreign": { - "id": 1766, + "id": 1767, "name": "ITransparentUpgradeableProxy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1833, + "referencedDeclaration": 1834, "src": "150:28:14", "typeDescriptions": {} }, @@ -21086,20 +21095,20 @@ { "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", "file": "../../access/Ownable.sol", - "id": 1769, + "id": 1770, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1812, - "sourceUnit": 1218, + "scope": 1813, + "sourceUnit": 1219, "src": "222:49:14", "symbolAliases": [ { "foreign": { - "id": 1768, + "id": 1769, "name": "Ownable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1217, + "referencedDeclaration": 1218, "src": "230:7:14", "typeDescriptions": {} }, @@ -21113,16 +21122,16 @@ "baseContracts": [ { "baseName": { - "id": 1771, + "id": 1772, "name": "Ownable", "nameLocations": [ "525:7:14" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1217, + "referencedDeclaration": 1218, "src": "525:7:14" }, - "id": 1772, + "id": 1773, "nodeType": "InheritanceSpecifier", "src": "525:7:14" } @@ -21131,17 +21140,17 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 1770, + "id": 1771, "nodeType": "StructuredDocumentation", "src": "273:228:14", "text": " @dev This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an\n explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}." }, "fullyImplemented": true, - "id": 1811, + "id": 1812, "linearizedBaseContracts": [ - 1811, - 1217, - 2902 + 1812, + 1218, + 2903 ], "name": "ProxyAdmin", "nameLocation": "511:10:14", @@ -21150,18 +21159,18 @@ { "constant": true, "documentation": { - "id": 1773, + "id": 1774, "nodeType": "StructuredDocumentation", "src": "539:643:14", "text": " @dev The version of the upgrade interface of the contract. If this getter is missing, both `upgrade(address,address)`\n and `upgradeAndCall(address,address,bytes)` are present, and `upgrade` must be used if no function should be called,\n while `upgradeAndCall` will invoke the `receive` function if the third argument is the empty byte string.\n If the getter returns `\"5.0.0\"`, only `upgradeAndCall(address,address,bytes)` is present, and the third argument must\n be the empty byte string if no function should be called, making it impossible to invoke the `receive` function\n during an upgrade." }, "functionSelector": "ad3cb1cc", - "id": 1776, + "id": 1777, "mutability": "constant", "name": "UPGRADE_INTERFACE_VERSION", "nameLocation": "1210:25:14", "nodeType": "VariableDeclaration", - "scope": 1811, + "scope": 1812, "src": "1187:58:14", "stateVariable": true, "storageLocation": "default", @@ -21170,7 +21179,7 @@ "typeString": "string" }, "typeName": { - "id": 1774, + "id": 1775, "name": "string", "nodeType": "ElementaryTypeName", "src": "1187:6:14", @@ -21181,7 +21190,7 @@ }, "value": { "hexValue": "352e302e30", - "id": 1775, + "id": 1776, "isConstant": false, "isLValue": false, "isPure": true, @@ -21199,29 +21208,29 @@ }, { "body": { - "id": 1785, + "id": 1786, "nodeType": "Block", "src": "1385:2:14", "statements": [] }, "documentation": { - "id": 1777, + "id": 1778, "nodeType": "StructuredDocumentation", "src": "1252:72:14", "text": " @dev Sets the initial owner who can perform upgrades." }, - "id": 1786, + "id": 1787, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { - "id": 1782, + "id": 1783, "name": "initialOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1779, + "referencedDeclaration": 1780, "src": "1371:12:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21229,16 +21238,16 @@ } } ], - "id": 1783, + "id": 1784, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 1781, + "id": 1782, "name": "Ownable", "nameLocations": [ "1363:7:14" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1217, + "referencedDeclaration": 1218, "src": "1363:7:14" }, "nodeType": "ModifierInvocation", @@ -21249,17 +21258,17 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 1780, + "id": 1781, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1779, + "id": 1780, "mutability": "mutable", "name": "initialOwner", "nameLocation": "1349:12:14", "nodeType": "VariableDeclaration", - "scope": 1786, + "scope": 1787, "src": "1341:20:14", "stateVariable": false, "storageLocation": "default", @@ -21268,7 +21277,7 @@ "typeString": "address" }, "typeName": { - "id": 1778, + "id": 1779, "name": "address", "nodeType": "ElementaryTypeName", "src": "1341:7:14", @@ -21284,12 +21293,12 @@ "src": "1340:22:14" }, "returnParameters": { - "id": 1784, + "id": 1785, "nodeType": "ParameterList", "parameters": [], "src": "1385:0:14" }, - "scope": 1811, + "scope": 1812, "src": "1329:58:14", "stateMutability": "nonpayable", "virtual": false, @@ -21297,7 +21306,7 @@ }, { "body": { - "id": 1809, + "id": 1810, "nodeType": "Block", "src": "1883:79:14", "statements": [ @@ -21305,11 +21314,11 @@ "expression": { "arguments": [ { - "id": 1805, + "id": 1806, "name": "implementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1792, + "referencedDeclaration": 1793, "src": "1934:14:14", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21317,11 +21326,11 @@ } }, { - "id": 1806, + "id": 1807, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1794, + "referencedDeclaration": 1795, "src": "1950:4:14", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -21352,18 +21361,18 @@ } ], "expression": { - "id": 1799, + "id": 1800, "name": "proxy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1790, + "referencedDeclaration": 1791, "src": "1893:5:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITransparentUpgradeableProxy_$1833", + "typeIdentifier": "t_contract$_ITransparentUpgradeableProxy_$1834", "typeString": "contract ITransparentUpgradeableProxy" } }, - "id": 1801, + "id": 1802, "isConstant": false, "isLValue": false, "isPure": false, @@ -21371,14 +21380,14 @@ "memberLocation": "1899:16:14", "memberName": "upgradeToAndCall", "nodeType": "MemberAccess", - "referencedDeclaration": 1832, + "referencedDeclaration": 1833, "src": "1893:22:14", "typeDescriptions": { "typeIdentifier": "t_function_external_payable$_t_address_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,bytes memory) payable external" } }, - "id": 1804, + "id": 1805, "isConstant": false, "isLValue": false, "isPure": false, @@ -21390,7 +21399,7 @@ "options": [ { "expression": { - "id": 1802, + "id": 1803, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -21401,7 +21410,7 @@ "typeString": "msg" } }, - "id": 1803, + "id": 1804, "isConstant": false, "isLValue": false, "isPure": false, @@ -21422,7 +21431,7 @@ "typeString": "function (address,bytes memory) payable external" } }, - "id": 1807, + "id": 1808, "isConstant": false, "isLValue": false, "isPure": false, @@ -21438,34 +21447,34 @@ "typeString": "tuple()" } }, - "id": 1808, + "id": 1809, "nodeType": "ExpressionStatement", "src": "1893:62:14" } ] }, "documentation": { - "id": 1787, + "id": 1788, "nodeType": "StructuredDocumentation", "src": "1393:319:14", "text": " @dev Upgrades `proxy` to `implementation` and calls a function on the new implementation.\n See {TransparentUpgradeableProxy-_dispatchUpgradeToAndCall}.\n Requirements:\n - This contract must be the admin of `proxy`.\n - If `data` is empty, `msg.value` must be zero." }, "functionSelector": "9623609d", - "id": 1810, + "id": 1811, "implemented": true, "kind": "function", "modifiers": [ { - "id": 1797, + "id": 1798, "kind": "modifierInvocation", "modifierName": { - "id": 1796, + "id": 1797, "name": "onlyOwner", "nameLocations": [ "1873:9:14" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1128, + "referencedDeclaration": 1129, "src": "1873:9:14" }, "nodeType": "ModifierInvocation", @@ -21476,41 +21485,41 @@ "nameLocation": "1726:14:14", "nodeType": "FunctionDefinition", "parameters": { - "id": 1795, + "id": 1796, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1790, + "id": 1791, "mutability": "mutable", "name": "proxy", "nameLocation": "1779:5:14", "nodeType": "VariableDeclaration", - "scope": 1810, + "scope": 1811, "src": "1750:34:14", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITransparentUpgradeableProxy_$1833", + "typeIdentifier": "t_contract$_ITransparentUpgradeableProxy_$1834", "typeString": "contract ITransparentUpgradeableProxy" }, "typeName": { - "id": 1789, + "id": 1790, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 1788, + "id": 1789, "name": "ITransparentUpgradeableProxy", "nameLocations": [ "1750:28:14" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1833, + "referencedDeclaration": 1834, "src": "1750:28:14" }, - "referencedDeclaration": 1833, + "referencedDeclaration": 1834, "src": "1750:28:14", "typeDescriptions": { - "typeIdentifier": "t_contract$_ITransparentUpgradeableProxy_$1833", + "typeIdentifier": "t_contract$_ITransparentUpgradeableProxy_$1834", "typeString": "contract ITransparentUpgradeableProxy" } }, @@ -21518,12 +21527,12 @@ }, { "constant": false, - "id": 1792, + "id": 1793, "mutability": "mutable", "name": "implementation", "nameLocation": "1802:14:14", "nodeType": "VariableDeclaration", - "scope": 1810, + "scope": 1811, "src": "1794:22:14", "stateVariable": false, "storageLocation": "default", @@ -21532,7 +21541,7 @@ "typeString": "address" }, "typeName": { - "id": 1791, + "id": 1792, "name": "address", "nodeType": "ElementaryTypeName", "src": "1794:7:14", @@ -21546,12 +21555,12 @@ }, { "constant": false, - "id": 1794, + "id": 1795, "mutability": "mutable", "name": "data", "nameLocation": "1839:4:14", "nodeType": "VariableDeclaration", - "scope": 1810, + "scope": 1811, "src": "1826:17:14", "stateVariable": false, "storageLocation": "memory", @@ -21560,7 +21569,7 @@ "typeString": "bytes" }, "typeName": { - "id": 1793, + "id": 1794, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1826:5:14", @@ -21575,26 +21584,26 @@ "src": "1740:109:14" }, "returnParameters": { - "id": 1798, + "id": 1799, "nodeType": "ParameterList", "parameters": [], "src": "1883:0:14" }, - "scope": 1811, + "scope": 1812, "src": "1717:245:14", "stateMutability": "payable", "virtual": true, "visibility": "public" } ], - "scope": 1812, + "scope": 1813, "src": "502:1462:14", "usedErrors": [ - 1083, - 1088 + 1084, + 1089 ], "usedEvents": [ - 1094 + 1095 ] } ], @@ -21607,30 +21616,30 @@ "absolutePath": "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol", "exportedSymbols": { "ERC1967Proxy": [ - 1423 + 1424 ], "ERC1967Utils": [ - 1717 + 1718 ], "IERC1967": [ - 1238 + 1239 ], "ITransparentUpgradeableProxy": [ - 1833 + 1834 ], "ProxyAdmin": [ - 1811 + 1812 ], "TransparentUpgradeableProxy": [ - 1947 + 1948 ] }, - "id": 1948, + "id": 1949, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1813, + "id": 1814, "literals": [ "solidity", "^", @@ -21643,20 +21652,20 @@ { "absolutePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol", "file": "../ERC1967/ERC1967Utils.sol", - "id": 1815, + "id": 1816, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1948, - "sourceUnit": 1718, + "scope": 1949, + "sourceUnit": 1719, "src": "159:57:15", "symbolAliases": [ { "foreign": { - "id": 1814, + "id": 1815, "name": "ERC1967Utils", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1717, + "referencedDeclaration": 1718, "src": "167:12:15", "typeDescriptions": {} }, @@ -21668,20 +21677,20 @@ { "absolutePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol", "file": "../ERC1967/ERC1967Proxy.sol", - "id": 1817, + "id": 1818, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1948, - "sourceUnit": 1424, + "scope": 1949, + "sourceUnit": 1425, "src": "217:57:15", "symbolAliases": [ { "foreign": { - "id": 1816, + "id": 1817, "name": "ERC1967Proxy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1423, + "referencedDeclaration": 1424, "src": "225:12:15", "typeDescriptions": {} }, @@ -21693,20 +21702,20 @@ { "absolutePath": "@openzeppelin/contracts/interfaces/IERC1967.sol", "file": "../../interfaces/IERC1967.sol", - "id": 1819, + "id": 1820, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1948, - "sourceUnit": 1239, + "scope": 1949, + "sourceUnit": 1240, "src": "275:55:15", "symbolAliases": [ { "foreign": { - "id": 1818, + "id": 1819, "name": "IERC1967", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1238, + "referencedDeclaration": 1239, "src": "283:8:15", "typeDescriptions": {} }, @@ -21718,20 +21727,20 @@ { "absolutePath": "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol", "file": "./ProxyAdmin.sol", - "id": 1821, + "id": 1822, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 1948, - "sourceUnit": 1812, + "scope": 1949, + "sourceUnit": 1813, "src": "331:44:15", "symbolAliases": [ { "foreign": { - "id": 1820, + "id": 1821, "name": "ProxyAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1811, + "referencedDeclaration": 1812, "src": "339:10:15", "typeDescriptions": {} }, @@ -21745,16 +21754,16 @@ "baseContracts": [ { "baseName": { - "id": 1823, + "id": 1824, "name": "IERC1967", "nameLocations": [ "865:8:15" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1238, + "referencedDeclaration": 1239, "src": "865:8:15" }, - "id": 1824, + "id": 1825, "nodeType": "InheritanceSpecifier", "src": "865:8:15" } @@ -21763,16 +21772,16 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 1822, + "id": 1823, "nodeType": "StructuredDocumentation", "src": "377:445:15", "text": " @dev Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy}\n does not implement this interface directly, and its upgradeability mechanism is implemented by an internal dispatch\n mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not\n include them in the ABI so this interface must be used to interact with it." }, "fullyImplemented": false, - "id": 1833, + "id": 1834, "linearizedBaseContracts": [ - 1833, - 1238 + 1834, + 1239 ], "name": "ITransparentUpgradeableProxy", "nameLocation": "833:28:15", @@ -21780,13 +21789,13 @@ "nodes": [ { "documentation": { - "id": 1825, + "id": 1826, "nodeType": "StructuredDocumentation", "src": "880:47:15", "text": "@dev See {UUPSUpgradeable-upgradeToAndCall}" }, "functionSelector": "4f1ef286", - "id": 1832, + "id": 1833, "implemented": false, "kind": "function", "modifiers": [], @@ -21794,17 +21803,17 @@ "nameLocation": "941:16:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 1830, + "id": 1831, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1827, + "id": 1828, "mutability": "mutable", "name": "newImplementation", "nameLocation": "966:17:15", "nodeType": "VariableDeclaration", - "scope": 1832, + "scope": 1833, "src": "958:25:15", "stateVariable": false, "storageLocation": "default", @@ -21813,7 +21822,7 @@ "typeString": "address" }, "typeName": { - "id": 1826, + "id": 1827, "name": "address", "nodeType": "ElementaryTypeName", "src": "958:7:15", @@ -21827,12 +21836,12 @@ }, { "constant": false, - "id": 1829, + "id": 1830, "mutability": "mutable", "name": "data", "nameLocation": "1000:4:15", "nodeType": "VariableDeclaration", - "scope": 1832, + "scope": 1833, "src": "985:19:15", "stateVariable": false, "storageLocation": "calldata", @@ -21841,7 +21850,7 @@ "typeString": "bytes" }, "typeName": { - "id": 1828, + "id": 1829, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "985:5:15", @@ -21856,25 +21865,25 @@ "src": "957:48:15" }, "returnParameters": { - "id": 1831, + "id": 1832, "nodeType": "ParameterList", "parameters": [], "src": "1022:0:15" }, - "scope": 1833, + "scope": 1834, "src": "932:91:15", "stateMutability": "payable", "virtual": false, "visibility": "external" } ], - "scope": 1948, + "scope": 1949, "src": "823:202:15", "usedErrors": [], "usedEvents": [ - 1225, - 1232, - 1237 + 1226, + 1233, + 1238 ] }, { @@ -21882,37 +21891,37 @@ "baseContracts": [ { "baseName": { - "id": 1835, + "id": 1836, "name": "ERC1967Proxy", "nameLocations": [ "4354:12:15" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1423, + "referencedDeclaration": 1424, "src": "4354:12:15" }, - "id": 1836, + "id": 1837, "nodeType": "InheritanceSpecifier", "src": "4354:12:15" } ], "canonicalName": "TransparentUpgradeableProxy", "contractDependencies": [ - 1811 + 1812 ], "contractKind": "contract", "documentation": { - "id": 1834, + "id": 1835, "nodeType": "StructuredDocumentation", "src": "1027:3286:15", "text": " @dev This contract implements a proxy that is upgradeable through an associated {ProxyAdmin} instance.\n To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector\n clashing], which can potentially be used in an attack, this contract uses the\n https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two\n things that go hand in hand:\n 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if\n that call matches the {ITransparentUpgradeableProxy-upgradeToAndCall} function exposed by the proxy itself.\n 2. If the admin calls the proxy, it can call the `upgradeToAndCall` function but any other call won't be forwarded to\n the implementation. If the admin tries to call a function on the implementation it will fail with an error indicating\n the proxy admin cannot fallback to the target implementation.\n These properties mean that the admin account can only be used for upgrading the proxy, so it's best if it's a\n dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to\n call a function from the proxy implementation. For this reason, the proxy deploys an instance of {ProxyAdmin} and\n allows upgrades only if they come through it. You should think of the `ProxyAdmin` instance as the administrative\n interface of the proxy, including the ability to change who can trigger upgrades by transferring ownership.\n NOTE: The real interface of this proxy is that defined in `ITransparentUpgradeableProxy`. This contract does not\n inherit from that interface, and instead `upgradeToAndCall` is implicitly implemented using a custom dispatch\n mechanism in `_fallback`. Consequently, the compiler will not produce an ABI for this contract. This is necessary to\n fully implement transparency without decoding reverts caused by selector clashes between the proxy and the\n implementation.\n NOTE: This proxy does not inherit from {Context} deliberately. The {ProxyAdmin} of this contract won't send a\n meta-transaction in any way, and any other meta-transaction setup should be made in the implementation contract.\n IMPORTANT: This contract avoids unnecessary storage reads by setting the admin only during construction as an\n immutable variable, preventing any changes thereafter. However, the admin slot defined in ERC-1967 can still be\n overwritten by the implementation logic pointed to by this proxy. In such cases, the contract may end up in an\n undesirable state where the admin slot is different from the actual admin. Relying on the value of the admin slot\n is generally fine if the implementation is trusted.\n WARNING: It is not recommended to extend this contract to add additional external functions. If you do so, the\n compiler will not check that there are no selector conflicts, due to the note above. A selector clash between any new\n function and the functions declared in {ITransparentUpgradeableProxy} will be resolved in favor of the new one. This\n could render the `upgradeToAndCall` function inaccessible, preventing upgradeability and compromising transparency." }, "fullyImplemented": true, - "id": 1947, + "id": 1948, "linearizedBaseContracts": [ - 1947, - 1423, - 1753 + 1948, + 1424, + 1754 ], "name": "TransparentUpgradeableProxy", "nameLocation": "4323:27:15", @@ -21920,12 +21929,12 @@ "nodes": [ { "constant": false, - "id": 1838, + "id": 1839, "mutability": "immutable", "name": "_admin", "nameLocation": "4734:6:15", "nodeType": "VariableDeclaration", - "scope": 1947, + "scope": 1948, "src": "4708:32:15", "stateVariable": true, "storageLocation": "default", @@ -21934,7 +21943,7 @@ "typeString": "address" }, "typeName": { - "id": 1837, + "id": 1838, "name": "address", "nodeType": "ElementaryTypeName", "src": "4708:7:15", @@ -21948,18 +21957,18 @@ }, { "documentation": { - "id": 1839, + "id": 1840, "nodeType": "StructuredDocumentation", "src": "4747:102:15", "text": " @dev The proxy caller is the current admin, and can't fallback to the proxy target." }, "errorSelector": "d2b576ec", - "id": 1841, + "id": 1842, "name": "ProxyDeniedAdminAccess", "nameLocation": "4860:22:15", "nodeType": "ErrorDefinition", "parameters": { - "id": 1840, + "id": 1841, "nodeType": "ParameterList", "parameters": [], "src": "4882:2:15" @@ -21968,23 +21977,23 @@ }, { "body": { - "id": 1873, + "id": 1874, "nodeType": "Block", "src": "5263:190:15", "statements": [ { "expression": { - "id": 1864, + "id": 1865, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1855, + "id": 1856, "name": "_admin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1838, + "referencedDeclaration": 1839, "src": "5273:6:15", "typeDescriptions": { "typeIdentifier": "t_address", @@ -21998,11 +22007,11 @@ { "arguments": [ { - "id": 1861, + "id": 1862, "name": "initialOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1846, + "referencedDeclaration": 1847, "src": "5305:12:15", "typeDescriptions": { "typeIdentifier": "t_address", @@ -22017,7 +22026,7 @@ "typeString": "address" } ], - "id": 1860, + "id": 1861, "isConstant": false, "isLValue": false, "isPure": false, @@ -22025,31 +22034,31 @@ "nodeType": "NewExpression", "src": "5290:14:15", "typeDescriptions": { - "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_ProxyAdmin_$1811_$", + "typeIdentifier": "t_function_creation_nonpayable$_t_address_$returns$_t_contract$_ProxyAdmin_$1812_$", "typeString": "function (address) returns (contract ProxyAdmin)" }, "typeName": { - "id": 1859, + "id": 1860, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 1858, + "id": 1859, "name": "ProxyAdmin", "nameLocations": [ "5294:10:15" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1811, + "referencedDeclaration": 1812, "src": "5294:10:15" }, - "referencedDeclaration": 1811, + "referencedDeclaration": 1812, "src": "5294:10:15", "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyAdmin_$1811", + "typeIdentifier": "t_contract$_ProxyAdmin_$1812", "typeString": "contract ProxyAdmin" } } }, - "id": 1862, + "id": 1863, "isConstant": false, "isLValue": false, "isPure": false, @@ -22061,7 +22070,7 @@ "src": "5290:28:15", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_ProxyAdmin_$1811", + "typeIdentifier": "t_contract$_ProxyAdmin_$1812", "typeString": "contract ProxyAdmin" } } @@ -22069,11 +22078,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_ProxyAdmin_$1811", + "typeIdentifier": "t_contract$_ProxyAdmin_$1812", "typeString": "contract ProxyAdmin" } ], - "id": 1857, + "id": 1858, "isConstant": false, "isLValue": false, "isPure": true, @@ -22085,14 +22094,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 1856, + "id": 1857, "name": "address", "nodeType": "ElementaryTypeName", "src": "5282:7:15", "typeDescriptions": {} } }, - "id": 1863, + "id": 1864, "isConstant": false, "isLValue": false, "isPure": false, @@ -22114,7 +22123,7 @@ "typeString": "address" } }, - "id": 1865, + "id": 1866, "nodeType": "ExpressionStatement", "src": "5273:46:15" }, @@ -22125,18 +22134,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1869, + "id": 1870, "name": "_proxyAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1883, + "referencedDeclaration": 1884, "src": "5432:11:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1870, + "id": 1871, "isConstant": false, "isLValue": false, "isPure": false, @@ -22161,18 +22170,18 @@ } ], "expression": { - "id": 1866, + "id": 1867, "name": "ERC1967Utils", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1717, + "referencedDeclaration": 1718, "src": "5407:12:15", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1717_$", + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1718_$", "typeString": "type(library ERC1967Utils)" } }, - "id": 1868, + "id": 1869, "isConstant": false, "isLValue": false, "isPure": false, @@ -22180,14 +22189,14 @@ "memberLocation": "5420:11:15", "memberName": "changeAdmin", "nodeType": "MemberAccess", - "referencedDeclaration": 1599, + "referencedDeclaration": 1600, "src": "5407:24:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 1871, + "id": 1872, "isConstant": false, "isLValue": false, "isPure": false, @@ -22203,30 +22212,30 @@ "typeString": "tuple()" } }, - "id": 1872, + "id": 1873, "nodeType": "ExpressionStatement", "src": "5407:39:15" } ] }, "documentation": { - "id": 1842, + "id": 1843, "nodeType": "StructuredDocumentation", "src": "4891:261:15", "text": " @dev Initializes an upgradeable proxy managed by an instance of a {ProxyAdmin} with an `initialOwner`,\n backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in\n {ERC1967Proxy-constructor}." }, - "id": 1874, + "id": 1875, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { - "id": 1851, + "id": 1852, "name": "_logic", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1844, + "referencedDeclaration": 1845, "src": "5248:6:15", "typeDescriptions": { "typeIdentifier": "t_address", @@ -22234,11 +22243,11 @@ } }, { - "id": 1852, + "id": 1853, "name": "_data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1848, + "referencedDeclaration": 1849, "src": "5256:5:15", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -22246,16 +22255,16 @@ } } ], - "id": 1853, + "id": 1854, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 1850, + "id": 1851, "name": "ERC1967Proxy", "nameLocations": [ "5235:12:15" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1423, + "referencedDeclaration": 1424, "src": "5235:12:15" }, "nodeType": "ModifierInvocation", @@ -22266,17 +22275,17 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 1849, + "id": 1850, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1844, + "id": 1845, "mutability": "mutable", "name": "_logic", "nameLocation": "5177:6:15", "nodeType": "VariableDeclaration", - "scope": 1874, + "scope": 1875, "src": "5169:14:15", "stateVariable": false, "storageLocation": "default", @@ -22285,7 +22294,7 @@ "typeString": "address" }, "typeName": { - "id": 1843, + "id": 1844, "name": "address", "nodeType": "ElementaryTypeName", "src": "5169:7:15", @@ -22299,12 +22308,12 @@ }, { "constant": false, - "id": 1846, + "id": 1847, "mutability": "mutable", "name": "initialOwner", "nameLocation": "5193:12:15", "nodeType": "VariableDeclaration", - "scope": 1874, + "scope": 1875, "src": "5185:20:15", "stateVariable": false, "storageLocation": "default", @@ -22313,7 +22322,7 @@ "typeString": "address" }, "typeName": { - "id": 1845, + "id": 1846, "name": "address", "nodeType": "ElementaryTypeName", "src": "5185:7:15", @@ -22327,12 +22336,12 @@ }, { "constant": false, - "id": 1848, + "id": 1849, "mutability": "mutable", "name": "_data", "nameLocation": "5220:5:15", "nodeType": "VariableDeclaration", - "scope": 1874, + "scope": 1875, "src": "5207:18:15", "stateVariable": false, "storageLocation": "memory", @@ -22341,7 +22350,7 @@ "typeString": "bytes" }, "typeName": { - "id": 1847, + "id": 1848, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5207:5:15", @@ -22356,12 +22365,12 @@ "src": "5168:58:15" }, "returnParameters": { - "id": 1854, + "id": 1855, "nodeType": "ParameterList", "parameters": [], "src": "5263:0:15" }, - "scope": 1947, + "scope": 1948, "src": "5157:296:15", "stateMutability": "payable", "virtual": false, @@ -22369,37 +22378,37 @@ }, { "body": { - "id": 1882, + "id": 1883, "nodeType": "Block", "src": "5583:30:15", "statements": [ { "expression": { - "id": 1880, + "id": 1881, "name": "_admin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1838, + "referencedDeclaration": 1839, "src": "5600:6:15", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 1879, - "id": 1881, + "functionReturnParameters": 1880, + "id": 1882, "nodeType": "Return", "src": "5593:13:15" } ] }, "documentation": { - "id": 1875, + "id": 1876, "nodeType": "StructuredDocumentation", "src": "5459:56:15", "text": " @dev Returns the admin of this proxy." }, - "id": 1883, + "id": 1884, "implemented": true, "kind": "function", "modifiers": [], @@ -22407,23 +22416,23 @@ "nameLocation": "5529:11:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 1876, + "id": 1877, "nodeType": "ParameterList", "parameters": [], "src": "5540:2:15" }, "returnParameters": { - "id": 1879, + "id": 1880, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1878, + "id": 1879, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 1883, + "scope": 1884, "src": "5574:7:15", "stateVariable": false, "storageLocation": "default", @@ -22432,7 +22441,7 @@ "typeString": "address" }, "typeName": { - "id": 1877, + "id": 1878, "name": "address", "nodeType": "ElementaryTypeName", "src": "5574:7:15", @@ -22447,7 +22456,7 @@ ], "src": "5573:9:15" }, - "scope": 1947, + "scope": 1948, "src": "5520:93:15", "stateMutability": "view", "virtual": true, @@ -22455,10 +22464,10 @@ }, { "baseFunctions": [ - 1744 + 1745 ], "body": { - "id": 1916, + "id": 1917, "nodeType": "Block", "src": "5802:322:15", "statements": [ @@ -22468,14 +22477,14 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 1892, + "id": 1893, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 1888, + "id": 1889, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22486,7 +22495,7 @@ "typeString": "msg" } }, - "id": 1889, + "id": 1890, "isConstant": false, "isLValue": false, "isPure": false, @@ -22506,18 +22515,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1890, + "id": 1891, "name": "_proxyAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1883, + "referencedDeclaration": 1884, "src": "5830:11:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 1891, + "id": 1892, "isConstant": false, "isLValue": false, "isPure": false, @@ -22540,7 +22549,7 @@ } }, "falseBody": { - "id": 1914, + "id": 1915, "nodeType": "Block", "src": "6076:42:15", "statements": [ @@ -22550,18 +22559,18 @@ "expression": { "argumentTypes": [], "expression": { - "id": 1909, + "id": 1910, "name": "super", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -25, "src": "6090:5:15", "typeDescriptions": { - "typeIdentifier": "t_type$_t_super$_TransparentUpgradeableProxy_$1947_$", + "typeIdentifier": "t_type$_t_super$_TransparentUpgradeableProxy_$1948_$", "typeString": "type(contract super TransparentUpgradeableProxy)" } }, - "id": 1911, + "id": 1912, "isConstant": false, "isLValue": false, "isPure": false, @@ -22569,14 +22578,14 @@ "memberLocation": "6096:9:15", "memberName": "_fallback", "nodeType": "MemberAccess", - "referencedDeclaration": 1744, + "referencedDeclaration": 1745, "src": "6090:15:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 1912, + "id": 1913, "isConstant": false, "isLValue": false, "isPure": false, @@ -22592,17 +22601,17 @@ "typeString": "tuple()" } }, - "id": 1913, + "id": 1914, "nodeType": "ExpressionStatement", "src": "6090:17:15" } ] }, - "id": 1915, + "id": 1916, "nodeType": "IfStatement", "src": "5812:306:15", "trueBody": { - "id": 1908, + "id": 1909, "nodeType": "Block", "src": "5845:225:15", "statements": [ @@ -22612,14 +22621,14 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 1898, + "id": 1899, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 1893, + "id": 1894, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22630,7 +22639,7 @@ "typeString": "msg" } }, - "id": 1894, + "id": 1895, "isConstant": false, "isLValue": false, "isPure": false, @@ -22649,18 +22658,18 @@ "rightExpression": { "expression": { "expression": { - "id": 1895, + "id": 1896, "name": "ITransparentUpgradeableProxy", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1833, + "referencedDeclaration": 1834, "src": "5874:28:15", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ITransparentUpgradeableProxy_$1833_$", + "typeIdentifier": "t_type$_t_contract$_ITransparentUpgradeableProxy_$1834_$", "typeString": "type(contract ITransparentUpgradeableProxy)" } }, - "id": 1896, + "id": 1897, "isConstant": false, "isLValue": false, "isPure": true, @@ -22668,14 +22677,14 @@ "memberLocation": "5903:16:15", "memberName": "upgradeToAndCall", "nodeType": "MemberAccess", - "referencedDeclaration": 1832, + "referencedDeclaration": 1833, "src": "5874:45:15", "typeDescriptions": { "typeIdentifier": "t_function_declaration_payable$_t_address_$_t_bytes_calldata_ptr_$returns$__$", "typeString": "function ITransparentUpgradeableProxy.upgradeToAndCall(address,bytes calldata) payable" } }, - "id": 1897, + "id": 1898, "isConstant": false, "isLValue": false, "isPure": true, @@ -22696,7 +22705,7 @@ } }, "falseBody": { - "id": 1906, + "id": 1907, "nodeType": "Block", "src": "6000:60:15", "statements": [ @@ -22705,18 +22714,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1903, + "id": 1904, "name": "_dispatchUpgradeToAndCall", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1946, + "referencedDeclaration": 1947, "src": "6018:25:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", "typeString": "function ()" } }, - "id": 1904, + "id": 1905, "isConstant": false, "isLValue": false, "isPure": false, @@ -22732,17 +22741,17 @@ "typeString": "tuple()" } }, - "id": 1905, + "id": 1906, "nodeType": "ExpressionStatement", "src": "6018:27:15" } ] }, - "id": 1907, + "id": 1908, "nodeType": "IfStatement", "src": "5859:201:15", "trueBody": { - "id": 1902, + "id": 1903, "nodeType": "Block", "src": "5930:64:15", "statements": [ @@ -22751,18 +22760,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 1899, + "id": 1900, "name": "ProxyDeniedAdminAccess", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1841, + "referencedDeclaration": 1842, "src": "5955:22:15", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 1900, + "id": 1901, "isConstant": false, "isLValue": false, "isPure": false, @@ -22778,7 +22787,7 @@ "typeString": "tuple()" } }, - "id": 1901, + "id": 1902, "nodeType": "RevertStatement", "src": "5948:31:15" } @@ -22791,12 +22800,12 @@ ] }, "documentation": { - "id": 1884, + "id": 1885, "nodeType": "StructuredDocumentation", "src": "5619:131:15", "text": " @dev If caller is the admin process the call internally, otherwise transparently fallback to the proxy behavior." }, - "id": 1917, + "id": 1918, "implemented": true, "kind": "function", "modifiers": [], @@ -22804,24 +22813,24 @@ "nameLocation": "5764:9:15", "nodeType": "FunctionDefinition", "overrides": { - "id": 1886, + "id": 1887, "nodeType": "OverrideSpecifier", "overrides": [], "src": "5793:8:15" }, "parameters": { - "id": 1885, + "id": 1886, "nodeType": "ParameterList", "parameters": [], "src": "5773:2:15" }, "returnParameters": { - "id": 1887, + "id": 1888, "nodeType": "ParameterList", "parameters": [], "src": "5802:0:15" }, - "scope": 1947, + "scope": 1948, "src": "5755:369:15", "stateMutability": "nonpayable", "virtual": true, @@ -22829,24 +22838,24 @@ }, { "body": { - "id": 1945, + "id": 1946, "nodeType": "Block", "src": "6371:172:15", "statements": [ { "assignments": [ - 1922, - 1924 + 1923, + 1925 ], "declarations": [ { "constant": false, - "id": 1922, + "id": 1923, "mutability": "mutable", "name": "newImplementation", "nameLocation": "6390:17:15", "nodeType": "VariableDeclaration", - "scope": 1945, + "scope": 1946, "src": "6382:25:15", "stateVariable": false, "storageLocation": "default", @@ -22855,7 +22864,7 @@ "typeString": "address" }, "typeName": { - "id": 1921, + "id": 1922, "name": "address", "nodeType": "ElementaryTypeName", "src": "6382:7:15", @@ -22869,12 +22878,12 @@ }, { "constant": false, - "id": 1924, + "id": 1925, "mutability": "mutable", "name": "data", "nameLocation": "6422:4:15", "nodeType": "VariableDeclaration", - "scope": 1945, + "scope": 1946, "src": "6409:17:15", "stateVariable": false, "storageLocation": "memory", @@ -22883,7 +22892,7 @@ "typeString": "bytes" }, "typeName": { - "id": 1923, + "id": 1924, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "6409:5:15", @@ -22895,13 +22904,13 @@ "visibility": "internal" } ], - "id": 1937, + "id": 1938, "initialValue": { "arguments": [ { "baseExpression": { "expression": { - "id": 1927, + "id": 1928, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -22912,7 +22921,7 @@ "typeString": "msg" } }, - "id": 1928, + "id": 1929, "isConstant": false, "isLValue": false, "isPure": false, @@ -22926,7 +22935,7 @@ "typeString": "bytes calldata" } }, - "id": 1930, + "id": 1931, "isConstant": false, "isLValue": false, "isPure": false, @@ -22935,7 +22944,7 @@ "src": "6441:12:15", "startExpression": { "hexValue": "34", - "id": 1929, + "id": 1930, "isConstant": false, "isLValue": false, "isPure": true, @@ -22957,7 +22966,7 @@ { "components": [ { - "id": 1932, + "id": 1933, "isConstant": false, "isLValue": false, "isPure": true, @@ -22969,7 +22978,7 @@ "typeString": "type(address)" }, "typeName": { - "id": 1931, + "id": 1932, "name": "address", "nodeType": "ElementaryTypeName", "src": "6456:7:15", @@ -22977,7 +22986,7 @@ } }, { - "id": 1934, + "id": 1935, "isConstant": false, "isLValue": false, "isPure": true, @@ -22989,7 +22998,7 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 1933, + "id": 1934, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "6465:5:15", @@ -22997,7 +23006,7 @@ } } ], - "id": 1935, + "id": 1936, "isConstant": false, "isInlineArray": false, "isLValue": false, @@ -23023,7 +23032,7 @@ } ], "expression": { - "id": 1925, + "id": 1926, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -23034,7 +23043,7 @@ "typeString": "abi" } }, - "id": 1926, + "id": 1927, "isConstant": false, "isLValue": false, "isPure": true, @@ -23048,7 +23057,7 @@ "typeString": "function () pure" } }, - "id": 1936, + "id": 1937, "isConstant": false, "isLValue": false, "isPure": false, @@ -23071,11 +23080,11 @@ "expression": { "arguments": [ { - "id": 1941, + "id": 1942, "name": "newImplementation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1922, + "referencedDeclaration": 1923, "src": "6512:17:15", "typeDescriptions": { "typeIdentifier": "t_address", @@ -23083,11 +23092,11 @@ } }, { - "id": 1942, + "id": 1943, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1924, + "referencedDeclaration": 1925, "src": "6531:4:15", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -23107,18 +23116,18 @@ } ], "expression": { - "id": 1938, + "id": 1939, "name": "ERC1967Utils", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1717, + "referencedDeclaration": 1718, "src": "6482:12:15", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1717_$", + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1718_$", "typeString": "type(library ERC1967Utils)" } }, - "id": 1940, + "id": 1941, "isConstant": false, "isLValue": false, "isPure": false, @@ -23126,14 +23135,14 @@ "memberLocation": "6495:16:15", "memberName": "upgradeToAndCall", "nodeType": "MemberAccess", - "referencedDeclaration": 1532, + "referencedDeclaration": 1533, "src": "6482:29:15", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (address,bytes memory)" } }, - "id": 1943, + "id": 1944, "isConstant": false, "isLValue": false, "isPure": false, @@ -23149,19 +23158,19 @@ "typeString": "tuple()" } }, - "id": 1944, + "id": 1945, "nodeType": "ExpressionStatement", "src": "6482:54:15" } ] }, "documentation": { - "id": 1918, + "id": 1919, "nodeType": "StructuredDocumentation", "src": "6130:191:15", "text": " @dev Upgrade the implementation of the proxy. See {ERC1967Utils-upgradeToAndCall}.\n Requirements:\n - If `data` is empty, `msg.value` must be zero." }, - "id": 1946, + "id": 1947, "implemented": true, "kind": "function", "modifiers": [], @@ -23169,37 +23178,37 @@ "nameLocation": "6335:25:15", "nodeType": "FunctionDefinition", "parameters": { - "id": 1919, + "id": 1920, "nodeType": "ParameterList", "parameters": [], "src": "6360:2:15" }, "returnParameters": { - "id": 1920, + "id": 1921, "nodeType": "ParameterList", "parameters": [], "src": "6371:0:15" }, - "scope": 1947, + "scope": 1948, "src": "6326:217:15", "stateMutability": "nonpayable", "virtual": false, "visibility": "private" } ], - "scope": 1948, + "scope": 1949, "src": "4314:2231:15", "usedErrors": [ - 1443, - 1448, - 1456, - 1841, - 2622, - 2915 + 1444, + 1449, + 1457, + 1842, + 2623, + 2916 ], "usedEvents": [ - 1225, - 1232 + 1226, + 1233 ] } ], @@ -23212,27 +23221,27 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "exportedSymbols": { "Context": [ - 2902 + 2903 ], "ERC20": [ - 2462 + 2463 ], "IERC20": [ - 2540 + 2541 ], "IERC20Errors": [ - 1290 + 1291 ], "IERC20Metadata": [ - 2612 + 2613 ] }, - "id": 2463, + "id": 2464, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 1949, + "id": 1950, "literals": [ "solidity", "^", @@ -23245,20 +23254,20 @@ { "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "file": "./IERC20.sol", - "id": 1951, + "id": 1952, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2463, - "sourceUnit": 2541, + "scope": 2464, + "sourceUnit": 2542, "src": "131:36:16", "symbolAliases": [ { "foreign": { - "id": 1950, + "id": 1951, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2540, + "referencedDeclaration": 2541, "src": "139:6:16", "typeDescriptions": {} }, @@ -23270,20 +23279,20 @@ { "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", "file": "./extensions/IERC20Metadata.sol", - "id": 1953, + "id": 1954, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2463, - "sourceUnit": 2613, + "scope": 2464, + "sourceUnit": 2614, "src": "168:63:16", "symbolAliases": [ { "foreign": { - "id": 1952, + "id": 1953, "name": "IERC20Metadata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2612, + "referencedDeclaration": 2613, "src": "176:14:16", "typeDescriptions": {} }, @@ -23295,20 +23304,20 @@ { "absolutePath": "@openzeppelin/contracts/utils/Context.sol", "file": "../../utils/Context.sol", - "id": 1955, + "id": 1956, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2463, - "sourceUnit": 2903, + "scope": 2464, + "sourceUnit": 2904, "src": "232:48:16", "symbolAliases": [ { "foreign": { - "id": 1954, + "id": 1955, "name": "Context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2902, + "referencedDeclaration": 2903, "src": "240:7:16", "typeDescriptions": {} }, @@ -23320,20 +23329,20 @@ { "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC6093.sol", "file": "../../interfaces/draft-IERC6093.sol", - "id": 1957, + "id": 1958, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2463, - "sourceUnit": 1386, + "scope": 2464, + "sourceUnit": 1387, "src": "281:65:16", "symbolAliases": [ { "foreign": { - "id": 1956, + "id": 1957, "name": "IERC20Errors", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1290, + "referencedDeclaration": 1291, "src": "289:12:16", "typeDescriptions": {} }, @@ -23347,61 +23356,61 @@ "baseContracts": [ { "baseName": { - "id": 1959, + "id": 1960, "name": "Context", "nameLocations": [ "1133:7:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2902, + "referencedDeclaration": 2903, "src": "1133:7:16" }, - "id": 1960, + "id": 1961, "nodeType": "InheritanceSpecifier", "src": "1133:7:16" }, { "baseName": { - "id": 1961, + "id": 1962, "name": "IERC20", "nameLocations": [ "1142:6:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2540, + "referencedDeclaration": 2541, "src": "1142:6:16" }, - "id": 1962, + "id": 1963, "nodeType": "InheritanceSpecifier", "src": "1142:6:16" }, { "baseName": { - "id": 1963, + "id": 1964, "name": "IERC20Metadata", "nameLocations": [ "1150:14:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2612, + "referencedDeclaration": 2613, "src": "1150:14:16" }, - "id": 1964, + "id": 1965, "nodeType": "InheritanceSpecifier", "src": "1150:14:16" }, { "baseName": { - "id": 1965, + "id": 1966, "name": "IERC20Errors", "nameLocations": [ "1166:12:16" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 1290, + "referencedDeclaration": 1291, "src": "1166:12:16" }, - "id": 1966, + "id": 1967, "nodeType": "InheritanceSpecifier", "src": "1166:12:16" } @@ -23410,19 +23419,19 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 1958, + "id": 1959, "nodeType": "StructuredDocumentation", "src": "348:757:16", "text": " @dev Implementation of the {IERC20} interface.\n This implementation is agnostic to the way tokens are created. This means\n that a supply mechanism has to be added in a derived contract using {_mint}.\n TIP: For a detailed writeup see our guide\n https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\n The default value of {decimals} is 18. To change this, you should override\n this function so it returns a different value.\n We have followed general OpenZeppelin Contracts guidelines: functions revert\n instead returning `false` on failure. This behavior is nonetheless\n conventional and does not conflict with the expectations of ERC-20\n applications." }, "fullyImplemented": true, - "id": 2462, + "id": 2463, "linearizedBaseContracts": [ - 2462, - 1290, - 2612, - 2540, - 2902 + 2463, + 1291, + 2613, + 2541, + 2903 ], "name": "ERC20", "nameLocation": "1124:5:16", @@ -23430,12 +23439,12 @@ "nodes": [ { "constant": false, - "id": 1970, + "id": 1971, "mutability": "mutable", "name": "_balances", "nameLocation": "1229:9:16", "nodeType": "VariableDeclaration", - "scope": 2462, + "scope": 2463, "src": "1185:53:16", "stateVariable": true, "storageLocation": "default", @@ -23444,11 +23453,11 @@ "typeString": "mapping(address => uint256)" }, "typeName": { - "id": 1969, + "id": 1970, "keyName": "account", "keyNameLocation": "1201:7:16", "keyType": { - "id": 1967, + "id": 1968, "name": "address", "nodeType": "ElementaryTypeName", "src": "1193:7:16", @@ -23466,7 +23475,7 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 1968, + "id": 1969, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1212:7:16", @@ -23480,12 +23489,12 @@ }, { "constant": false, - "id": 1976, + "id": 1977, "mutability": "mutable", "name": "_allowances", "nameLocation": "1317:11:16", "nodeType": "VariableDeclaration", - "scope": 2462, + "scope": 2463, "src": "1245:83:16", "stateVariable": true, "storageLocation": "default", @@ -23494,11 +23503,11 @@ "typeString": "mapping(address => mapping(address => uint256))" }, "typeName": { - "id": 1975, + "id": 1976, "keyName": "account", "keyNameLocation": "1261:7:16", "keyType": { - "id": 1971, + "id": 1972, "name": "address", "nodeType": "ElementaryTypeName", "src": "1253:7:16", @@ -23516,11 +23525,11 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 1974, + "id": 1975, "keyName": "spender", "keyNameLocation": "1288:7:16", "keyType": { - "id": 1972, + "id": 1973, "name": "address", "nodeType": "ElementaryTypeName", "src": "1280:7:16", @@ -23538,7 +23547,7 @@ "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 1973, + "id": 1974, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1299:7:16", @@ -23553,12 +23562,12 @@ }, { "constant": false, - "id": 1978, + "id": 1979, "mutability": "mutable", "name": "_totalSupply", "nameLocation": "1351:12:16", "nodeType": "VariableDeclaration", - "scope": 2462, + "scope": 2463, "src": "1335:28:16", "stateVariable": true, "storageLocation": "default", @@ -23567,7 +23576,7 @@ "typeString": "uint256" }, "typeName": { - "id": 1977, + "id": 1978, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1335:7:16", @@ -23580,12 +23589,12 @@ }, { "constant": false, - "id": 1980, + "id": 1981, "mutability": "mutable", "name": "_name", "nameLocation": "1385:5:16", "nodeType": "VariableDeclaration", - "scope": 2462, + "scope": 2463, "src": "1370:20:16", "stateVariable": true, "storageLocation": "default", @@ -23594,7 +23603,7 @@ "typeString": "string" }, "typeName": { - "id": 1979, + "id": 1980, "name": "string", "nodeType": "ElementaryTypeName", "src": "1370:6:16", @@ -23607,12 +23616,12 @@ }, { "constant": false, - "id": 1982, + "id": 1983, "mutability": "mutable", "name": "_symbol", "nameLocation": "1411:7:16", "nodeType": "VariableDeclaration", - "scope": 2462, + "scope": 2463, "src": "1396:22:16", "stateVariable": true, "storageLocation": "default", @@ -23621,7 +23630,7 @@ "typeString": "string" }, "typeName": { - "id": 1981, + "id": 1982, "name": "string", "nodeType": "ElementaryTypeName", "src": "1396:6:16", @@ -23634,23 +23643,23 @@ }, { "body": { - "id": 1998, + "id": 1999, "nodeType": "Block", "src": "1638:57:16", "statements": [ { "expression": { - "id": 1992, + "id": 1993, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1990, + "id": 1991, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1980, + "referencedDeclaration": 1981, "src": "1648:5:16", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -23660,11 +23669,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1991, + "id": 1992, "name": "name_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1985, + "referencedDeclaration": 1986, "src": "1656:5:16", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -23677,23 +23686,23 @@ "typeString": "string storage ref" } }, - "id": 1993, + "id": 1994, "nodeType": "ExpressionStatement", "src": "1648:13:16" }, { "expression": { - "id": 1996, + "id": 1997, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 1994, + "id": 1995, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1982, + "referencedDeclaration": 1983, "src": "1671:7:16", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -23703,11 +23712,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 1995, + "id": 1996, "name": "symbol_", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1987, + "referencedDeclaration": 1988, "src": "1681:7:16", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -23720,19 +23729,19 @@ "typeString": "string storage ref" } }, - "id": 1997, + "id": 1998, "nodeType": "ExpressionStatement", "src": "1671:17:16" } ] }, "documentation": { - "id": 1983, + "id": 1984, "nodeType": "StructuredDocumentation", "src": "1425:152:16", "text": " @dev Sets the values for {name} and {symbol}.\n Both values are immutable: they can only be set once during construction." }, - "id": 1999, + "id": 2000, "implemented": true, "kind": "constructor", "modifiers": [], @@ -23740,17 +23749,17 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 1988, + "id": 1989, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 1985, + "id": 1986, "mutability": "mutable", "name": "name_", "nameLocation": "1608:5:16", "nodeType": "VariableDeclaration", - "scope": 1999, + "scope": 2000, "src": "1594:19:16", "stateVariable": false, "storageLocation": "memory", @@ -23759,7 +23768,7 @@ "typeString": "string" }, "typeName": { - "id": 1984, + "id": 1985, "name": "string", "nodeType": "ElementaryTypeName", "src": "1594:6:16", @@ -23772,12 +23781,12 @@ }, { "constant": false, - "id": 1987, + "id": 1988, "mutability": "mutable", "name": "symbol_", "nameLocation": "1629:7:16", "nodeType": "VariableDeclaration", - "scope": 1999, + "scope": 2000, "src": "1615:21:16", "stateVariable": false, "storageLocation": "memory", @@ -23786,7 +23795,7 @@ "typeString": "string" }, "typeName": { - "id": 1986, + "id": 1987, "name": "string", "nodeType": "ElementaryTypeName", "src": "1615:6:16", @@ -23801,12 +23810,12 @@ "src": "1593:44:16" }, "returnParameters": { - "id": 1989, + "id": 1990, "nodeType": "ParameterList", "parameters": [], "src": "1638:0:16" }, - "scope": 2462, + "scope": 2463, "src": "1582:113:16", "stateMutability": "nonpayable", "virtual": false, @@ -23814,41 +23823,41 @@ }, { "baseFunctions": [ - 2599 + 2600 ], "body": { - "id": 2007, + "id": 2008, "nodeType": "Block", "src": "1820:29:16", "statements": [ { "expression": { - "id": 2005, + "id": 2006, "name": "_name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1980, + "referencedDeclaration": 1981, "src": "1837:5:16", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 2004, - "id": 2006, + "functionReturnParameters": 2005, + "id": 2007, "nodeType": "Return", "src": "1830:12:16" } ] }, "documentation": { - "id": 2000, + "id": 2001, "nodeType": "StructuredDocumentation", "src": "1701:54:16", "text": " @dev Returns the name of the token." }, "functionSelector": "06fdde03", - "id": 2008, + "id": 2009, "implemented": true, "kind": "function", "modifiers": [], @@ -23856,23 +23865,23 @@ "nameLocation": "1769:4:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2001, + "id": 2002, "nodeType": "ParameterList", "parameters": [], "src": "1773:2:16" }, "returnParameters": { - "id": 2004, + "id": 2005, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2003, + "id": 2004, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2008, + "scope": 2009, "src": "1805:13:16", "stateVariable": false, "storageLocation": "memory", @@ -23881,7 +23890,7 @@ "typeString": "string" }, "typeName": { - "id": 2002, + "id": 2003, "name": "string", "nodeType": "ElementaryTypeName", "src": "1805:6:16", @@ -23895,7 +23904,7 @@ ], "src": "1804:15:16" }, - "scope": 2462, + "scope": 2463, "src": "1760:89:16", "stateMutability": "view", "virtual": true, @@ -23903,41 +23912,41 @@ }, { "baseFunctions": [ - 2605 + 2606 ], "body": { - "id": 2016, + "id": 2017, "nodeType": "Block", "src": "2024:31:16", "statements": [ { "expression": { - "id": 2014, + "id": 2015, "name": "_symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1982, + "referencedDeclaration": 1983, "src": "2041:7:16", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "functionReturnParameters": 2013, - "id": 2015, + "functionReturnParameters": 2014, + "id": 2016, "nodeType": "Return", "src": "2034:14:16" } ] }, "documentation": { - "id": 2009, + "id": 2010, "nodeType": "StructuredDocumentation", "src": "1855:102:16", "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." }, "functionSelector": "95d89b41", - "id": 2017, + "id": 2018, "implemented": true, "kind": "function", "modifiers": [], @@ -23945,23 +23954,23 @@ "nameLocation": "1971:6:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2010, + "id": 2011, "nodeType": "ParameterList", "parameters": [], "src": "1977:2:16" }, "returnParameters": { - "id": 2013, + "id": 2014, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2012, + "id": 2013, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2017, + "scope": 2018, "src": "2009:13:16", "stateVariable": false, "storageLocation": "memory", @@ -23970,7 +23979,7 @@ "typeString": "string" }, "typeName": { - "id": 2011, + "id": 2012, "name": "string", "nodeType": "ElementaryTypeName", "src": "2009:6:16", @@ -23984,7 +23993,7 @@ ], "src": "2008:15:16" }, - "scope": 2462, + "scope": 2463, "src": "1962:93:16", "stateMutability": "view", "virtual": true, @@ -23992,17 +24001,17 @@ }, { "baseFunctions": [ - 2611 + 2612 ], "body": { - "id": 2025, + "id": 2026, "nodeType": "Block", "src": "2744:26:16", "statements": [ { "expression": { "hexValue": "3138", - "id": 2023, + "id": 2024, "isConstant": false, "isLValue": false, "isPure": true, @@ -24016,21 +24025,21 @@ }, "value": "18" }, - "functionReturnParameters": 2022, - "id": 2024, + "functionReturnParameters": 2023, + "id": 2025, "nodeType": "Return", "src": "2754:9:16" } ] }, "documentation": { - "id": 2018, + "id": 2019, "nodeType": "StructuredDocumentation", "src": "2061:622:16", "text": " @dev Returns the number of decimals used to get its user representation.\n For example, if `decimals` equals `2`, a balance of `505` tokens should\n be displayed to a user as `5.05` (`505 / 10 ** 2`).\n Tokens usually opt for a value of 18, imitating the relationship between\n Ether and Wei. This is the default value returned by this function, unless\n it's overridden.\n NOTE: This information is only used for _display_ purposes: it in\n no way affects any of the arithmetic of the contract, including\n {IERC20-balanceOf} and {IERC20-transfer}." }, "functionSelector": "313ce567", - "id": 2026, + "id": 2027, "implemented": true, "kind": "function", "modifiers": [], @@ -24038,23 +24047,23 @@ "nameLocation": "2697:8:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2019, + "id": 2020, "nodeType": "ParameterList", "parameters": [], "src": "2705:2:16" }, "returnParameters": { - "id": 2022, + "id": 2023, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2021, + "id": 2022, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2026, + "scope": 2027, "src": "2737:5:16", "stateVariable": false, "storageLocation": "default", @@ -24063,7 +24072,7 @@ "typeString": "uint8" }, "typeName": { - "id": 2020, + "id": 2021, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2737:5:16", @@ -24077,7 +24086,7 @@ ], "src": "2736:7:16" }, - "scope": 2462, + "scope": 2463, "src": "2688:82:16", "stateMutability": "view", "virtual": true, @@ -24085,66 +24094,66 @@ }, { "baseFunctions": [ - 2489 + 2490 ], "body": { - "id": 2034, + "id": 2035, "nodeType": "Block", - "src": "2891:36:16", + "src": "2864:36:16", "statements": [ { "expression": { - "id": 2032, + "id": 2033, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1978, - "src": "2908:12:16", + "referencedDeclaration": 1979, + "src": "2881:12:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2031, - "id": 2033, + "functionReturnParameters": 2032, + "id": 2034, "nodeType": "Return", - "src": "2901:19:16" + "src": "2874:19:16" } ] }, "documentation": { - "id": 2027, + "id": 2028, "nodeType": "StructuredDocumentation", - "src": "2776:49:16", - "text": " @dev See {IERC20-totalSupply}." + "src": "2776:22:16", + "text": "@inheritdoc IERC20" }, "functionSelector": "18160ddd", - "id": 2035, + "id": 2036, "implemented": true, "kind": "function", "modifiers": [], "name": "totalSupply", - "nameLocation": "2839:11:16", + "nameLocation": "2812:11:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2028, + "id": 2029, "nodeType": "ParameterList", "parameters": [], - "src": "2850:2:16" + "src": "2823:2:16" }, "returnParameters": { - "id": 2031, + "id": 2032, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2030, + "id": 2031, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2035, - "src": "2882:7:16", + "scope": 2036, + "src": "2855:7:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24152,10 +24161,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2029, + "id": 2030, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2882:7:16", + "src": "2855:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24164,45 +24173,45 @@ "visibility": "internal" } ], - "src": "2881:9:16" + "src": "2854:9:16" }, - "scope": 2462, - "src": "2830:97:16", + "scope": 2463, + "src": "2803:97:16", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 2497 + 2498 ], "body": { - "id": 2047, + "id": 2048, "nodeType": "Block", - "src": "3059:42:16", + "src": "3007:42:16", "statements": [ { "expression": { "baseExpression": { - "id": 2043, + "id": 2044, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1970, - "src": "3076:9:16", + "referencedDeclaration": 1971, + "src": "3024:9:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2045, + "id": 2046, "indexExpression": { - "id": 2044, + "id": 2045, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2038, - "src": "3086:7:16", + "referencedDeclaration": 2039, + "src": "3034:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24213,46 +24222,46 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3076:18:16", + "src": "3024:18:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2042, - "id": 2046, + "functionReturnParameters": 2043, + "id": 2047, "nodeType": "Return", - "src": "3069:25:16" + "src": "3017:25:16" } ] }, "documentation": { - "id": 2036, + "id": 2037, "nodeType": "StructuredDocumentation", - "src": "2933:47:16", - "text": " @dev See {IERC20-balanceOf}." + "src": "2906:22:16", + "text": "@inheritdoc IERC20" }, "functionSelector": "70a08231", - "id": 2048, + "id": 2049, "implemented": true, "kind": "function", "modifiers": [], "name": "balanceOf", - "nameLocation": "2994:9:16", + "nameLocation": "2942:9:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2039, + "id": 2040, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2038, + "id": 2039, "mutability": "mutable", "name": "account", - "nameLocation": "3012:7:16", + "nameLocation": "2960:7:16", "nodeType": "VariableDeclaration", - "scope": 2048, - "src": "3004:15:16", + "scope": 2049, + "src": "2952:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24260,10 +24269,10 @@ "typeString": "address" }, "typeName": { - "id": 2037, + "id": 2038, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3004:7:16", + "src": "2952:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24273,21 +24282,21 @@ "visibility": "internal" } ], - "src": "3003:17:16" + "src": "2951:17:16" }, "returnParameters": { - "id": 2042, + "id": 2043, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2041, + "id": 2042, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2048, - "src": "3050:7:16", + "scope": 2049, + "src": "2998:7:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24295,10 +24304,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2040, + "id": 2041, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3050:7:16", + "src": "2998:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24307,37 +24316,37 @@ "visibility": "internal" } ], - "src": "3049:9:16" + "src": "2997:9:16" }, - "scope": 2462, - "src": "2985:116:16", + "scope": 2463, + "src": "2933:116:16", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 2507 + 2508 ], "body": { - "id": 2071, + "id": 2072, "nodeType": "Block", - "src": "3371:103:16", + "src": "3319:103:16", "statements": [ { "assignments": [ - 2059 + 2060 ], "declarations": [ { "constant": false, - "id": 2059, + "id": 2060, "mutability": "mutable", "name": "owner", - "nameLocation": "3389:5:16", + "nameLocation": "3337:5:16", "nodeType": "VariableDeclaration", - "scope": 2071, - "src": "3381:13:16", + "scope": 2072, + "src": "3329:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24345,10 +24354,10 @@ "typeString": "address" }, "typeName": { - "id": 2058, + "id": 2059, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3381:7:16", + "src": "3329:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24358,23 +24367,23 @@ "visibility": "internal" } ], - "id": 2062, + "id": 2063, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2060, + "id": 2061, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, - "src": "3397:10:16", + "referencedDeclaration": 2885, + "src": "3345:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 2061, + "id": 2062, "isConstant": false, "isLValue": false, "isPure": false, @@ -24383,7 +24392,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3397:12:16", + "src": "3345:12:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -24391,42 +24400,42 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "3381:28:16" + "src": "3329:28:16" }, { "expression": { "arguments": [ { - "id": 2064, + "id": 2065, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2059, - "src": "3429:5:16", + "referencedDeclaration": 2060, + "src": "3377:5:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2065, + "id": 2066, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2051, - "src": "3436:2:16", + "referencedDeclaration": 2052, + "src": "3384:2:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2066, + "id": 2067, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2053, - "src": "3440:5:16", + "referencedDeclaration": 2054, + "src": "3388:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24448,18 +24457,18 @@ "typeString": "uint256" } ], - "id": 2063, + "id": 2064, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "3419:9:16", + "referencedDeclaration": 2193, + "src": "3367:9:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2067, + "id": 2068, "isConstant": false, "isLValue": false, "isPure": false, @@ -24468,68 +24477,68 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "3419:27:16", + "src": "3367:27:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2068, + "id": 2069, "nodeType": "ExpressionStatement", - "src": "3419:27:16" + "src": "3367:27:16" }, { "expression": { "hexValue": "74727565", - "id": 2069, + "id": 2070, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "3463:4:16", + "src": "3411:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 2057, - "id": 2070, + "functionReturnParameters": 2058, + "id": 2071, "nodeType": "Return", - "src": "3456:11:16" + "src": "3404:11:16" } ] }, "documentation": { - "id": 2049, + "id": 2050, "nodeType": "StructuredDocumentation", - "src": "3107:184:16", + "src": "3055:184:16", "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `value`." }, "functionSelector": "a9059cbb", - "id": 2072, + "id": 2073, "implemented": true, "kind": "function", "modifiers": [], "name": "transfer", - "nameLocation": "3305:8:16", + "nameLocation": "3253:8:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2054, + "id": 2055, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2051, + "id": 2052, "mutability": "mutable", "name": "to", - "nameLocation": "3322:2:16", + "nameLocation": "3270:2:16", "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "3314:10:16", + "scope": 2073, + "src": "3262:10:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24537,10 +24546,10 @@ "typeString": "address" }, "typeName": { - "id": 2050, + "id": 2051, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3314:7:16", + "src": "3262:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24551,13 +24560,13 @@ }, { "constant": false, - "id": 2053, + "id": 2054, "mutability": "mutable", "name": "value", - "nameLocation": "3334:5:16", + "nameLocation": "3282:5:16", "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "3326:13:16", + "scope": 2073, + "src": "3274:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24565,10 +24574,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2052, + "id": 2053, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3326:7:16", + "src": "3274:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24577,21 +24586,21 @@ "visibility": "internal" } ], - "src": "3313:27:16" + "src": "3261:27:16" }, "returnParameters": { - "id": 2057, + "id": 2058, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2056, + "id": 2057, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2072, - "src": "3365:4:16", + "scope": 2073, + "src": "3313:4:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24599,10 +24608,10 @@ "typeString": "bool" }, "typeName": { - "id": 2055, + "id": 2056, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "3365:4:16", + "src": "3313:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -24611,46 +24620,46 @@ "visibility": "internal" } ], - "src": "3364:6:16" + "src": "3312:6:16" }, - "scope": 2462, - "src": "3296:178:16", + "scope": 2463, + "src": "3244:178:16", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 2517 + 2518 ], "body": { - "id": 2088, + "id": 2089, "nodeType": "Block", - "src": "3621:51:16", + "src": "3544:51:16", "statements": [ { "expression": { "baseExpression": { "baseExpression": { - "id": 2082, + "id": 2083, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1976, - "src": "3638:11:16", + "referencedDeclaration": 1977, + "src": "3561:11:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2084, + "id": 2085, "indexExpression": { - "id": 2083, + "id": 2084, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2075, - "src": "3650:5:16", + "referencedDeclaration": 2076, + "src": "3573:5:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24661,20 +24670,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3638:18:16", + "src": "3561:18:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2086, + "id": 2087, "indexExpression": { - "id": 2085, + "id": 2086, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2077, - "src": "3657:7:16", + "referencedDeclaration": 2078, + "src": "3580:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -24685,46 +24694,46 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "3638:27:16", + "src": "3561:27:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 2081, - "id": 2087, + "functionReturnParameters": 2082, + "id": 2088, "nodeType": "Return", - "src": "3631:34:16" + "src": "3554:34:16" } ] }, "documentation": { - "id": 2073, + "id": 2074, "nodeType": "StructuredDocumentation", - "src": "3480:47:16", - "text": " @dev See {IERC20-allowance}." + "src": "3428:22:16", + "text": "@inheritdoc IERC20" }, "functionSelector": "dd62ed3e", - "id": 2089, + "id": 2090, "implemented": true, "kind": "function", "modifiers": [], "name": "allowance", - "nameLocation": "3541:9:16", + "nameLocation": "3464:9:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2078, + "id": 2079, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2075, + "id": 2076, "mutability": "mutable", "name": "owner", - "nameLocation": "3559:5:16", + "nameLocation": "3482:5:16", "nodeType": "VariableDeclaration", - "scope": 2089, - "src": "3551:13:16", + "scope": 2090, + "src": "3474:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24732,10 +24741,10 @@ "typeString": "address" }, "typeName": { - "id": 2074, + "id": 2075, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3551:7:16", + "src": "3474:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24746,13 +24755,13 @@ }, { "constant": false, - "id": 2077, + "id": 2078, "mutability": "mutable", "name": "spender", - "nameLocation": "3574:7:16", + "nameLocation": "3497:7:16", "nodeType": "VariableDeclaration", - "scope": 2089, - "src": "3566:15:16", + "scope": 2090, + "src": "3489:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24760,10 +24769,10 @@ "typeString": "address" }, "typeName": { - "id": 2076, + "id": 2077, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3566:7:16", + "src": "3489:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24773,21 +24782,21 @@ "visibility": "internal" } ], - "src": "3550:32:16" + "src": "3473:32:16" }, "returnParameters": { - "id": 2081, + "id": 2082, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2080, + "id": 2081, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2089, - "src": "3612:7:16", + "scope": 2090, + "src": "3535:7:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24795,10 +24804,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2079, + "id": 2080, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "3612:7:16", + "src": "3535:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24807,37 +24816,37 @@ "visibility": "internal" } ], - "src": "3611:9:16" + "src": "3534:9:16" }, - "scope": 2462, - "src": "3532:140:16", + "scope": 2463, + "src": "3455:140:16", "stateMutability": "view", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 2527 + 2528 ], "body": { - "id": 2112, + "id": 2113, "nodeType": "Block", - "src": "4058:107:16", + "src": "3981:107:16", "statements": [ { "assignments": [ - 2100 + 2101 ], "declarations": [ { "constant": false, - "id": 2100, + "id": 2101, "mutability": "mutable", "name": "owner", - "nameLocation": "4076:5:16", + "nameLocation": "3999:5:16", "nodeType": "VariableDeclaration", - "scope": 2112, - "src": "4068:13:16", + "scope": 2113, + "src": "3991:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -24845,10 +24854,10 @@ "typeString": "address" }, "typeName": { - "id": 2099, + "id": 2100, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4068:7:16", + "src": "3991:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -24858,23 +24867,23 @@ "visibility": "internal" } ], - "id": 2103, + "id": 2104, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2101, + "id": 2102, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, - "src": "4084:10:16", + "referencedDeclaration": 2885, + "src": "4007:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 2102, + "id": 2103, "isConstant": false, "isLValue": false, "isPure": false, @@ -24883,7 +24892,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4084:12:16", + "src": "4007:12:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -24891,42 +24900,42 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4068:28:16" + "src": "3991:28:16" }, { "expression": { "arguments": [ { - "id": 2105, + "id": 2106, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2100, - "src": "4115:5:16", + "referencedDeclaration": 2101, + "src": "4038:5:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2106, + "id": 2107, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2092, - "src": "4122:7:16", + "referencedDeclaration": 2093, + "src": "4045:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2107, + "id": 2108, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2094, - "src": "4131:5:16", + "referencedDeclaration": 2095, + "src": "4054:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -24948,21 +24957,21 @@ "typeString": "uint256" } ], - "id": 2104, + "id": 2105, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [ - 2353, - 2413 + 2354, + 2414 ], - "referencedDeclaration": 2353, - "src": "4106:8:16", + "referencedDeclaration": 2354, + "src": "4029:8:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2108, + "id": 2109, "isConstant": false, "isLValue": false, "isPure": false, @@ -24971,68 +24980,68 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4106:31:16", + "src": "4029:31:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2109, + "id": 2110, "nodeType": "ExpressionStatement", - "src": "4106:31:16" + "src": "4029:31:16" }, { "expression": { "hexValue": "74727565", - "id": 2110, + "id": 2111, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4154:4:16", + "src": "4077:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 2098, - "id": 2111, + "functionReturnParameters": 2099, + "id": 2112, "nodeType": "Return", - "src": "4147:11:16" + "src": "4070:11:16" } ] }, "documentation": { - "id": 2090, + "id": 2091, "nodeType": "StructuredDocumentation", - "src": "3678:296:16", + "src": "3601:296:16", "text": " @dev See {IERC20-approve}.\n NOTE: If `value` is the maximum `uint256`, the allowance is not updated on\n `transferFrom`. This is semantically equivalent to an infinite approval.\n Requirements:\n - `spender` cannot be the zero address." }, "functionSelector": "095ea7b3", - "id": 2113, + "id": 2114, "implemented": true, "kind": "function", "modifiers": [], "name": "approve", - "nameLocation": "3988:7:16", + "nameLocation": "3911:7:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2095, + "id": 2096, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2092, + "id": 2093, "mutability": "mutable", "name": "spender", - "nameLocation": "4004:7:16", + "nameLocation": "3927:7:16", "nodeType": "VariableDeclaration", - "scope": 2113, - "src": "3996:15:16", + "scope": 2114, + "src": "3919:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25040,10 +25049,10 @@ "typeString": "address" }, "typeName": { - "id": 2091, + "id": 2092, "name": "address", "nodeType": "ElementaryTypeName", - "src": "3996:7:16", + "src": "3919:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25054,13 +25063,13 @@ }, { "constant": false, - "id": 2094, + "id": 2095, "mutability": "mutable", "name": "value", - "nameLocation": "4021:5:16", + "nameLocation": "3944:5:16", "nodeType": "VariableDeclaration", - "scope": 2113, - "src": "4013:13:16", + "scope": 2114, + "src": "3936:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25068,10 +25077,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2093, + "id": 2094, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4013:7:16", + "src": "3936:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25080,21 +25089,21 @@ "visibility": "internal" } ], - "src": "3995:32:16" + "src": "3918:32:16" }, "returnParameters": { - "id": 2098, + "id": 2099, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2097, + "id": 2098, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2113, - "src": "4052:4:16", + "scope": 2114, + "src": "3975:4:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25102,10 +25111,10 @@ "typeString": "bool" }, "typeName": { - "id": 2096, + "id": 2097, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4052:4:16", + "src": "3975:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25114,37 +25123,37 @@ "visibility": "internal" } ], - "src": "4051:6:16" + "src": "3974:6:16" }, - "scope": 2462, - "src": "3979:186:16", + "scope": 2463, + "src": "3902:186:16", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "baseFunctions": [ - 2539 + 2540 ], "body": { - "id": 2144, + "id": 2145, "nodeType": "Block", - "src": "4850:151:16", + "src": "4773:151:16", "statements": [ { "assignments": [ - 2126 + 2127 ], "declarations": [ { "constant": false, - "id": 2126, + "id": 2127, "mutability": "mutable", "name": "spender", - "nameLocation": "4868:7:16", + "nameLocation": "4791:7:16", "nodeType": "VariableDeclaration", - "scope": 2144, - "src": "4860:15:16", + "scope": 2145, + "src": "4783:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25152,10 +25161,10 @@ "typeString": "address" }, "typeName": { - "id": 2125, + "id": 2126, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4860:7:16", + "src": "4783:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25165,23 +25174,23 @@ "visibility": "internal" } ], - "id": 2129, + "id": 2130, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 2127, + "id": 2128, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, - "src": "4878:10:16", + "referencedDeclaration": 2885, + "src": "4801:10:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 2128, + "id": 2129, "isConstant": false, "isLValue": false, "isPure": false, @@ -25190,7 +25199,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4878:12:16", + "src": "4801:12:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -25198,42 +25207,42 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "4860:30:16" + "src": "4783:30:16" }, { "expression": { "arguments": [ { - "id": 2131, + "id": 2132, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2116, - "src": "4916:4:16", + "referencedDeclaration": 2117, + "src": "4839:4:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2132, + "id": 2133, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2126, - "src": "4922:7:16", + "referencedDeclaration": 2127, + "src": "4845:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2133, + "id": 2134, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2120, - "src": "4931:5:16", + "referencedDeclaration": 2121, + "src": "4854:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25255,18 +25264,18 @@ "typeString": "uint256" } ], - "id": 2130, + "id": 2131, "name": "_spendAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2461, - "src": "4900:15:16", + "referencedDeclaration": 2462, + "src": "4823:15:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2134, + "id": 2135, "isConstant": false, "isLValue": false, "isPure": false, @@ -25275,51 +25284,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4900:37:16", + "src": "4823:37:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2135, + "id": 2136, "nodeType": "ExpressionStatement", - "src": "4900:37:16" + "src": "4823:37:16" }, { "expression": { "arguments": [ { - "id": 2137, + "id": 2138, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2116, - "src": "4957:4:16", + "referencedDeclaration": 2117, + "src": "4880:4:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2138, + "id": 2139, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2118, - "src": "4963:2:16", + "referencedDeclaration": 2119, + "src": "4886:2:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2139, + "id": 2140, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2120, - "src": "4967:5:16", + "referencedDeclaration": 2121, + "src": "4890:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25341,18 +25350,18 @@ "typeString": "uint256" } ], - "id": 2136, + "id": 2137, "name": "_transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2192, - "src": "4947:9:16", + "referencedDeclaration": 2193, + "src": "4870:9:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2140, + "id": 2141, "isConstant": false, "isLValue": false, "isPure": false, @@ -25361,68 +25370,68 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "4947:26:16", + "src": "4870:26:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2141, + "id": 2142, "nodeType": "ExpressionStatement", - "src": "4947:26:16" + "src": "4870:26:16" }, { "expression": { "hexValue": "74727565", - "id": 2142, + "id": 2143, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "4990:4:16", + "src": "4913:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 2124, - "id": 2143, + "functionReturnParameters": 2125, + "id": 2144, "nodeType": "Return", - "src": "4983:11:16" + "src": "4906:11:16" } ] }, "documentation": { - "id": 2114, + "id": 2115, "nodeType": "StructuredDocumentation", - "src": "4171:581:16", + "src": "4094:581:16", "text": " @dev See {IERC20-transferFrom}.\n Skips emitting an {Approval} event indicating an allowance update. This is not\n required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve].\n NOTE: Does not update the allowance if the current allowance\n is the maximum `uint256`.\n Requirements:\n - `from` and `to` cannot be the zero address.\n - `from` must have a balance of at least `value`.\n - the caller must have allowance for ``from``'s tokens of at least\n `value`." }, "functionSelector": "23b872dd", - "id": 2145, + "id": 2146, "implemented": true, "kind": "function", "modifiers": [], "name": "transferFrom", - "nameLocation": "4766:12:16", + "nameLocation": "4689:12:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2121, + "id": 2122, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2116, + "id": 2117, "mutability": "mutable", "name": "from", - "nameLocation": "4787:4:16", + "nameLocation": "4710:4:16", "nodeType": "VariableDeclaration", - "scope": 2145, - "src": "4779:12:16", + "scope": 2146, + "src": "4702:12:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25430,10 +25439,10 @@ "typeString": "address" }, "typeName": { - "id": 2115, + "id": 2116, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4779:7:16", + "src": "4702:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25444,13 +25453,13 @@ }, { "constant": false, - "id": 2118, + "id": 2119, "mutability": "mutable", "name": "to", - "nameLocation": "4801:2:16", + "nameLocation": "4724:2:16", "nodeType": "VariableDeclaration", - "scope": 2145, - "src": "4793:10:16", + "scope": 2146, + "src": "4716:10:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25458,10 +25467,10 @@ "typeString": "address" }, "typeName": { - "id": 2117, + "id": 2118, "name": "address", "nodeType": "ElementaryTypeName", - "src": "4793:7:16", + "src": "4716:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -25472,13 +25481,13 @@ }, { "constant": false, - "id": 2120, + "id": 2121, "mutability": "mutable", "name": "value", - "nameLocation": "4813:5:16", + "nameLocation": "4736:5:16", "nodeType": "VariableDeclaration", - "scope": 2145, - "src": "4805:13:16", + "scope": 2146, + "src": "4728:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25486,10 +25495,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2119, + "id": 2120, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "4805:7:16", + "src": "4728:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -25498,21 +25507,21 @@ "visibility": "internal" } ], - "src": "4778:41:16" + "src": "4701:41:16" }, "returnParameters": { - "id": 2124, + "id": 2125, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2123, + "id": 2124, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2145, - "src": "4844:4:16", + "scope": 2146, + "src": "4767:4:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -25520,10 +25529,10 @@ "typeString": "bool" }, "typeName": { - "id": 2122, + "id": 2123, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "4844:4:16", + "src": "4767:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -25532,19 +25541,19 @@ "visibility": "internal" } ], - "src": "4843:6:16" + "src": "4766:6:16" }, - "scope": 2462, - "src": "4757:244:16", + "scope": 2463, + "src": "4680:244:16", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" }, { "body": { - "id": 2191, + "id": 2192, "nodeType": "Block", - "src": "5443:231:16", + "src": "5366:231:16", "statements": [ { "condition": { @@ -25552,18 +25561,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2160, + "id": 2161, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2155, + "id": 2156, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2148, - "src": "5457:4:16", + "referencedDeclaration": 2149, + "src": "5380:4:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25575,14 +25584,14 @@ "arguments": [ { "hexValue": "30", - "id": 2158, + "id": 2159, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5473:1:16", + "src": "5396:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -25597,26 +25606,26 @@ "typeString": "int_const 0" } ], - "id": 2157, + "id": 2158, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5465:7:16", + "src": "5388:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2156, + "id": 2157, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5465:7:16", + "src": "5388:7:16", "typeDescriptions": {} } }, - "id": 2159, + "id": 2160, "isConstant": false, "isLValue": false, "isPure": true, @@ -25625,26 +25634,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5465:10:16", + "src": "5388:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5457:18:16", + "src": "5380:18:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2169, + "id": 2170, "nodeType": "IfStatement", - "src": "5453:86:16", + "src": "5376:86:16", "trueBody": { - "id": 2168, + "id": 2169, "nodeType": "Block", - "src": "5477:62:16", + "src": "5400:62:16", "statements": [ { "errorCall": { @@ -25653,14 +25662,14 @@ "arguments": [ { "hexValue": "30", - "id": 2164, + "id": 2165, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5525:1:16", + "src": "5448:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -25675,26 +25684,26 @@ "typeString": "int_const 0" } ], - "id": 2163, + "id": 2164, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5517:7:16", + "src": "5440:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2162, + "id": 2163, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5517:7:16", + "src": "5440:7:16", "typeDescriptions": {} } }, - "id": 2165, + "id": 2166, "isConstant": false, "isLValue": false, "isPure": true, @@ -25703,7 +25712,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5517:10:16", + "src": "5440:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -25718,18 +25727,18 @@ "typeString": "address" } ], - "id": 2161, + "id": 2162, "name": "ERC20InvalidSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, - "src": "5498:18:16", + "referencedDeclaration": 1266, + "src": "5421:18:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 2166, + "id": 2167, "isConstant": false, "isLValue": false, "isPure": false, @@ -25738,16 +25747,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5498:30:16", + "src": "5421:30:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2167, + "id": 2168, "nodeType": "RevertStatement", - "src": "5491:37:16" + "src": "5414:37:16" } ] } @@ -25758,18 +25767,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2175, + "id": 2176, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2170, + "id": 2171, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2150, - "src": "5552:2:16", + "referencedDeclaration": 2151, + "src": "5475:2:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -25781,14 +25790,14 @@ "arguments": [ { "hexValue": "30", - "id": 2173, + "id": 2174, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5566:1:16", + "src": "5489:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -25803,26 +25812,26 @@ "typeString": "int_const 0" } ], - "id": 2172, + "id": 2173, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5558:7:16", + "src": "5481:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2171, + "id": 2172, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5558:7:16", + "src": "5481:7:16", "typeDescriptions": {} } }, - "id": 2174, + "id": 2175, "isConstant": false, "isLValue": false, "isPure": true, @@ -25831,26 +25840,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5558:10:16", + "src": "5481:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5552:16:16", + "src": "5475:16:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2184, + "id": 2185, "nodeType": "IfStatement", - "src": "5548:86:16", + "src": "5471:86:16", "trueBody": { - "id": 2183, + "id": 2184, "nodeType": "Block", - "src": "5570:64:16", + "src": "5493:64:16", "statements": [ { "errorCall": { @@ -25859,14 +25868,14 @@ "arguments": [ { "hexValue": "30", - "id": 2179, + "id": 2180, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5620:1:16", + "src": "5543:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -25881,26 +25890,26 @@ "typeString": "int_const 0" } ], - "id": 2178, + "id": 2179, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5612:7:16", + "src": "5535:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2177, + "id": 2178, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5612:7:16", + "src": "5535:7:16", "typeDescriptions": {} } }, - "id": 2180, + "id": 2181, "isConstant": false, "isLValue": false, "isPure": true, @@ -25909,7 +25918,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5612:10:16", + "src": "5535:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -25924,18 +25933,18 @@ "typeString": "address" } ], - "id": 2176, + "id": 2177, "name": "ERC20InvalidReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1270, - "src": "5591:20:16", + "referencedDeclaration": 1271, + "src": "5514:20:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 2181, + "id": 2182, "isConstant": false, "isLValue": false, "isPure": false, @@ -25944,16 +25953,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5591:32:16", + "src": "5514:32:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2182, + "id": 2183, "nodeType": "RevertStatement", - "src": "5584:39:16" + "src": "5507:39:16" } ] } @@ -25962,36 +25971,36 @@ "expression": { "arguments": [ { - "id": 2186, + "id": 2187, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2148, - "src": "5651:4:16", + "referencedDeclaration": 2149, + "src": "5574:4:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2187, + "id": 2188, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2150, - "src": "5657:2:16", + "referencedDeclaration": 2151, + "src": "5580:2:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2188, + "id": 2189, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2152, - "src": "5661:5:16", + "referencedDeclaration": 2153, + "src": "5584:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26013,18 +26022,18 @@ "typeString": "uint256" } ], - "id": 2185, + "id": 2186, "name": "_update", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2269, - "src": "5643:7:16", + "referencedDeclaration": 2270, + "src": "5566:7:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2189, + "id": 2190, "isConstant": false, "isLValue": false, "isPure": false, @@ -26033,45 +26042,45 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5643:24:16", + "src": "5566:24:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2190, + "id": 2191, "nodeType": "ExpressionStatement", - "src": "5643:24:16" + "src": "5566:24:16" } ] }, "documentation": { - "id": 2146, + "id": 2147, "nodeType": "StructuredDocumentation", - "src": "5007:362:16", + "src": "4930:362:16", "text": " @dev Moves a `value` amount of tokens from `from` to `to`.\n This internal function is equivalent to {transfer}, and can be used to\n e.g. implement automatic token fees, slashing mechanisms, etc.\n Emits a {Transfer} event.\n NOTE: This function is not virtual, {_update} should be overridden instead." }, - "id": 2192, + "id": 2193, "implemented": true, "kind": "function", "modifiers": [], "name": "_transfer", - "nameLocation": "5383:9:16", + "nameLocation": "5306:9:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2153, + "id": 2154, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2148, + "id": 2149, "mutability": "mutable", "name": "from", - "nameLocation": "5401:4:16", + "nameLocation": "5324:4:16", "nodeType": "VariableDeclaration", - "scope": 2192, - "src": "5393:12:16", + "scope": 2193, + "src": "5316:12:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26079,10 +26088,10 @@ "typeString": "address" }, "typeName": { - "id": 2147, + "id": 2148, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5393:7:16", + "src": "5316:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26093,13 +26102,13 @@ }, { "constant": false, - "id": 2150, + "id": 2151, "mutability": "mutable", "name": "to", - "nameLocation": "5415:2:16", + "nameLocation": "5338:2:16", "nodeType": "VariableDeclaration", - "scope": 2192, - "src": "5407:10:16", + "scope": 2193, + "src": "5330:10:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26107,10 +26116,10 @@ "typeString": "address" }, "typeName": { - "id": 2149, + "id": 2150, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5407:7:16", + "src": "5330:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -26121,13 +26130,13 @@ }, { "constant": false, - "id": 2152, + "id": 2153, "mutability": "mutable", "name": "value", - "nameLocation": "5427:5:16", + "nameLocation": "5350:5:16", "nodeType": "VariableDeclaration", - "scope": 2192, - "src": "5419:13:16", + "scope": 2193, + "src": "5342:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26135,10 +26144,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2151, + "id": 2152, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5419:7:16", + "src": "5342:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26147,25 +26156,25 @@ "visibility": "internal" } ], - "src": "5392:41:16" + "src": "5315:41:16" }, "returnParameters": { - "id": 2154, + "id": 2155, "nodeType": "ParameterList", "parameters": [], - "src": "5443:0:16" + "src": "5366:0:16" }, - "scope": 2462, - "src": "5374:300:16", + "scope": 2463, + "src": "5297:300:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2268, + "id": 2269, "nodeType": "Block", - "src": "6064:1032:16", + "src": "5987:1032:16", "statements": [ { "condition": { @@ -26173,18 +26182,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2207, + "id": 2208, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2202, + "id": 2203, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2195, - "src": "6078:4:16", + "referencedDeclaration": 2196, + "src": "6001:4:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26196,14 +26205,14 @@ "arguments": [ { "hexValue": "30", - "id": 2205, + "id": 2206, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6094:1:16", + "src": "6017:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -26218,26 +26227,26 @@ "typeString": "int_const 0" } ], - "id": 2204, + "id": 2205, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6086:7:16", + "src": "6009:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2203, + "id": 2204, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6086:7:16", + "src": "6009:7:16", "typeDescriptions": {} } }, - "id": 2206, + "id": 2207, "isConstant": false, "isLValue": false, "isPure": true, @@ -26246,38 +26255,38 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6086:10:16", + "src": "6009:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "6078:18:16", + "src": "6001:18:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 2239, + "id": 2240, "nodeType": "Block", - "src": "6252:362:16", + "src": "6175:362:16", "statements": [ { "assignments": [ - 2214 + 2215 ], "declarations": [ { "constant": false, - "id": 2214, + "id": 2215, "mutability": "mutable", "name": "fromBalance", - "nameLocation": "6274:11:16", + "nameLocation": "6197:11:16", "nodeType": "VariableDeclaration", - "scope": 2239, - "src": "6266:19:16", + "scope": 2240, + "src": "6189:19:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26285,10 +26294,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2213, + "id": 2214, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6266:7:16", + "src": "6189:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26297,28 +26306,28 @@ "visibility": "internal" } ], - "id": 2218, + "id": 2219, "initialValue": { "baseExpression": { - "id": 2215, + "id": 2216, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1970, - "src": "6288:9:16", + "referencedDeclaration": 1971, + "src": "6211:9:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2217, + "id": 2218, "indexExpression": { - "id": 2216, + "id": 2217, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2195, - "src": "6298:4:16", + "referencedDeclaration": 2196, + "src": "6221:4:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26329,14 +26338,14 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "6288:15:16", + "src": "6211:15:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "VariableDeclarationStatement", - "src": "6266:37:16" + "src": "6189:37:16" }, { "condition": { @@ -26344,18 +26353,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2221, + "id": 2222, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2219, + "id": 2220, "name": "fromBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2214, - "src": "6321:11:16", + "referencedDeclaration": 2215, + "src": "6244:11:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26364,65 +26373,65 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 2220, + "id": 2221, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2199, - "src": "6335:5:16", + "referencedDeclaration": 2200, + "src": "6258:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6321:19:16", + "src": "6244:19:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2229, + "id": 2230, "nodeType": "IfStatement", - "src": "6317:115:16", + "src": "6240:115:16", "trueBody": { - "id": 2228, + "id": 2229, "nodeType": "Block", - "src": "6342:90:16", + "src": "6265:90:16", "statements": [ { "errorCall": { "arguments": [ { - "id": 2223, + "id": 2224, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2195, - "src": "6392:4:16", + "referencedDeclaration": 2196, + "src": "6315:4:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2224, + "id": 2225, "name": "fromBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2214, - "src": "6398:11:16", + "referencedDeclaration": 2215, + "src": "6321:11:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 2225, + "id": 2226, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2199, - "src": "6411:5:16", + "referencedDeclaration": 2200, + "src": "6334:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26444,18 +26453,18 @@ "typeString": "uint256" } ], - "id": 2222, + "id": 2223, "name": "ERC20InsufficientBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1260, - "src": "6367:24:16", + "referencedDeclaration": 1261, + "src": "6290:24:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256) pure" } }, - "id": 2226, + "id": 2227, "isConstant": false, "isLValue": false, "isPure": false, @@ -26464,53 +26473,53 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6367:50:16", + "src": "6290:50:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2227, + "id": 2228, "nodeType": "RevertStatement", - "src": "6360:57:16" + "src": "6283:57:16" } ] } }, { - "id": 2238, + "id": 2239, "nodeType": "UncheckedBlock", - "src": "6445:159:16", + "src": "6368:159:16", "statements": [ { "expression": { - "id": 2236, + "id": 2237, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 2230, + "id": 2231, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1970, - "src": "6552:9:16", + "referencedDeclaration": 1971, + "src": "6475:9:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2232, + "id": 2233, "indexExpression": { - "id": 2231, + "id": 2232, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2195, - "src": "6562:4:16", + "referencedDeclaration": 2196, + "src": "6485:4:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26521,7 +26530,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "6552:15:16", + "src": "6475:15:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26534,18 +26543,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2235, + "id": 2236, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2233, + "id": 2234, "name": "fromBalance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2214, - "src": "6570:11:16", + "referencedDeclaration": 2215, + "src": "6493:11:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26554,59 +26563,59 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 2234, + "id": 2235, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2199, - "src": "6584:5:16", + "referencedDeclaration": 2200, + "src": "6507:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6570:19:16", + "src": "6493:19:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6552:37:16", + "src": "6475:37:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2237, + "id": 2238, "nodeType": "ExpressionStatement", - "src": "6552:37:16" + "src": "6475:37:16" } ] } ] }, - "id": 2240, + "id": 2241, "nodeType": "IfStatement", - "src": "6074:540:16", + "src": "5997:540:16", "trueBody": { - "id": 2212, + "id": 2213, "nodeType": "Block", - "src": "6098:148:16", + "src": "6021:148:16", "statements": [ { "expression": { - "id": 2210, + "id": 2211, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2208, + "id": 2209, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1978, - "src": "6214:12:16", + "referencedDeclaration": 1979, + "src": "6137:12:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26615,26 +26624,26 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 2209, + "id": 2210, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2199, - "src": "6230:5:16", + "referencedDeclaration": 2200, + "src": "6153:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6214:21:16", + "src": "6137:21:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2211, + "id": 2212, "nodeType": "ExpressionStatement", - "src": "6214:21:16" + "src": "6137:21:16" } ] } @@ -26645,18 +26654,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2246, + "id": 2247, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2241, + "id": 2242, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2197, - "src": "6628:2:16", + "referencedDeclaration": 2198, + "src": "6551:2:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26668,14 +26677,14 @@ "arguments": [ { "hexValue": "30", - "id": 2244, + "id": 2245, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "6642:1:16", + "src": "6565:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -26690,26 +26699,26 @@ "typeString": "int_const 0" } ], - "id": 2243, + "id": 2244, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "6634:7:16", + "src": "6557:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2242, + "id": 2243, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6634:7:16", + "src": "6557:7:16", "typeDescriptions": {} } }, - "id": 2245, + "id": 2246, "isConstant": false, "isLValue": false, "isPure": true, @@ -26718,57 +26727,57 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6634:10:16", + "src": "6557:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "6628:16:16", + "src": "6551:16:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "falseBody": { - "id": 2260, + "id": 2261, "nodeType": "Block", - "src": "6843:206:16", + "src": "6766:206:16", "statements": [ { - "id": 2259, + "id": 2260, "nodeType": "UncheckedBlock", - "src": "6857:182:16", + "src": "6780:182:16", "statements": [ { "expression": { - "id": 2257, + "id": 2258, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 2253, + "id": 2254, "name": "_balances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1970, - "src": "7002:9:16", + "referencedDeclaration": 1971, + "src": "6925:9:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2255, + "id": 2256, "indexExpression": { - "id": 2254, + "id": 2255, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2197, - "src": "7012:2:16", + "referencedDeclaration": 2198, + "src": "6935:2:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -26779,7 +26788,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7002:13:16", + "src": "6925:13:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26788,58 +26797,58 @@ "nodeType": "Assignment", "operator": "+=", "rightHandSide": { - "id": 2256, + "id": 2257, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2199, - "src": "7019:5:16", + "referencedDeclaration": 2200, + "src": "6942:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "7002:22:16", + "src": "6925:22:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2258, + "id": 2259, "nodeType": "ExpressionStatement", - "src": "7002:22:16" + "src": "6925:22:16" } ] } ] }, - "id": 2261, + "id": 2262, "nodeType": "IfStatement", - "src": "6624:425:16", + "src": "6547:425:16", "trueBody": { - "id": 2252, + "id": 2253, "nodeType": "Block", - "src": "6646:191:16", + "src": "6569:191:16", "statements": [ { - "id": 2251, + "id": 2252, "nodeType": "UncheckedBlock", - "src": "6660:167:16", + "src": "6583:167:16", "statements": [ { "expression": { - "id": 2249, + "id": 2250, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 2247, + "id": 2248, "name": "_totalSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1978, - "src": "6791:12:16", + "referencedDeclaration": 1979, + "src": "6714:12:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26848,26 +26857,26 @@ "nodeType": "Assignment", "operator": "-=", "rightHandSide": { - "id": 2248, + "id": 2249, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2199, - "src": "6807:5:16", + "referencedDeclaration": 2200, + "src": "6730:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "6791:21:16", + "src": "6714:21:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2250, + "id": 2251, "nodeType": "ExpressionStatement", - "src": "6791:21:16" + "src": "6714:21:16" } ] } @@ -26878,36 +26887,36 @@ "eventCall": { "arguments": [ { - "id": 2263, + "id": 2264, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2195, - "src": "7073:4:16", + "referencedDeclaration": 2196, + "src": "6996:4:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2264, + "id": 2265, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2197, - "src": "7079:2:16", + "referencedDeclaration": 2198, + "src": "7002:2:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2265, + "id": 2266, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2199, - "src": "7083:5:16", + "referencedDeclaration": 2200, + "src": "7006:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -26929,18 +26938,18 @@ "typeString": "uint256" } ], - "id": 2262, + "id": 2263, "name": "Transfer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2474, - "src": "7064:8:16", + "referencedDeclaration": 2475, + "src": "6987:8:16", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2266, + "id": 2267, "isConstant": false, "isLValue": false, "isPure": false, @@ -26949,45 +26958,45 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7064:25:16", + "src": "6987:25:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2267, + "id": 2268, "nodeType": "EmitStatement", - "src": "7059:30:16" + "src": "6982:30:16" } ] }, "documentation": { - "id": 2193, + "id": 2194, "nodeType": "StructuredDocumentation", - "src": "5680:304:16", + "src": "5603:304:16", "text": " @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively mints (or burns) if `from`\n (or `to`) is the zero address. All customizations to transfers, mints, and burns should be done by overriding\n this function.\n Emits a {Transfer} event." }, - "id": 2269, + "id": 2270, "implemented": true, "kind": "function", "modifiers": [], "name": "_update", - "nameLocation": "5998:7:16", + "nameLocation": "5921:7:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2200, + "id": 2201, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2195, + "id": 2196, "mutability": "mutable", "name": "from", - "nameLocation": "6014:4:16", + "nameLocation": "5937:4:16", "nodeType": "VariableDeclaration", - "scope": 2269, - "src": "6006:12:16", + "scope": 2270, + "src": "5929:12:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -26995,10 +27004,10 @@ "typeString": "address" }, "typeName": { - "id": 2194, + "id": 2195, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6006:7:16", + "src": "5929:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -27009,13 +27018,13 @@ }, { "constant": false, - "id": 2197, + "id": 2198, "mutability": "mutable", "name": "to", - "nameLocation": "6028:2:16", + "nameLocation": "5951:2:16", "nodeType": "VariableDeclaration", - "scope": 2269, - "src": "6020:10:16", + "scope": 2270, + "src": "5943:10:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27023,10 +27032,10 @@ "typeString": "address" }, "typeName": { - "id": 2196, + "id": 2197, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6020:7:16", + "src": "5943:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -27037,13 +27046,13 @@ }, { "constant": false, - "id": 2199, + "id": 2200, "mutability": "mutable", "name": "value", - "nameLocation": "6040:5:16", + "nameLocation": "5963:5:16", "nodeType": "VariableDeclaration", - "scope": 2269, - "src": "6032:13:16", + "scope": 2270, + "src": "5955:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27051,10 +27060,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2198, + "id": 2199, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6032:7:16", + "src": "5955:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27063,25 +27072,25 @@ "visibility": "internal" } ], - "src": "6005:41:16" + "src": "5928:41:16" }, "returnParameters": { - "id": 2201, + "id": 2202, "nodeType": "ParameterList", "parameters": [], - "src": "6064:0:16" + "src": "5987:0:16" }, - "scope": 2462, - "src": "5989:1107:16", + "scope": 2463, + "src": "5912:1107:16", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2301, + "id": 2302, "nodeType": "Block", - "src": "7495:152:16", + "src": "7418:152:16", "statements": [ { "condition": { @@ -27089,18 +27098,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2282, + "id": 2283, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2277, + "id": 2278, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "7509:7:16", + "referencedDeclaration": 2273, + "src": "7432:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27112,14 +27121,14 @@ "arguments": [ { "hexValue": "30", - "id": 2280, + "id": 2281, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7528:1:16", + "src": "7451:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -27134,26 +27143,26 @@ "typeString": "int_const 0" } ], - "id": 2279, + "id": 2280, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7520:7:16", + "src": "7443:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2278, + "id": 2279, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7520:7:16", + "src": "7443:7:16", "typeDescriptions": {} } }, - "id": 2281, + "id": 2282, "isConstant": false, "isLValue": false, "isPure": true, @@ -27162,26 +27171,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7520:10:16", + "src": "7443:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7509:21:16", + "src": "7432:21:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2291, + "id": 2292, "nodeType": "IfStatement", - "src": "7505:91:16", + "src": "7428:91:16", "trueBody": { - "id": 2290, + "id": 2291, "nodeType": "Block", - "src": "7532:64:16", + "src": "7455:64:16", "statements": [ { "errorCall": { @@ -27190,14 +27199,14 @@ "arguments": [ { "hexValue": "30", - "id": 2286, + "id": 2287, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7582:1:16", + "src": "7505:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -27212,26 +27221,26 @@ "typeString": "int_const 0" } ], - "id": 2285, + "id": 2286, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7574:7:16", + "src": "7497:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2284, + "id": 2285, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7574:7:16", + "src": "7497:7:16", "typeDescriptions": {} } }, - "id": 2287, + "id": 2288, "isConstant": false, "isLValue": false, "isPure": true, @@ -27240,7 +27249,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7574:10:16", + "src": "7497:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -27255,18 +27264,18 @@ "typeString": "address" } ], - "id": 2283, + "id": 2284, "name": "ERC20InvalidReceiver", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1270, - "src": "7553:20:16", + "referencedDeclaration": 1271, + "src": "7476:20:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 2288, + "id": 2289, "isConstant": false, "isLValue": false, "isPure": false, @@ -27275,16 +27284,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7553:32:16", + "src": "7476:32:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2289, + "id": 2290, "nodeType": "RevertStatement", - "src": "7546:39:16" + "src": "7469:39:16" } ] } @@ -27296,14 +27305,14 @@ "arguments": [ { "hexValue": "30", - "id": 2295, + "id": 2296, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7621:1:16", + "src": "7544:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -27318,26 +27327,26 @@ "typeString": "int_const 0" } ], - "id": 2294, + "id": 2295, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7613:7:16", + "src": "7536:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2293, + "id": 2294, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7613:7:16", + "src": "7536:7:16", "typeDescriptions": {} } }, - "id": 2296, + "id": 2297, "isConstant": false, "isLValue": false, "isPure": true, @@ -27346,7 +27355,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7613:10:16", + "src": "7536:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -27354,24 +27363,24 @@ } }, { - "id": 2297, + "id": 2298, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2272, - "src": "7625:7:16", + "referencedDeclaration": 2273, + "src": "7548:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2298, + "id": 2299, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2274, - "src": "7634:5:16", + "referencedDeclaration": 2275, + "src": "7557:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27393,18 +27402,18 @@ "typeString": "uint256" } ], - "id": 2292, + "id": 2293, "name": "_update", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2269, - "src": "7605:7:16", + "referencedDeclaration": 2270, + "src": "7528:7:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2299, + "id": 2300, "isConstant": false, "isLValue": false, "isPure": false, @@ -27413,45 +27422,45 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7605:35:16", + "src": "7528:35:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2300, + "id": 2301, "nodeType": "ExpressionStatement", - "src": "7605:35:16" + "src": "7528:35:16" } ] }, "documentation": { - "id": 2270, + "id": 2271, "nodeType": "StructuredDocumentation", - "src": "7102:332:16", + "src": "7025:332:16", "text": " @dev Creates a `value` amount of tokens and assigns them to `account`, by transferring it from address(0).\n Relies on the `_update` mechanism\n Emits a {Transfer} event with `from` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead." }, - "id": 2302, + "id": 2303, "implemented": true, "kind": "function", "modifiers": [], "name": "_mint", - "nameLocation": "7448:5:16", + "nameLocation": "7371:5:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2275, + "id": 2276, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2272, + "id": 2273, "mutability": "mutable", "name": "account", - "nameLocation": "7462:7:16", + "nameLocation": "7385:7:16", "nodeType": "VariableDeclaration", - "scope": 2302, - "src": "7454:15:16", + "scope": 2303, + "src": "7377:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27459,10 +27468,10 @@ "typeString": "address" }, "typeName": { - "id": 2271, + "id": 2272, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7454:7:16", + "src": "7377:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -27473,13 +27482,13 @@ }, { "constant": false, - "id": 2274, + "id": 2275, "mutability": "mutable", "name": "value", - "nameLocation": "7479:5:16", + "nameLocation": "7402:5:16", "nodeType": "VariableDeclaration", - "scope": 2302, - "src": "7471:13:16", + "scope": 2303, + "src": "7394:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27487,10 +27496,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2273, + "id": 2274, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7471:7:16", + "src": "7394:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27499,25 +27508,25 @@ "visibility": "internal" } ], - "src": "7453:32:16" + "src": "7376:32:16" }, "returnParameters": { - "id": 2276, + "id": 2277, "nodeType": "ParameterList", "parameters": [], - "src": "7495:0:16" + "src": "7418:0:16" }, - "scope": 2462, - "src": "7439:208:16", + "scope": 2463, + "src": "7362:208:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2334, + "id": 2335, "nodeType": "Block", - "src": "8021:150:16", + "src": "7944:150:16", "statements": [ { "condition": { @@ -27525,18 +27534,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2315, + "id": 2316, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2310, + "id": 2311, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2305, - "src": "8035:7:16", + "referencedDeclaration": 2306, + "src": "7958:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27548,14 +27557,14 @@ "arguments": [ { "hexValue": "30", - "id": 2313, + "id": 2314, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8054:1:16", + "src": "7977:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -27570,26 +27579,26 @@ "typeString": "int_const 0" } ], - "id": 2312, + "id": 2313, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8046:7:16", + "src": "7969:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2311, + "id": 2312, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8046:7:16", + "src": "7969:7:16", "typeDescriptions": {} } }, - "id": 2314, + "id": 2315, "isConstant": false, "isLValue": false, "isPure": true, @@ -27598,26 +27607,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8046:10:16", + "src": "7969:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8035:21:16", + "src": "7958:21:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2324, + "id": 2325, "nodeType": "IfStatement", - "src": "8031:89:16", + "src": "7954:89:16", "trueBody": { - "id": 2323, + "id": 2324, "nodeType": "Block", - "src": "8058:62:16", + "src": "7981:62:16", "statements": [ { "errorCall": { @@ -27626,14 +27635,14 @@ "arguments": [ { "hexValue": "30", - "id": 2319, + "id": 2320, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8106:1:16", + "src": "8029:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -27648,26 +27657,26 @@ "typeString": "int_const 0" } ], - "id": 2318, + "id": 2319, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8098:7:16", + "src": "8021:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2317, + "id": 2318, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8098:7:16", + "src": "8021:7:16", "typeDescriptions": {} } }, - "id": 2320, + "id": 2321, "isConstant": false, "isLValue": false, "isPure": true, @@ -27676,7 +27685,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8098:10:16", + "src": "8021:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -27691,18 +27700,18 @@ "typeString": "address" } ], - "id": 2316, + "id": 2317, "name": "ERC20InvalidSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1265, - "src": "8079:18:16", + "referencedDeclaration": 1266, + "src": "8002:18:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 2321, + "id": 2322, "isConstant": false, "isLValue": false, "isPure": false, @@ -27711,16 +27720,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8079:30:16", + "src": "8002:30:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2322, + "id": 2323, "nodeType": "RevertStatement", - "src": "8072:37:16" + "src": "7995:37:16" } ] } @@ -27729,12 +27738,12 @@ "expression": { "arguments": [ { - "id": 2326, + "id": 2327, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2305, - "src": "8137:7:16", + "referencedDeclaration": 2306, + "src": "8060:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -27744,14 +27753,14 @@ "arguments": [ { "hexValue": "30", - "id": 2329, + "id": 2330, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8154:1:16", + "src": "8077:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -27766,26 +27775,26 @@ "typeString": "int_const 0" } ], - "id": 2328, + "id": 2329, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "8146:7:16", + "src": "8069:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2327, + "id": 2328, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8146:7:16", + "src": "8069:7:16", "typeDescriptions": {} } }, - "id": 2330, + "id": 2331, "isConstant": false, "isLValue": false, "isPure": true, @@ -27794,7 +27803,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8146:10:16", + "src": "8069:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -27802,12 +27811,12 @@ } }, { - "id": 2331, + "id": 2332, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2307, - "src": "8158:5:16", + "referencedDeclaration": 2308, + "src": "8081:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27829,18 +27838,18 @@ "typeString": "uint256" } ], - "id": 2325, + "id": 2326, "name": "_update", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2269, - "src": "8129:7:16", + "referencedDeclaration": 2270, + "src": "8052:7:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2332, + "id": 2333, "isConstant": false, "isLValue": false, "isPure": false, @@ -27849,45 +27858,45 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8129:35:16", + "src": "8052:35:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2333, + "id": 2334, "nodeType": "ExpressionStatement", - "src": "8129:35:16" + "src": "8052:35:16" } ] }, "documentation": { - "id": 2303, + "id": 2304, "nodeType": "StructuredDocumentation", - "src": "7653:307:16", + "src": "7576:307:16", "text": " @dev Destroys a `value` amount of tokens from `account`, lowering the total supply.\n Relies on the `_update` mechanism.\n Emits a {Transfer} event with `to` set to the zero address.\n NOTE: This function is not virtual, {_update} should be overridden instead" }, - "id": 2335, + "id": 2336, "implemented": true, "kind": "function", "modifiers": [], "name": "_burn", - "nameLocation": "7974:5:16", + "nameLocation": "7897:5:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2308, + "id": 2309, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2305, + "id": 2306, "mutability": "mutable", "name": "account", - "nameLocation": "7988:7:16", + "nameLocation": "7911:7:16", "nodeType": "VariableDeclaration", - "scope": 2335, - "src": "7980:15:16", + "scope": 2336, + "src": "7903:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27895,10 +27904,10 @@ "typeString": "address" }, "typeName": { - "id": 2304, + "id": 2305, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7980:7:16", + "src": "7903:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -27909,13 +27918,13 @@ }, { "constant": false, - "id": 2307, + "id": 2308, "mutability": "mutable", "name": "value", - "nameLocation": "8005:5:16", + "nameLocation": "7928:5:16", "nodeType": "VariableDeclaration", - "scope": 2335, - "src": "7997:13:16", + "scope": 2336, + "src": "7920:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -27923,10 +27932,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2306, + "id": 2307, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7997:7:16", + "src": "7920:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27935,60 +27944,60 @@ "visibility": "internal" } ], - "src": "7979:32:16" + "src": "7902:32:16" }, "returnParameters": { - "id": 2309, + "id": 2310, "nodeType": "ParameterList", "parameters": [], - "src": "8021:0:16" + "src": "7944:0:16" }, - "scope": 2462, - "src": "7965:206:16", + "scope": 2463, + "src": "7888:206:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2352, + "id": 2353, "nodeType": "Block", - "src": "8781:54:16", + "src": "8704:54:16", "statements": [ { "expression": { "arguments": [ { - "id": 2346, + "id": 2347, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2338, - "src": "8800:5:16", + "referencedDeclaration": 2339, + "src": "8723:5:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2347, + "id": 2348, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2340, - "src": "8807:7:16", + "referencedDeclaration": 2341, + "src": "8730:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2348, + "id": 2349, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2342, - "src": "8816:5:16", + "referencedDeclaration": 2343, + "src": "8739:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -27996,14 +28005,14 @@ }, { "hexValue": "74727565", - "id": 2349, + "id": 2350, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "8823:4:16", + "src": "8746:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28030,21 +28039,21 @@ "typeString": "bool" } ], - "id": 2345, + "id": 2346, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [ - 2353, - 2413 + 2354, + 2414 ], - "referencedDeclaration": 2413, - "src": "8791:8:16", + "referencedDeclaration": 2414, + "src": "8714:8:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$", "typeString": "function (address,address,uint256,bool)" } }, - "id": 2350, + "id": 2351, "isConstant": false, "isLValue": false, "isPure": false, @@ -28053,45 +28062,45 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8791:37:16", + "src": "8714:37:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2351, + "id": 2352, "nodeType": "ExpressionStatement", - "src": "8791:37:16" + "src": "8714:37:16" } ] }, "documentation": { - "id": 2336, + "id": 2337, "nodeType": "StructuredDocumentation", - "src": "8177:525:16", + "src": "8100:525:16", "text": " @dev Sets `value` as the allowance of `spender` over the `owner`'s tokens.\n This internal function is equivalent to `approve`, and can be used to\n e.g. set automatic allowances for certain subsystems, etc.\n Emits an {Approval} event.\n Requirements:\n - `owner` cannot be the zero address.\n - `spender` cannot be the zero address.\n Overrides to this logic should be done to the variant with an additional `bool emitEvent` argument." }, - "id": 2353, + "id": 2354, "implemented": true, "kind": "function", "modifiers": [], "name": "_approve", - "nameLocation": "8716:8:16", + "nameLocation": "8639:8:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2343, + "id": 2344, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2338, + "id": 2339, "mutability": "mutable", "name": "owner", - "nameLocation": "8733:5:16", + "nameLocation": "8656:5:16", "nodeType": "VariableDeclaration", - "scope": 2353, - "src": "8725:13:16", + "scope": 2354, + "src": "8648:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28099,10 +28108,10 @@ "typeString": "address" }, "typeName": { - "id": 2337, + "id": 2338, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8725:7:16", + "src": "8648:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28113,13 +28122,13 @@ }, { "constant": false, - "id": 2340, + "id": 2341, "mutability": "mutable", "name": "spender", - "nameLocation": "8748:7:16", + "nameLocation": "8671:7:16", "nodeType": "VariableDeclaration", - "scope": 2353, - "src": "8740:15:16", + "scope": 2354, + "src": "8663:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28127,10 +28136,10 @@ "typeString": "address" }, "typeName": { - "id": 2339, + "id": 2340, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8740:7:16", + "src": "8663:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28141,13 +28150,13 @@ }, { "constant": false, - "id": 2342, + "id": 2343, "mutability": "mutable", "name": "value", - "nameLocation": "8765:5:16", + "nameLocation": "8688:5:16", "nodeType": "VariableDeclaration", - "scope": 2353, - "src": "8757:13:16", + "scope": 2354, + "src": "8680:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28155,10 +28164,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2341, + "id": 2342, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8757:7:16", + "src": "8680:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28167,25 +28176,25 @@ "visibility": "internal" } ], - "src": "8724:47:16" + "src": "8647:47:16" }, "returnParameters": { - "id": 2344, + "id": 2345, "nodeType": "ParameterList", "parameters": [], - "src": "8781:0:16" + "src": "8704:0:16" }, - "scope": 2462, - "src": "8707:128:16", + "scope": 2463, + "src": "8630:128:16", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 2412, + "id": 2413, "nodeType": "Block", - "src": "9780:334:16", + "src": "9703:334:16", "statements": [ { "condition": { @@ -28193,18 +28202,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2370, + "id": 2371, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2365, + "id": 2366, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2356, - "src": "9794:5:16", + "referencedDeclaration": 2357, + "src": "9717:5:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28216,14 +28225,14 @@ "arguments": [ { "hexValue": "30", - "id": 2368, + "id": 2369, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9811:1:16", + "src": "9734:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -28238,26 +28247,26 @@ "typeString": "int_const 0" } ], - "id": 2367, + "id": 2368, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9803:7:16", + "src": "9726:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2366, + "id": 2367, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9803:7:16", + "src": "9726:7:16", "typeDescriptions": {} } }, - "id": 2369, + "id": 2370, "isConstant": false, "isLValue": false, "isPure": true, @@ -28266,26 +28275,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9803:10:16", + "src": "9726:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9794:19:16", + "src": "9717:19:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2379, + "id": 2380, "nodeType": "IfStatement", - "src": "9790:89:16", + "src": "9713:89:16", "trueBody": { - "id": 2378, + "id": 2379, "nodeType": "Block", - "src": "9815:64:16", + "src": "9738:64:16", "statements": [ { "errorCall": { @@ -28294,14 +28303,14 @@ "arguments": [ { "hexValue": "30", - "id": 2374, + "id": 2375, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9865:1:16", + "src": "9788:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -28316,26 +28325,26 @@ "typeString": "int_const 0" } ], - "id": 2373, + "id": 2374, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9857:7:16", + "src": "9780:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2372, + "id": 2373, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9857:7:16", + "src": "9780:7:16", "typeDescriptions": {} } }, - "id": 2375, + "id": 2376, "isConstant": false, "isLValue": false, "isPure": true, @@ -28344,7 +28353,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9857:10:16", + "src": "9780:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -28359,18 +28368,18 @@ "typeString": "address" } ], - "id": 2371, + "id": 2372, "name": "ERC20InvalidApprover", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1284, - "src": "9836:20:16", + "referencedDeclaration": 1285, + "src": "9759:20:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 2376, + "id": 2377, "isConstant": false, "isLValue": false, "isPure": false, @@ -28379,16 +28388,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9836:32:16", + "src": "9759:32:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2377, + "id": 2378, "nodeType": "RevertStatement", - "src": "9829:39:16" + "src": "9752:39:16" } ] } @@ -28399,18 +28408,18 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 2385, + "id": 2386, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2380, + "id": 2381, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2358, - "src": "9892:7:16", + "referencedDeclaration": 2359, + "src": "9815:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28422,14 +28431,14 @@ "arguments": [ { "hexValue": "30", - "id": 2383, + "id": 2384, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9911:1:16", + "src": "9834:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -28444,26 +28453,26 @@ "typeString": "int_const 0" } ], - "id": 2382, + "id": 2383, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9903:7:16", + "src": "9826:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2381, + "id": 2382, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9903:7:16", + "src": "9826:7:16", "typeDescriptions": {} } }, - "id": 2384, + "id": 2385, "isConstant": false, "isLValue": false, "isPure": true, @@ -28472,26 +28481,26 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9903:10:16", + "src": "9826:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9892:21:16", + "src": "9815:21:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2394, + "id": 2395, "nodeType": "IfStatement", - "src": "9888:90:16", + "src": "9811:90:16", "trueBody": { - "id": 2393, + "id": 2394, "nodeType": "Block", - "src": "9915:63:16", + "src": "9838:63:16", "statements": [ { "errorCall": { @@ -28500,14 +28509,14 @@ "arguments": [ { "hexValue": "30", - "id": 2389, + "id": 2390, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9964:1:16", + "src": "9887:1:16", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -28522,26 +28531,26 @@ "typeString": "int_const 0" } ], - "id": 2388, + "id": 2389, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9956:7:16", + "src": "9879:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 2387, + "id": 2388, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9956:7:16", + "src": "9879:7:16", "typeDescriptions": {} } }, - "id": 2390, + "id": 2391, "isConstant": false, "isLValue": false, "isPure": true, @@ -28550,7 +28559,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9956:10:16", + "src": "9879:10:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -28565,18 +28574,18 @@ "typeString": "address" } ], - "id": 2386, + "id": 2387, "name": "ERC20InvalidSpender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1289, - "src": "9936:19:16", + "referencedDeclaration": 1290, + "src": "9859:19:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 2391, + "id": 2392, "isConstant": false, "isLValue": false, "isPure": false, @@ -28585,23 +28594,23 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9936:31:16", + "src": "9859:31:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2392, + "id": 2393, "nodeType": "RevertStatement", - "src": "9929:38:16" + "src": "9852:38:16" } ] } }, { "expression": { - "id": 2401, + "id": 2402, "isConstant": false, "isLValue": false, "isPure": false, @@ -28609,25 +28618,25 @@ "leftHandSide": { "baseExpression": { "baseExpression": { - "id": 2395, + "id": 2396, "name": "_allowances", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1976, - "src": "9987:11:16", + "referencedDeclaration": 1977, + "src": "9910:11:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", "typeString": "mapping(address => mapping(address => uint256))" } }, - "id": 2398, + "id": 2399, "indexExpression": { - "id": 2396, + "id": 2397, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2356, - "src": "9999:5:16", + "referencedDeclaration": 2357, + "src": "9922:5:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28638,20 +28647,20 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9987:18:16", + "src": "9910:18:16", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", "typeString": "mapping(address => uint256)" } }, - "id": 2399, + "id": 2400, "indexExpression": { - "id": 2397, + "id": 2398, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2358, - "src": "10006:7:16", + "referencedDeclaration": 2359, + "src": "9929:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -28662,7 +28671,7 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "9987:27:16", + "src": "9910:27:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28671,82 +28680,82 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 2400, + "id": 2401, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2360, - "src": "10017:5:16", + "referencedDeclaration": 2361, + "src": "9940:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "9987:35:16", + "src": "9910:35:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 2402, + "id": 2403, "nodeType": "ExpressionStatement", - "src": "9987:35:16" + "src": "9910:35:16" }, { "condition": { - "id": 2403, + "id": 2404, "name": "emitEvent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2362, - "src": "10036:9:16", + "referencedDeclaration": 2363, + "src": "9959:9:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2411, + "id": 2412, "nodeType": "IfStatement", - "src": "10032:76:16", + "src": "9955:76:16", "trueBody": { - "id": 2410, + "id": 2411, "nodeType": "Block", - "src": "10047:61:16", + "src": "9970:61:16", "statements": [ { "eventCall": { "arguments": [ { - "id": 2405, + "id": 2406, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2356, - "src": "10075:5:16", + "referencedDeclaration": 2357, + "src": "9998:5:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2406, + "id": 2407, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2358, - "src": "10082:7:16", + "referencedDeclaration": 2359, + "src": "10005:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2407, + "id": 2408, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2360, - "src": "10091:5:16", + "referencedDeclaration": 2361, + "src": "10014:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28768,18 +28777,18 @@ "typeString": "uint256" } ], - "id": 2404, + "id": 2405, "name": "Approval", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2483, - "src": "10066:8:16", + "referencedDeclaration": 2484, + "src": "9989:8:16", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2408, + "id": 2409, "isConstant": false, "isLValue": false, "isPure": false, @@ -28788,16 +28797,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10066:31:16", + "src": "9989:31:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2409, + "id": 2410, "nodeType": "EmitStatement", - "src": "10061:36:16" + "src": "9984:36:16" } ] } @@ -28805,31 +28814,31 @@ ] }, "documentation": { - "id": 2354, + "id": 2355, "nodeType": "StructuredDocumentation", - "src": "8841:836:16", + "src": "8764:836:16", "text": " @dev Variant of {_approve} with an optional flag to enable or disable the {Approval} event.\n By default (when calling {_approve}) the flag is set to true. On the other hand, approval changes made by\n `_spendAllowance` during the `transferFrom` operation set the flag to false. This saves gas by not emitting any\n `Approval` event during `transferFrom` operations.\n Anyone who wishes to continue emitting `Approval` events on the`transferFrom` operation can force the flag to\n true using the following override:\n ```solidity\n function _approve(address owner, address spender, uint256 value, bool) internal virtual override {\n super._approve(owner, spender, value, true);\n }\n ```\n Requirements are the same as {_approve}." }, - "id": 2413, + "id": 2414, "implemented": true, "kind": "function", "modifiers": [], "name": "_approve", - "nameLocation": "9691:8:16", + "nameLocation": "9614:8:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2363, + "id": 2364, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2356, + "id": 2357, "mutability": "mutable", "name": "owner", - "nameLocation": "9708:5:16", + "nameLocation": "9631:5:16", "nodeType": "VariableDeclaration", - "scope": 2413, - "src": "9700:13:16", + "scope": 2414, + "src": "9623:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28837,10 +28846,10 @@ "typeString": "address" }, "typeName": { - "id": 2355, + "id": 2356, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9700:7:16", + "src": "9623:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28851,13 +28860,13 @@ }, { "constant": false, - "id": 2358, + "id": 2359, "mutability": "mutable", "name": "spender", - "nameLocation": "9723:7:16", + "nameLocation": "9646:7:16", "nodeType": "VariableDeclaration", - "scope": 2413, - "src": "9715:15:16", + "scope": 2414, + "src": "9638:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28865,10 +28874,10 @@ "typeString": "address" }, "typeName": { - "id": 2357, + "id": 2358, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9715:7:16", + "src": "9638:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -28879,13 +28888,13 @@ }, { "constant": false, - "id": 2360, + "id": 2361, "mutability": "mutable", "name": "value", - "nameLocation": "9740:5:16", + "nameLocation": "9663:5:16", "nodeType": "VariableDeclaration", - "scope": 2413, - "src": "9732:13:16", + "scope": 2414, + "src": "9655:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28893,10 +28902,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2359, + "id": 2360, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9732:7:16", + "src": "9655:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28906,13 +28915,13 @@ }, { "constant": false, - "id": 2362, + "id": 2363, "mutability": "mutable", "name": "emitEvent", - "nameLocation": "9752:9:16", + "nameLocation": "9675:9:16", "nodeType": "VariableDeclaration", - "scope": 2413, - "src": "9747:14:16", + "scope": 2414, + "src": "9670:14:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28920,10 +28929,10 @@ "typeString": "bool" }, "typeName": { - "id": 2361, + "id": 2362, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "9747:4:16", + "src": "9670:4:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -28932,40 +28941,40 @@ "visibility": "internal" } ], - "src": "9699:63:16" + "src": "9622:63:16" }, "returnParameters": { - "id": 2364, + "id": 2365, "nodeType": "ParameterList", "parameters": [], - "src": "9780:0:16" + "src": "9703:0:16" }, - "scope": 2462, - "src": "9682:432:16", + "scope": 2463, + "src": "9605:432:16", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" }, { "body": { - "id": 2460, + "id": 2461, "nodeType": "Block", - "src": "10485:387:16", + "src": "10408:387:16", "statements": [ { "assignments": [ - 2424 + 2425 ], "declarations": [ { "constant": false, - "id": 2424, + "id": 2425, "mutability": "mutable", "name": "currentAllowance", - "nameLocation": "10503:16:16", + "nameLocation": "10426:16:16", "nodeType": "VariableDeclaration", - "scope": 2460, - "src": "10495:24:16", + "scope": 2461, + "src": "10418:24:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -28973,10 +28982,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2423, + "id": 2424, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10495:7:16", + "src": "10418:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -28985,28 +28994,28 @@ "visibility": "internal" } ], - "id": 2429, + "id": 2430, "initialValue": { "arguments": [ { - "id": 2426, + "id": 2427, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2416, - "src": "10532:5:16", + "referencedDeclaration": 2417, + "src": "10455:5:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2427, + "id": 2428, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2418, - "src": "10539:7:16", + "referencedDeclaration": 2419, + "src": "10462:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29024,18 +29033,18 @@ "typeString": "address" } ], - "id": 2425, + "id": 2426, "name": "allowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2089, - "src": "10522:9:16", + "referencedDeclaration": 2090, + "src": "10445:9:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", "typeString": "function (address,address) view returns (uint256)" } }, - "id": 2428, + "id": 2429, "isConstant": false, "isLValue": false, "isPure": false, @@ -29044,7 +29053,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10522:25:16", + "src": "10445:25:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -29052,7 +29061,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "10495:52:16" + "src": "10418:52:16" }, { "condition": { @@ -29060,18 +29069,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2436, + "id": 2437, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2430, + "id": 2431, "name": "currentAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2424, - "src": "10561:16:16", + "referencedDeclaration": 2425, + "src": "10484:16:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29083,22 +29092,22 @@ "expression": { "arguments": [ { - "id": 2433, + "id": 2434, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "10585:7:16", + "src": "10508:7:16", "typeDescriptions": { "typeIdentifier": "t_type$_t_uint256_$", "typeString": "type(uint256)" }, "typeName": { - "id": 2432, + "id": 2433, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10585:7:16", + "src": "10508:7:16", "typeDescriptions": {} } } @@ -29110,18 +29119,18 @@ "typeString": "type(uint256)" } ], - "id": 2431, + "id": 2432, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "10580:4:16", + "src": "10503:4:16", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2434, + "id": 2435, "isConstant": false, "isLValue": false, "isPure": true, @@ -29130,40 +29139,40 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10580:13:16", + "src": "10503:13:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_uint256", "typeString": "type(uint256)" } }, - "id": 2435, + "id": 2436, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "10594:3:16", + "memberLocation": "10517:3:16", "memberName": "max", "nodeType": "MemberAccess", - "src": "10580:17:16", + "src": "10503:17:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10561:36:16", + "src": "10484:36:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2459, + "id": 2460, "nodeType": "IfStatement", - "src": "10557:309:16", + "src": "10480:309:16", "trueBody": { - "id": 2458, + "id": 2459, "nodeType": "Block", - "src": "10599:267:16", + "src": "10522:267:16", "statements": [ { "condition": { @@ -29171,18 +29180,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2439, + "id": 2440, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2437, + "id": 2438, "name": "currentAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2424, - "src": "10617:16:16", + "referencedDeclaration": 2425, + "src": "10540:16:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29191,65 +29200,65 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 2438, + "id": 2439, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2420, - "src": "10636:5:16", + "referencedDeclaration": 2421, + "src": "10559:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10617:24:16", + "src": "10540:24:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 2447, + "id": 2448, "nodeType": "IfStatement", - "src": "10613:130:16", + "src": "10536:130:16", "trueBody": { - "id": 2446, + "id": 2447, "nodeType": "Block", - "src": "10643:100:16", + "src": "10566:100:16", "statements": [ { "errorCall": { "arguments": [ { - "id": 2441, + "id": 2442, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2418, - "src": "10695:7:16", + "referencedDeclaration": 2419, + "src": "10618:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2442, + "id": 2443, "name": "currentAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2424, - "src": "10704:16:16", + "referencedDeclaration": 2425, + "src": "10627:16:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 2443, + "id": 2444, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2420, - "src": "10722:5:16", + "referencedDeclaration": 2421, + "src": "10645:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29271,18 +29280,18 @@ "typeString": "uint256" } ], - "id": 2440, + "id": 2441, "name": "ERC20InsufficientAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 1279, - "src": "10668:26:16", + "referencedDeclaration": 1280, + "src": "10591:26:16", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (address,uint256,uint256) pure" } }, - "id": 2444, + "id": 2445, "isConstant": false, "isLValue": false, "isPure": false, @@ -29291,47 +29300,47 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10668:60:16", + "src": "10591:60:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2445, + "id": 2446, "nodeType": "RevertStatement", - "src": "10661:67:16" + "src": "10584:67:16" } ] } }, { - "id": 2457, + "id": 2458, "nodeType": "UncheckedBlock", - "src": "10756:100:16", + "src": "10679:100:16", "statements": [ { "expression": { "arguments": [ { - "id": 2449, + "id": 2450, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2416, - "src": "10793:5:16", + "referencedDeclaration": 2417, + "src": "10716:5:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 2450, + "id": 2451, "name": "spender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2418, - "src": "10800:7:16", + "referencedDeclaration": 2419, + "src": "10723:7:16", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -29342,18 +29351,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2453, + "id": 2454, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 2451, + "id": 2452, "name": "currentAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2424, - "src": "10809:16:16", + "referencedDeclaration": 2425, + "src": "10732:16:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29362,18 +29371,18 @@ "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { - "id": 2452, + "id": 2453, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2420, - "src": "10828:5:16", + "referencedDeclaration": 2421, + "src": "10751:5:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "10809:24:16", + "src": "10732:24:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29381,14 +29390,14 @@ }, { "hexValue": "66616c7365", - "id": 2454, + "id": 2455, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "10835:5:16", + "src": "10758:5:16", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -29415,21 +29424,21 @@ "typeString": "bool" } ], - "id": 2448, + "id": 2449, "name": "_approve", "nodeType": "Identifier", "overloadedDeclarations": [ - 2353, - 2413 + 2354, + 2414 ], - "referencedDeclaration": 2413, - "src": "10784:8:16", + "referencedDeclaration": 2414, + "src": "10707:8:16", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_bool_$returns$__$", "typeString": "function (address,address,uint256,bool)" } }, - "id": 2455, + "id": 2456, "isConstant": false, "isLValue": false, "isPure": false, @@ -29438,16 +29447,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10784:57:16", + "src": "10707:57:16", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2456, + "id": 2457, "nodeType": "ExpressionStatement", - "src": "10784:57:16" + "src": "10707:57:16" } ] } @@ -29457,31 +29466,31 @@ ] }, "documentation": { - "id": 2414, + "id": 2415, "nodeType": "StructuredDocumentation", - "src": "10120:271:16", + "src": "10043:271:16", "text": " @dev Updates `owner`'s allowance for `spender` based on spent `value`.\n Does not update the allowance value in case of infinite allowance.\n Revert if not enough allowance is available.\n Does not emit an {Approval} event." }, - "id": 2461, + "id": 2462, "implemented": true, "kind": "function", "modifiers": [], "name": "_spendAllowance", - "nameLocation": "10405:15:16", + "nameLocation": "10328:15:16", "nodeType": "FunctionDefinition", "parameters": { - "id": 2421, + "id": 2422, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2416, + "id": 2417, "mutability": "mutable", "name": "owner", - "nameLocation": "10429:5:16", + "nameLocation": "10352:5:16", "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "10421:13:16", + "scope": 2462, + "src": "10344:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29489,10 +29498,10 @@ "typeString": "address" }, "typeName": { - "id": 2415, + "id": 2416, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10421:7:16", + "src": "10344:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29503,13 +29512,13 @@ }, { "constant": false, - "id": 2418, + "id": 2419, "mutability": "mutable", "name": "spender", - "nameLocation": "10444:7:16", + "nameLocation": "10367:7:16", "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "10436:15:16", + "scope": 2462, + "src": "10359:15:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29517,10 +29526,10 @@ "typeString": "address" }, "typeName": { - "id": 2417, + "id": 2418, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10436:7:16", + "src": "10359:7:16", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29531,13 +29540,13 @@ }, { "constant": false, - "id": 2420, + "id": 2421, "mutability": "mutable", "name": "value", - "nameLocation": "10461:5:16", + "nameLocation": "10384:5:16", "nodeType": "VariableDeclaration", - "scope": 2461, - "src": "10453:13:16", + "scope": 2462, + "src": "10376:13:16", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29545,10 +29554,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2419, + "id": 2420, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10453:7:16", + "src": "10376:7:16", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29557,38 +29566,38 @@ "visibility": "internal" } ], - "src": "10420:47:16" + "src": "10343:47:16" }, "returnParameters": { - "id": 2422, + "id": 2423, "nodeType": "ParameterList", "parameters": [], - "src": "10485:0:16" + "src": "10408:0:16" }, - "scope": 2462, - "src": "10396:476:16", + "scope": 2463, + "src": "10319:476:16", "stateMutability": "nonpayable", "virtual": true, "visibility": "internal" } ], - "scope": 2463, - "src": "1106:9768:16", + "scope": 2464, + "src": "1106:9691:16", "usedErrors": [ - 1260, - 1265, - 1270, - 1279, - 1284, - 1289 + 1261, + 1266, + 1271, + 1280, + 1285, + 1290 ], "usedEvents": [ - 2474, - 2483 + 2475, + 2484 ] } ], - "src": "105:10770:16" + "src": "105:10693:16" }, "id": 16 }, @@ -29597,23 +29606,23 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "exportedSymbols": { "IERC20": [ - 2540 + 2541 ] }, - "id": 2541, + "id": 2542, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2464, + "id": 2465, "literals": [ "solidity", - "^", - "0.8", - ".20" + ">=", + "0.4", + ".16" ], "nodeType": "PragmaDirective", - "src": "106:24:17" + "src": "106:25:17" }, { "abstract": false, @@ -29622,47 +29631,47 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 2465, + "id": 2466, "nodeType": "StructuredDocumentation", - "src": "132:71:17", + "src": "133:71:17", "text": " @dev Interface of the ERC-20 standard as defined in the ERC." }, "fullyImplemented": false, - "id": 2540, + "id": 2541, "linearizedBaseContracts": [ - 2540 + 2541 ], "name": "IERC20", - "nameLocation": "214:6:17", + "nameLocation": "215:6:17", "nodeType": "ContractDefinition", "nodes": [ { "anonymous": false, "documentation": { - "id": 2466, + "id": 2467, "nodeType": "StructuredDocumentation", - "src": "227:158:17", + "src": "228:158:17", "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." }, "eventSelector": "ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", - "id": 2474, + "id": 2475, "name": "Transfer", - "nameLocation": "396:8:17", + "nameLocation": "397:8:17", "nodeType": "EventDefinition", "parameters": { - "id": 2473, + "id": 2474, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2468, + "id": 2469, "indexed": true, "mutability": "mutable", "name": "from", - "nameLocation": "421:4:17", + "nameLocation": "422:4:17", "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "405:20:17", + "scope": 2475, + "src": "406:20:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29670,10 +29679,10 @@ "typeString": "address" }, "typeName": { - "id": 2467, + "id": 2468, "name": "address", "nodeType": "ElementaryTypeName", - "src": "405:7:17", + "src": "406:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29684,14 +29693,14 @@ }, { "constant": false, - "id": 2470, + "id": 2471, "indexed": true, "mutability": "mutable", "name": "to", - "nameLocation": "443:2:17", + "nameLocation": "444:2:17", "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "427:18:17", + "scope": 2475, + "src": "428:18:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29699,10 +29708,10 @@ "typeString": "address" }, "typeName": { - "id": 2469, + "id": 2470, "name": "address", "nodeType": "ElementaryTypeName", - "src": "427:7:17", + "src": "428:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29713,14 +29722,14 @@ }, { "constant": false, - "id": 2472, + "id": 2473, "indexed": false, "mutability": "mutable", "name": "value", - "nameLocation": "455:5:17", + "nameLocation": "456:5:17", "nodeType": "VariableDeclaration", - "scope": 2474, - "src": "447:13:17", + "scope": 2475, + "src": "448:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29728,10 +29737,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2471, + "id": 2472, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "447:7:17", + "src": "448:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29740,37 +29749,37 @@ "visibility": "internal" } ], - "src": "404:57:17" + "src": "405:57:17" }, - "src": "390:72:17" + "src": "391:72:17" }, { "anonymous": false, "documentation": { - "id": 2475, + "id": 2476, "nodeType": "StructuredDocumentation", - "src": "468:148:17", + "src": "469:148:17", "text": " @dev Emitted when the allowance of a `spender` for an `owner` is set by\n a call to {approve}. `value` is the new allowance." }, "eventSelector": "8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925", - "id": 2483, + "id": 2484, "name": "Approval", - "nameLocation": "627:8:17", + "nameLocation": "628:8:17", "nodeType": "EventDefinition", "parameters": { - "id": 2482, + "id": 2483, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2477, + "id": 2478, "indexed": true, "mutability": "mutable", "name": "owner", - "nameLocation": "652:5:17", + "nameLocation": "653:5:17", "nodeType": "VariableDeclaration", - "scope": 2483, - "src": "636:21:17", + "scope": 2484, + "src": "637:21:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29778,10 +29787,10 @@ "typeString": "address" }, "typeName": { - "id": 2476, + "id": 2477, "name": "address", "nodeType": "ElementaryTypeName", - "src": "636:7:17", + "src": "637:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29792,14 +29801,14 @@ }, { "constant": false, - "id": 2479, + "id": 2480, "indexed": true, "mutability": "mutable", "name": "spender", - "nameLocation": "675:7:17", + "nameLocation": "676:7:17", "nodeType": "VariableDeclaration", - "scope": 2483, - "src": "659:23:17", + "scope": 2484, + "src": "660:23:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29807,10 +29816,10 @@ "typeString": "address" }, "typeName": { - "id": 2478, + "id": 2479, "name": "address", "nodeType": "ElementaryTypeName", - "src": "659:7:17", + "src": "660:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29821,14 +29830,14 @@ }, { "constant": false, - "id": 2481, + "id": 2482, "indexed": false, "mutability": "mutable", "name": "value", - "nameLocation": "692:5:17", + "nameLocation": "693:5:17", "nodeType": "VariableDeclaration", - "scope": 2483, - "src": "684:13:17", + "scope": 2484, + "src": "685:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29836,10 +29845,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2480, + "id": 2481, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "684:7:17", + "src": "685:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29848,44 +29857,44 @@ "visibility": "internal" } ], - "src": "635:63:17" + "src": "636:63:17" }, - "src": "621:78:17" + "src": "622:78:17" }, { "documentation": { - "id": 2484, + "id": 2485, "nodeType": "StructuredDocumentation", - "src": "705:65:17", + "src": "706:65:17", "text": " @dev Returns the value of tokens in existence." }, "functionSelector": "18160ddd", - "id": 2489, + "id": 2490, "implemented": false, "kind": "function", "modifiers": [], "name": "totalSupply", - "nameLocation": "784:11:17", + "nameLocation": "785:11:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 2485, + "id": 2486, "nodeType": "ParameterList", "parameters": [], - "src": "795:2:17" + "src": "796:2:17" }, "returnParameters": { - "id": 2488, + "id": 2489, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2487, + "id": 2488, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2489, - "src": "821:7:17", + "scope": 2490, + "src": "822:7:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29893,10 +29902,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2486, + "id": 2487, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "821:7:17", + "src": "822:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29905,42 +29914,42 @@ "visibility": "internal" } ], - "src": "820:9:17" + "src": "821:9:17" }, - "scope": 2540, - "src": "775:55:17", + "scope": 2541, + "src": "776:55:17", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "documentation": { - "id": 2490, + "id": 2491, "nodeType": "StructuredDocumentation", - "src": "836:71:17", + "src": "837:71:17", "text": " @dev Returns the value of tokens owned by `account`." }, "functionSelector": "70a08231", - "id": 2497, + "id": 2498, "implemented": false, "kind": "function", "modifiers": [], "name": "balanceOf", - "nameLocation": "921:9:17", + "nameLocation": "922:9:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 2493, + "id": 2494, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2492, + "id": 2493, "mutability": "mutable", "name": "account", - "nameLocation": "939:7:17", + "nameLocation": "940:7:17", "nodeType": "VariableDeclaration", - "scope": 2497, - "src": "931:15:17", + "scope": 2498, + "src": "932:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29948,10 +29957,10 @@ "typeString": "address" }, "typeName": { - "id": 2491, + "id": 2492, "name": "address", "nodeType": "ElementaryTypeName", - "src": "931:7:17", + "src": "932:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -29961,21 +29970,21 @@ "visibility": "internal" } ], - "src": "930:17:17" + "src": "931:17:17" }, "returnParameters": { - "id": 2496, + "id": 2497, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2495, + "id": 2496, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2497, - "src": "971:7:17", + "scope": 2498, + "src": "972:7:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -29983,10 +29992,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2494, + "id": 2495, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "971:7:17", + "src": "972:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -29995,42 +30004,42 @@ "visibility": "internal" } ], - "src": "970:9:17" + "src": "971:9:17" }, - "scope": 2540, - "src": "912:68:17", + "scope": 2541, + "src": "913:68:17", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "documentation": { - "id": 2498, + "id": 2499, "nodeType": "StructuredDocumentation", - "src": "986:213:17", + "src": "987:213:17", "text": " @dev Moves a `value` amount of tokens from the caller's account to `to`.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." }, "functionSelector": "a9059cbb", - "id": 2507, + "id": 2508, "implemented": false, "kind": "function", "modifiers": [], "name": "transfer", - "nameLocation": "1213:8:17", + "nameLocation": "1214:8:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 2503, + "id": 2504, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2500, + "id": 2501, "mutability": "mutable", "name": "to", - "nameLocation": "1230:2:17", + "nameLocation": "1231:2:17", "nodeType": "VariableDeclaration", - "scope": 2507, - "src": "1222:10:17", + "scope": 2508, + "src": "1223:10:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30038,10 +30047,10 @@ "typeString": "address" }, "typeName": { - "id": 2499, + "id": 2500, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1222:7:17", + "src": "1223:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30052,13 +30061,13 @@ }, { "constant": false, - "id": 2502, + "id": 2503, "mutability": "mutable", "name": "value", - "nameLocation": "1242:5:17", + "nameLocation": "1243:5:17", "nodeType": "VariableDeclaration", - "scope": 2507, - "src": "1234:13:17", + "scope": 2508, + "src": "1235:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30066,10 +30075,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2501, + "id": 2502, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1234:7:17", + "src": "1235:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30078,21 +30087,21 @@ "visibility": "internal" } ], - "src": "1221:27:17" + "src": "1222:27:17" }, "returnParameters": { - "id": 2506, + "id": 2507, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2505, + "id": 2506, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2507, - "src": "1267:4:17", + "scope": 2508, + "src": "1268:4:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30100,10 +30109,10 @@ "typeString": "bool" }, "typeName": { - "id": 2504, + "id": 2505, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1267:4:17", + "src": "1268:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30112,42 +30121,42 @@ "visibility": "internal" } ], - "src": "1266:6:17" + "src": "1267:6:17" }, - "scope": 2540, - "src": "1204:69:17", + "scope": 2541, + "src": "1205:69:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "documentation": { - "id": 2508, + "id": 2509, "nodeType": "StructuredDocumentation", - "src": "1279:264:17", + "src": "1280:264:17", "text": " @dev Returns the remaining number of tokens that `spender` will be\n allowed to spend on behalf of `owner` through {transferFrom}. This is\n zero by default.\n This value changes when {approve} or {transferFrom} are called." }, "functionSelector": "dd62ed3e", - "id": 2517, + "id": 2518, "implemented": false, "kind": "function", "modifiers": [], "name": "allowance", - "nameLocation": "1557:9:17", + "nameLocation": "1558:9:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 2513, + "id": 2514, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2510, + "id": 2511, "mutability": "mutable", "name": "owner", - "nameLocation": "1575:5:17", + "nameLocation": "1576:5:17", "nodeType": "VariableDeclaration", - "scope": 2517, - "src": "1567:13:17", + "scope": 2518, + "src": "1568:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30155,10 +30164,10 @@ "typeString": "address" }, "typeName": { - "id": 2509, + "id": 2510, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1567:7:17", + "src": "1568:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30169,13 +30178,13 @@ }, { "constant": false, - "id": 2512, + "id": 2513, "mutability": "mutable", "name": "spender", - "nameLocation": "1590:7:17", + "nameLocation": "1591:7:17", "nodeType": "VariableDeclaration", - "scope": 2517, - "src": "1582:15:17", + "scope": 2518, + "src": "1583:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30183,10 +30192,10 @@ "typeString": "address" }, "typeName": { - "id": 2511, + "id": 2512, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1582:7:17", + "src": "1583:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30196,21 +30205,21 @@ "visibility": "internal" } ], - "src": "1566:32:17" + "src": "1567:32:17" }, "returnParameters": { - "id": 2516, + "id": 2517, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2515, + "id": 2516, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2517, - "src": "1622:7:17", + "scope": 2518, + "src": "1623:7:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30218,10 +30227,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2514, + "id": 2515, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1622:7:17", + "src": "1623:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30230,42 +30239,42 @@ "visibility": "internal" } ], - "src": "1621:9:17" + "src": "1622:9:17" }, - "scope": 2540, - "src": "1548:83:17", + "scope": 2541, + "src": "1549:83:17", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "documentation": { - "id": 2518, + "id": 2519, "nodeType": "StructuredDocumentation", - "src": "1637:667:17", + "src": "1638:667:17", "text": " @dev Sets a `value` amount of tokens as the allowance of `spender` over the\n caller's tokens.\n Returns a boolean value indicating whether the operation succeeded.\n IMPORTANT: Beware that changing an allowance with this method brings the risk\n that someone may use both the old and the new allowance by unfortunate\n transaction ordering. One possible solution to mitigate this race\n condition is to first reduce the spender's allowance to 0 and set the\n desired value afterwards:\n https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729\n Emits an {Approval} event." }, "functionSelector": "095ea7b3", - "id": 2527, + "id": 2528, "implemented": false, "kind": "function", "modifiers": [], "name": "approve", - "nameLocation": "2318:7:17", + "nameLocation": "2319:7:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 2523, + "id": 2524, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2520, + "id": 2521, "mutability": "mutable", "name": "spender", - "nameLocation": "2334:7:17", + "nameLocation": "2335:7:17", "nodeType": "VariableDeclaration", - "scope": 2527, - "src": "2326:15:17", + "scope": 2528, + "src": "2327:15:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30273,10 +30282,10 @@ "typeString": "address" }, "typeName": { - "id": 2519, + "id": 2520, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2326:7:17", + "src": "2327:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30287,13 +30296,13 @@ }, { "constant": false, - "id": 2522, + "id": 2523, "mutability": "mutable", "name": "value", - "nameLocation": "2351:5:17", + "nameLocation": "2352:5:17", "nodeType": "VariableDeclaration", - "scope": 2527, - "src": "2343:13:17", + "scope": 2528, + "src": "2344:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30301,10 +30310,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2521, + "id": 2522, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2343:7:17", + "src": "2344:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30313,21 +30322,21 @@ "visibility": "internal" } ], - "src": "2325:32:17" + "src": "2326:32:17" }, "returnParameters": { - "id": 2526, + "id": 2527, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2525, + "id": 2526, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2527, - "src": "2376:4:17", + "scope": 2528, + "src": "2377:4:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30335,10 +30344,10 @@ "typeString": "bool" }, "typeName": { - "id": 2524, + "id": 2525, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2376:4:17", + "src": "2377:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30347,42 +30356,42 @@ "visibility": "internal" } ], - "src": "2375:6:17" + "src": "2376:6:17" }, - "scope": 2540, - "src": "2309:73:17", + "scope": 2541, + "src": "2310:73:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "documentation": { - "id": 2528, + "id": 2529, "nodeType": "StructuredDocumentation", - "src": "2388:297:17", + "src": "2389:297:17", "text": " @dev Moves a `value` amount of tokens from `from` to `to` using the\n allowance mechanism. `value` is then deducted from the caller's\n allowance.\n Returns a boolean value indicating whether the operation succeeded.\n Emits a {Transfer} event." }, "functionSelector": "23b872dd", - "id": 2539, + "id": 2540, "implemented": false, "kind": "function", "modifiers": [], "name": "transferFrom", - "nameLocation": "2699:12:17", + "nameLocation": "2700:12:17", "nodeType": "FunctionDefinition", "parameters": { - "id": 2535, + "id": 2536, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2530, + "id": 2531, "mutability": "mutable", "name": "from", - "nameLocation": "2720:4:17", + "nameLocation": "2721:4:17", "nodeType": "VariableDeclaration", - "scope": 2539, - "src": "2712:12:17", + "scope": 2540, + "src": "2713:12:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30390,10 +30399,10 @@ "typeString": "address" }, "typeName": { - "id": 2529, + "id": 2530, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2712:7:17", + "src": "2713:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30404,13 +30413,13 @@ }, { "constant": false, - "id": 2532, + "id": 2533, "mutability": "mutable", "name": "to", - "nameLocation": "2734:2:17", + "nameLocation": "2735:2:17", "nodeType": "VariableDeclaration", - "scope": 2539, - "src": "2726:10:17", + "scope": 2540, + "src": "2727:10:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30418,10 +30427,10 @@ "typeString": "address" }, "typeName": { - "id": 2531, + "id": 2532, "name": "address", "nodeType": "ElementaryTypeName", - "src": "2726:7:17", + "src": "2727:7:17", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30432,13 +30441,13 @@ }, { "constant": false, - "id": 2534, + "id": 2535, "mutability": "mutable", "name": "value", - "nameLocation": "2746:5:17", + "nameLocation": "2747:5:17", "nodeType": "VariableDeclaration", - "scope": 2539, - "src": "2738:13:17", + "scope": 2540, + "src": "2739:13:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30446,10 +30455,10 @@ "typeString": "uint256" }, "typeName": { - "id": 2533, + "id": 2534, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "2738:7:17", + "src": "2739:7:17", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -30458,21 +30467,21 @@ "visibility": "internal" } ], - "src": "2711:41:17" + "src": "2712:41:17" }, "returnParameters": { - "id": 2538, + "id": 2539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2537, + "id": 2538, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2539, - "src": "2771:4:17", + "scope": 2540, + "src": "2772:4:17", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -30480,10 +30489,10 @@ "typeString": "bool" }, "typeName": { - "id": 2536, + "id": 2537, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "2771:4:17", + "src": "2772:4:17", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -30492,25 +30501,25 @@ "visibility": "internal" } ], - "src": "2770:6:17" + "src": "2771:6:17" }, - "scope": 2540, - "src": "2690:87:17", + "scope": 2541, + "src": "2691:87:17", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" } ], - "scope": 2541, - "src": "204:2575:17", + "scope": 2542, + "src": "205:2575:17", "usedErrors": [], "usedEvents": [ - 2474, - 2483 + 2475, + 2484 ] } ], - "src": "106:2674:17" + "src": "106:2675:17" }, "id": 17 }, @@ -30519,21 +30528,21 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", "exportedSymbols": { "Context": [ - 2902 + 2903 ], "ERC20": [ - 2462 + 2463 ], "ERC20Burnable": [ - 2586 + 2587 ] }, - "id": 2587, + "id": 2588, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2542, + "id": 2543, "literals": [ "solidity", "^", @@ -30546,20 +30555,20 @@ { "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "file": "../ERC20.sol", - "id": 2544, + "id": 2545, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2587, - "sourceUnit": 2463, + "scope": 2588, + "sourceUnit": 2464, "src": "150:35:18", "symbolAliases": [ { "foreign": { - "id": 2543, + "id": 2544, "name": "ERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2462, + "referencedDeclaration": 2463, "src": "158:5:18", "typeDescriptions": {} }, @@ -30571,20 +30580,20 @@ { "absolutePath": "@openzeppelin/contracts/utils/Context.sol", "file": "../../../utils/Context.sol", - "id": 2546, + "id": 2547, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2587, - "sourceUnit": 2903, + "scope": 2588, + "sourceUnit": 2904, "src": "186:51:18", "symbolAliases": [ { "foreign": { - "id": 2545, + "id": 2546, "name": "Context", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2902, + "referencedDeclaration": 2903, "src": "194:7:18", "typeDescriptions": {} }, @@ -30598,31 +30607,31 @@ "baseContracts": [ { "baseName": { - "id": 2548, + "id": 2549, "name": "Context", "nameLocations": [ "483:7:18" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2902, + "referencedDeclaration": 2903, "src": "483:7:18" }, - "id": 2549, + "id": 2550, "nodeType": "InheritanceSpecifier", "src": "483:7:18" }, { "baseName": { - "id": 2550, + "id": 2551, "name": "ERC20", "nameLocations": [ "492:5:18" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2462, + "referencedDeclaration": 2463, "src": "492:5:18" }, - "id": 2551, + "id": 2552, "nodeType": "InheritanceSpecifier", "src": "492:5:18" } @@ -30631,20 +30640,20 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 2547, + "id": 2548, "nodeType": "StructuredDocumentation", "src": "239:208:18", "text": " @dev Extension of {ERC20} that allows token holders to destroy both their own\n tokens and those that they have an allowance for, in a way that can be\n recognized off-chain (via event analysis)." }, "fullyImplemented": true, - "id": 2586, + "id": 2587, "linearizedBaseContracts": [ - 2586, - 2462, - 1290, - 2612, - 2540, - 2902 + 2587, + 2463, + 1291, + 2613, + 2541, + 2903 ], "name": "ERC20Burnable", "nameLocation": "466:13:18", @@ -30652,7 +30661,7 @@ "nodes": [ { "body": { - "id": 2563, + "id": 2564, "nodeType": "Block", "src": "662:43:18", "statements": [ @@ -30663,18 +30672,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2558, + "id": 2559, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, + "referencedDeclaration": 2885, "src": "678:10:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 2559, + "id": 2560, "isConstant": false, "isLValue": false, "isPure": false, @@ -30691,11 +30700,11 @@ } }, { - "id": 2560, + "id": 2561, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2554, + "referencedDeclaration": 2555, "src": "692:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30714,18 +30723,18 @@ "typeString": "uint256" } ], - "id": 2557, + "id": 2558, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2335, + "referencedDeclaration": 2336, "src": "672:5:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2561, + "id": 2562, "isConstant": false, "isLValue": false, "isPure": false, @@ -30741,20 +30750,20 @@ "typeString": "tuple()" } }, - "id": 2562, + "id": 2563, "nodeType": "ExpressionStatement", "src": "672:26:18" } ] }, "documentation": { - "id": 2552, + "id": 2553, "nodeType": "StructuredDocumentation", "src": "504:109:18", "text": " @dev Destroys a `value` amount of tokens from the caller.\n See {ERC20-_burn}." }, "functionSelector": "42966c68", - "id": 2564, + "id": 2565, "implemented": true, "kind": "function", "modifiers": [], @@ -30762,17 +30771,17 @@ "nameLocation": "627:4:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 2555, + "id": 2556, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2554, + "id": 2555, "mutability": "mutable", "name": "value", "nameLocation": "640:5:18", "nodeType": "VariableDeclaration", - "scope": 2564, + "scope": 2565, "src": "632:13:18", "stateVariable": false, "storageLocation": "default", @@ -30781,7 +30790,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2553, + "id": 2554, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "632:7:18", @@ -30796,12 +30805,12 @@ "src": "631:15:18" }, "returnParameters": { - "id": 2556, + "id": 2557, "nodeType": "ParameterList", "parameters": [], "src": "662:0:18" }, - "scope": 2586, + "scope": 2587, "src": "618:87:18", "stateMutability": "nonpayable", "virtual": true, @@ -30809,7 +30818,7 @@ }, { "body": { - "id": 2584, + "id": 2585, "nodeType": "Block", "src": "1086:93:18", "statements": [ @@ -30817,11 +30826,11 @@ "expression": { "arguments": [ { - "id": 2573, + "id": 2574, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2567, + "referencedDeclaration": 2568, "src": "1112:7:18", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30832,18 +30841,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 2574, + "id": 2575, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, + "referencedDeclaration": 2885, "src": "1121:10:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 2575, + "id": 2576, "isConstant": false, "isLValue": false, "isPure": false, @@ -30860,11 +30869,11 @@ } }, { - "id": 2576, + "id": 2577, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2569, + "referencedDeclaration": 2570, "src": "1135:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30887,18 +30896,18 @@ "typeString": "uint256" } ], - "id": 2572, + "id": 2573, "name": "_spendAllowance", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2461, + "referencedDeclaration": 2462, "src": "1096:15:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 2577, + "id": 2578, "isConstant": false, "isLValue": false, "isPure": false, @@ -30914,7 +30923,7 @@ "typeString": "tuple()" } }, - "id": 2578, + "id": 2579, "nodeType": "ExpressionStatement", "src": "1096:45:18" }, @@ -30922,11 +30931,11 @@ "expression": { "arguments": [ { - "id": 2580, + "id": 2581, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2567, + "referencedDeclaration": 2568, "src": "1157:7:18", "typeDescriptions": { "typeIdentifier": "t_address", @@ -30934,11 +30943,11 @@ } }, { - "id": 2581, + "id": 2582, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2569, + "referencedDeclaration": 2570, "src": "1166:5:18", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -30957,18 +30966,18 @@ "typeString": "uint256" } ], - "id": 2579, + "id": 2580, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2335, + "referencedDeclaration": 2336, "src": "1151:5:18", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 2582, + "id": 2583, "isConstant": false, "isLValue": false, "isPure": false, @@ -30984,20 +30993,20 @@ "typeString": "tuple()" } }, - "id": 2583, + "id": 2584, "nodeType": "ExpressionStatement", "src": "1151:21:18" } ] }, "documentation": { - "id": 2565, + "id": 2566, "nodeType": "StructuredDocumentation", "src": "711:305:18", "text": " @dev Destroys a `value` amount of tokens from `account`, deducting from\n the caller's allowance.\n See {ERC20-_burn} and {ERC20-allowance}.\n Requirements:\n - the caller must have allowance for ``accounts``'s tokens of at least\n `value`." }, "functionSelector": "79cc6790", - "id": 2585, + "id": 2586, "implemented": true, "kind": "function", "modifiers": [], @@ -31005,17 +31014,17 @@ "nameLocation": "1030:8:18", "nodeType": "FunctionDefinition", "parameters": { - "id": 2570, + "id": 2571, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2567, + "id": 2568, "mutability": "mutable", "name": "account", "nameLocation": "1047:7:18", "nodeType": "VariableDeclaration", - "scope": 2585, + "scope": 2586, "src": "1039:15:18", "stateVariable": false, "storageLocation": "default", @@ -31024,7 +31033,7 @@ "typeString": "address" }, "typeName": { - "id": 2566, + "id": 2567, "name": "address", "nodeType": "ElementaryTypeName", "src": "1039:7:18", @@ -31038,12 +31047,12 @@ }, { "constant": false, - "id": 2569, + "id": 2570, "mutability": "mutable", "name": "value", "nameLocation": "1064:5:18", "nodeType": "VariableDeclaration", - "scope": 2585, + "scope": 2586, "src": "1056:13:18", "stateVariable": false, "storageLocation": "default", @@ -31052,7 +31061,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2568, + "id": 2569, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1056:7:18", @@ -31067,31 +31076,31 @@ "src": "1038:32:18" }, "returnParameters": { - "id": 2571, + "id": 2572, "nodeType": "ParameterList", "parameters": [], "src": "1086:0:18" }, - "scope": 2586, + "scope": 2587, "src": "1021:158:18", "stateMutability": "nonpayable", "virtual": true, "visibility": "public" } ], - "scope": 2587, + "scope": 2588, "src": "448:733:18", "usedErrors": [ - 1260, - 1265, - 1270, - 1279, - 1284, - 1289 + 1261, + 1266, + 1271, + 1280, + 1285, + 1290 ], "usedEvents": [ - 2474, - 2483 + 2475, + 2484 ] } ], @@ -31104,23 +31113,23 @@ "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", "exportedSymbols": { "IERC20": [ - 2540 + 2541 ], "IERC20Metadata": [ - 2612 + 2613 ] }, - "id": 2613, + "id": 2614, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2588, + "id": 2589, "literals": [ "solidity", - "^", - "0.8", - ".20" + ">=", + "0.6", + ".2" ], "nodeType": "PragmaDirective", "src": "125:24:19" @@ -31128,20 +31137,20 @@ { "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "file": "../IERC20.sol", - "id": 2590, + "id": 2591, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2613, - "sourceUnit": 2541, + "scope": 2614, + "sourceUnit": 2542, "src": "151:37:19", "symbolAliases": [ { "foreign": { - "id": 2589, + "id": 2590, "name": "IERC20", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2540, + "referencedDeclaration": 2541, "src": "159:6:19", "typeDescriptions": {} }, @@ -31155,16 +31164,16 @@ "baseContracts": [ { "baseName": { - "id": 2592, + "id": 2593, "name": "IERC20", "nameLocations": [ "306:6:19" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2540, + "referencedDeclaration": 2541, "src": "306:6:19" }, - "id": 2593, + "id": 2594, "nodeType": "InheritanceSpecifier", "src": "306:6:19" } @@ -31173,16 +31182,16 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 2591, + "id": 2592, "nodeType": "StructuredDocumentation", "src": "190:87:19", "text": " @dev Interface for the optional metadata functions from the ERC-20 standard." }, "fullyImplemented": false, - "id": 2612, + "id": 2613, "linearizedBaseContracts": [ - 2612, - 2540 + 2613, + 2541 ], "name": "IERC20Metadata", "nameLocation": "288:14:19", @@ -31190,13 +31199,13 @@ "nodes": [ { "documentation": { - "id": 2594, + "id": 2595, "nodeType": "StructuredDocumentation", "src": "319:54:19", "text": " @dev Returns the name of the token." }, "functionSelector": "06fdde03", - "id": 2599, + "id": 2600, "implemented": false, "kind": "function", "modifiers": [], @@ -31204,23 +31213,23 @@ "nameLocation": "387:4:19", "nodeType": "FunctionDefinition", "parameters": { - "id": 2595, + "id": 2596, "nodeType": "ParameterList", "parameters": [], "src": "391:2:19" }, "returnParameters": { - "id": 2598, + "id": 2599, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2597, + "id": 2598, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2599, + "scope": 2600, "src": "417:13:19", "stateVariable": false, "storageLocation": "memory", @@ -31229,7 +31238,7 @@ "typeString": "string" }, "typeName": { - "id": 2596, + "id": 2597, "name": "string", "nodeType": "ElementaryTypeName", "src": "417:6:19", @@ -31243,7 +31252,7 @@ ], "src": "416:15:19" }, - "scope": 2612, + "scope": 2613, "src": "378:54:19", "stateMutability": "view", "virtual": false, @@ -31251,13 +31260,13 @@ }, { "documentation": { - "id": 2600, + "id": 2601, "nodeType": "StructuredDocumentation", "src": "438:56:19", "text": " @dev Returns the symbol of the token." }, "functionSelector": "95d89b41", - "id": 2605, + "id": 2606, "implemented": false, "kind": "function", "modifiers": [], @@ -31265,23 +31274,23 @@ "nameLocation": "508:6:19", "nodeType": "FunctionDefinition", "parameters": { - "id": 2601, + "id": 2602, "nodeType": "ParameterList", "parameters": [], "src": "514:2:19" }, "returnParameters": { - "id": 2604, + "id": 2605, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2603, + "id": 2604, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2605, + "scope": 2606, "src": "540:13:19", "stateVariable": false, "storageLocation": "memory", @@ -31290,7 +31299,7 @@ "typeString": "string" }, "typeName": { - "id": 2602, + "id": 2603, "name": "string", "nodeType": "ElementaryTypeName", "src": "540:6:19", @@ -31304,7 +31313,7 @@ ], "src": "539:15:19" }, - "scope": 2612, + "scope": 2613, "src": "499:56:19", "stateMutability": "view", "virtual": false, @@ -31312,13 +31321,13 @@ }, { "documentation": { - "id": 2606, + "id": 2607, "nodeType": "StructuredDocumentation", "src": "561:65:19", "text": " @dev Returns the decimals places of the token." }, "functionSelector": "313ce567", - "id": 2611, + "id": 2612, "implemented": false, "kind": "function", "modifiers": [], @@ -31326,23 +31335,23 @@ "nameLocation": "640:8:19", "nodeType": "FunctionDefinition", "parameters": { - "id": 2607, + "id": 2608, "nodeType": "ParameterList", "parameters": [], "src": "648:2:19" }, "returnParameters": { - "id": 2610, + "id": 2611, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2609, + "id": 2610, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2611, + "scope": 2612, "src": "674:5:19", "stateVariable": false, "storageLocation": "default", @@ -31351,7 +31360,7 @@ "typeString": "uint8" }, "typeName": { - "id": 2608, + "id": 2609, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "674:5:19", @@ -31365,19 +31374,19 @@ ], "src": "673:7:19" }, - "scope": 2612, + "scope": 2613, "src": "631:50:19", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 2613, + "scope": 2614, "src": "278:405:19", "usedErrors": [], "usedEvents": [ - 2474, - 2483 + 2475, + 2484 ] } ], @@ -31390,18 +31399,18 @@ "absolutePath": "@openzeppelin/contracts/utils/Address.sol", "exportedSymbols": { "Address": [ - 2872 + 2873 ], "Errors": [ - 2924 + 2925 ] }, - "id": 2873, + "id": 2874, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2614, + "id": 2615, "literals": [ "solidity", "^", @@ -31414,20 +31423,20 @@ { "absolutePath": "@openzeppelin/contracts/utils/Errors.sol", "file": "./Errors.sol", - "id": 2616, + "id": 2617, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 2873, - "sourceUnit": 2925, + "scope": 2874, + "sourceUnit": 2926, "src": "127:36:20", "symbolAliases": [ { "foreign": { - "id": 2615, + "id": 2616, "name": "Errors", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2924, + "referencedDeclaration": 2925, "src": "135:6:20", "typeDescriptions": {} }, @@ -31443,15 +31452,15 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 2617, + "id": 2618, "nodeType": "StructuredDocumentation", "src": "165:67:20", "text": " @dev Collection of functions related to the address type" }, "fullyImplemented": true, - "id": 2872, + "id": 2873, "linearizedBaseContracts": [ - 2872 + 2873 ], "name": "Address", "nameLocation": "241:7:20", @@ -31459,28 +31468,28 @@ "nodes": [ { "documentation": { - "id": 2618, + "id": 2619, "nodeType": "StructuredDocumentation", "src": "255:75:20", "text": " @dev There's no code at `target` (it is not a contract)." }, "errorSelector": "9996b315", - "id": 2622, + "id": 2623, "name": "AddressEmptyCode", "nameLocation": "341:16:20", "nodeType": "ErrorDefinition", "parameters": { - "id": 2621, + "id": 2622, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2620, + "id": 2621, "mutability": "mutable", "name": "target", "nameLocation": "366:6:20", "nodeType": "VariableDeclaration", - "scope": 2622, + "scope": 2623, "src": "358:14:20", "stateVariable": false, "storageLocation": "default", @@ -31489,7 +31498,7 @@ "typeString": "address" }, "typeName": { - "id": 2619, + "id": 2620, "name": "address", "nodeType": "ElementaryTypeName", "src": "358:7:20", @@ -31508,7 +31517,7 @@ }, { "body": { - "id": 2669, + "id": 2670, "nodeType": "Block", "src": "1361:294:20", "statements": [ @@ -31518,7 +31527,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2636, + "id": 2637, "isConstant": false, "isLValue": false, "isPure": false, @@ -31527,14 +31536,14 @@ "expression": { "arguments": [ { - "id": 2632, + "id": 2633, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "1383:4:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$2872", + "typeIdentifier": "t_contract$_Address_$2873", "typeString": "library Address" } } @@ -31542,11 +31551,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Address_$2872", + "typeIdentifier": "t_contract$_Address_$2873", "typeString": "library Address" } ], - "id": 2631, + "id": 2632, "isConstant": false, "isLValue": false, "isPure": true, @@ -31558,14 +31567,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 2630, + "id": 2631, "name": "address", "nodeType": "ElementaryTypeName", "src": "1375:7:20", "typeDescriptions": {} } }, - "id": 2633, + "id": 2634, "isConstant": false, "isLValue": false, "isPure": false, @@ -31581,7 +31590,7 @@ "typeString": "address" } }, - "id": 2634, + "id": 2635, "isConstant": false, "isLValue": false, "isPure": false, @@ -31598,11 +31607,11 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 2635, + "id": 2636, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2627, + "referencedDeclaration": 2628, "src": "1399:6:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31615,11 +31624,11 @@ "typeString": "bool" } }, - "id": 2649, + "id": 2650, "nodeType": "IfStatement", "src": "1371:125:20", "trueBody": { - "id": 2648, + "id": 2649, "nodeType": "Block", "src": "1407:89:20", "statements": [ @@ -31630,14 +31639,14 @@ "expression": { "arguments": [ { - "id": 2642, + "id": 2643, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "1463:4:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$2872", + "typeIdentifier": "t_contract$_Address_$2873", "typeString": "library Address" } } @@ -31645,11 +31654,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Address_$2872", + "typeIdentifier": "t_contract$_Address_$2873", "typeString": "library Address" } ], - "id": 2641, + "id": 2642, "isConstant": false, "isLValue": false, "isPure": true, @@ -31661,14 +31670,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 2640, + "id": 2641, "name": "address", "nodeType": "ElementaryTypeName", "src": "1455:7:20", "typeDescriptions": {} } }, - "id": 2643, + "id": 2644, "isConstant": false, "isLValue": false, "isPure": false, @@ -31684,7 +31693,7 @@ "typeString": "address" } }, - "id": 2644, + "id": 2645, "isConstant": false, "isLValue": false, "isPure": false, @@ -31699,11 +31708,11 @@ } }, { - "id": 2645, + "id": 2646, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2627, + "referencedDeclaration": 2628, "src": "1478:6:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31723,18 +31732,18 @@ } ], "expression": { - "id": 2637, + "id": 2638, "name": "Errors", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2924, + "referencedDeclaration": 2925, "src": "1428:6:20", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Errors_$2924_$", + "typeIdentifier": "t_type$_t_contract$_Errors_$2925_$", "typeString": "type(library Errors)" } }, - "id": 2639, + "id": 2640, "isConstant": false, "isLValue": false, "isPure": false, @@ -31742,14 +31751,14 @@ "memberLocation": "1435:19:20", "memberName": "InsufficientBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 2912, + "referencedDeclaration": 2913, "src": "1428:26:20", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256) pure" } }, - "id": 2646, + "id": 2647, "isConstant": false, "isLValue": false, "isPure": false, @@ -31765,7 +31774,7 @@ "typeString": "tuple()" } }, - "id": 2647, + "id": 2648, "nodeType": "RevertStatement", "src": "1421:64:20" } @@ -31774,18 +31783,18 @@ }, { "assignments": [ - 2651, - 2653 + 2652, + 2654 ], "declarations": [ { "constant": false, - "id": 2651, + "id": 2652, "mutability": "mutable", "name": "success", "nameLocation": "1512:7:20", "nodeType": "VariableDeclaration", - "scope": 2669, + "scope": 2670, "src": "1507:12:20", "stateVariable": false, "storageLocation": "default", @@ -31794,7 +31803,7 @@ "typeString": "bool" }, "typeName": { - "id": 2650, + "id": 2651, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1507:4:20", @@ -31807,12 +31816,12 @@ }, { "constant": false, - "id": 2653, + "id": 2654, "mutability": "mutable", "name": "returndata", "nameLocation": "1534:10:20", "nodeType": "VariableDeclaration", - "scope": 2669, + "scope": 2670, "src": "1521:23:20", "stateVariable": false, "storageLocation": "memory", @@ -31821,7 +31830,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2652, + "id": 2653, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1521:5:20", @@ -31833,12 +31842,12 @@ "visibility": "internal" } ], - "id": 2660, + "id": 2661, "initialValue": { "arguments": [ { "hexValue": "", - "id": 2658, + "id": 2659, "isConstant": false, "isLValue": false, "isPure": true, @@ -31868,18 +31877,18 @@ } ], "expression": { - "id": 2654, + "id": 2655, "name": "recipient", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2625, + "referencedDeclaration": 2626, "src": "1548:9:20", "typeDescriptions": { "typeIdentifier": "t_address_payable", "typeString": "address payable" } }, - "id": 2655, + "id": 2656, "isConstant": false, "isLValue": false, "isPure": false, @@ -31893,7 +31902,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 2657, + "id": 2658, "isConstant": false, "isLValue": false, "isPure": false, @@ -31904,11 +31913,11 @@ "nodeType": "FunctionCallOptions", "options": [ { - "id": 2656, + "id": 2657, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2627, + "referencedDeclaration": 2628, "src": "1570:6:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -31922,7 +31931,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 2659, + "id": 2660, "isConstant": false, "isLValue": false, "isPure": false, @@ -31943,7 +31952,7 @@ }, { "condition": { - "id": 2662, + "id": 2663, "isConstant": false, "isLValue": false, "isPure": false, @@ -31953,11 +31962,11 @@ "prefix": true, "src": "1595:8:20", "subExpression": { - "id": 2661, + "id": 2662, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2651, + "referencedDeclaration": 2652, "src": "1596:7:20", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -31969,11 +31978,11 @@ "typeString": "bool" } }, - "id": 2668, + "id": 2669, "nodeType": "IfStatement", "src": "1591:58:20", "trueBody": { - "id": 2667, + "id": 2668, "nodeType": "Block", "src": "1605:44:20", "statements": [ @@ -31981,11 +31990,11 @@ "expression": { "arguments": [ { - "id": 2664, + "id": 2665, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2653, + "referencedDeclaration": 2654, "src": "1627:10:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -32000,18 +32009,18 @@ "typeString": "bytes memory" } ], - "id": 2663, + "id": 2664, "name": "_revert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, + "referencedDeclaration": 2872, "src": "1619:7:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (bytes memory) pure" } }, - "id": 2665, + "id": 2666, "isConstant": false, "isLValue": false, "isPure": false, @@ -32027,7 +32036,7 @@ "typeString": "tuple()" } }, - "id": 2666, + "id": 2667, "nodeType": "ExpressionStatement", "src": "1619:19:20" } @@ -32037,12 +32046,12 @@ ] }, "documentation": { - "id": 2623, + "id": 2624, "nodeType": "StructuredDocumentation", "src": "380:905:20", "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." }, - "id": 2670, + "id": 2671, "implemented": true, "kind": "function", "modifiers": [], @@ -32050,17 +32059,17 @@ "nameLocation": "1299:9:20", "nodeType": "FunctionDefinition", "parameters": { - "id": 2628, + "id": 2629, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2625, + "id": 2626, "mutability": "mutable", "name": "recipient", "nameLocation": "1325:9:20", "nodeType": "VariableDeclaration", - "scope": 2670, + "scope": 2671, "src": "1309:25:20", "stateVariable": false, "storageLocation": "default", @@ -32069,7 +32078,7 @@ "typeString": "address payable" }, "typeName": { - "id": 2624, + "id": 2625, "name": "address", "nodeType": "ElementaryTypeName", "src": "1309:15:20", @@ -32083,12 +32092,12 @@ }, { "constant": false, - "id": 2627, + "id": 2628, "mutability": "mutable", "name": "amount", "nameLocation": "1344:6:20", "nodeType": "VariableDeclaration", - "scope": 2670, + "scope": 2671, "src": "1336:14:20", "stateVariable": false, "storageLocation": "default", @@ -32097,7 +32106,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2626, + "id": 2627, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1336:7:20", @@ -32112,12 +32121,12 @@ "src": "1308:43:20" }, "returnParameters": { - "id": 2629, + "id": 2630, "nodeType": "ParameterList", "parameters": [], "src": "1361:0:20" }, - "scope": 2872, + "scope": 2873, "src": "1290:365:20", "stateMutability": "nonpayable", "virtual": false, @@ -32125,7 +32134,7 @@ }, { "body": { - "id": 2686, + "id": 2687, "nodeType": "Block", "src": "2589:62:20", "statements": [ @@ -32133,11 +32142,11 @@ "expression": { "arguments": [ { - "id": 2681, + "id": 2682, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2673, + "referencedDeclaration": 2674, "src": "2628:6:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -32145,11 +32154,11 @@ } }, { - "id": 2682, + "id": 2683, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2675, + "referencedDeclaration": 2676, "src": "2636:4:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -32158,7 +32167,7 @@ }, { "hexValue": "30", - "id": 2683, + "id": 2684, "isConstant": false, "isLValue": false, "isPure": true, @@ -32188,18 +32197,18 @@ "typeString": "int_const 0" } ], - "id": 2680, + "id": 2681, "name": "functionCallWithValue", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2737, + "referencedDeclaration": 2738, "src": "2606:21:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bytes memory,uint256) returns (bytes memory)" } }, - "id": 2684, + "id": 2685, "isConstant": false, "isLValue": false, "isPure": false, @@ -32215,20 +32224,20 @@ "typeString": "bytes memory" } }, - "functionReturnParameters": 2679, - "id": 2685, + "functionReturnParameters": 2680, + "id": 2686, "nodeType": "Return", "src": "2599:45:20" } ] }, "documentation": { - "id": 2671, + "id": 2672, "nodeType": "StructuredDocumentation", "src": "1661:834:20", "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason or custom error, it is bubbled\n up by this function (like regular Solidity function calls). However, if\n the call reverted with no returned reason, this function reverts with a\n {Errors.FailedCall} error.\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert." }, - "id": 2687, + "id": 2688, "implemented": true, "kind": "function", "modifiers": [], @@ -32236,17 +32245,17 @@ "nameLocation": "2509:12:20", "nodeType": "FunctionDefinition", "parameters": { - "id": 2676, + "id": 2677, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2673, + "id": 2674, "mutability": "mutable", "name": "target", "nameLocation": "2530:6:20", "nodeType": "VariableDeclaration", - "scope": 2687, + "scope": 2688, "src": "2522:14:20", "stateVariable": false, "storageLocation": "default", @@ -32255,7 +32264,7 @@ "typeString": "address" }, "typeName": { - "id": 2672, + "id": 2673, "name": "address", "nodeType": "ElementaryTypeName", "src": "2522:7:20", @@ -32269,12 +32278,12 @@ }, { "constant": false, - "id": 2675, + "id": 2676, "mutability": "mutable", "name": "data", "nameLocation": "2551:4:20", "nodeType": "VariableDeclaration", - "scope": 2687, + "scope": 2688, "src": "2538:17:20", "stateVariable": false, "storageLocation": "memory", @@ -32283,7 +32292,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2674, + "id": 2675, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2538:5:20", @@ -32298,17 +32307,17 @@ "src": "2521:35:20" }, "returnParameters": { - "id": 2679, + "id": 2680, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2678, + "id": 2679, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2687, + "scope": 2688, "src": "2575:12:20", "stateVariable": false, "storageLocation": "memory", @@ -32317,7 +32326,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2677, + "id": 2678, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2575:5:20", @@ -32331,7 +32340,7 @@ ], "src": "2574:14:20" }, - "scope": 2872, + "scope": 2873, "src": "2500:151:20", "stateMutability": "nonpayable", "virtual": false, @@ -32339,7 +32348,7 @@ }, { "body": { - "id": 2736, + "id": 2737, "nodeType": "Block", "src": "3088:294:20", "statements": [ @@ -32349,7 +32358,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2705, + "id": 2706, "isConstant": false, "isLValue": false, "isPure": false, @@ -32358,14 +32367,14 @@ "expression": { "arguments": [ { - "id": 2701, + "id": 2702, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "3110:4:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$2872", + "typeIdentifier": "t_contract$_Address_$2873", "typeString": "library Address" } } @@ -32373,11 +32382,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Address_$2872", + "typeIdentifier": "t_contract$_Address_$2873", "typeString": "library Address" } ], - "id": 2700, + "id": 2701, "isConstant": false, "isLValue": false, "isPure": true, @@ -32389,14 +32398,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 2699, + "id": 2700, "name": "address", "nodeType": "ElementaryTypeName", "src": "3102:7:20", "typeDescriptions": {} } }, - "id": 2702, + "id": 2703, "isConstant": false, "isLValue": false, "isPure": false, @@ -32412,7 +32421,7 @@ "typeString": "address" } }, - "id": 2703, + "id": 2704, "isConstant": false, "isLValue": false, "isPure": false, @@ -32429,11 +32438,11 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 2704, + "id": 2705, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2694, + "referencedDeclaration": 2695, "src": "3126:5:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32446,11 +32455,11 @@ "typeString": "bool" } }, - "id": 2718, + "id": 2719, "nodeType": "IfStatement", "src": "3098:123:20", "trueBody": { - "id": 2717, + "id": 2718, "nodeType": "Block", "src": "3133:88:20", "statements": [ @@ -32461,14 +32470,14 @@ "expression": { "arguments": [ { - "id": 2711, + "id": 2712, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "3189:4:20", "typeDescriptions": { - "typeIdentifier": "t_contract$_Address_$2872", + "typeIdentifier": "t_contract$_Address_$2873", "typeString": "library Address" } } @@ -32476,11 +32485,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_Address_$2872", + "typeIdentifier": "t_contract$_Address_$2873", "typeString": "library Address" } ], - "id": 2710, + "id": 2711, "isConstant": false, "isLValue": false, "isPure": true, @@ -32492,14 +32501,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 2709, + "id": 2710, "name": "address", "nodeType": "ElementaryTypeName", "src": "3181:7:20", "typeDescriptions": {} } }, - "id": 2712, + "id": 2713, "isConstant": false, "isLValue": false, "isPure": false, @@ -32515,7 +32524,7 @@ "typeString": "address" } }, - "id": 2713, + "id": 2714, "isConstant": false, "isLValue": false, "isPure": false, @@ -32530,11 +32539,11 @@ } }, { - "id": 2714, + "id": 2715, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2694, + "referencedDeclaration": 2695, "src": "3204:5:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32554,18 +32563,18 @@ } ], "expression": { - "id": 2706, + "id": 2707, "name": "Errors", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2924, + "referencedDeclaration": 2925, "src": "3154:6:20", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Errors_$2924_$", + "typeIdentifier": "t_type$_t_contract$_Errors_$2925_$", "typeString": "type(library Errors)" } }, - "id": 2708, + "id": 2709, "isConstant": false, "isLValue": false, "isPure": false, @@ -32573,14 +32582,14 @@ "memberLocation": "3161:19:20", "memberName": "InsufficientBalance", "nodeType": "MemberAccess", - "referencedDeclaration": 2912, + "referencedDeclaration": 2913, "src": "3154:26:20", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", "typeString": "function (uint256,uint256) pure" } }, - "id": 2715, + "id": 2716, "isConstant": false, "isLValue": false, "isPure": false, @@ -32596,7 +32605,7 @@ "typeString": "tuple()" } }, - "id": 2716, + "id": 2717, "nodeType": "RevertStatement", "src": "3147:63:20" } @@ -32605,18 +32614,18 @@ }, { "assignments": [ - 2720, - 2722 + 2721, + 2723 ], "declarations": [ { "constant": false, - "id": 2720, + "id": 2721, "mutability": "mutable", "name": "success", "nameLocation": "3236:7:20", "nodeType": "VariableDeclaration", - "scope": 2736, + "scope": 2737, "src": "3231:12:20", "stateVariable": false, "storageLocation": "default", @@ -32625,7 +32634,7 @@ "typeString": "bool" }, "typeName": { - "id": 2719, + "id": 2720, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3231:4:20", @@ -32638,12 +32647,12 @@ }, { "constant": false, - "id": 2722, + "id": 2723, "mutability": "mutable", "name": "returndata", "nameLocation": "3258:10:20", "nodeType": "VariableDeclaration", - "scope": 2736, + "scope": 2737, "src": "3245:23:20", "stateVariable": false, "storageLocation": "memory", @@ -32652,7 +32661,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2721, + "id": 2722, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3245:5:20", @@ -32664,15 +32673,15 @@ "visibility": "internal" } ], - "id": 2729, + "id": 2730, "initialValue": { "arguments": [ { - "id": 2727, + "id": 2728, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2692, + "referencedDeclaration": 2693, "src": "3298:4:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -32695,18 +32704,18 @@ } ], "expression": { - "id": 2723, + "id": 2724, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2690, + "referencedDeclaration": 2691, "src": "3272:6:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2724, + "id": 2725, "isConstant": false, "isLValue": false, "isPure": false, @@ -32720,7 +32729,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 2726, + "id": 2727, "isConstant": false, "isLValue": false, "isPure": false, @@ -32731,11 +32740,11 @@ "nodeType": "FunctionCallOptions", "options": [ { - "id": 2725, + "id": 2726, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2694, + "referencedDeclaration": 2695, "src": "3291:5:20", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -32749,7 +32758,7 @@ "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 2728, + "id": 2729, "isConstant": false, "isLValue": false, "isPure": false, @@ -32772,11 +32781,11 @@ "expression": { "arguments": [ { - "id": 2731, + "id": 2732, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2690, + "referencedDeclaration": 2691, "src": "3347:6:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -32784,11 +32793,11 @@ } }, { - "id": 2732, + "id": 2733, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2720, + "referencedDeclaration": 2721, "src": "3355:7:20", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -32796,11 +32805,11 @@ } }, { - "id": 2733, + "id": 2734, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2722, + "referencedDeclaration": 2723, "src": "3364:10:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -32823,18 +32832,18 @@ "typeString": "bytes memory" } ], - "id": 2730, + "id": 2731, "name": "verifyCallResultFromTarget", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2829, + "referencedDeclaration": 2830, "src": "3320:26:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bool,bytes memory) view returns (bytes memory)" } }, - "id": 2734, + "id": 2735, "isConstant": false, "isLValue": false, "isPure": false, @@ -32850,20 +32859,20 @@ "typeString": "bytes memory" } }, - "functionReturnParameters": 2698, - "id": 2735, + "functionReturnParameters": 2699, + "id": 2736, "nodeType": "Return", "src": "3313:62:20" } ] }, "documentation": { - "id": 2688, + "id": 2689, "nodeType": "StructuredDocumentation", "src": "2657:313:20", "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`." }, - "id": 2737, + "id": 2738, "implemented": true, "kind": "function", "modifiers": [], @@ -32871,17 +32880,17 @@ "nameLocation": "2984:21:20", "nodeType": "FunctionDefinition", "parameters": { - "id": 2695, + "id": 2696, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2690, + "id": 2691, "mutability": "mutable", "name": "target", "nameLocation": "3014:6:20", "nodeType": "VariableDeclaration", - "scope": 2737, + "scope": 2738, "src": "3006:14:20", "stateVariable": false, "storageLocation": "default", @@ -32890,7 +32899,7 @@ "typeString": "address" }, "typeName": { - "id": 2689, + "id": 2690, "name": "address", "nodeType": "ElementaryTypeName", "src": "3006:7:20", @@ -32904,12 +32913,12 @@ }, { "constant": false, - "id": 2692, + "id": 2693, "mutability": "mutable", "name": "data", "nameLocation": "3035:4:20", "nodeType": "VariableDeclaration", - "scope": 2737, + "scope": 2738, "src": "3022:17:20", "stateVariable": false, "storageLocation": "memory", @@ -32918,7 +32927,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2691, + "id": 2692, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3022:5:20", @@ -32931,12 +32940,12 @@ }, { "constant": false, - "id": 2694, + "id": 2695, "mutability": "mutable", "name": "value", "nameLocation": "3049:5:20", "nodeType": "VariableDeclaration", - "scope": 2737, + "scope": 2738, "src": "3041:13:20", "stateVariable": false, "storageLocation": "default", @@ -32945,7 +32954,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2693, + "id": 2694, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3041:7:20", @@ -32960,17 +32969,17 @@ "src": "3005:50:20" }, "returnParameters": { - "id": 2698, + "id": 2699, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2697, + "id": 2698, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2737, + "scope": 2738, "src": "3074:12:20", "stateVariable": false, "storageLocation": "memory", @@ -32979,7 +32988,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2696, + "id": 2697, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3074:5:20", @@ -32993,7 +33002,7 @@ ], "src": "3073:14:20" }, - "scope": 2872, + "scope": 2873, "src": "2975:407:20", "stateMutability": "nonpayable", "virtual": false, @@ -33001,24 +33010,24 @@ }, { "body": { - "id": 2762, + "id": 2763, "nodeType": "Block", "src": "3621:154:20", "statements": [ { "assignments": [ - 2748, - 2750 + 2749, + 2751 ], "declarations": [ { "constant": false, - "id": 2748, + "id": 2749, "mutability": "mutable", "name": "success", "nameLocation": "3637:7:20", "nodeType": "VariableDeclaration", - "scope": 2762, + "scope": 2763, "src": "3632:12:20", "stateVariable": false, "storageLocation": "default", @@ -33027,7 +33036,7 @@ "typeString": "bool" }, "typeName": { - "id": 2747, + "id": 2748, "name": "bool", "nodeType": "ElementaryTypeName", "src": "3632:4:20", @@ -33040,12 +33049,12 @@ }, { "constant": false, - "id": 2750, + "id": 2751, "mutability": "mutable", "name": "returndata", "nameLocation": "3659:10:20", "nodeType": "VariableDeclaration", - "scope": 2762, + "scope": 2763, "src": "3646:23:20", "stateVariable": false, "storageLocation": "memory", @@ -33054,7 +33063,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2749, + "id": 2750, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3646:5:20", @@ -33066,15 +33075,15 @@ "visibility": "internal" } ], - "id": 2755, + "id": 2756, "initialValue": { "arguments": [ { - "id": 2753, + "id": 2754, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2742, + "referencedDeclaration": 2743, "src": "3691:4:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -33090,18 +33099,18 @@ } ], "expression": { - "id": 2751, + "id": 2752, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2740, + "referencedDeclaration": 2741, "src": "3673:6:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2752, + "id": 2753, "isConstant": false, "isLValue": false, "isPure": false, @@ -33115,7 +33124,7 @@ "typeString": "function (bytes memory) view returns (bool,bytes memory)" } }, - "id": 2754, + "id": 2755, "isConstant": false, "isLValue": false, "isPure": false, @@ -33138,11 +33147,11 @@ "expression": { "arguments": [ { - "id": 2757, + "id": 2758, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2740, + "referencedDeclaration": 2741, "src": "3740:6:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33150,11 +33159,11 @@ } }, { - "id": 2758, + "id": 2759, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2748, + "referencedDeclaration": 2749, "src": "3748:7:20", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33162,11 +33171,11 @@ } }, { - "id": 2759, + "id": 2760, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2750, + "referencedDeclaration": 2751, "src": "3757:10:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -33189,18 +33198,18 @@ "typeString": "bytes memory" } ], - "id": 2756, + "id": 2757, "name": "verifyCallResultFromTarget", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2829, + "referencedDeclaration": 2830, "src": "3713:26:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bool,bytes memory) view returns (bytes memory)" } }, - "id": 2760, + "id": 2761, "isConstant": false, "isLValue": false, "isPure": false, @@ -33216,20 +33225,20 @@ "typeString": "bytes memory" } }, - "functionReturnParameters": 2746, - "id": 2761, + "functionReturnParameters": 2747, + "id": 2762, "nodeType": "Return", "src": "3706:62:20" } ] }, "documentation": { - "id": 2738, + "id": 2739, "nodeType": "StructuredDocumentation", "src": "3388:128:20", "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call." }, - "id": 2763, + "id": 2764, "implemented": true, "kind": "function", "modifiers": [], @@ -33237,17 +33246,17 @@ "nameLocation": "3530:18:20", "nodeType": "FunctionDefinition", "parameters": { - "id": 2743, + "id": 2744, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2740, + "id": 2741, "mutability": "mutable", "name": "target", "nameLocation": "3557:6:20", "nodeType": "VariableDeclaration", - "scope": 2763, + "scope": 2764, "src": "3549:14:20", "stateVariable": false, "storageLocation": "default", @@ -33256,7 +33265,7 @@ "typeString": "address" }, "typeName": { - "id": 2739, + "id": 2740, "name": "address", "nodeType": "ElementaryTypeName", "src": "3549:7:20", @@ -33270,12 +33279,12 @@ }, { "constant": false, - "id": 2742, + "id": 2743, "mutability": "mutable", "name": "data", "nameLocation": "3578:4:20", "nodeType": "VariableDeclaration", - "scope": 2763, + "scope": 2764, "src": "3565:17:20", "stateVariable": false, "storageLocation": "memory", @@ -33284,7 +33293,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2741, + "id": 2742, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3565:5:20", @@ -33299,17 +33308,17 @@ "src": "3548:35:20" }, "returnParameters": { - "id": 2746, + "id": 2747, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2745, + "id": 2746, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2763, + "scope": 2764, "src": "3607:12:20", "stateVariable": false, "storageLocation": "memory", @@ -33318,7 +33327,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2744, + "id": 2745, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3607:5:20", @@ -33332,7 +33341,7 @@ ], "src": "3606:14:20" }, - "scope": 2872, + "scope": 2873, "src": "3521:254:20", "stateMutability": "view", "virtual": false, @@ -33340,24 +33349,24 @@ }, { "body": { - "id": 2788, + "id": 2789, "nodeType": "Block", "src": "4013:156:20", "statements": [ { "assignments": [ - 2774, - 2776 + 2775, + 2777 ], "declarations": [ { "constant": false, - "id": 2774, + "id": 2775, "mutability": "mutable", "name": "success", "nameLocation": "4029:7:20", "nodeType": "VariableDeclaration", - "scope": 2788, + "scope": 2789, "src": "4024:12:20", "stateVariable": false, "storageLocation": "default", @@ -33366,7 +33375,7 @@ "typeString": "bool" }, "typeName": { - "id": 2773, + "id": 2774, "name": "bool", "nodeType": "ElementaryTypeName", "src": "4024:4:20", @@ -33379,12 +33388,12 @@ }, { "constant": false, - "id": 2776, + "id": 2777, "mutability": "mutable", "name": "returndata", "nameLocation": "4051:10:20", "nodeType": "VariableDeclaration", - "scope": 2788, + "scope": 2789, "src": "4038:23:20", "stateVariable": false, "storageLocation": "memory", @@ -33393,7 +33402,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2775, + "id": 2776, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4038:5:20", @@ -33405,15 +33414,15 @@ "visibility": "internal" } ], - "id": 2781, + "id": 2782, "initialValue": { "arguments": [ { - "id": 2779, + "id": 2780, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2768, + "referencedDeclaration": 2769, "src": "4085:4:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -33429,18 +33438,18 @@ } ], "expression": { - "id": 2777, + "id": 2778, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2766, + "referencedDeclaration": 2767, "src": "4065:6:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2778, + "id": 2779, "isConstant": false, "isLValue": false, "isPure": false, @@ -33454,7 +33463,7 @@ "typeString": "function (bytes memory) returns (bool,bytes memory)" } }, - "id": 2780, + "id": 2781, "isConstant": false, "isLValue": false, "isPure": false, @@ -33477,11 +33486,11 @@ "expression": { "arguments": [ { - "id": 2783, + "id": 2784, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2766, + "referencedDeclaration": 2767, "src": "4134:6:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33489,11 +33498,11 @@ } }, { - "id": 2784, + "id": 2785, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2774, + "referencedDeclaration": 2775, "src": "4142:7:20", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33501,11 +33510,11 @@ } }, { - "id": 2785, + "id": 2786, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2776, + "referencedDeclaration": 2777, "src": "4151:10:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -33528,18 +33537,18 @@ "typeString": "bytes memory" } ], - "id": 2782, + "id": 2783, "name": "verifyCallResultFromTarget", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2829, + "referencedDeclaration": 2830, "src": "4107:26:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", "typeString": "function (address,bool,bytes memory) view returns (bytes memory)" } }, - "id": 2786, + "id": 2787, "isConstant": false, "isLValue": false, "isPure": false, @@ -33555,20 +33564,20 @@ "typeString": "bytes memory" } }, - "functionReturnParameters": 2772, - "id": 2787, + "functionReturnParameters": 2773, + "id": 2788, "nodeType": "Return", "src": "4100:62:20" } ] }, "documentation": { - "id": 2764, + "id": 2765, "nodeType": "StructuredDocumentation", "src": "3781:130:20", "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call." }, - "id": 2789, + "id": 2790, "implemented": true, "kind": "function", "modifiers": [], @@ -33576,17 +33585,17 @@ "nameLocation": "3925:20:20", "nodeType": "FunctionDefinition", "parameters": { - "id": 2769, + "id": 2770, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2766, + "id": 2767, "mutability": "mutable", "name": "target", "nameLocation": "3954:6:20", "nodeType": "VariableDeclaration", - "scope": 2789, + "scope": 2790, "src": "3946:14:20", "stateVariable": false, "storageLocation": "default", @@ -33595,7 +33604,7 @@ "typeString": "address" }, "typeName": { - "id": 2765, + "id": 2766, "name": "address", "nodeType": "ElementaryTypeName", "src": "3946:7:20", @@ -33609,12 +33618,12 @@ }, { "constant": false, - "id": 2768, + "id": 2769, "mutability": "mutable", "name": "data", "nameLocation": "3975:4:20", "nodeType": "VariableDeclaration", - "scope": 2789, + "scope": 2790, "src": "3962:17:20", "stateVariable": false, "storageLocation": "memory", @@ -33623,7 +33632,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2767, + "id": 2768, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3962:5:20", @@ -33638,17 +33647,17 @@ "src": "3945:35:20" }, "returnParameters": { - "id": 2772, + "id": 2773, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2771, + "id": 2772, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2789, + "scope": 2790, "src": "3999:12:20", "stateVariable": false, "storageLocation": "memory", @@ -33657,7 +33666,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2770, + "id": 2771, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "3999:5:20", @@ -33671,7 +33680,7 @@ ], "src": "3998:14:20" }, - "scope": 2872, + "scope": 2873, "src": "3916:253:20", "stateMutability": "nonpayable", "virtual": false, @@ -33679,13 +33688,13 @@ }, { "body": { - "id": 2828, + "id": 2829, "nodeType": "Block", "src": "4595:424:20", "statements": [ { "condition": { - "id": 2802, + "id": 2803, "isConstant": false, "isLValue": false, "isPure": false, @@ -33695,11 +33704,11 @@ "prefix": true, "src": "4609:8:20", "subExpression": { - "id": 2801, + "id": 2802, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2794, + "referencedDeclaration": 2795, "src": "4610:7:20", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -33712,7 +33721,7 @@ } }, "falseBody": { - "id": 2826, + "id": 2827, "nodeType": "Block", "src": "4669:344:20", "statements": [ @@ -33722,7 +33731,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 2817, + "id": 2818, "isConstant": false, "isLValue": false, "isPure": false, @@ -33732,25 +33741,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2811, + "id": 2812, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 2808, + "id": 2809, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2796, + "referencedDeclaration": 2797, "src": "4857:10:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 2809, + "id": 2810, "isConstant": false, "isLValue": false, "isPure": false, @@ -33768,7 +33777,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 2810, + "id": 2811, "isConstant": false, "isLValue": false, "isPure": true, @@ -33795,7 +33804,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2816, + "id": 2817, "isConstant": false, "isLValue": false, "isPure": false, @@ -33803,18 +33812,18 @@ "leftExpression": { "expression": { "expression": { - "id": 2812, + "id": 2813, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2792, + "referencedDeclaration": 2793, "src": "4883:6:20", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 2813, + "id": 2814, "isConstant": false, "isLValue": false, "isPure": false, @@ -33828,7 +33837,7 @@ "typeString": "bytes memory" } }, - "id": 2814, + "id": 2815, "isConstant": false, "isLValue": false, "isPure": false, @@ -33846,7 +33855,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 2815, + "id": 2816, "isConstant": false, "isLValue": false, "isPure": true, @@ -33872,11 +33881,11 @@ "typeString": "bool" } }, - "id": 2823, + "id": 2824, "nodeType": "IfStatement", "src": "4853:119:20", "trueBody": { - "id": 2822, + "id": 2823, "nodeType": "Block", "src": "4908:64:20", "statements": [ @@ -33884,11 +33893,11 @@ "errorCall": { "arguments": [ { - "id": 2819, + "id": 2820, "name": "target", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2792, + "referencedDeclaration": 2793, "src": "4950:6:20", "typeDescriptions": { "typeIdentifier": "t_address", @@ -33903,18 +33912,18 @@ "typeString": "address" } ], - "id": 2818, + "id": 2819, "name": "AddressEmptyCode", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2622, + "referencedDeclaration": 2623, "src": "4933:16:20", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", "typeString": "function (address) pure" } }, - "id": 2820, + "id": 2821, "isConstant": false, "isLValue": false, "isPure": false, @@ -33930,7 +33939,7 @@ "typeString": "tuple()" } }, - "id": 2821, + "id": 2822, "nodeType": "RevertStatement", "src": "4926:31:20" } @@ -33939,29 +33948,29 @@ }, { "expression": { - "id": 2824, + "id": 2825, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2796, + "referencedDeclaration": 2797, "src": "4992:10:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 2800, - "id": 2825, + "functionReturnParameters": 2801, + "id": 2826, "nodeType": "Return", "src": "4985:17:20" } ] }, - "id": 2827, + "id": 2828, "nodeType": "IfStatement", "src": "4605:408:20", "trueBody": { - "id": 2807, + "id": 2808, "nodeType": "Block", "src": "4619:44:20", "statements": [ @@ -33969,11 +33978,11 @@ "expression": { "arguments": [ { - "id": 2804, + "id": 2805, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2796, + "referencedDeclaration": 2797, "src": "4641:10:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -33988,18 +33997,18 @@ "typeString": "bytes memory" } ], - "id": 2803, + "id": 2804, "name": "_revert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, + "referencedDeclaration": 2872, "src": "4633:7:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (bytes memory) pure" } }, - "id": 2805, + "id": 2806, "isConstant": false, "isLValue": false, "isPure": false, @@ -34015,7 +34024,7 @@ "typeString": "tuple()" } }, - "id": 2806, + "id": 2807, "nodeType": "ExpressionStatement", "src": "4633:19:20" } @@ -34025,12 +34034,12 @@ ] }, "documentation": { - "id": 2790, + "id": 2791, "nodeType": "StructuredDocumentation", "src": "4175:257:20", "text": " @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target\n was not a contract or bubbling up the revert reason (falling back to {Errors.FailedCall}) in case\n of an unsuccessful call." }, - "id": 2829, + "id": 2830, "implemented": true, "kind": "function", "modifiers": [], @@ -34038,17 +34047,17 @@ "nameLocation": "4446:26:20", "nodeType": "FunctionDefinition", "parameters": { - "id": 2797, + "id": 2798, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2792, + "id": 2793, "mutability": "mutable", "name": "target", "nameLocation": "4490:6:20", "nodeType": "VariableDeclaration", - "scope": 2829, + "scope": 2830, "src": "4482:14:20", "stateVariable": false, "storageLocation": "default", @@ -34057,7 +34066,7 @@ "typeString": "address" }, "typeName": { - "id": 2791, + "id": 2792, "name": "address", "nodeType": "ElementaryTypeName", "src": "4482:7:20", @@ -34071,12 +34080,12 @@ }, { "constant": false, - "id": 2794, + "id": 2795, "mutability": "mutable", "name": "success", "nameLocation": "4511:7:20", "nodeType": "VariableDeclaration", - "scope": 2829, + "scope": 2830, "src": "4506:12:20", "stateVariable": false, "storageLocation": "default", @@ -34085,7 +34094,7 @@ "typeString": "bool" }, "typeName": { - "id": 2793, + "id": 2794, "name": "bool", "nodeType": "ElementaryTypeName", "src": "4506:4:20", @@ -34098,12 +34107,12 @@ }, { "constant": false, - "id": 2796, + "id": 2797, "mutability": "mutable", "name": "returndata", "nameLocation": "4541:10:20", "nodeType": "VariableDeclaration", - "scope": 2829, + "scope": 2830, "src": "4528:23:20", "stateVariable": false, "storageLocation": "memory", @@ -34112,7 +34121,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2795, + "id": 2796, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4528:5:20", @@ -34127,17 +34136,17 @@ "src": "4472:85:20" }, "returnParameters": { - "id": 2800, + "id": 2801, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2799, + "id": 2800, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2829, + "scope": 2830, "src": "4581:12:20", "stateVariable": false, "storageLocation": "memory", @@ -34146,7 +34155,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2798, + "id": 2799, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4581:5:20", @@ -34160,7 +34169,7 @@ ], "src": "4580:14:20" }, - "scope": 2872, + "scope": 2873, "src": "4437:582:20", "stateMutability": "view", "virtual": false, @@ -34168,13 +34177,13 @@ }, { "body": { - "id": 2850, + "id": 2851, "nodeType": "Block", "src": "5323:122:20", "statements": [ { "condition": { - "id": 2840, + "id": 2841, "isConstant": false, "isLValue": false, "isPure": false, @@ -34184,11 +34193,11 @@ "prefix": true, "src": "5337:8:20", "subExpression": { - "id": 2839, + "id": 2840, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2832, + "referencedDeclaration": 2833, "src": "5338:7:20", "typeDescriptions": { "typeIdentifier": "t_bool", @@ -34201,35 +34210,35 @@ } }, "falseBody": { - "id": 2848, + "id": 2849, "nodeType": "Block", "src": "5397:42:20", "statements": [ { "expression": { - "id": 2846, + "id": 2847, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2834, + "referencedDeclaration": 2835, "src": "5418:10:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "functionReturnParameters": 2838, - "id": 2847, + "functionReturnParameters": 2839, + "id": 2848, "nodeType": "Return", "src": "5411:17:20" } ] }, - "id": 2849, + "id": 2850, "nodeType": "IfStatement", "src": "5333:106:20", "trueBody": { - "id": 2845, + "id": 2846, "nodeType": "Block", "src": "5347:44:20", "statements": [ @@ -34237,11 +34246,11 @@ "expression": { "arguments": [ { - "id": 2842, + "id": 2843, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2834, + "referencedDeclaration": 2835, "src": "5369:10:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -34256,18 +34265,18 @@ "typeString": "bytes memory" } ], - "id": 2841, + "id": 2842, "name": "_revert", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2871, + "referencedDeclaration": 2872, "src": "5361:7:20", "typeDescriptions": { "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", "typeString": "function (bytes memory) pure" } }, - "id": 2843, + "id": 2844, "isConstant": false, "isLValue": false, "isPure": false, @@ -34283,7 +34292,7 @@ "typeString": "tuple()" } }, - "id": 2844, + "id": 2845, "nodeType": "ExpressionStatement", "src": "5361:19:20" } @@ -34293,12 +34302,12 @@ ] }, "documentation": { - "id": 2830, + "id": 2831, "nodeType": "StructuredDocumentation", "src": "5025:191:20", "text": " @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the\n revert reason or with a default {Errors.FailedCall} error." }, - "id": 2851, + "id": 2852, "implemented": true, "kind": "function", "modifiers": [], @@ -34306,17 +34315,17 @@ "nameLocation": "5230:16:20", "nodeType": "FunctionDefinition", "parameters": { - "id": 2835, + "id": 2836, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2832, + "id": 2833, "mutability": "mutable", "name": "success", "nameLocation": "5252:7:20", "nodeType": "VariableDeclaration", - "scope": 2851, + "scope": 2852, "src": "5247:12:20", "stateVariable": false, "storageLocation": "default", @@ -34325,7 +34334,7 @@ "typeString": "bool" }, "typeName": { - "id": 2831, + "id": 2832, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5247:4:20", @@ -34338,12 +34347,12 @@ }, { "constant": false, - "id": 2834, + "id": 2835, "mutability": "mutable", "name": "returndata", "nameLocation": "5274:10:20", "nodeType": "VariableDeclaration", - "scope": 2851, + "scope": 2852, "src": "5261:23:20", "stateVariable": false, "storageLocation": "memory", @@ -34352,7 +34361,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2833, + "id": 2834, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5261:5:20", @@ -34367,17 +34376,17 @@ "src": "5246:39:20" }, "returnParameters": { - "id": 2838, + "id": 2839, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2837, + "id": 2838, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2851, + "scope": 2852, "src": "5309:12:20", "stateVariable": false, "storageLocation": "memory", @@ -34386,7 +34395,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2836, + "id": 2837, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5309:5:20", @@ -34400,7 +34409,7 @@ ], "src": "5308:14:20" }, - "scope": 2872, + "scope": 2873, "src": "5221:224:20", "stateMutability": "pure", "virtual": false, @@ -34408,9 +34417,9 @@ }, { "body": { - "id": 2870, + "id": 2871, "nodeType": "Block", - "src": "5614:432:20", + "src": "5614:379:20", "statements": [ { "condition": { @@ -34418,25 +34427,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 2860, + "id": 2861, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 2857, + "id": 2858, "name": "returndata", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2854, + "referencedDeclaration": 2855, "src": "5690:10:20", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 2858, + "id": 2859, "isConstant": false, "isLValue": false, "isPure": false, @@ -34454,7 +34463,7 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 2859, + "id": 2860, "isConstant": false, "isLValue": false, "isPure": true, @@ -34475,9 +34484,9 @@ } }, "falseBody": { - "id": 2868, + "id": 2869, "nodeType": "Block", - "src": "5989:51:20", + "src": "5936:51:20", "statements": [ { "errorCall": { @@ -34485,33 +34494,33 @@ "expression": { "argumentTypes": [], "expression": { - "id": 2863, + "id": 2864, "name": "Errors", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2924, - "src": "6010:6:20", + "referencedDeclaration": 2925, + "src": "5957:6:20", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_Errors_$2924_$", + "typeIdentifier": "t_type$_t_contract$_Errors_$2925_$", "typeString": "type(library Errors)" } }, - "id": 2865, + "id": 2866, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "6017:10:20", + "memberLocation": "5964:10:20", "memberName": "FailedCall", "nodeType": "MemberAccess", - "referencedDeclaration": 2915, - "src": "6010:17:20", + "referencedDeclaration": 2916, + "src": "5957:17:20", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 2866, + "id": 2867, "isConstant": false, "isLValue": false, "isPure": false, @@ -34520,142 +34529,122 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6010:19:20", + "src": "5957:19:20", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 2867, + "id": 2868, "nodeType": "RevertStatement", - "src": "6003:26:20" + "src": "5950:26:20" } ] }, - "id": 2869, + "id": 2870, "nodeType": "IfStatement", - "src": "5686:354:20", + "src": "5686:301:20", "trueBody": { - "id": 2862, + "id": 2863, "nodeType": "Block", - "src": "5713:270:20", + "src": "5713:217:20", "statements": [ { "AST": { - "nativeSrc": "5840:133:20", + "nativeSrc": "5840:80:20", "nodeType": "YulBlock", - "src": "5840:133:20", + "src": "5840:80:20", "statements": [ - { - "nativeSrc": "5858:40:20", - "nodeType": "YulVariableDeclaration", - "src": "5858:40:20", - "value": { - "arguments": [ - { - "name": "returndata", - "nativeSrc": "5887:10:20", - "nodeType": "YulIdentifier", - "src": "5887:10:20" - } - ], - "functionName": { - "name": "mload", - "nativeSrc": "5881:5:20", - "nodeType": "YulIdentifier", - "src": "5881:5:20" - }, - "nativeSrc": "5881:17:20", - "nodeType": "YulFunctionCall", - "src": "5881:17:20" - }, - "variables": [ - { - "name": "returndata_size", - "nativeSrc": "5862:15:20", - "nodeType": "YulTypedName", - "src": "5862:15:20", - "type": "" - } - ] - }, { "expression": { "arguments": [ { "arguments": [ + { + "name": "returndata", + "nativeSrc": "5869:10:20", + "nodeType": "YulIdentifier", + "src": "5869:10:20" + }, { "kind": "number", - "nativeSrc": "5926:2:20", + "nativeSrc": "5881:4:20", "nodeType": "YulLiteral", - "src": "5926:2:20", + "src": "5881:4:20", "type": "", - "value": "32" - }, - { - "name": "returndata", - "nativeSrc": "5930:10:20", - "nodeType": "YulIdentifier", - "src": "5930:10:20" + "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "5922:3:20", + "nativeSrc": "5865:3:20", "nodeType": "YulIdentifier", - "src": "5922:3:20" + "src": "5865:3:20" }, - "nativeSrc": "5922:19:20", + "nativeSrc": "5865:21:20", "nodeType": "YulFunctionCall", - "src": "5922:19:20" + "src": "5865:21:20" }, { - "name": "returndata_size", - "nativeSrc": "5943:15:20", - "nodeType": "YulIdentifier", - "src": "5943:15:20" + "arguments": [ + { + "name": "returndata", + "nativeSrc": "5894:10:20", + "nodeType": "YulIdentifier", + "src": "5894:10:20" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5888:5:20", + "nodeType": "YulIdentifier", + "src": "5888:5:20" + }, + "nativeSrc": "5888:17:20", + "nodeType": "YulFunctionCall", + "src": "5888:17:20" } ], "functionName": { "name": "revert", - "nativeSrc": "5915:6:20", + "nativeSrc": "5858:6:20", "nodeType": "YulIdentifier", - "src": "5915:6:20" + "src": "5858:6:20" }, - "nativeSrc": "5915:44:20", + "nativeSrc": "5858:48:20", "nodeType": "YulFunctionCall", - "src": "5915:44:20" + "src": "5858:48:20" }, - "nativeSrc": "5915:44:20", + "nativeSrc": "5858:48:20", "nodeType": "YulExpressionStatement", - "src": "5915:44:20" + "src": "5858:48:20" } ] }, "evmVersion": "paris", "externalReferences": [ { - "declaration": 2854, + "declaration": 2855, "isOffset": false, "isSlot": false, - "src": "5887:10:20", + "src": "5869:10:20", "valueSize": 1 }, { - "declaration": 2854, + "declaration": 2855, "isOffset": false, "isSlot": false, - "src": "5930:10:20", + "src": "5894:10:20", "valueSize": 1 } ], "flags": [ "memory-safe" ], - "id": 2861, + "id": 2862, "nodeType": "InlineAssembly", - "src": "5815:158:20" + "src": "5815:105:20" } ] } @@ -34663,12 +34652,12 @@ ] }, "documentation": { - "id": 2852, + "id": 2853, "nodeType": "StructuredDocumentation", "src": "5451:103:20", "text": " @dev Reverts with returndata if present. Otherwise reverts with {Errors.FailedCall}." }, - "id": 2871, + "id": 2872, "implemented": true, "kind": "function", "modifiers": [], @@ -34676,17 +34665,17 @@ "nameLocation": "5568:7:20", "nodeType": "FunctionDefinition", "parameters": { - "id": 2855, + "id": 2856, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2854, + "id": 2855, "mutability": "mutable", "name": "returndata", "nameLocation": "5589:10:20", "nodeType": "VariableDeclaration", - "scope": 2871, + "scope": 2872, "src": "5576:23:20", "stateVariable": false, "storageLocation": "memory", @@ -34695,7 +34684,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2853, + "id": 2854, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "5576:5:20", @@ -34710,27 +34699,27 @@ "src": "5575:25:20" }, "returnParameters": { - "id": 2856, + "id": 2857, "nodeType": "ParameterList", "parameters": [], "src": "5614:0:20" }, - "scope": 2872, - "src": "5559:487:20", + "scope": 2873, + "src": "5559:434:20", "stateMutability": "pure", "virtual": false, "visibility": "private" } ], - "scope": 2873, - "src": "233:5815:20", + "scope": 2874, + "src": "233:5762:20", "usedErrors": [ - 2622 + 2623 ], "usedEvents": [] } ], - "src": "101:5948:20" + "src": "101:5895:20" }, "id": 20 }, @@ -34739,15 +34728,15 @@ "absolutePath": "@openzeppelin/contracts/utils/Context.sol", "exportedSymbols": { "Context": [ - 2902 + 2903 ] }, - "id": 2903, + "id": 2904, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2874, + "id": 2875, "literals": [ "solidity", "^", @@ -34764,15 +34753,15 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 2875, + "id": 2876, "nodeType": "StructuredDocumentation", "src": "127:496:21", "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." }, "fullyImplemented": true, - "id": 2902, + "id": 2903, "linearizedBaseContracts": [ - 2902 + 2903 ], "name": "Context", "nameLocation": "642:7:21", @@ -34780,14 +34769,14 @@ "nodes": [ { "body": { - "id": 2883, + "id": 2884, "nodeType": "Block", "src": "718:34:21", "statements": [ { "expression": { "expression": { - "id": 2880, + "id": 2881, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -34798,7 +34787,7 @@ "typeString": "msg" } }, - "id": 2881, + "id": 2882, "isConstant": false, "isLValue": false, "isPure": false, @@ -34812,14 +34801,14 @@ "typeString": "address" } }, - "functionReturnParameters": 2879, - "id": 2882, + "functionReturnParameters": 2880, + "id": 2883, "nodeType": "Return", "src": "728:17:21" } ] }, - "id": 2884, + "id": 2885, "implemented": true, "kind": "function", "modifiers": [], @@ -34827,23 +34816,23 @@ "nameLocation": "665:10:21", "nodeType": "FunctionDefinition", "parameters": { - "id": 2876, + "id": 2877, "nodeType": "ParameterList", "parameters": [], "src": "675:2:21" }, "returnParameters": { - "id": 2879, + "id": 2880, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2878, + "id": 2879, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2884, + "scope": 2885, "src": "709:7:21", "stateVariable": false, "storageLocation": "default", @@ -34852,7 +34841,7 @@ "typeString": "address" }, "typeName": { - "id": 2877, + "id": 2878, "name": "address", "nodeType": "ElementaryTypeName", "src": "709:7:21", @@ -34867,7 +34856,7 @@ ], "src": "708:9:21" }, - "scope": 2902, + "scope": 2903, "src": "656:96:21", "stateMutability": "view", "virtual": true, @@ -34875,14 +34864,14 @@ }, { "body": { - "id": 2892, + "id": 2893, "nodeType": "Block", "src": "825:32:21", "statements": [ { "expression": { "expression": { - "id": 2889, + "id": 2890, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -34893,7 +34882,7 @@ "typeString": "msg" } }, - "id": 2890, + "id": 2891, "isConstant": false, "isLValue": false, "isPure": false, @@ -34907,14 +34896,14 @@ "typeString": "bytes calldata" } }, - "functionReturnParameters": 2888, - "id": 2891, + "functionReturnParameters": 2889, + "id": 2892, "nodeType": "Return", "src": "835:15:21" } ] }, - "id": 2893, + "id": 2894, "implemented": true, "kind": "function", "modifiers": [], @@ -34922,23 +34911,23 @@ "nameLocation": "767:8:21", "nodeType": "FunctionDefinition", "parameters": { - "id": 2885, + "id": 2886, "nodeType": "ParameterList", "parameters": [], "src": "775:2:21" }, "returnParameters": { - "id": 2888, + "id": 2889, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2887, + "id": 2888, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2893, + "scope": 2894, "src": "809:14:21", "stateVariable": false, "storageLocation": "calldata", @@ -34947,7 +34936,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2886, + "id": 2887, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "809:5:21", @@ -34961,7 +34950,7 @@ ], "src": "808:16:21" }, - "scope": 2902, + "scope": 2903, "src": "758:99:21", "stateMutability": "view", "virtual": true, @@ -34969,14 +34958,14 @@ }, { "body": { - "id": 2900, + "id": 2901, "nodeType": "Block", "src": "935:25:21", "statements": [ { "expression": { "hexValue": "30", - "id": 2898, + "id": 2899, "isConstant": false, "isLValue": false, "isPure": true, @@ -34990,14 +34979,14 @@ }, "value": "0" }, - "functionReturnParameters": 2897, - "id": 2899, + "functionReturnParameters": 2898, + "id": 2900, "nodeType": "Return", "src": "945:8:21" } ] }, - "id": 2901, + "id": 2902, "implemented": true, "kind": "function", "modifiers": [], @@ -35005,23 +34994,23 @@ "nameLocation": "872:20:21", "nodeType": "FunctionDefinition", "parameters": { - "id": 2894, + "id": 2895, "nodeType": "ParameterList", "parameters": [], "src": "892:2:21" }, "returnParameters": { - "id": 2897, + "id": 2898, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2896, + "id": 2897, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2901, + "scope": 2902, "src": "926:7:21", "stateVariable": false, "storageLocation": "default", @@ -35030,7 +35019,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2895, + "id": 2896, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "926:7:21", @@ -35044,14 +35033,14 @@ ], "src": "925:9:21" }, - "scope": 2902, + "scope": 2903, "src": "863:97:21", "stateMutability": "view", "virtual": true, "visibility": "internal" } ], - "scope": 2903, + "scope": 2904, "src": "624:338:21", "usedErrors": [], "usedEvents": [] @@ -35066,15 +35055,15 @@ "absolutePath": "@openzeppelin/contracts/utils/Errors.sol", "exportedSymbols": { "Errors": [ - 2924 + 2925 ] }, - "id": 2925, + "id": 2926, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2904, + "id": 2905, "literals": [ "solidity", "^", @@ -35091,15 +35080,15 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 2905, + "id": 2906, "nodeType": "StructuredDocumentation", "src": "126:284:22", "text": " @dev Collection of common custom errors used in multiple contracts\n IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library.\n It is recommended to avoid relying on the error API for critical functionality.\n _Available since v5.1._" }, "fullyImplemented": true, - "id": 2924, + "id": 2925, "linearizedBaseContracts": [ - 2924 + 2925 ], "name": "Errors", "nameLocation": "419:6:22", @@ -35107,28 +35096,28 @@ "nodes": [ { "documentation": { - "id": 2906, + "id": 2907, "nodeType": "StructuredDocumentation", "src": "432:94:22", "text": " @dev The ETH balance of the account is not enough to perform the operation." }, "errorSelector": "cf479181", - "id": 2912, + "id": 2913, "name": "InsufficientBalance", "nameLocation": "537:19:22", "nodeType": "ErrorDefinition", "parameters": { - "id": 2911, + "id": 2912, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2908, + "id": 2909, "mutability": "mutable", "name": "balance", "nameLocation": "565:7:22", "nodeType": "VariableDeclaration", - "scope": 2912, + "scope": 2913, "src": "557:15:22", "stateVariable": false, "storageLocation": "default", @@ -35137,7 +35126,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2907, + "id": 2908, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "557:7:22", @@ -35150,12 +35139,12 @@ }, { "constant": false, - "id": 2910, + "id": 2911, "mutability": "mutable", "name": "needed", "nameLocation": "582:6:22", "nodeType": "VariableDeclaration", - "scope": 2912, + "scope": 2913, "src": "574:14:22", "stateVariable": false, "storageLocation": "default", @@ -35164,7 +35153,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2909, + "id": 2910, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "574:7:22", @@ -35182,18 +35171,18 @@ }, { "documentation": { - "id": 2913, + "id": 2914, "nodeType": "StructuredDocumentation", "src": "596:89:22", "text": " @dev A call to an address target failed. The target may have reverted." }, "errorSelector": "d6bda275", - "id": 2915, + "id": 2916, "name": "FailedCall", "nameLocation": "696:10:22", "nodeType": "ErrorDefinition", "parameters": { - "id": 2914, + "id": 2915, "nodeType": "ParameterList", "parameters": [], "src": "706:2:22" @@ -35202,18 +35191,18 @@ }, { "documentation": { - "id": 2916, + "id": 2917, "nodeType": "StructuredDocumentation", "src": "715:46:22", "text": " @dev The deployment failed." }, "errorSelector": "b06ebf3d", - "id": 2918, + "id": 2919, "name": "FailedDeployment", "nameLocation": "772:16:22", "nodeType": "ErrorDefinition", "parameters": { - "id": 2917, + "id": 2918, "nodeType": "ParameterList", "parameters": [], "src": "788:2:22" @@ -35222,28 +35211,28 @@ }, { "documentation": { - "id": 2919, + "id": 2920, "nodeType": "StructuredDocumentation", "src": "797:58:22", "text": " @dev A necessary precompile is missing." }, "errorSelector": "42b01bce", - "id": 2923, + "id": 2924, "name": "MissingPrecompile", "nameLocation": "866:17:22", "nodeType": "ErrorDefinition", "parameters": { - "id": 2922, + "id": 2923, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2921, + "id": 2922, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 2923, + "scope": 2924, "src": "884:7:22", "stateVariable": false, "storageLocation": "default", @@ -35252,7 +35241,7 @@ "typeString": "address" }, "typeName": { - "id": 2920, + "id": 2921, "name": "address", "nodeType": "ElementaryTypeName", "src": "884:7:22", @@ -35270,13 +35259,13 @@ "src": "860:33:22" } ], - "scope": 2925, + "scope": 2926, "src": "411:484:22", "usedErrors": [ - 2912, - 2915, - 2918, - 2923 + 2913, + 2916, + 2919, + 2924 ], "usedEvents": [] } @@ -35290,15 +35279,15 @@ "absolutePath": "@openzeppelin/contracts/utils/StorageSlot.sol", "exportedSymbols": { "StorageSlot": [ - 3048 + 3049 ] }, - "id": 3049, + "id": 3050, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 2926, + "id": 2927, "literals": [ "solidity", "^", @@ -35315,15 +35304,15 @@ "contractDependencies": [], "contractKind": "library", "documentation": { - "id": 2927, + "id": 2928, "nodeType": "StructuredDocumentation", "src": "219:1187:23", "text": " @dev Library for reading and writing primitive types to specific storage slots.\n Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n This library helps with reading and writing to such slots without the need for inline assembly.\n The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n Example usage to set ERC-1967 implementation slot:\n ```solidity\n contract ERC1967 {\n // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n function _getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n }\n function _setImplementation(address newImplementation) internal {\n require(newImplementation.code.length > 0);\n StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n }\n }\n ```\n TIP: Consider using this library along with {SlotDerivation}." }, "fullyImplemented": true, - "id": 3048, + "id": 3049, "linearizedBaseContracts": [ - 3048 + 3049 ], "name": "StorageSlot", "nameLocation": "1415:11:23", @@ -35331,16 +35320,16 @@ "nodes": [ { "canonicalName": "StorageSlot.AddressSlot", - "id": 2930, + "id": 2931, "members": [ { "constant": false, - "id": 2929, + "id": 2930, "mutability": "mutable", "name": "value", "nameLocation": "1470:5:23", "nodeType": "VariableDeclaration", - "scope": 2930, + "scope": 2931, "src": "1462:13:23", "stateVariable": false, "storageLocation": "default", @@ -35349,7 +35338,7 @@ "typeString": "address" }, "typeName": { - "id": 2928, + "id": 2929, "name": "address", "nodeType": "ElementaryTypeName", "src": "1462:7:23", @@ -35365,22 +35354,22 @@ "name": "AddressSlot", "nameLocation": "1440:11:23", "nodeType": "StructDefinition", - "scope": 3048, + "scope": 3049, "src": "1433:49:23", "visibility": "public" }, { "canonicalName": "StorageSlot.BooleanSlot", - "id": 2933, + "id": 2934, "members": [ { "constant": false, - "id": 2932, + "id": 2933, "mutability": "mutable", "name": "value", "nameLocation": "1522:5:23", "nodeType": "VariableDeclaration", - "scope": 2933, + "scope": 2934, "src": "1517:10:23", "stateVariable": false, "storageLocation": "default", @@ -35389,7 +35378,7 @@ "typeString": "bool" }, "typeName": { - "id": 2931, + "id": 2932, "name": "bool", "nodeType": "ElementaryTypeName", "src": "1517:4:23", @@ -35404,22 +35393,22 @@ "name": "BooleanSlot", "nameLocation": "1495:11:23", "nodeType": "StructDefinition", - "scope": 3048, + "scope": 3049, "src": "1488:46:23", "visibility": "public" }, { "canonicalName": "StorageSlot.Bytes32Slot", - "id": 2936, + "id": 2937, "members": [ { "constant": false, - "id": 2935, + "id": 2936, "mutability": "mutable", "name": "value", "nameLocation": "1577:5:23", "nodeType": "VariableDeclaration", - "scope": 2936, + "scope": 2937, "src": "1569:13:23", "stateVariable": false, "storageLocation": "default", @@ -35428,7 +35417,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2934, + "id": 2935, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1569:7:23", @@ -35443,22 +35432,22 @@ "name": "Bytes32Slot", "nameLocation": "1547:11:23", "nodeType": "StructDefinition", - "scope": 3048, + "scope": 3049, "src": "1540:49:23", "visibility": "public" }, { "canonicalName": "StorageSlot.Uint256Slot", - "id": 2939, + "id": 2940, "members": [ { "constant": false, - "id": 2938, + "id": 2939, "mutability": "mutable", "name": "value", "nameLocation": "1632:5:23", "nodeType": "VariableDeclaration", - "scope": 2939, + "scope": 2940, "src": "1624:13:23", "stateVariable": false, "storageLocation": "default", @@ -35467,7 +35456,7 @@ "typeString": "uint256" }, "typeName": { - "id": 2937, + "id": 2938, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1624:7:23", @@ -35482,22 +35471,22 @@ "name": "Uint256Slot", "nameLocation": "1602:11:23", "nodeType": "StructDefinition", - "scope": 3048, + "scope": 3049, "src": "1595:49:23", "visibility": "public" }, { "canonicalName": "StorageSlot.Int256Slot", - "id": 2942, + "id": 2943, "members": [ { "constant": false, - "id": 2941, + "id": 2942, "mutability": "mutable", "name": "value", "nameLocation": "1685:5:23", "nodeType": "VariableDeclaration", - "scope": 2942, + "scope": 2943, "src": "1678:12:23", "stateVariable": false, "storageLocation": "default", @@ -35506,7 +35495,7 @@ "typeString": "int256" }, "typeName": { - "id": 2940, + "id": 2941, "name": "int256", "nodeType": "ElementaryTypeName", "src": "1678:6:23", @@ -35521,22 +35510,22 @@ "name": "Int256Slot", "nameLocation": "1657:10:23", "nodeType": "StructDefinition", - "scope": 3048, + "scope": 3049, "src": "1650:47:23", "visibility": "public" }, { "canonicalName": "StorageSlot.StringSlot", - "id": 2945, + "id": 2946, "members": [ { "constant": false, - "id": 2944, + "id": 2945, "mutability": "mutable", "name": "value", "nameLocation": "1738:5:23", "nodeType": "VariableDeclaration", - "scope": 2945, + "scope": 2946, "src": "1731:12:23", "stateVariable": false, "storageLocation": "default", @@ -35545,7 +35534,7 @@ "typeString": "string" }, "typeName": { - "id": 2943, + "id": 2944, "name": "string", "nodeType": "ElementaryTypeName", "src": "1731:6:23", @@ -35560,22 +35549,22 @@ "name": "StringSlot", "nameLocation": "1710:10:23", "nodeType": "StructDefinition", - "scope": 3048, + "scope": 3049, "src": "1703:47:23", "visibility": "public" }, { "canonicalName": "StorageSlot.BytesSlot", - "id": 2948, + "id": 2949, "members": [ { "constant": false, - "id": 2947, + "id": 2948, "mutability": "mutable", "name": "value", "nameLocation": "1789:5:23", "nodeType": "VariableDeclaration", - "scope": 2948, + "scope": 2949, "src": "1783:11:23", "stateVariable": false, "storageLocation": "default", @@ -35584,7 +35573,7 @@ "typeString": "bytes" }, "typeName": { - "id": 2946, + "id": 2947, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "1783:5:23", @@ -35599,13 +35588,13 @@ "name": "BytesSlot", "nameLocation": "1763:9:23", "nodeType": "StructDefinition", - "scope": 3048, + "scope": 3049, "src": "1756:45:23", "visibility": "public" }, { "body": { - "id": 2958, + "id": 2959, "nodeType": "Block", "src": "1983:79:23", "statements": [ @@ -35639,7 +35628,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2955, + "declaration": 2956, "isOffset": false, "isSlot": true, "src": "2032:6:23", @@ -35647,7 +35636,7 @@ "valueSize": 1 }, { - "declaration": 2951, + "declaration": 2952, "isOffset": false, "isSlot": false, "src": "2042:4:23", @@ -35657,19 +35646,19 @@ "flags": [ "memory-safe" ], - "id": 2957, + "id": 2958, "nodeType": "InlineAssembly", "src": "1993:63:23" } ] }, "documentation": { - "id": 2949, + "id": 2950, "nodeType": "StructuredDocumentation", "src": "1807:87:23", "text": " @dev Returns an `AddressSlot` with member `value` located at `slot`." }, - "id": 2959, + "id": 2960, "implemented": true, "kind": "function", "modifiers": [], @@ -35677,17 +35666,17 @@ "nameLocation": "1908:14:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 2952, + "id": 2953, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2951, + "id": 2952, "mutability": "mutable", "name": "slot", "nameLocation": "1931:4:23", "nodeType": "VariableDeclaration", - "scope": 2959, + "scope": 2960, "src": "1923:12:23", "stateVariable": false, "storageLocation": "default", @@ -35696,7 +35685,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2950, + "id": 2951, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1923:7:23", @@ -35711,41 +35700,41 @@ "src": "1922:14:23" }, "returnParameters": { - "id": 2956, + "id": 2957, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2955, + "id": 2956, "mutability": "mutable", "name": "r", "nameLocation": "1980:1:23", "nodeType": "VariableDeclaration", - "scope": 2959, + "scope": 2960, "src": "1960:21:23", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSlot_$2930_storage_ptr", + "typeIdentifier": "t_struct$_AddressSlot_$2931_storage_ptr", "typeString": "struct StorageSlot.AddressSlot" }, "typeName": { - "id": 2954, + "id": 2955, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2953, + "id": 2954, "name": "AddressSlot", "nameLocations": [ "1960:11:23" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2930, + "referencedDeclaration": 2931, "src": "1960:11:23" }, - "referencedDeclaration": 2930, + "referencedDeclaration": 2931, "src": "1960:11:23", "typeDescriptions": { - "typeIdentifier": "t_struct$_AddressSlot_$2930_storage_ptr", + "typeIdentifier": "t_struct$_AddressSlot_$2931_storage_ptr", "typeString": "struct StorageSlot.AddressSlot" } }, @@ -35754,7 +35743,7 @@ ], "src": "1959:23:23" }, - "scope": 3048, + "scope": 3049, "src": "1899:163:23", "stateMutability": "pure", "virtual": false, @@ -35762,7 +35751,7 @@ }, { "body": { - "id": 2969, + "id": 2970, "nodeType": "Block", "src": "2243:79:23", "statements": [ @@ -35796,7 +35785,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2966, + "declaration": 2967, "isOffset": false, "isSlot": true, "src": "2292:6:23", @@ -35804,7 +35793,7 @@ "valueSize": 1 }, { - "declaration": 2962, + "declaration": 2963, "isOffset": false, "isSlot": false, "src": "2302:4:23", @@ -35814,19 +35803,19 @@ "flags": [ "memory-safe" ], - "id": 2968, + "id": 2969, "nodeType": "InlineAssembly", "src": "2253:63:23" } ] }, "documentation": { - "id": 2960, + "id": 2961, "nodeType": "StructuredDocumentation", "src": "2068:86:23", "text": " @dev Returns a `BooleanSlot` with member `value` located at `slot`." }, - "id": 2970, + "id": 2971, "implemented": true, "kind": "function", "modifiers": [], @@ -35834,17 +35823,17 @@ "nameLocation": "2168:14:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 2963, + "id": 2964, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2962, + "id": 2963, "mutability": "mutable", "name": "slot", "nameLocation": "2191:4:23", "nodeType": "VariableDeclaration", - "scope": 2970, + "scope": 2971, "src": "2183:12:23", "stateVariable": false, "storageLocation": "default", @@ -35853,7 +35842,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2961, + "id": 2962, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2183:7:23", @@ -35868,41 +35857,41 @@ "src": "2182:14:23" }, "returnParameters": { - "id": 2967, + "id": 2968, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2966, + "id": 2967, "mutability": "mutable", "name": "r", "nameLocation": "2240:1:23", "nodeType": "VariableDeclaration", - "scope": 2970, + "scope": 2971, "src": "2220:21:23", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BooleanSlot_$2933_storage_ptr", + "typeIdentifier": "t_struct$_BooleanSlot_$2934_storage_ptr", "typeString": "struct StorageSlot.BooleanSlot" }, "typeName": { - "id": 2965, + "id": 2966, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2964, + "id": 2965, "name": "BooleanSlot", "nameLocations": [ "2220:11:23" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2933, + "referencedDeclaration": 2934, "src": "2220:11:23" }, - "referencedDeclaration": 2933, + "referencedDeclaration": 2934, "src": "2220:11:23", "typeDescriptions": { - "typeIdentifier": "t_struct$_BooleanSlot_$2933_storage_ptr", + "typeIdentifier": "t_struct$_BooleanSlot_$2934_storage_ptr", "typeString": "struct StorageSlot.BooleanSlot" } }, @@ -35911,7 +35900,7 @@ ], "src": "2219:23:23" }, - "scope": 3048, + "scope": 3049, "src": "2159:163:23", "stateMutability": "pure", "virtual": false, @@ -35919,7 +35908,7 @@ }, { "body": { - "id": 2980, + "id": 2981, "nodeType": "Block", "src": "2503:79:23", "statements": [ @@ -35953,7 +35942,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2977, + "declaration": 2978, "isOffset": false, "isSlot": true, "src": "2552:6:23", @@ -35961,7 +35950,7 @@ "valueSize": 1 }, { - "declaration": 2973, + "declaration": 2974, "isOffset": false, "isSlot": false, "src": "2562:4:23", @@ -35971,19 +35960,19 @@ "flags": [ "memory-safe" ], - "id": 2979, + "id": 2980, "nodeType": "InlineAssembly", "src": "2513:63:23" } ] }, "documentation": { - "id": 2971, + "id": 2972, "nodeType": "StructuredDocumentation", "src": "2328:86:23", "text": " @dev Returns a `Bytes32Slot` with member `value` located at `slot`." }, - "id": 2981, + "id": 2982, "implemented": true, "kind": "function", "modifiers": [], @@ -35991,17 +35980,17 @@ "nameLocation": "2428:14:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 2974, + "id": 2975, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2973, + "id": 2974, "mutability": "mutable", "name": "slot", "nameLocation": "2451:4:23", "nodeType": "VariableDeclaration", - "scope": 2981, + "scope": 2982, "src": "2443:12:23", "stateVariable": false, "storageLocation": "default", @@ -36010,7 +35999,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2972, + "id": 2973, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2443:7:23", @@ -36025,41 +36014,41 @@ "src": "2442:14:23" }, "returnParameters": { - "id": 2978, + "id": 2979, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2977, + "id": 2978, "mutability": "mutable", "name": "r", "nameLocation": "2500:1:23", "nodeType": "VariableDeclaration", - "scope": 2981, + "scope": 2982, "src": "2480:21:23", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Slot_$2936_storage_ptr", + "typeIdentifier": "t_struct$_Bytes32Slot_$2937_storage_ptr", "typeString": "struct StorageSlot.Bytes32Slot" }, "typeName": { - "id": 2976, + "id": 2977, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2975, + "id": 2976, "name": "Bytes32Slot", "nameLocations": [ "2480:11:23" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2936, + "referencedDeclaration": 2937, "src": "2480:11:23" }, - "referencedDeclaration": 2936, + "referencedDeclaration": 2937, "src": "2480:11:23", "typeDescriptions": { - "typeIdentifier": "t_struct$_Bytes32Slot_$2936_storage_ptr", + "typeIdentifier": "t_struct$_Bytes32Slot_$2937_storage_ptr", "typeString": "struct StorageSlot.Bytes32Slot" } }, @@ -36068,7 +36057,7 @@ ], "src": "2479:23:23" }, - "scope": 3048, + "scope": 3049, "src": "2419:163:23", "stateMutability": "pure", "virtual": false, @@ -36076,7 +36065,7 @@ }, { "body": { - "id": 2991, + "id": 2992, "nodeType": "Block", "src": "2763:79:23", "statements": [ @@ -36110,7 +36099,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2988, + "declaration": 2989, "isOffset": false, "isSlot": true, "src": "2812:6:23", @@ -36118,7 +36107,7 @@ "valueSize": 1 }, { - "declaration": 2984, + "declaration": 2985, "isOffset": false, "isSlot": false, "src": "2822:4:23", @@ -36128,19 +36117,19 @@ "flags": [ "memory-safe" ], - "id": 2990, + "id": 2991, "nodeType": "InlineAssembly", "src": "2773:63:23" } ] }, "documentation": { - "id": 2982, + "id": 2983, "nodeType": "StructuredDocumentation", "src": "2588:86:23", "text": " @dev Returns a `Uint256Slot` with member `value` located at `slot`." }, - "id": 2992, + "id": 2993, "implemented": true, "kind": "function", "modifiers": [], @@ -36148,17 +36137,17 @@ "nameLocation": "2688:14:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 2985, + "id": 2986, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2984, + "id": 2985, "mutability": "mutable", "name": "slot", "nameLocation": "2711:4:23", "nodeType": "VariableDeclaration", - "scope": 2992, + "scope": 2993, "src": "2703:12:23", "stateVariable": false, "storageLocation": "default", @@ -36167,7 +36156,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2983, + "id": 2984, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2703:7:23", @@ -36182,41 +36171,41 @@ "src": "2702:14:23" }, "returnParameters": { - "id": 2989, + "id": 2990, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2988, + "id": 2989, "mutability": "mutable", "name": "r", "nameLocation": "2760:1:23", "nodeType": "VariableDeclaration", - "scope": 2992, + "scope": 2993, "src": "2740:21:23", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Uint256Slot_$2939_storage_ptr", + "typeIdentifier": "t_struct$_Uint256Slot_$2940_storage_ptr", "typeString": "struct StorageSlot.Uint256Slot" }, "typeName": { - "id": 2987, + "id": 2988, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2986, + "id": 2987, "name": "Uint256Slot", "nameLocations": [ "2740:11:23" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2939, + "referencedDeclaration": 2940, "src": "2740:11:23" }, - "referencedDeclaration": 2939, + "referencedDeclaration": 2940, "src": "2740:11:23", "typeDescriptions": { - "typeIdentifier": "t_struct$_Uint256Slot_$2939_storage_ptr", + "typeIdentifier": "t_struct$_Uint256Slot_$2940_storage_ptr", "typeString": "struct StorageSlot.Uint256Slot" } }, @@ -36225,7 +36214,7 @@ ], "src": "2739:23:23" }, - "scope": 3048, + "scope": 3049, "src": "2679:163:23", "stateMutability": "pure", "virtual": false, @@ -36233,7 +36222,7 @@ }, { "body": { - "id": 3002, + "id": 3003, "nodeType": "Block", "src": "3020:79:23", "statements": [ @@ -36267,7 +36256,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 2999, + "declaration": 3000, "isOffset": false, "isSlot": true, "src": "3069:6:23", @@ -36275,7 +36264,7 @@ "valueSize": 1 }, { - "declaration": 2995, + "declaration": 2996, "isOffset": false, "isSlot": false, "src": "3079:4:23", @@ -36285,19 +36274,19 @@ "flags": [ "memory-safe" ], - "id": 3001, + "id": 3002, "nodeType": "InlineAssembly", "src": "3030:63:23" } ] }, "documentation": { - "id": 2993, + "id": 2994, "nodeType": "StructuredDocumentation", "src": "2848:85:23", "text": " @dev Returns a `Int256Slot` with member `value` located at `slot`." }, - "id": 3003, + "id": 3004, "implemented": true, "kind": "function", "modifiers": [], @@ -36305,17 +36294,17 @@ "nameLocation": "2947:13:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 2996, + "id": 2997, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2995, + "id": 2996, "mutability": "mutable", "name": "slot", "nameLocation": "2969:4:23", "nodeType": "VariableDeclaration", - "scope": 3003, + "scope": 3004, "src": "2961:12:23", "stateVariable": false, "storageLocation": "default", @@ -36324,7 +36313,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 2994, + "id": 2995, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "2961:7:23", @@ -36339,41 +36328,41 @@ "src": "2960:14:23" }, "returnParameters": { - "id": 3000, + "id": 3001, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 2999, + "id": 3000, "mutability": "mutable", "name": "r", "nameLocation": "3017:1:23", "nodeType": "VariableDeclaration", - "scope": 3003, + "scope": 3004, "src": "2998:20:23", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_Int256Slot_$2942_storage_ptr", + "typeIdentifier": "t_struct$_Int256Slot_$2943_storage_ptr", "typeString": "struct StorageSlot.Int256Slot" }, "typeName": { - "id": 2998, + "id": 2999, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 2997, + "id": 2998, "name": "Int256Slot", "nameLocations": [ "2998:10:23" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2942, + "referencedDeclaration": 2943, "src": "2998:10:23" }, - "referencedDeclaration": 2942, + "referencedDeclaration": 2943, "src": "2998:10:23", "typeDescriptions": { - "typeIdentifier": "t_struct$_Int256Slot_$2942_storage_ptr", + "typeIdentifier": "t_struct$_Int256Slot_$2943_storage_ptr", "typeString": "struct StorageSlot.Int256Slot" } }, @@ -36382,7 +36371,7 @@ ], "src": "2997:22:23" }, - "scope": 3048, + "scope": 3049, "src": "2938:161:23", "stateMutability": "pure", "virtual": false, @@ -36390,7 +36379,7 @@ }, { "body": { - "id": 3013, + "id": 3014, "nodeType": "Block", "src": "3277:79:23", "statements": [ @@ -36424,7 +36413,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3010, + "declaration": 3011, "isOffset": false, "isSlot": true, "src": "3326:6:23", @@ -36432,7 +36421,7 @@ "valueSize": 1 }, { - "declaration": 3006, + "declaration": 3007, "isOffset": false, "isSlot": false, "src": "3336:4:23", @@ -36442,19 +36431,19 @@ "flags": [ "memory-safe" ], - "id": 3012, + "id": 3013, "nodeType": "InlineAssembly", "src": "3287:63:23" } ] }, "documentation": { - "id": 3004, + "id": 3005, "nodeType": "StructuredDocumentation", "src": "3105:85:23", "text": " @dev Returns a `StringSlot` with member `value` located at `slot`." }, - "id": 3014, + "id": 3015, "implemented": true, "kind": "function", "modifiers": [], @@ -36462,17 +36451,17 @@ "nameLocation": "3204:13:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3007, + "id": 3008, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3006, + "id": 3007, "mutability": "mutable", "name": "slot", "nameLocation": "3226:4:23", "nodeType": "VariableDeclaration", - "scope": 3014, + "scope": 3015, "src": "3218:12:23", "stateVariable": false, "storageLocation": "default", @@ -36481,7 +36470,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3005, + "id": 3006, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3218:7:23", @@ -36496,41 +36485,41 @@ "src": "3217:14:23" }, "returnParameters": { - "id": 3011, + "id": 3012, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3010, + "id": 3011, "mutability": "mutable", "name": "r", "nameLocation": "3274:1:23", "nodeType": "VariableDeclaration", - "scope": 3014, + "scope": 3015, "src": "3255:20:23", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringSlot_$2945_storage_ptr", + "typeIdentifier": "t_struct$_StringSlot_$2946_storage_ptr", "typeString": "struct StorageSlot.StringSlot" }, "typeName": { - "id": 3009, + "id": 3010, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3008, + "id": 3009, "name": "StringSlot", "nameLocations": [ "3255:10:23" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2945, + "referencedDeclaration": 2946, "src": "3255:10:23" }, - "referencedDeclaration": 2945, + "referencedDeclaration": 2946, "src": "3255:10:23", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringSlot_$2945_storage_ptr", + "typeIdentifier": "t_struct$_StringSlot_$2946_storage_ptr", "typeString": "struct StorageSlot.StringSlot" } }, @@ -36539,7 +36528,7 @@ ], "src": "3254:22:23" }, - "scope": 3048, + "scope": 3049, "src": "3195:161:23", "stateMutability": "pure", "virtual": false, @@ -36547,7 +36536,7 @@ }, { "body": { - "id": 3024, + "id": 3025, "nodeType": "Block", "src": "3558:85:23", "statements": [ @@ -36581,7 +36570,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3021, + "declaration": 3022, "isOffset": false, "isSlot": true, "src": "3607:6:23", @@ -36589,7 +36578,7 @@ "valueSize": 1 }, { - "declaration": 3017, + "declaration": 3018, "isOffset": false, "isSlot": true, "src": "3617:10:23", @@ -36600,19 +36589,19 @@ "flags": [ "memory-safe" ], - "id": 3023, + "id": 3024, "nodeType": "InlineAssembly", "src": "3568:69:23" } ] }, "documentation": { - "id": 3015, + "id": 3016, "nodeType": "StructuredDocumentation", "src": "3362:101:23", "text": " @dev Returns an `StringSlot` representation of the string storage pointer `store`." }, - "id": 3025, + "id": 3026, "implemented": true, "kind": "function", "modifiers": [], @@ -36620,17 +36609,17 @@ "nameLocation": "3477:13:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3018, + "id": 3019, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3017, + "id": 3018, "mutability": "mutable", "name": "store", "nameLocation": "3506:5:23", "nodeType": "VariableDeclaration", - "scope": 3025, + "scope": 3026, "src": "3491:20:23", "stateVariable": false, "storageLocation": "storage", @@ -36639,7 +36628,7 @@ "typeString": "string" }, "typeName": { - "id": 3016, + "id": 3017, "name": "string", "nodeType": "ElementaryTypeName", "src": "3491:6:23", @@ -36654,41 +36643,41 @@ "src": "3490:22:23" }, "returnParameters": { - "id": 3022, + "id": 3023, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3021, + "id": 3022, "mutability": "mutable", "name": "r", "nameLocation": "3555:1:23", "nodeType": "VariableDeclaration", - "scope": 3025, + "scope": 3026, "src": "3536:20:23", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringSlot_$2945_storage_ptr", + "typeIdentifier": "t_struct$_StringSlot_$2946_storage_ptr", "typeString": "struct StorageSlot.StringSlot" }, "typeName": { - "id": 3020, + "id": 3021, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3019, + "id": 3020, "name": "StringSlot", "nameLocations": [ "3536:10:23" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2945, + "referencedDeclaration": 2946, "src": "3536:10:23" }, - "referencedDeclaration": 2945, + "referencedDeclaration": 2946, "src": "3536:10:23", "typeDescriptions": { - "typeIdentifier": "t_struct$_StringSlot_$2945_storage_ptr", + "typeIdentifier": "t_struct$_StringSlot_$2946_storage_ptr", "typeString": "struct StorageSlot.StringSlot" } }, @@ -36697,7 +36686,7 @@ ], "src": "3535:22:23" }, - "scope": 3048, + "scope": 3049, "src": "3468:175:23", "stateMutability": "pure", "virtual": false, @@ -36705,7 +36694,7 @@ }, { "body": { - "id": 3035, + "id": 3036, "nodeType": "Block", "src": "3818:79:23", "statements": [ @@ -36739,7 +36728,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3032, + "declaration": 3033, "isOffset": false, "isSlot": true, "src": "3867:6:23", @@ -36747,7 +36736,7 @@ "valueSize": 1 }, { - "declaration": 3028, + "declaration": 3029, "isOffset": false, "isSlot": false, "src": "3877:4:23", @@ -36757,19 +36746,19 @@ "flags": [ "memory-safe" ], - "id": 3034, + "id": 3035, "nodeType": "InlineAssembly", "src": "3828:63:23" } ] }, "documentation": { - "id": 3026, + "id": 3027, "nodeType": "StructuredDocumentation", "src": "3649:84:23", "text": " @dev Returns a `BytesSlot` with member `value` located at `slot`." }, - "id": 3036, + "id": 3037, "implemented": true, "kind": "function", "modifiers": [], @@ -36777,17 +36766,17 @@ "nameLocation": "3747:12:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3029, + "id": 3030, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3028, + "id": 3029, "mutability": "mutable", "name": "slot", "nameLocation": "3768:4:23", "nodeType": "VariableDeclaration", - "scope": 3036, + "scope": 3037, "src": "3760:12:23", "stateVariable": false, "storageLocation": "default", @@ -36796,7 +36785,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 3027, + "id": 3028, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "3760:7:23", @@ -36811,41 +36800,41 @@ "src": "3759:14:23" }, "returnParameters": { - "id": 3033, + "id": 3034, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3032, + "id": 3033, "mutability": "mutable", "name": "r", "nameLocation": "3815:1:23", "nodeType": "VariableDeclaration", - "scope": 3036, + "scope": 3037, "src": "3797:19:23", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesSlot_$2948_storage_ptr", + "typeIdentifier": "t_struct$_BytesSlot_$2949_storage_ptr", "typeString": "struct StorageSlot.BytesSlot" }, "typeName": { - "id": 3031, + "id": 3032, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3030, + "id": 3031, "name": "BytesSlot", "nameLocations": [ "3797:9:23" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2948, + "referencedDeclaration": 2949, "src": "3797:9:23" }, - "referencedDeclaration": 2948, + "referencedDeclaration": 2949, "src": "3797:9:23", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesSlot_$2948_storage_ptr", + "typeIdentifier": "t_struct$_BytesSlot_$2949_storage_ptr", "typeString": "struct StorageSlot.BytesSlot" } }, @@ -36854,7 +36843,7 @@ ], "src": "3796:21:23" }, - "scope": 3048, + "scope": 3049, "src": "3738:159:23", "stateMutability": "pure", "virtual": false, @@ -36862,7 +36851,7 @@ }, { "body": { - "id": 3046, + "id": 3047, "nodeType": "Block", "src": "4094:85:23", "statements": [ @@ -36896,7 +36885,7 @@ "evmVersion": "paris", "externalReferences": [ { - "declaration": 3043, + "declaration": 3044, "isOffset": false, "isSlot": true, "src": "4143:6:23", @@ -36904,7 +36893,7 @@ "valueSize": 1 }, { - "declaration": 3039, + "declaration": 3040, "isOffset": false, "isSlot": true, "src": "4153:10:23", @@ -36915,19 +36904,19 @@ "flags": [ "memory-safe" ], - "id": 3045, + "id": 3046, "nodeType": "InlineAssembly", "src": "4104:69:23" } ] }, "documentation": { - "id": 3037, + "id": 3038, "nodeType": "StructuredDocumentation", "src": "3903:99:23", "text": " @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`." }, - "id": 3047, + "id": 3048, "implemented": true, "kind": "function", "modifiers": [], @@ -36935,17 +36924,17 @@ "nameLocation": "4016:12:23", "nodeType": "FunctionDefinition", "parameters": { - "id": 3040, + "id": 3041, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3039, + "id": 3040, "mutability": "mutable", "name": "store", "nameLocation": "4043:5:23", "nodeType": "VariableDeclaration", - "scope": 3047, + "scope": 3048, "src": "4029:19:23", "stateVariable": false, "storageLocation": "storage", @@ -36954,7 +36943,7 @@ "typeString": "bytes" }, "typeName": { - "id": 3038, + "id": 3039, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "4029:5:23", @@ -36969,41 +36958,41 @@ "src": "4028:21:23" }, "returnParameters": { - "id": 3044, + "id": 3045, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3043, + "id": 3044, "mutability": "mutable", "name": "r", "nameLocation": "4091:1:23", "nodeType": "VariableDeclaration", - "scope": 3047, + "scope": 3048, "src": "4073:19:23", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesSlot_$2948_storage_ptr", + "typeIdentifier": "t_struct$_BytesSlot_$2949_storage_ptr", "typeString": "struct StorageSlot.BytesSlot" }, "typeName": { - "id": 3042, + "id": 3043, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3041, + "id": 3042, "name": "BytesSlot", "nameLocations": [ "4073:9:23" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2948, + "referencedDeclaration": 2949, "src": "4073:9:23" }, - "referencedDeclaration": 2948, + "referencedDeclaration": 2949, "src": "4073:9:23", "typeDescriptions": { - "typeIdentifier": "t_struct$_BytesSlot_$2948_storage_ptr", + "typeIdentifier": "t_struct$_BytesSlot_$2949_storage_ptr", "typeString": "struct StorageSlot.BytesSlot" } }, @@ -37012,14 +37001,14 @@ ], "src": "4072:21:23" }, - "scope": 3048, + "scope": 3049, "src": "4007:172:23", "stateMutability": "pure", "virtual": false, "visibility": "internal" } ], - "scope": 3049, + "scope": 3050, "src": "1407:2774:23", "usedErrors": [], "usedEvents": [] @@ -37034,18 +37023,18 @@ "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", "exportedSymbols": { "ERC165": [ - 3072 + 3073 ], "IERC165": [ - 3084 + 3085 ] }, - "id": 3073, + "id": 3074, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 3050, + "id": 3051, "literals": [ "solidity", "^", @@ -37058,20 +37047,20 @@ { "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", "file": "./IERC165.sol", - "id": 3052, + "id": 3053, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 3073, - "sourceUnit": 3085, + "scope": 3074, + "sourceUnit": 3086, "src": "140:38:24", "symbolAliases": [ { "foreign": { - "id": 3051, + "id": 3052, "name": "IERC165", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3084, + "referencedDeclaration": 3085, "src": "148:7:24", "typeDescriptions": {} }, @@ -37085,16 +37074,16 @@ "baseContracts": [ { "baseName": { - "id": 3054, + "id": 3055, "name": "IERC165", "nameLocations": [ "688:7:24" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3084, + "referencedDeclaration": 3085, "src": "688:7:24" }, - "id": 3055, + "id": 3056, "nodeType": "InheritanceSpecifier", "src": "688:7:24" } @@ -37103,16 +37092,16 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 3053, + "id": 3054, "nodeType": "StructuredDocumentation", "src": "180:479:24", "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": 3072, + "id": 3073, "linearizedBaseContracts": [ - 3072, - 3084 + 3073, + 3085 ], "name": "ERC165", "nameLocation": "678:6:24", @@ -37120,12 +37109,12 @@ "nodes": [ { "baseFunctions": [ - 3083 + 3084 ], "body": { - "id": 3070, + "id": 3071, "nodeType": "Block", - "src": "845:64:24", + "src": "812:64:24", "statements": [ { "expression": { @@ -37133,18 +37122,18 @@ "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, - "id": 3068, + "id": 3069, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 3063, + "id": 3064, "name": "interfaceId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3058, - "src": "862:11:24", + "referencedDeclaration": 3059, + "src": "829:11:24", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -37156,14 +37145,14 @@ "expression": { "arguments": [ { - "id": 3065, + "id": 3066, "name": "IERC165", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3084, - "src": "882:7:24", + "referencedDeclaration": 3085, + "src": "849:7:24", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IERC165_$3084_$", + "typeIdentifier": "t_type$_t_contract$_IERC165_$3085_$", "typeString": "type(contract IERC165)" } } @@ -37171,22 +37160,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_type$_t_contract$_IERC165_$3084_$", + "typeIdentifier": "t_type$_t_contract$_IERC165_$3085_$", "typeString": "type(contract IERC165)" } ], - "id": 3064, + "id": 3065, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -27, - "src": "877:4:24", + "src": "844:4:24", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 3066, + "id": 3067, "isConstant": false, "isLValue": false, "isPure": true, @@ -37195,67 +37184,67 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "877:13:24", + "src": "844:13:24", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$3084", + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$3085", "typeString": "type(contract IERC165)" } }, - "id": 3067, + "id": 3068, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "891:11:24", + "memberLocation": "858:11:24", "memberName": "interfaceId", "nodeType": "MemberAccess", - "src": "877:25:24", + "src": "844:25:24", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, - "src": "862:40:24", + "src": "829:40:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "functionReturnParameters": 3062, - "id": 3069, + "functionReturnParameters": 3063, + "id": 3070, "nodeType": "Return", - "src": "855:47:24" + "src": "822:47:24" } ] }, "documentation": { - "id": 3056, + "id": 3057, "nodeType": "StructuredDocumentation", - "src": "702:56:24", - "text": " @dev See {IERC165-supportsInterface}." + "src": "702:23:24", + "text": "@inheritdoc IERC165" }, "functionSelector": "01ffc9a7", - "id": 3071, + "id": 3072, "implemented": true, "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "772:17:24", + "nameLocation": "739:17:24", "nodeType": "FunctionDefinition", "parameters": { - "id": 3059, + "id": 3060, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3058, + "id": 3059, "mutability": "mutable", "name": "interfaceId", - "nameLocation": "797:11:24", + "nameLocation": "764:11:24", "nodeType": "VariableDeclaration", - "scope": 3071, - "src": "790:18:24", + "scope": 3072, + "src": "757:18:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -37263,10 +37252,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 3057, + "id": 3058, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "790:6:24", + "src": "757:6:24", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -37275,21 +37264,21 @@ "visibility": "internal" } ], - "src": "789:20:24" + "src": "756:20:24" }, "returnParameters": { - "id": 3062, + "id": 3063, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3061, + "id": 3062, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 3071, - "src": "839:4:24", + "scope": 3072, + "src": "806:4:24", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -37297,10 +37286,10 @@ "typeString": "bool" }, "typeName": { - "id": 3060, + "id": 3061, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "839:4:24", + "src": "806:4:24", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -37309,22 +37298,22 @@ "visibility": "internal" } ], - "src": "838:6:24" + "src": "805:6:24" }, - "scope": 3072, - "src": "763:146:24", + "scope": 3073, + "src": "730:146:24", "stateMutability": "view", "virtual": true, "visibility": "public" } ], - "scope": 3073, - "src": "660:251:24", + "scope": 3074, + "src": "660:218:24", "usedErrors": [], "usedEvents": [] } ], - "src": "114:798:24" + "src": "114:765:24" }, "id": 24 }, @@ -37333,23 +37322,23 @@ "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", "exportedSymbols": { "IERC165": [ - 3084 + 3085 ] }, - "id": 3085, + "id": 3086, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 3074, + "id": 3075, "literals": [ "solidity", - "^", - "0.8", - ".20" + ">=", + "0.4", + ".16" ], "nodeType": "PragmaDirective", - "src": "115:24:25" + "src": "115:25:25" }, { "abstract": false, @@ -37358,48 +37347,48 @@ "contractDependencies": [], "contractKind": "interface", "documentation": { - "id": 3075, + "id": 3076, "nodeType": "StructuredDocumentation", - "src": "141:280:25", + "src": "142:280:25", "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": 3084, + "id": 3085, "linearizedBaseContracts": [ - 3084 + 3085 ], "name": "IERC165", - "nameLocation": "432:7:25", + "nameLocation": "433:7:25", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { - "id": 3076, + "id": 3077, "nodeType": "StructuredDocumentation", - "src": "446:340:25", + "src": "447:340:25", "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": 3083, + "id": 3084, "implemented": false, "kind": "function", "modifiers": [], "name": "supportsInterface", - "nameLocation": "800:17:25", + "nameLocation": "801:17:25", "nodeType": "FunctionDefinition", "parameters": { - "id": 3079, + "id": 3080, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3078, + "id": 3079, "mutability": "mutable", "name": "interfaceId", - "nameLocation": "825:11:25", + "nameLocation": "826:11:25", "nodeType": "VariableDeclaration", - "scope": 3083, - "src": "818:18:25", + "scope": 3084, + "src": "819:18:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -37407,10 +37396,10 @@ "typeString": "bytes4" }, "typeName": { - "id": 3077, + "id": 3078, "name": "bytes4", "nodeType": "ElementaryTypeName", - "src": "818:6:25", + "src": "819:6:25", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" @@ -37419,21 +37408,21 @@ "visibility": "internal" } ], - "src": "817:20:25" + "src": "818:20:25" }, "returnParameters": { - "id": 3082, + "id": 3083, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3081, + "id": 3082, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 3083, - "src": "861:4:25", + "scope": 3084, + "src": "862:4:25", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -37441,10 +37430,10 @@ "typeString": "bool" }, "typeName": { - "id": 3080, + "id": 3081, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "861:4:25", + "src": "862:4:25", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -37453,22 +37442,22 @@ "visibility": "internal" } ], - "src": "860:6:25" + "src": "861:6:25" }, - "scope": 3084, - "src": "791:76:25", + "scope": 3085, + "src": "792:76:25", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 3085, - "src": "422:447:25", + "scope": 3086, + "src": "423:447:25", "usedErrors": [], "usedEvents": [] } ], - "src": "115:755:25" + "src": "115:756:25" }, "id": 25 }, @@ -37477,25 +37466,25 @@ "absolutePath": "contracts/AgentsRegistryUpgradeable.sol", "exportedSymbols": { "AgentsRegistryUpgradeable": [ - 4016 + 4017 ], "ContextUpgradeable": [ 690 ], "ERC1967Utils": [ - 1717 + 1718 ], "IAgentRegistryV1": [ - 5327 + 5297 ], "IERC1822Proxiable": [ - 1248 + 1249 ], "IProposalStruct": [ - 5343 + 5313 ], "IServiceRegistryV1": [ - 3110 + 3111 ], "Initializable": [ 462 @@ -37504,18 +37493,18 @@ 194 ], "ServiceRegistryUpgradeable": [ - 4615 + 4616 ], "UUPSUpgradeable": [ 644 ] }, - "id": 4017, + "id": 4018, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 3086, + "id": 3087, "literals": [ "solidity", "^", @@ -37528,11 +37517,11 @@ { "absolutePath": "contracts/ServiceRegistryUpgradeable.sol", "file": "./ServiceRegistryUpgradeable.sol", - "id": 3087, + "id": 3088, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4017, - "sourceUnit": 4616, + "scope": 4018, + "sourceUnit": 4617, "src": "58:42:26", "symbolAliases": [], "unitAlias": "" @@ -37540,10 +37529,10 @@ { "absolutePath": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", "file": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", - "id": 3088, + "id": 3089, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4017, + "scope": 4018, "sourceUnit": 195, "src": "101:75:26", "symbolAliases": [], @@ -37552,10 +37541,10 @@ { "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", "file": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", - "id": 3089, + "id": 3090, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4017, + "scope": 4018, "sourceUnit": 463, "src": "177:75:26", "symbolAliases": [], @@ -37564,10 +37553,10 @@ { "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", "file": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", - "id": 3090, + "id": 3091, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4017, + "scope": 4018, "sourceUnit": 645, "src": "253:77:26", "symbolAliases": [], @@ -37576,11 +37565,11 @@ { "absolutePath": "contracts/interfaces/IProposalStruct.sol", "file": "./interfaces/IProposalStruct.sol", - "id": 3091, + "id": 3092, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4017, - "sourceUnit": 5344, + "scope": 4018, + "sourceUnit": 5314, "src": "331:42:26", "symbolAliases": [], "unitAlias": "" @@ -37588,11 +37577,11 @@ { "absolutePath": "contracts/interfaces/IAgentRegistryV1.sol", "file": "./interfaces/IAgentRegistryV1.sol", - "id": 3092, + "id": 3093, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4017, - "sourceUnit": 5328, + "scope": 4018, + "sourceUnit": 5298, "src": "374:43:26", "symbolAliases": [], "unitAlias": "" @@ -37604,9 +37593,9 @@ "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, - "id": 3110, + "id": 3111, "linearizedBaseContracts": [ - 3110 + 3111 ], "name": "IServiceRegistryV1", "nameLocation": "479:18:26", @@ -37614,16 +37603,16 @@ "nodes": [ { "canonicalName": "IServiceRegistryV1.Service", - "id": 3101, + "id": 3102, "members": [ { "constant": false, - "id": 3094, + "id": 3095, "mutability": "mutable", "name": "name", "nameLocation": "536:4:26", "nodeType": "VariableDeclaration", - "scope": 3101, + "scope": 3102, "src": "529:11:26", "stateVariable": false, "storageLocation": "default", @@ -37632,7 +37621,7 @@ "typeString": "string" }, "typeName": { - "id": 3093, + "id": 3094, "name": "string", "nodeType": "ElementaryTypeName", "src": "529:6:26", @@ -37645,12 +37634,12 @@ }, { "constant": false, - "id": 3096, + "id": 3097, "mutability": "mutable", "name": "category", "nameLocation": "557:8:26", "nodeType": "VariableDeclaration", - "scope": 3101, + "scope": 3102, "src": "550:15:26", "stateVariable": false, "storageLocation": "default", @@ -37659,7 +37648,7 @@ "typeString": "string" }, "typeName": { - "id": 3095, + "id": 3096, "name": "string", "nodeType": "ElementaryTypeName", "src": "550:6:26", @@ -37672,12 +37661,12 @@ }, { "constant": false, - "id": 3098, + "id": 3099, "mutability": "mutable", "name": "description", "nameLocation": "582:11:26", "nodeType": "VariableDeclaration", - "scope": 3101, + "scope": 3102, "src": "575:18:26", "stateVariable": false, "storageLocation": "default", @@ -37686,7 +37675,7 @@ "typeString": "string" }, "typeName": { - "id": 3097, + "id": 3098, "name": "string", "nodeType": "ElementaryTypeName", "src": "575:6:26", @@ -37699,12 +37688,12 @@ }, { "constant": false, - "id": 3100, + "id": 3101, "mutability": "mutable", "name": "isActive", "nameLocation": "608:8:26", "nodeType": "VariableDeclaration", - "scope": 3101, + "scope": 3102, "src": "603:13:26", "stateVariable": false, "storageLocation": "default", @@ -37713,7 +37702,7 @@ "typeString": "bool" }, "typeName": { - "id": 3099, + "id": 3100, "name": "bool", "nodeType": "ElementaryTypeName", "src": "603:4:26", @@ -37728,13 +37717,13 @@ "name": "Service", "nameLocation": "511:7:26", "nodeType": "StructDefinition", - "scope": 3110, + "scope": 3111, "src": "504:119:26", "visibility": "public" }, { "functionSelector": "794758be", - "id": 3109, + "id": 3110, "implemented": false, "kind": "function", "modifiers": [], @@ -37742,17 +37731,17 @@ "nameLocation": "642:10:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3104, + "id": 3105, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3103, + "id": 3104, "mutability": "mutable", "name": "serviceName", "nameLocation": "667:11:26", "nodeType": "VariableDeclaration", - "scope": 3109, + "scope": 3110, "src": "653:25:26", "stateVariable": false, "storageLocation": "memory", @@ -37761,7 +37750,7 @@ "typeString": "string" }, "typeName": { - "id": 3102, + "id": 3103, "name": "string", "nodeType": "ElementaryTypeName", "src": "653:6:26", @@ -37776,41 +37765,41 @@ "src": "652:27:26" }, "returnParameters": { - "id": 3108, + "id": 3109, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3107, + "id": 3108, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 3109, + "scope": 3110, "src": "703:14:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$3101_memory_ptr", + "typeIdentifier": "t_struct$_Service_$3102_memory_ptr", "typeString": "struct IServiceRegistryV1.Service" }, "typeName": { - "id": 3106, + "id": 3107, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3105, + "id": 3106, "name": "Service", "nameLocations": [ "703:7:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3101, + "referencedDeclaration": 3102, "src": "703:7:26" }, - "referencedDeclaration": 3101, + "referencedDeclaration": 3102, "src": "703:7:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$3101_storage_ptr", + "typeIdentifier": "t_struct$_Service_$3102_storage_ptr", "typeString": "struct IServiceRegistryV1.Service" } }, @@ -37819,14 +37808,14 @@ ], "src": "702:16:26" }, - "scope": 3110, + "scope": 3111, "src": "633:86:26", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 4017, + "scope": 4018, "src": "469:252:26", "usedErrors": [], "usedEvents": [] @@ -37836,7 +37825,7 @@ "baseContracts": [ { "baseName": { - "id": 3112, + "id": 3113, "name": "Initializable", "nameLocations": [ "999:13:26" @@ -37845,13 +37834,13 @@ "referencedDeclaration": 462, "src": "999:13:26" }, - "id": 3113, + "id": 3114, "nodeType": "InheritanceSpecifier", "src": "999:13:26" }, { "baseName": { - "id": 3114, + "id": 3115, "name": "OwnableUpgradeable", "nameLocations": [ "1014:18:26" @@ -37860,13 +37849,13 @@ "referencedDeclaration": 194, "src": "1014:18:26" }, - "id": 3115, + "id": 3116, "nodeType": "InheritanceSpecifier", "src": "1014:18:26" }, { "baseName": { - "id": 3116, + "id": 3117, "name": "UUPSUpgradeable", "nameLocations": [ "1034:15:26" @@ -37875,22 +37864,22 @@ "referencedDeclaration": 644, "src": "1034:15:26" }, - "id": 3117, + "id": 3118, "nodeType": "InheritanceSpecifier", "src": "1034:15:26" }, { "baseName": { - "id": 3118, + "id": 3119, "name": "IProposalStruct", "nameLocations": [ "1051:15:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5343, + "referencedDeclaration": 5313, "src": "1051:15:26" }, - "id": 3119, + "id": 3120, "nodeType": "InheritanceSpecifier", "src": "1051:15:26" } @@ -37899,18 +37888,18 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 3111, + "id": 3112, "nodeType": "StructuredDocumentation", "src": "723:237:26", "text": " @title AgentsRegistryUpgradeable\n @author leonprou\n @notice A smart contract that stores information about the agents, and the services proposals provided by the agents.\n @dev Upgradeable version using UUPS proxy pattern" }, "fullyImplemented": true, - "id": 4016, + "id": 4017, "linearizedBaseContracts": [ - 4016, - 5343, + 4017, + 5313, 644, - 1248, + 1249, 194, 690, 462 @@ -37921,16 +37910,16 @@ "nodes": [ { "canonicalName": "AgentsRegistryUpgradeable.AgentData", - "id": 3132, + "id": 3133, "members": [ { "constant": false, - "id": 3121, + "id": 3122, "mutability": "mutable", "name": "name", "nameLocation": "1107:4:26", "nodeType": "VariableDeclaration", - "scope": 3132, + "scope": 3133, "src": "1100:11:26", "stateVariable": false, "storageLocation": "default", @@ -37939,7 +37928,7 @@ "typeString": "string" }, "typeName": { - "id": 3120, + "id": 3121, "name": "string", "nodeType": "ElementaryTypeName", "src": "1100:6:26", @@ -37952,12 +37941,12 @@ }, { "constant": false, - "id": 3123, + "id": 3124, "mutability": "mutable", "name": "agentUri", "nameLocation": "1128:8:26", "nodeType": "VariableDeclaration", - "scope": 3132, + "scope": 3133, "src": "1121:15:26", "stateVariable": false, "storageLocation": "default", @@ -37966,7 +37955,7 @@ "typeString": "string" }, "typeName": { - "id": 3122, + "id": 3123, "name": "string", "nodeType": "ElementaryTypeName", "src": "1121:6:26", @@ -37979,12 +37968,12 @@ }, { "constant": false, - "id": 3125, + "id": 3126, "mutability": "mutable", "name": "owner", "nameLocation": "1154:5:26", "nodeType": "VariableDeclaration", - "scope": 3132, + "scope": 3133, "src": "1146:13:26", "stateVariable": false, "storageLocation": "default", @@ -37993,7 +37982,7 @@ "typeString": "address" }, "typeName": { - "id": 3124, + "id": 3125, "name": "address", "nodeType": "ElementaryTypeName", "src": "1146:7:26", @@ -38007,12 +37996,12 @@ }, { "constant": false, - "id": 3127, + "id": 3128, "mutability": "mutable", "name": "agent", "nameLocation": "1177:5:26", "nodeType": "VariableDeclaration", - "scope": 3132, + "scope": 3133, "src": "1169:13:26", "stateVariable": false, "storageLocation": "default", @@ -38021,7 +38010,7 @@ "typeString": "address" }, "typeName": { - "id": 3126, + "id": 3127, "name": "address", "nodeType": "ElementaryTypeName", "src": "1169:7:26", @@ -38035,12 +38024,12 @@ }, { "constant": false, - "id": 3129, + "id": 3130, "mutability": "mutable", "name": "reputation", "nameLocation": "1200:10:26", "nodeType": "VariableDeclaration", - "scope": 3132, + "scope": 3133, "src": "1192:18:26", "stateVariable": false, "storageLocation": "default", @@ -38049,7 +38038,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3128, + "id": 3129, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1192:7:26", @@ -38062,12 +38051,12 @@ }, { "constant": false, - "id": 3131, + "id": 3132, "mutability": "mutable", "name": "totalRatings", "nameLocation": "1228:12:26", "nodeType": "VariableDeclaration", - "scope": 3132, + "scope": 3133, "src": "1220:20:26", "stateVariable": false, "storageLocation": "default", @@ -38076,7 +38065,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3130, + "id": 3131, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1220:7:26", @@ -38091,43 +38080,43 @@ "name": "AgentData", "nameLocation": "1080:9:26", "nodeType": "StructDefinition", - "scope": 4016, + "scope": 4017, "src": "1073:174:26", "visibility": "public" }, { "constant": false, "functionSelector": "dca60776", - "id": 3135, + "id": 3136, "mutability": "mutable", "name": "agentRegistryV1", "nameLocation": "1277:15:26", "nodeType": "VariableDeclaration", - "scope": 4016, + "scope": 4017, "src": "1253:39:26", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" }, "typeName": { - "id": 3134, + "id": 3135, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3133, + "id": 3134, "name": "IAgentRegistryV1", "nameLocations": [ "1253:16:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5327, + "referencedDeclaration": 5297, "src": "1253:16:26" }, - "referencedDeclaration": 5327, + "referencedDeclaration": 5297, "src": "1253:16:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } }, @@ -38136,36 +38125,36 @@ { "constant": false, "functionSelector": "cbcf252a", - "id": 3138, + "id": 3139, "mutability": "mutable", "name": "serviceRegistry", "nameLocation": "1332:15:26", "nodeType": "VariableDeclaration", - "scope": 4016, + "scope": 4017, "src": "1298:49:26", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" }, "typeName": { - "id": 3137, + "id": 3138, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3136, + "id": 3137, "name": "ServiceRegistryUpgradeable", "nameLocations": [ "1298:26:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4615, + "referencedDeclaration": 4616, "src": "1298:26:26" }, - "referencedDeclaration": 4615, + "referencedDeclaration": 4616, "src": "1298:26:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, @@ -38174,12 +38163,12 @@ { "constant": false, "functionSelector": "9e498f16", - "id": 3140, + "id": 3141, "mutability": "mutable", "name": "taskRegistry", "nameLocation": "1368:12:26", "nodeType": "VariableDeclaration", - "scope": 4016, + "scope": 4017, "src": "1353:27:26", "stateVariable": true, "storageLocation": "default", @@ -38188,7 +38177,7 @@ "typeString": "address" }, "typeName": { - "id": 3139, + "id": 3140, "name": "address", "nodeType": "ElementaryTypeName", "src": "1353:7:26", @@ -38203,25 +38192,25 @@ { "constant": false, "functionSelector": "fd66091e", - "id": 3145, + "id": 3146, "mutability": "mutable", "name": "agents", "nameLocation": "1424:6:26", "nodeType": "VariableDeclaration", - "scope": 4016, + "scope": 4017, "src": "1387:43:26", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData)" }, "typeName": { - "id": 3144, + "id": 3145, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 3141, + "id": 3142, "name": "address", "nodeType": "ElementaryTypeName", "src": "1395:7:26", @@ -38233,28 +38222,28 @@ "nodeType": "Mapping", "src": "1387:29:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 3143, + "id": 3144, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3142, + "id": 3143, "name": "AgentData", "nameLocations": [ "1406:9:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3132, + "referencedDeclaration": 3133, "src": "1406:9:26" }, - "referencedDeclaration": 3132, + "referencedDeclaration": 3133, "src": "1406:9:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_storage_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData" } } @@ -38264,25 +38253,25 @@ { "constant": false, "functionSelector": "013cf08b", - "id": 3150, + "id": 3151, "mutability": "mutable", "name": "proposals", "nameLocation": "1479:9:26", "nodeType": "VariableDeclaration", - "scope": 4016, + "scope": 4017, "src": "1436:52:26", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5342_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5312_storage_$", "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal)" }, "typeName": { - "id": 3149, + "id": 3150, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 3146, + "id": 3147, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1444:7:26", @@ -38294,28 +38283,28 @@ "nodeType": "Mapping", "src": "1436:35:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5342_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5312_storage_$", "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 3148, + "id": 3149, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3147, + "id": 3148, "name": "ServiceProposal", "nameLocations": [ "1455:15:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5342, + "referencedDeclaration": 5312, "src": "1455:15:26" }, - "referencedDeclaration": 5342, + "referencedDeclaration": 5312, "src": "1455:15:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage_ptr", "typeString": "struct IProposalStruct.ServiceProposal" } } @@ -38325,12 +38314,12 @@ { "constant": false, "functionSelector": "2ab09d14", - "id": 3152, + "id": 3153, "mutability": "mutable", "name": "nextProposalId", "nameLocation": "1509:14:26", "nodeType": "VariableDeclaration", - "scope": 4016, + "scope": 4017, "src": "1494:29:26", "stateVariable": true, "storageLocation": "default", @@ -38339,7 +38328,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3151, + "id": 3152, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1494:7:26", @@ -38352,7 +38341,7 @@ }, { "body": { - "id": 3168, + "id": 3169, "nodeType": "Block", "src": "1569:134:26", "statements": [ @@ -38364,7 +38353,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3163, + "id": 3164, "isConstant": false, "isLValue": false, "isPure": false, @@ -38372,24 +38361,24 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 3157, + "id": 3158, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, + "referencedDeclaration": 3146, "src": "1600:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3159, + "id": 3160, "indexExpression": { - "id": 3158, + "id": 3159, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3154, + "referencedDeclaration": 3155, "src": "1607:5:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38403,11 +38392,11 @@ "nodeType": "IndexAccess", "src": "1600:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3160, + "id": 3161, "isConstant": false, "isLValue": true, "isPure": false, @@ -38415,7 +38404,7 @@ "memberLocation": "1614:5:26", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 3125, + "referencedDeclaration": 3126, "src": "1600:19:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -38426,7 +38415,7 @@ "operator": "==", "rightExpression": { "expression": { - "id": 3161, + "id": 3162, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -38437,7 +38426,7 @@ "typeString": "msg" } }, - "id": 3162, + "id": 3163, "isConstant": false, "isLValue": false, "isPure": false, @@ -38459,7 +38448,7 @@ }, { "hexValue": "4e6f7420746865206f776e6572206f6620746865206167656e74", - "id": 3164, + "id": 3165, "isConstant": false, "isLValue": false, "isPure": true, @@ -38485,7 +38474,7 @@ "typeString": "literal_string \"Not the owner of the agent\"" } ], - "id": 3156, + "id": 3157, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -38499,7 +38488,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 3165, + "id": 3166, "isConstant": false, "isLValue": false, "isPure": false, @@ -38515,33 +38504,33 @@ "typeString": "tuple()" } }, - "id": 3166, + "id": 3167, "nodeType": "ExpressionStatement", "src": "1579:106:26" }, { - "id": 3167, + "id": 3168, "nodeType": "PlaceholderStatement", "src": "1695:1:26" } ] }, - "id": 3169, + "id": 3170, "name": "onlyAgentOwner", "nameLocation": "1539:14:26", "nodeType": "ModifierDefinition", "parameters": { - "id": 3155, + "id": 3156, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3154, + "id": 3155, "mutability": "mutable", "name": "agent", "nameLocation": "1562:5:26", "nodeType": "VariableDeclaration", - "scope": 3169, + "scope": 3170, "src": "1554:13:26", "stateVariable": false, "storageLocation": "default", @@ -38550,7 +38539,7 @@ "typeString": "address" }, "typeName": { - "id": 3153, + "id": 3154, "name": "address", "nodeType": "ElementaryTypeName", "src": "1554:7:26", @@ -38571,7 +38560,7 @@ }, { "body": { - "id": 3176, + "id": 3177, "nodeType": "Block", "src": "1776:39:26", "statements": [ @@ -38580,7 +38569,7 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 3173, + "id": 3174, "name": "_disableInitializers", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -38591,7 +38580,7 @@ "typeString": "function ()" } }, - "id": 3174, + "id": 3175, "isConstant": false, "isLValue": false, "isPure": false, @@ -38607,19 +38596,19 @@ "typeString": "tuple()" } }, - "id": 3175, + "id": 3176, "nodeType": "ExpressionStatement", "src": "1786:22:26" } ] }, "documentation": { - "id": 3170, + "id": 3171, "nodeType": "StructuredDocumentation", "src": "1709:48:26", "text": "@custom:oz-upgrades-unsafe-allow constructor" }, - "id": 3177, + "id": 3178, "implemented": true, "kind": "constructor", "modifiers": [], @@ -38627,18 +38616,18 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 3171, + "id": 3172, "nodeType": "ParameterList", "parameters": [], "src": "1773:2:26" }, "returnParameters": { - "id": 3172, + "id": 3173, "nodeType": "ParameterList", "parameters": [], "src": "1776:0:26" }, - "scope": 4016, + "scope": 4017, "src": "1762:53:26", "stateMutability": "nonpayable", "virtual": false, @@ -38646,7 +38635,7 @@ }, { "body": { - "id": 3209, + "id": 3210, "nodeType": "Block", "src": "2164:202:26", "statements": [ @@ -38655,7 +38644,7 @@ "arguments": [ { "expression": { - "id": 3190, + "id": 3191, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -38666,7 +38655,7 @@ "typeString": "msg" } }, - "id": 3191, + "id": 3192, "isConstant": false, "isLValue": false, "isPure": false, @@ -38688,7 +38677,7 @@ "typeString": "address" } ], - "id": 3189, + "id": 3190, "name": "__Ownable_init", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -38699,7 +38688,7 @@ "typeString": "function (address)" } }, - "id": 3192, + "id": 3193, "isConstant": false, "isLValue": false, "isPure": false, @@ -38715,7 +38704,7 @@ "typeString": "tuple()" } }, - "id": 3193, + "id": 3194, "nodeType": "ExpressionStatement", "src": "2174:26:26" }, @@ -38724,7 +38713,7 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 3194, + "id": 3195, "name": "__UUPSUpgradeable_init", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -38735,7 +38724,7 @@ "typeString": "function ()" } }, - "id": 3195, + "id": 3196, "isConstant": false, "isLValue": false, "isPure": false, @@ -38751,109 +38740,109 @@ "typeString": "tuple()" } }, - "id": 3196, + "id": 3197, "nodeType": "ExpressionStatement", "src": "2210:24:26" }, { "expression": { - "id": 3199, + "id": 3200, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3197, + "id": 3198, "name": "agentRegistryV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3135, + "referencedDeclaration": 3136, "src": "2253:15:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 3198, + "id": 3199, "name": "_agentRegistryV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3181, + "referencedDeclaration": 3182, "src": "2271:16:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } }, "src": "2253:34:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } }, - "id": 3200, + "id": 3201, "nodeType": "ExpressionStatement", "src": "2253:34:26" }, { "expression": { - "id": 3203, + "id": 3204, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3201, + "id": 3202, "name": "serviceRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3138, + "referencedDeclaration": 3139, "src": "2297:15:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 3202, + "id": 3203, "name": "_serviceRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3184, + "referencedDeclaration": 3185, "src": "2315:16:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, "src": "2297:34:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, - "id": 3204, + "id": 3205, "nodeType": "ExpressionStatement", "src": "2297:34:26" }, { "expression": { - "id": 3207, + "id": 3208, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3205, + "id": 3206, "name": "nextProposalId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3152, + "referencedDeclaration": 3153, "src": "2341:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -38864,7 +38853,7 @@ "operator": "=", "rightHandSide": { "hexValue": "31", - "id": 3206, + "id": 3207, "isConstant": false, "isLValue": false, "isPure": true, @@ -38884,28 +38873,28 @@ "typeString": "uint256" } }, - "id": 3208, + "id": 3209, "nodeType": "ExpressionStatement", "src": "2341:18:26" } ] }, "documentation": { - "id": 3178, + "id": 3179, "nodeType": "StructuredDocumentation", "src": "1821:197:26", "text": " @dev Initializes the contract\n @param _agentRegistryV1 The address of the V1 agent registry for migration\n @param _serviceRegistry The address of the service registry" }, "functionSelector": "485cc955", - "id": 3210, + "id": 3211, "implemented": true, "kind": "function", "modifiers": [ { - "id": 3187, + "id": 3188, "kind": "modifierInvocation", "modifierName": { - "id": 3186, + "id": 3187, "name": "initializer", "nameLocations": [ "2152:11:26" @@ -38922,41 +38911,41 @@ "nameLocation": "2032:10:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3185, + "id": 3186, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3181, + "id": 3182, "mutability": "mutable", "name": "_agentRegistryV1", "nameLocation": "2069:16:26", "nodeType": "VariableDeclaration", - "scope": 3210, + "scope": 3211, "src": "2052:33:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" }, "typeName": { - "id": 3180, + "id": 3181, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3179, + "id": 3180, "name": "IAgentRegistryV1", "nameLocations": [ "2052:16:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5327, + "referencedDeclaration": 5297, "src": "2052:16:26" }, - "referencedDeclaration": 5327, + "referencedDeclaration": 5297, "src": "2052:16:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } }, @@ -38964,36 +38953,36 @@ }, { "constant": false, - "id": 3184, + "id": 3185, "mutability": "mutable", "name": "_serviceRegistry", "nameLocation": "2122:16:26", "nodeType": "VariableDeclaration", - "scope": 3210, + "scope": 3211, "src": "2095:43:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" }, "typeName": { - "id": 3183, + "id": 3184, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3182, + "id": 3183, "name": "ServiceRegistryUpgradeable", "nameLocations": [ "2095:26:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4615, + "referencedDeclaration": 4616, "src": "2095:26:26" }, - "referencedDeclaration": 4615, + "referencedDeclaration": 4616, "src": "2095:26:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, @@ -39003,12 +38992,12 @@ "src": "2042:102:26" }, "returnParameters": { - "id": 3188, + "id": 3189, "nodeType": "ParameterList", "parameters": [], "src": "2164:0:26" }, - "scope": 4016, + "scope": 4017, "src": "2023:343:26", "stateMutability": "nonpayable", "virtual": false, @@ -39017,23 +39006,23 @@ { "anonymous": false, "eventSelector": "2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de28", - "id": 3220, + "id": 3221, "name": "AgentRegistered", "nameLocation": "2378:15:26", "nodeType": "EventDefinition", "parameters": { - "id": 3219, + "id": 3220, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3212, + "id": 3213, "indexed": true, "mutability": "mutable", "name": "agent", "nameLocation": "2419:5:26", "nodeType": "VariableDeclaration", - "scope": 3220, + "scope": 3221, "src": "2403:21:26", "stateVariable": false, "storageLocation": "default", @@ -39042,7 +39031,7 @@ "typeString": "address" }, "typeName": { - "id": 3211, + "id": 3212, "name": "address", "nodeType": "ElementaryTypeName", "src": "2403:7:26", @@ -39056,13 +39045,13 @@ }, { "constant": false, - "id": 3214, + "id": 3215, "indexed": true, "mutability": "mutable", "name": "owner", "nameLocation": "2450:5:26", "nodeType": "VariableDeclaration", - "scope": 3220, + "scope": 3221, "src": "2434:21:26", "stateVariable": false, "storageLocation": "default", @@ -39071,7 +39060,7 @@ "typeString": "address" }, "typeName": { - "id": 3213, + "id": 3214, "name": "address", "nodeType": "ElementaryTypeName", "src": "2434:7:26", @@ -39085,13 +39074,13 @@ }, { "constant": false, - "id": 3216, + "id": 3217, "indexed": false, "mutability": "mutable", "name": "name", "nameLocation": "2472:4:26", "nodeType": "VariableDeclaration", - "scope": 3220, + "scope": 3221, "src": "2465:11:26", "stateVariable": false, "storageLocation": "default", @@ -39100,7 +39089,7 @@ "typeString": "string" }, "typeName": { - "id": 3215, + "id": 3216, "name": "string", "nodeType": "ElementaryTypeName", "src": "2465:6:26", @@ -39113,13 +39102,13 @@ }, { "constant": false, - "id": 3218, + "id": 3219, "indexed": false, "mutability": "mutable", "name": "agentUri", "nameLocation": "2493:8:26", "nodeType": "VariableDeclaration", - "scope": 3220, + "scope": 3221, "src": "2486:15:26", "stateVariable": false, "storageLocation": "default", @@ -39128,7 +39117,7 @@ "typeString": "string" }, "typeName": { - "id": 3217, + "id": 3218, "name": "string", "nodeType": "ElementaryTypeName", "src": "2486:6:26", @@ -39147,23 +39136,23 @@ { "anonymous": false, "eventSelector": "fc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c821", - "id": 3226, + "id": 3227, "name": "ReputationUpdated", "nameLocation": "2519:17:26", "nodeType": "EventDefinition", "parameters": { - "id": 3225, + "id": 3226, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3222, + "id": 3223, "indexed": true, "mutability": "mutable", "name": "agent", "nameLocation": "2553:5:26", "nodeType": "VariableDeclaration", - "scope": 3226, + "scope": 3227, "src": "2537:21:26", "stateVariable": false, "storageLocation": "default", @@ -39172,7 +39161,7 @@ "typeString": "address" }, "typeName": { - "id": 3221, + "id": 3222, "name": "address", "nodeType": "ElementaryTypeName", "src": "2537:7:26", @@ -39186,13 +39175,13 @@ }, { "constant": false, - "id": 3224, + "id": 3225, "indexed": false, "mutability": "mutable", "name": "newReputation", "nameLocation": "2568:13:26", "nodeType": "VariableDeclaration", - "scope": 3226, + "scope": 3227, "src": "2560:21:26", "stateVariable": false, "storageLocation": "default", @@ -39201,7 +39190,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3223, + "id": 3224, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2560:7:26", @@ -39220,23 +39209,23 @@ { "anonymous": false, "eventSelector": "a6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f", - "id": 3238, + "id": 3239, "name": "ProposalAdded", "nameLocation": "2595:13:26", "nodeType": "EventDefinition", "parameters": { - "id": 3237, + "id": 3238, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3228, + "id": 3229, "indexed": true, "mutability": "mutable", "name": "agent", "nameLocation": "2634:5:26", "nodeType": "VariableDeclaration", - "scope": 3238, + "scope": 3239, "src": "2618:21:26", "stateVariable": false, "storageLocation": "default", @@ -39245,7 +39234,7 @@ "typeString": "address" }, "typeName": { - "id": 3227, + "id": 3228, "name": "address", "nodeType": "ElementaryTypeName", "src": "2618:7:26", @@ -39259,13 +39248,13 @@ }, { "constant": false, - "id": 3230, + "id": 3231, "indexed": false, "mutability": "mutable", "name": "proposalId", "nameLocation": "2657:10:26", "nodeType": "VariableDeclaration", - "scope": 3238, + "scope": 3239, "src": "2649:18:26", "stateVariable": false, "storageLocation": "default", @@ -39274,7 +39263,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3229, + "id": 3230, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2649:7:26", @@ -39287,13 +39276,13 @@ }, { "constant": false, - "id": 3232, + "id": 3233, "indexed": false, "mutability": "mutable", "name": "name", "nameLocation": "2684:4:26", "nodeType": "VariableDeclaration", - "scope": 3238, + "scope": 3239, "src": "2677:11:26", "stateVariable": false, "storageLocation": "default", @@ -39302,7 +39291,7 @@ "typeString": "string" }, "typeName": { - "id": 3231, + "id": 3232, "name": "string", "nodeType": "ElementaryTypeName", "src": "2677:6:26", @@ -39315,13 +39304,13 @@ }, { "constant": false, - "id": 3234, + "id": 3235, "indexed": false, "mutability": "mutable", "name": "price", "nameLocation": "2706:5:26", "nodeType": "VariableDeclaration", - "scope": 3238, + "scope": 3239, "src": "2698:13:26", "stateVariable": false, "storageLocation": "default", @@ -39330,7 +39319,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3233, + "id": 3234, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2698:7:26", @@ -39343,13 +39332,13 @@ }, { "constant": false, - "id": 3236, + "id": 3237, "indexed": false, "mutability": "mutable", "name": "tokenAddress", "nameLocation": "2729:12:26", "nodeType": "VariableDeclaration", - "scope": 3238, + "scope": 3239, "src": "2721:20:26", "stateVariable": false, "storageLocation": "default", @@ -39358,7 +39347,7 @@ "typeString": "address" }, "typeName": { - "id": 3235, + "id": 3236, "name": "address", "nodeType": "ElementaryTypeName", "src": "2721:7:26", @@ -39378,23 +39367,23 @@ { "anonymous": false, "eventSelector": "45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f2", - "id": 3244, + "id": 3245, "name": "ProposalRemoved", "nameLocation": "2759:15:26", "nodeType": "EventDefinition", "parameters": { - "id": 3243, + "id": 3244, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3240, + "id": 3241, "indexed": true, "mutability": "mutable", "name": "agent", "nameLocation": "2791:5:26", "nodeType": "VariableDeclaration", - "scope": 3244, + "scope": 3245, "src": "2775:21:26", "stateVariable": false, "storageLocation": "default", @@ -39403,7 +39392,7 @@ "typeString": "address" }, "typeName": { - "id": 3239, + "id": 3240, "name": "address", "nodeType": "ElementaryTypeName", "src": "2775:7:26", @@ -39417,13 +39406,13 @@ }, { "constant": false, - "id": 3242, + "id": 3243, "indexed": false, "mutability": "mutable", "name": "proposalId", "nameLocation": "2806:10:26", "nodeType": "VariableDeclaration", - "scope": 3244, + "scope": 3245, "src": "2798:18:26", "stateVariable": false, "storageLocation": "default", @@ -39432,7 +39421,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3241, + "id": 3242, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2798:7:26", @@ -39451,23 +39440,23 @@ { "anonymous": false, "eventSelector": "3cad238995a4564b6868330d8a7814231097060da0ec77540423e3f48c53c5ea", - "id": 3254, + "id": 3255, "name": "ProposalUpdated", "nameLocation": "2830:15:26", "nodeType": "EventDefinition", "parameters": { - "id": 3253, + "id": 3254, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3246, + "id": 3247, "indexed": true, "mutability": "mutable", "name": "agent", "nameLocation": "2871:5:26", "nodeType": "VariableDeclaration", - "scope": 3254, + "scope": 3255, "src": "2855:21:26", "stateVariable": false, "storageLocation": "default", @@ -39476,7 +39465,7 @@ "typeString": "address" }, "typeName": { - "id": 3245, + "id": 3246, "name": "address", "nodeType": "ElementaryTypeName", "src": "2855:7:26", @@ -39490,13 +39479,13 @@ }, { "constant": false, - "id": 3248, + "id": 3249, "indexed": false, "mutability": "mutable", "name": "proposalId", "nameLocation": "2894:10:26", "nodeType": "VariableDeclaration", - "scope": 3254, + "scope": 3255, "src": "2886:18:26", "stateVariable": false, "storageLocation": "default", @@ -39505,7 +39494,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3247, + "id": 3248, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2886:7:26", @@ -39518,13 +39507,13 @@ }, { "constant": false, - "id": 3250, + "id": 3251, "indexed": false, "mutability": "mutable", "name": "price", "nameLocation": "2922:5:26", "nodeType": "VariableDeclaration", - "scope": 3254, + "scope": 3255, "src": "2914:13:26", "stateVariable": false, "storageLocation": "default", @@ -39533,7 +39522,7 @@ "typeString": "uint256" }, "typeName": { - "id": 3249, + "id": 3250, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2914:7:26", @@ -39546,13 +39535,13 @@ }, { "constant": false, - "id": 3252, + "id": 3253, "indexed": false, "mutability": "mutable", "name": "tokenAddress", "nameLocation": "2945:12:26", "nodeType": "VariableDeclaration", - "scope": 3254, + "scope": 3255, "src": "2937:20:26", "stateVariable": false, "storageLocation": "default", @@ -39561,7 +39550,7 @@ "typeString": "address" }, "typeName": { - "id": 3251, + "id": 3252, "name": "address", "nodeType": "ElementaryTypeName", "src": "2937:7:26", @@ -39581,23 +39570,23 @@ { "anonymous": false, "eventSelector": "244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b10", - "id": 3262, + "id": 3263, "name": "AgentDataUpdated", "nameLocation": "2975:16:26", "nodeType": "EventDefinition", "parameters": { - "id": 3261, + "id": 3262, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3256, + "id": 3257, "indexed": true, "mutability": "mutable", "name": "agent", "nameLocation": "3017:5:26", "nodeType": "VariableDeclaration", - "scope": 3262, + "scope": 3263, "src": "3001:21:26", "stateVariable": false, "storageLocation": "default", @@ -39606,7 +39595,7 @@ "typeString": "address" }, "typeName": { - "id": 3255, + "id": 3256, "name": "address", "nodeType": "ElementaryTypeName", "src": "3001:7:26", @@ -39620,13 +39609,13 @@ }, { "constant": false, - "id": 3258, + "id": 3259, "indexed": false, "mutability": "mutable", "name": "name", "nameLocation": "3039:4:26", "nodeType": "VariableDeclaration", - "scope": 3262, + "scope": 3263, "src": "3032:11:26", "stateVariable": false, "storageLocation": "default", @@ -39635,7 +39624,7 @@ "typeString": "string" }, "typeName": { - "id": 3257, + "id": 3258, "name": "string", "nodeType": "ElementaryTypeName", "src": "3032:6:26", @@ -39648,13 +39637,13 @@ }, { "constant": false, - "id": 3260, + "id": 3261, "indexed": false, "mutability": "mutable", "name": "agentUri", "nameLocation": "3060:8:26", "nodeType": "VariableDeclaration", - "scope": 3262, + "scope": 3263, "src": "3053:15:26", "stateVariable": false, "storageLocation": "default", @@ -39663,7 +39652,7 @@ "typeString": "string" }, "typeName": { - "id": 3259, + "id": 3260, "name": "string", "nodeType": "ElementaryTypeName", "src": "3053:6:26", @@ -39682,23 +39671,23 @@ { "anonymous": false, "eventSelector": "4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b3", - "id": 3268, + "id": 3269, "name": "AgentRemoved", "nameLocation": "3087:12:26", "nodeType": "EventDefinition", "parameters": { - "id": 3267, + "id": 3268, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3264, + "id": 3265, "indexed": true, "mutability": "mutable", "name": "agent", "nameLocation": "3125:5:26", "nodeType": "VariableDeclaration", - "scope": 3268, + "scope": 3269, "src": "3109:21:26", "stateVariable": false, "storageLocation": "default", @@ -39707,7 +39696,7 @@ "typeString": "address" }, "typeName": { - "id": 3263, + "id": 3264, "name": "address", "nodeType": "ElementaryTypeName", "src": "3109:7:26", @@ -39721,13 +39710,13 @@ }, { "constant": false, - "id": 3266, + "id": 3267, "indexed": true, "mutability": "mutable", "name": "owner", "nameLocation": "3156:5:26", "nodeType": "VariableDeclaration", - "scope": 3268, + "scope": 3269, "src": "3140:21:26", "stateVariable": false, "storageLocation": "default", @@ -39736,7 +39725,7 @@ "typeString": "address" }, "typeName": { - "id": 3265, + "id": 3266, "name": "address", "nodeType": "ElementaryTypeName", "src": "3140:7:26", @@ -39755,7 +39744,7 @@ }, { "body": { - "id": 3290, + "id": 3291, "nodeType": "Block", "src": "3386:110:26", "statements": [ @@ -39767,17 +39756,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3282, + "id": 3283, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 3277, + "id": 3278, "name": "_taskRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3271, + "referencedDeclaration": 3272, "src": "3404:13:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -39790,7 +39779,7 @@ "arguments": [ { "hexValue": "30", - "id": 3280, + "id": 3281, "isConstant": false, "isLValue": false, "isPure": true, @@ -39812,7 +39801,7 @@ "typeString": "int_const 0" } ], - "id": 3279, + "id": 3280, "isConstant": false, "isLValue": false, "isPure": true, @@ -39824,14 +39813,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 3278, + "id": 3279, "name": "address", "nodeType": "ElementaryTypeName", "src": "3421:7:26", "typeDescriptions": {} } }, - "id": 3281, + "id": 3282, "isConstant": false, "isLValue": false, "isPure": true, @@ -39855,7 +39844,7 @@ }, { "hexValue": "496e76616c69642061646472657373", - "id": 3283, + "id": 3284, "isConstant": false, "isLValue": false, "isPure": true, @@ -39881,7 +39870,7 @@ "typeString": "literal_string \"Invalid address\"" } ], - "id": 3276, + "id": 3277, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -39895,7 +39884,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 3284, + "id": 3285, "isConstant": false, "isLValue": false, "isPure": false, @@ -39911,23 +39900,23 @@ "typeString": "tuple()" } }, - "id": 3285, + "id": 3286, "nodeType": "ExpressionStatement", "src": "3396:55:26" }, { "expression": { - "id": 3288, + "id": 3289, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3286, + "id": 3287, "name": "taskRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3140, + "referencedDeclaration": 3141, "src": "3461:12:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -39937,11 +39926,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 3287, + "id": 3288, "name": "_taskRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3271, + "referencedDeclaration": 3272, "src": "3476:13:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -39954,28 +39943,28 @@ "typeString": "address" } }, - "id": 3289, + "id": 3290, "nodeType": "ExpressionStatement", "src": "3461:28:26" } ] }, "documentation": { - "id": 3269, + "id": 3270, "nodeType": "StructuredDocumentation", "src": "3174:140:26", "text": " @dev Sets the address of the TaskRegistry contract.\n @param _taskRegistry The address of the TaskRegistry contract." }, "functionSelector": "b2d78069", - "id": 3291, + "id": 3292, "implemented": true, "kind": "function", "modifiers": [ { - "id": 3274, + "id": 3275, "kind": "modifierInvocation", "modifierName": { - "id": 3273, + "id": 3274, "name": "onlyOwner", "nameLocations": [ "3376:9:26" @@ -39992,17 +39981,17 @@ "nameLocation": "3328:15:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3272, + "id": 3273, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3271, + "id": 3272, "mutability": "mutable", "name": "_taskRegistry", "nameLocation": "3352:13:26", "nodeType": "VariableDeclaration", - "scope": 3291, + "scope": 3292, "src": "3344:21:26", "stateVariable": false, "storageLocation": "default", @@ -40011,7 +40000,7 @@ "typeString": "address" }, "typeName": { - "id": 3270, + "id": 3271, "name": "address", "nodeType": "ElementaryTypeName", "src": "3344:7:26", @@ -40027,12 +40016,12 @@ "src": "3343:23:26" }, "returnParameters": { - "id": 3275, + "id": 3276, "nodeType": "ParameterList", "parameters": [], "src": "3386:0:26" }, - "scope": 4016, + "scope": 4017, "src": "3319:177:26", "stateMutability": "nonpayable", "virtual": false, @@ -40040,7 +40029,7 @@ }, { "body": { - "id": 3315, + "id": 3316, "nodeType": "Block", "src": "3729:147:26", "statements": [ @@ -40052,17 +40041,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3305, + "id": 3306, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 3300, + "id": 3301, "name": "_serviceRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3294, + "referencedDeclaration": 3295, "src": "3747:16:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40075,7 +40064,7 @@ "arguments": [ { "hexValue": "30", - "id": 3303, + "id": 3304, "isConstant": false, "isLValue": false, "isPure": true, @@ -40097,7 +40086,7 @@ "typeString": "int_const 0" } ], - "id": 3302, + "id": 3303, "isConstant": false, "isLValue": false, "isPure": true, @@ -40109,14 +40098,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 3301, + "id": 3302, "name": "address", "nodeType": "ElementaryTypeName", "src": "3767:7:26", "typeDescriptions": {} } }, - "id": 3304, + "id": 3305, "isConstant": false, "isLValue": false, "isPure": true, @@ -40140,7 +40129,7 @@ }, { "hexValue": "496e76616c69642061646472657373", - "id": 3306, + "id": 3307, "isConstant": false, "isLValue": false, "isPure": true, @@ -40166,7 +40155,7 @@ "typeString": "literal_string \"Invalid address\"" } ], - "id": 3299, + "id": 3300, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -40180,7 +40169,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 3307, + "id": 3308, "isConstant": false, "isLValue": false, "isPure": false, @@ -40196,26 +40185,26 @@ "typeString": "tuple()" } }, - "id": 3308, + "id": 3309, "nodeType": "ExpressionStatement", "src": "3739:58:26" }, { "expression": { - "id": 3313, + "id": 3314, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 3309, + "id": 3310, "name": "serviceRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3138, + "referencedDeclaration": 3139, "src": "3807:15:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, @@ -40224,11 +40213,11 @@ "rightHandSide": { "arguments": [ { - "id": 3311, + "id": 3312, "name": "_serviceRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3294, + "referencedDeclaration": 3295, "src": "3852:16:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40243,18 +40232,18 @@ "typeString": "address" } ], - "id": 3310, + "id": 3311, "name": "ServiceRegistryUpgradeable", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4615, + "referencedDeclaration": 4616, "src": "3825:26:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_ServiceRegistryUpgradeable_$4615_$", + "typeIdentifier": "t_type$_t_contract$_ServiceRegistryUpgradeable_$4616_$", "typeString": "type(contract ServiceRegistryUpgradeable)" } }, - "id": 3312, + "id": 3313, "isConstant": false, "isLValue": false, "isPure": false, @@ -40266,38 +40255,38 @@ "src": "3825:44:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, "src": "3807:62:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, - "id": 3314, + "id": 3315, "nodeType": "ExpressionStatement", "src": "3807:62:26" } ] }, "documentation": { - "id": 3292, + "id": 3293, "nodeType": "StructuredDocumentation", "src": "3502:149:26", "text": " @dev Sets the address of the ServiceRegistry contract.\n @param _serviceRegistry The address of the ServiceRegistry contract." }, "functionSelector": "d7071b1f", - "id": 3316, + "id": 3317, "implemented": true, "kind": "function", "modifiers": [ { - "id": 3297, + "id": 3298, "kind": "modifierInvocation", "modifierName": { - "id": 3296, + "id": 3297, "name": "onlyOwner", "nameLocations": [ "3719:9:26" @@ -40314,17 +40303,17 @@ "nameLocation": "3665:18:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3295, + "id": 3296, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3294, + "id": 3295, "mutability": "mutable", "name": "_serviceRegistry", "nameLocation": "3692:16:26", "nodeType": "VariableDeclaration", - "scope": 3316, + "scope": 3317, "src": "3684:24:26", "stateVariable": false, "storageLocation": "default", @@ -40333,7 +40322,7 @@ "typeString": "address" }, "typeName": { - "id": 3293, + "id": 3294, "name": "address", "nodeType": "ElementaryTypeName", "src": "3684:7:26", @@ -40349,12 +40338,12 @@ "src": "3683:26:26" }, "returnParameters": { - "id": 3298, + "id": 3299, "nodeType": "ParameterList", "parameters": [], "src": "3729:0:26" }, - "scope": 4016, + "scope": 4017, "src": "3656:220:26", "stateMutability": "nonpayable", "virtual": false, @@ -40362,7 +40351,7 @@ }, { "body": { - "id": 3348, + "id": 3349, "nodeType": "Block", "src": "4423:148:26", "statements": [ @@ -40374,7 +40363,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3335, + "id": 3336, "isConstant": false, "isLValue": false, "isPure": false, @@ -40382,24 +40371,24 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 3327, + "id": 3328, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, + "referencedDeclaration": 3146, "src": "4441:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3329, + "id": 3330, "indexExpression": { - "id": 3328, + "id": 3329, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3320, "src": "4448:5:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40413,11 +40402,11 @@ "nodeType": "IndexAccess", "src": "4441:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3330, + "id": 3331, "isConstant": false, "isLValue": true, "isPure": false, @@ -40425,7 +40414,7 @@ "memberLocation": "4455:5:26", "memberName": "agent", "nodeType": "MemberAccess", - "referencedDeclaration": 3127, + "referencedDeclaration": 3128, "src": "4441:19:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40438,7 +40427,7 @@ "arguments": [ { "hexValue": "30", - "id": 3333, + "id": 3334, "isConstant": false, "isLValue": false, "isPure": true, @@ -40460,7 +40449,7 @@ "typeString": "int_const 0" } ], - "id": 3332, + "id": 3333, "isConstant": false, "isLValue": false, "isPure": true, @@ -40472,14 +40461,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 3331, + "id": 3332, "name": "address", "nodeType": "ElementaryTypeName", "src": "4464:7:26", "typeDescriptions": {} } }, - "id": 3334, + "id": 3335, "isConstant": false, "isLValue": false, "isPure": true, @@ -40503,7 +40492,7 @@ }, { "hexValue": "4167656e7420616c72656164792072656769737465726564", - "id": 3336, + "id": 3337, "isConstant": false, "isLValue": false, "isPure": true, @@ -40529,7 +40518,7 @@ "typeString": "literal_string \"Agent already registered\"" } ], - "id": 3326, + "id": 3327, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -40543,7 +40532,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 3337, + "id": 3338, "isConstant": false, "isLValue": false, "isPure": false, @@ -40559,7 +40548,7 @@ "typeString": "tuple()" } }, - "id": 3338, + "id": 3339, "nodeType": "ExpressionStatement", "src": "4433:70:26" }, @@ -40567,11 +40556,11 @@ "expression": { "arguments": [ { - "id": 3340, + "id": 3341, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3319, + "referencedDeclaration": 3320, "src": "4527:5:26", "typeDescriptions": { "typeIdentifier": "t_address", @@ -40579,11 +40568,11 @@ } }, { - "id": 3341, + "id": 3342, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3321, + "referencedDeclaration": 3322, "src": "4534:4:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -40591,11 +40580,11 @@ } }, { - "id": 3342, + "id": 3343, "name": "agentUri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3323, + "referencedDeclaration": 3324, "src": "4540:8:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -40604,7 +40593,7 @@ }, { "expression": { - "id": 3343, + "id": 3344, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -40615,7 +40604,7 @@ "typeString": "msg" } }, - "id": 3344, + "id": 3345, "isConstant": false, "isLValue": false, "isPure": false, @@ -40631,7 +40620,7 @@ }, { "hexValue": "30", - "id": 3345, + "id": 3346, "isConstant": false, "isLValue": false, "isPure": true, @@ -40669,18 +40658,18 @@ "typeString": "int_const 0" } ], - "id": 3339, + "id": 3340, "name": "_createAgent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3802, + "referencedDeclaration": 3803, "src": "4514:12:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,string memory,string memory,address,uint256)" } }, - "id": 3346, + "id": 3347, "isConstant": false, "isLValue": false, "isPure": false, @@ -40696,20 +40685,20 @@ "typeString": "tuple()" } }, - "id": 3347, + "id": 3348, "nodeType": "ExpressionStatement", "src": "4514:50:26" } ] }, "documentation": { - "id": 3317, + "id": 3318, "nodeType": "StructuredDocumentation", "src": "3882:415:26", "text": " @dev Registers a new agent with the given details.\n @param name The name of the agent.\n @param agentUri The URI pointing to the agent's metadata.\n @param agent The address of the agent.\n Requirements:\n - The agent must not already be registered.\n - The caller will be set as the owner of the agent.\n Emits an {AgentRegistered} event." }, "functionSelector": "7216fe48", - "id": 3349, + "id": 3350, "implemented": true, "kind": "function", "modifiers": [], @@ -40717,17 +40706,17 @@ "nameLocation": "4311:13:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3324, + "id": 3325, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3319, + "id": 3320, "mutability": "mutable", "name": "agent", "nameLocation": "4342:5:26", "nodeType": "VariableDeclaration", - "scope": 3349, + "scope": 3350, "src": "4334:13:26", "stateVariable": false, "storageLocation": "default", @@ -40736,7 +40725,7 @@ "typeString": "address" }, "typeName": { - "id": 3318, + "id": 3319, "name": "address", "nodeType": "ElementaryTypeName", "src": "4334:7:26", @@ -40750,12 +40739,12 @@ }, { "constant": false, - "id": 3321, + "id": 3322, "mutability": "mutable", "name": "name", "nameLocation": "4371:4:26", "nodeType": "VariableDeclaration", - "scope": 3349, + "scope": 3350, "src": "4357:18:26", "stateVariable": false, "storageLocation": "memory", @@ -40764,7 +40753,7 @@ "typeString": "string" }, "typeName": { - "id": 3320, + "id": 3321, "name": "string", "nodeType": "ElementaryTypeName", "src": "4357:6:26", @@ -40777,12 +40766,12 @@ }, { "constant": false, - "id": 3323, + "id": 3324, "mutability": "mutable", "name": "agentUri", "nameLocation": "4399:8:26", "nodeType": "VariableDeclaration", - "scope": 3349, + "scope": 3350, "src": "4385:22:26", "stateVariable": false, "storageLocation": "memory", @@ -40791,7 +40780,7 @@ "typeString": "string" }, "typeName": { - "id": 3322, + "id": 3323, "name": "string", "nodeType": "ElementaryTypeName", "src": "4385:6:26", @@ -40806,12 +40795,12 @@ "src": "4324:89:26" }, "returnParameters": { - "id": 3325, + "id": 3326, "nodeType": "ParameterList", "parameters": [], "src": "4423:0:26" }, - "scope": 4016, + "scope": 4017, "src": "4302:269:26", "stateMutability": "nonpayable", "virtual": false, @@ -40819,9 +40808,9 @@ }, { "body": { - "id": 3402, + "id": 3403, "nodeType": "Block", - "src": "5346:349:26", + "src": "5345:349:26", "statements": [ { "expression": { @@ -40831,7 +40820,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3374, + "id": 3375, "isConstant": false, "isLValue": false, "isPure": false, @@ -40839,25 +40828,25 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 3366, + "id": 3367, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "5364:6:26", + "referencedDeclaration": 3146, + "src": "5363:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3368, + "id": 3369, "indexExpression": { - "id": 3367, + "id": 3368, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3352, - "src": "5371:5:26", + "referencedDeclaration": 3353, + "src": "5370:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -40868,22 +40857,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "5364:13:26", + "src": "5363:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3369, + "id": 3370, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "5378:5:26", + "memberLocation": "5377:5:26", "memberName": "agent", "nodeType": "MemberAccess", - "referencedDeclaration": 3127, - "src": "5364:19:26", + "referencedDeclaration": 3128, + "src": "5363:19:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -40895,14 +40884,14 @@ "arguments": [ { "hexValue": "30", - "id": 3372, + "id": 3373, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5395:1:26", + "src": "5394:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -40917,26 +40906,26 @@ "typeString": "int_const 0" } ], - "id": 3371, + "id": 3372, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "5387:7:26", + "src": "5386:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 3370, + "id": 3371, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5387:7:26", + "src": "5386:7:26", "typeDescriptions": {} } }, - "id": 3373, + "id": 3374, "isConstant": false, "isLValue": false, "isPure": true, @@ -40945,14 +40934,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5387:10:26", + "src": "5386:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "5364:33:26", + "src": "5363:33:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -40960,14 +40949,14 @@ }, { "hexValue": "4167656e7420616c72656164792072656769737465726564", - "id": 3375, + "id": 3376, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5399:26:26", + "src": "5398:26:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b", "typeString": "literal_string \"Agent already registered\"" @@ -40986,7 +40975,7 @@ "typeString": "literal_string \"Agent already registered\"" } ], - "id": 3365, + "id": 3366, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -40994,13 +40983,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5356:7:26", + "src": "5355:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3376, + "id": 3377, "isConstant": false, "isLValue": false, "isPure": false, @@ -41009,16 +40998,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5356:70:26", + "src": "5355:70:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3377, + "id": 3378, "nodeType": "ExpressionStatement", - "src": "5356:70:26" + "src": "5355:70:26" }, { "expression": { @@ -41026,12 +41015,12 @@ { "arguments": [ { - "id": 3381, + "id": 3382, "name": "serviceName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3358, - "src": "5493:11:26", + "referencedDeclaration": 3359, + "src": "5492:11:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -41046,33 +41035,33 @@ } ], "expression": { - "id": 3379, + "id": 3380, "name": "serviceRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3138, - "src": "5457:15:26", + "referencedDeclaration": 3139, + "src": "5456:15:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, - "id": 3380, + "id": 3381, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "5473:19:26", + "memberLocation": "5472:19:26", "memberName": "isServiceRegistered", "nodeType": "MemberAccess", - "referencedDeclaration": 4563, - "src": "5457:35:26", + "referencedDeclaration": 4564, + "src": "5456:35:26", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view external returns (bool)" } }, - "id": 3382, + "id": 3383, "isConstant": false, "isLValue": false, "isPure": false, @@ -41081,7 +41070,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5457:48:26", + "src": "5456:48:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -41090,14 +41079,14 @@ }, { "hexValue": "53657276696365206e6f742072656769737465726564", - "id": 3383, + "id": 3384, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "5519:24:26", + "src": "5518:24:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6", "typeString": "literal_string \"Service not registered\"" @@ -41116,7 +41105,7 @@ "typeString": "literal_string \"Service not registered\"" } ], - "id": 3378, + "id": 3379, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -41124,13 +41113,13 @@ -18 ], "referencedDeclaration": -18, - "src": "5436:7:26", + "src": "5435:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3384, + "id": 3385, "isConstant": false, "isLValue": false, "isPure": false, @@ -41139,51 +41128,51 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5436:117:26", + "src": "5435:117:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3385, + "id": 3386, "nodeType": "ExpressionStatement", - "src": "5436:117:26" + "src": "5435:117:26" }, { "expression": { "arguments": [ { - "id": 3387, + "id": 3388, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3352, - "src": "5577:5:26", + "referencedDeclaration": 3353, + "src": "5576:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3388, + "id": 3389, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3354, - "src": "5584:4:26", + "referencedDeclaration": 3355, + "src": "5583:4:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 3389, + "id": 3390, "name": "agentUri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3356, - "src": "5590:8:26", + "referencedDeclaration": 3357, + "src": "5589:8:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -41191,26 +41180,26 @@ }, { "expression": { - "id": 3390, + "id": 3391, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "5600:3:26", + "src": "5599:3:26", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3391, + "id": 3392, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "5604:6:26", + "memberLocation": "5603:6:26", "memberName": "sender", "nodeType": "MemberAccess", - "src": "5600:10:26", + "src": "5599:10:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -41218,14 +41207,14 @@ }, { "hexValue": "30", - "id": 3392, + "id": 3393, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "5612:1:26", + "src": "5611:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -41256,18 +41245,18 @@ "typeString": "int_const 0" } ], - "id": 3386, + "id": 3387, "name": "_createAgent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3802, - "src": "5564:12:26", + "referencedDeclaration": 3803, + "src": "5563:12:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,string memory,string memory,address,uint256)" } }, - "id": 3393, + "id": 3394, "isConstant": false, "isLValue": false, "isPure": false, @@ -41276,63 +41265,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5564:50:26", + "src": "5563:50:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3394, + "id": 3395, "nodeType": "ExpressionStatement", - "src": "5564:50:26" + "src": "5563:50:26" }, { "expression": { "arguments": [ { - "id": 3396, + "id": 3397, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3352, - "src": "5641:5:26", + "referencedDeclaration": 3353, + "src": "5640:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3397, + "id": 3398, "name": "serviceName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3358, - "src": "5648:11:26", + "referencedDeclaration": 3359, + "src": "5647:11:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 3398, + "id": 3399, "name": "servicePrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3360, - "src": "5661:12:26", + "referencedDeclaration": 3361, + "src": "5660:12:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 3399, + "id": 3400, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3362, - "src": "5675:12:26", + "referencedDeclaration": 3363, + "src": "5674:12:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -41358,18 +41347,18 @@ "typeString": "address" } ], - "id": 3395, + "id": 3396, "name": "_createProposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3843, - "src": "5625:15:26", + "referencedDeclaration": 3844, + "src": "5624:15:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$", "typeString": "function (address,string memory,uint256,address)" } }, - "id": 3400, + "id": 3401, "isConstant": false, "isLValue": false, "isPure": false, @@ -41378,46 +41367,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "5625:63:26", + "src": "5624:63:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3401, + "id": 3402, "nodeType": "ExpressionStatement", - "src": "5625:63:26" + "src": "5624:63:26" } ] }, "documentation": { - "id": 3350, + "id": 3351, "nodeType": "StructuredDocumentation", "src": "4577:536:26", "text": " @dev Registers a new agent with the given details and the proposal.\n @param name The name of the agent.\n @param agentUri The URI pointing to the agent's metadata.\n @param agent The address of the agent.\n @param serviceName The name of the service.\n @param servicePrice The price of the service.\n Requirements:\n - The agent must not already be registered.\n - The caller will be set as the owner of the agent.\n Emits an {AgentRegistered} event." }, - "functionSelector": "09b6d8a7", - "id": 3403, + "functionSelector": "270baaa8", + "id": 3404, "implemented": true, "kind": "function", "modifiers": [], - "name": "registerAgentWithProposal", - "nameLocation": "5127:25:26", + "name": "registerAgentWithService", + "nameLocation": "5127:24:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3363, + "id": 3364, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3352, + "id": 3353, "mutability": "mutable", "name": "agent", - "nameLocation": "5170:5:26", + "nameLocation": "5169:5:26", "nodeType": "VariableDeclaration", - "scope": 3403, - "src": "5162:13:26", + "scope": 3404, + "src": "5161:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41425,10 +41414,10 @@ "typeString": "address" }, "typeName": { - "id": 3351, + "id": 3352, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5162:7:26", + "src": "5161:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -41439,13 +41428,13 @@ }, { "constant": false, - "id": 3354, + "id": 3355, "mutability": "mutable", "name": "name", - "nameLocation": "5199:4:26", + "nameLocation": "5198:4:26", "nodeType": "VariableDeclaration", - "scope": 3403, - "src": "5185:18:26", + "scope": 3404, + "src": "5184:18:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -41453,10 +41442,10 @@ "typeString": "string" }, "typeName": { - "id": 3353, + "id": 3354, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5185:6:26", + "src": "5184:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -41466,13 +41455,13 @@ }, { "constant": false, - "id": 3356, + "id": 3357, "mutability": "mutable", "name": "agentUri", - "nameLocation": "5227:8:26", + "nameLocation": "5226:8:26", "nodeType": "VariableDeclaration", - "scope": 3403, - "src": "5213:22:26", + "scope": 3404, + "src": "5212:22:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -41480,10 +41469,10 @@ "typeString": "string" }, "typeName": { - "id": 3355, + "id": 3356, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5213:6:26", + "src": "5212:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -41493,13 +41482,13 @@ }, { "constant": false, - "id": 3358, + "id": 3359, "mutability": "mutable", "name": "serviceName", - "nameLocation": "5259:11:26", + "nameLocation": "5258:11:26", "nodeType": "VariableDeclaration", - "scope": 3403, - "src": "5245:25:26", + "scope": 3404, + "src": "5244:25:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -41507,10 +41496,10 @@ "typeString": "string" }, "typeName": { - "id": 3357, + "id": 3358, "name": "string", "nodeType": "ElementaryTypeName", - "src": "5245:6:26", + "src": "5244:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -41520,13 +41509,13 @@ }, { "constant": false, - "id": 3360, + "id": 3361, "mutability": "mutable", "name": "servicePrice", - "nameLocation": "5288:12:26", + "nameLocation": "5287:12:26", "nodeType": "VariableDeclaration", - "scope": 3403, - "src": "5280:20:26", + "scope": 3404, + "src": "5279:20:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41534,10 +41523,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3359, + "id": 3360, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "5280:7:26", + "src": "5279:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41547,13 +41536,13 @@ }, { "constant": false, - "id": 3362, + "id": 3363, "mutability": "mutable", "name": "tokenAddress", - "nameLocation": "5318:12:26", + "nameLocation": "5317:12:26", "nodeType": "VariableDeclaration", - "scope": 3403, - "src": "5310:20:26", + "scope": 3404, + "src": "5309:20:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41561,10 +41550,10 @@ "typeString": "address" }, "typeName": { - "id": 3361, + "id": 3362, "name": "address", "nodeType": "ElementaryTypeName", - "src": "5310:7:26", + "src": "5309:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -41574,25 +41563,25 @@ "visibility": "internal" } ], - "src": "5152:184:26" + "src": "5151:184:26" }, "returnParameters": { - "id": 3364, + "id": 3365, "nodeType": "ParameterList", "parameters": [], - "src": "5346:0:26" + "src": "5345:0:26" }, - "scope": 4016, - "src": "5118:577:26", + "scope": 4017, + "src": "5118:576:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 3433, + "id": 3434, "nodeType": "Block", - "src": "6299:208:26", + "src": "6298:208:26", "statements": [ { "expression": { @@ -41600,12 +41589,12 @@ { "arguments": [ { - "id": 3421, + "id": 3422, "name": "serviceName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6366:11:26", + "referencedDeclaration": 3409, + "src": "6365:11:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -41620,33 +41609,33 @@ } ], "expression": { - "id": 3419, + "id": 3420, "name": "serviceRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3138, - "src": "6330:15:26", + "referencedDeclaration": 3139, + "src": "6329:15:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, - "id": 3420, + "id": 3421, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "6346:19:26", + "memberLocation": "6345:19:26", "memberName": "isServiceRegistered", "nodeType": "MemberAccess", - "referencedDeclaration": 4563, - "src": "6330:35:26", + "referencedDeclaration": 4564, + "src": "6329:35:26", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view external returns (bool)" } }, - "id": 3422, + "id": 3423, "isConstant": false, "isLValue": false, "isPure": false, @@ -41655,7 +41644,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6330:48:26", + "src": "6329:48:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -41664,14 +41653,14 @@ }, { "hexValue": "53657276696365206e6f742072656769737465726564", - "id": 3423, + "id": 3424, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "6392:24:26", + "src": "6391:24:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6", "typeString": "literal_string \"Service not registered\"" @@ -41690,7 +41679,7 @@ "typeString": "literal_string \"Service not registered\"" } ], - "id": 3418, + "id": 3419, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -41698,13 +41687,13 @@ -18 ], "referencedDeclaration": -18, - "src": "6309:7:26", + "src": "6308:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3424, + "id": 3425, "isConstant": false, "isLValue": false, "isPure": false, @@ -41713,63 +41702,63 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6309:117:26", + "src": "6308:117:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3425, + "id": 3426, "nodeType": "ExpressionStatement", - "src": "6309:117:26" + "src": "6308:117:26" }, { "expression": { "arguments": [ { - "id": 3427, + "id": 3428, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3406, - "src": "6453:5:26", + "referencedDeclaration": 3407, + "src": "6452:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3428, + "id": 3429, "name": "serviceName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3408, - "src": "6460:11:26", + "referencedDeclaration": 3409, + "src": "6459:11:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 3429, + "id": 3430, "name": "servicePrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3410, - "src": "6473:12:26", + "referencedDeclaration": 3411, + "src": "6472:12:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 3430, + "id": 3431, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3412, - "src": "6487:12:26", + "referencedDeclaration": 3413, + "src": "6486:12:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -41795,18 +41784,18 @@ "typeString": "address" } ], - "id": 3426, + "id": 3427, "name": "_createProposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3843, - "src": "6437:15:26", + "referencedDeclaration": 3844, + "src": "6436:15:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$", "typeString": "function (address,string memory,uint256,address)" } }, - "id": 3431, + "id": 3432, "isConstant": false, "isLValue": false, "isPure": false, @@ -41815,77 +41804,77 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "6437:63:26", + "src": "6436:63:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3432, + "id": 3433, "nodeType": "ExpressionStatement", - "src": "6437:63:26" + "src": "6436:63:26" } ] }, "documentation": { - "id": 3404, + "id": 3405, "nodeType": "StructuredDocumentation", - "src": "5701:419:26", + "src": "5700:419:26", "text": " @dev Adds a new proposal for an agent.\n @param agent The address of the agent.\n @param serviceName The name of the service.\n @param servicePrice The price of the service.\n Requirements:\n - The caller must be the owner of the agent.\n - The agent must be registered.\n - The service must be registered.\n Emits a {ProposalAdded} event." }, "functionSelector": "aebfd80e", - "id": 3434, + "id": 3435, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 3415, + "id": 3416, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3406, - "src": "6292:5:26", + "referencedDeclaration": 3407, + "src": "6291:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 3416, + "id": 3417, "kind": "modifierInvocation", "modifierName": { - "id": 3414, + "id": 3415, "name": "onlyAgentOwner", "nameLocations": [ - "6277:14:26" + "6276:14:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3169, - "src": "6277:14:26" + "referencedDeclaration": 3170, + "src": "6276:14:26" }, "nodeType": "ModifierInvocation", - "src": "6277:21:26" + "src": "6276:21:26" } ], "name": "addProposal", - "nameLocation": "6134:11:26", + "nameLocation": "6133:11:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3413, + "id": 3414, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3406, + "id": 3407, "mutability": "mutable", "name": "agent", - "nameLocation": "6163:5:26", + "nameLocation": "6162:5:26", "nodeType": "VariableDeclaration", - "scope": 3434, - "src": "6155:13:26", + "scope": 3435, + "src": "6154:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41893,10 +41882,10 @@ "typeString": "address" }, "typeName": { - "id": 3405, + "id": 3406, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6155:7:26", + "src": "6154:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -41907,13 +41896,13 @@ }, { "constant": false, - "id": 3408, + "id": 3409, "mutability": "mutable", "name": "serviceName", - "nameLocation": "6192:11:26", + "nameLocation": "6191:11:26", "nodeType": "VariableDeclaration", - "scope": 3434, - "src": "6178:25:26", + "scope": 3435, + "src": "6177:25:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -41921,10 +41910,10 @@ "typeString": "string" }, "typeName": { - "id": 3407, + "id": 3408, "name": "string", "nodeType": "ElementaryTypeName", - "src": "6178:6:26", + "src": "6177:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -41934,13 +41923,13 @@ }, { "constant": false, - "id": 3410, + "id": 3411, "mutability": "mutable", "name": "servicePrice", - "nameLocation": "6221:12:26", + "nameLocation": "6220:12:26", "nodeType": "VariableDeclaration", - "scope": 3434, - "src": "6213:20:26", + "scope": 3435, + "src": "6212:20:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41948,10 +41937,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3409, + "id": 3410, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "6213:7:26", + "src": "6212:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -41961,13 +41950,13 @@ }, { "constant": false, - "id": 3412, + "id": 3413, "mutability": "mutable", "name": "tokenAddress", - "nameLocation": "6251:12:26", + "nameLocation": "6250:12:26", "nodeType": "VariableDeclaration", - "scope": 3434, - "src": "6243:20:26", + "scope": 3435, + "src": "6242:20:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -41975,10 +41964,10 @@ "typeString": "address" }, "typeName": { - "id": 3411, + "id": 3412, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6243:7:26", + "src": "6242:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -41988,25 +41977,25 @@ "visibility": "internal" } ], - "src": "6145:124:26" + "src": "6144:124:26" }, "returnParameters": { - "id": 3417, + "id": 3418, "nodeType": "ParameterList", "parameters": [], - "src": "6299:0:26" + "src": "6298:0:26" }, - "scope": 4016, - "src": "6125:382:26", + "scope": 4017, + "src": "6124:382:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 3469, + "id": 3470, "nodeType": "Block", - "src": "7092:237:26", + "src": "7091:237:26", "statements": [ { "expression": { @@ -42016,7 +42005,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3453, + "id": 3454, "isConstant": false, "isLValue": false, "isPure": false, @@ -42024,25 +42013,25 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 3448, + "id": 3449, "name": "proposals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3150, - "src": "7123:9:26", + "referencedDeclaration": 3151, + "src": "7122:9:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5342_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5312_storage_$", "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" } }, - "id": 3450, + "id": 3451, "indexExpression": { - "id": 3449, + "id": 3450, "name": "proposalId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "7133:10:26", + "referencedDeclaration": 3440, + "src": "7132:10:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42053,22 +42042,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7123:21:26", + "src": "7122:21:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage", "typeString": "struct IProposalStruct.ServiceProposal storage ref" } }, - "id": 3451, + "id": 3452, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7145:6:26", + "memberLocation": "7144:6:26", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 5331, - "src": "7123:28:26", + "referencedDeclaration": 5301, + "src": "7122:28:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42077,18 +42066,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 3452, + "id": 3453, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "7155:5:26", + "referencedDeclaration": 3438, + "src": "7154:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7123:37:26", + "src": "7122:37:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -42096,14 +42085,14 @@ }, { "hexValue": "5365727669636550726f706f73616c206e6f7420666f756e64", - "id": 3454, + "id": 3455, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7174:27:26", + "src": "7173:27:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829", "typeString": "literal_string \"ServiceProposal not found\"" @@ -42122,7 +42111,7 @@ "typeString": "literal_string \"ServiceProposal not found\"" } ], - "id": 3447, + "id": 3448, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -42130,13 +42119,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7102:7:26", + "src": "7101:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3455, + "id": 3456, "isConstant": false, "isLValue": false, "isPure": false, @@ -42145,20 +42134,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7102:109:26", + "src": "7101:109:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3456, + "id": 3457, "nodeType": "ExpressionStatement", - "src": "7102:109:26" + "src": "7101:109:26" }, { "expression": { - "id": 3460, + "id": 3461, "isConstant": false, "isLValue": false, "isPure": false, @@ -42166,28 +42155,28 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "7222:28:26", + "src": "7221:28:26", "subExpression": { "baseExpression": { - "id": 3457, + "id": 3458, "name": "proposals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3150, - "src": "7229:9:26", + "referencedDeclaration": 3151, + "src": "7228:9:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5342_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5312_storage_$", "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" } }, - "id": 3459, + "id": 3460, "indexExpression": { - "id": 3458, + "id": 3459, "name": "proposalId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "7239:10:26", + "referencedDeclaration": 3440, + "src": "7238:10:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42198,9 +42187,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "7229:21:26", + "src": "7228:21:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage", "typeString": "struct IProposalStruct.ServiceProposal storage ref" } }, @@ -42209,32 +42198,32 @@ "typeString": "tuple()" } }, - "id": 3461, + "id": 3462, "nodeType": "ExpressionStatement", - "src": "7222:28:26" + "src": "7221:28:26" }, { "eventCall": { "arguments": [ { - "id": 3463, + "id": 3464, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "7282:5:26", + "referencedDeclaration": 3438, + "src": "7281:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3464, + "id": 3465, "name": "proposalId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3439, - "src": "7289:10:26", + "referencedDeclaration": 3440, + "src": "7288:10:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42252,18 +42241,18 @@ "typeString": "uint256" } ], - "id": 3462, + "id": 3463, "name": "ProposalRemoved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "7266:15:26", + "referencedDeclaration": 3245, + "src": "7265:15:26", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 3465, + "id": 3466, "isConstant": false, "isLValue": false, "isPure": false, @@ -42272,99 +42261,99 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7266:34:26", + "src": "7265:34:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3466, + "id": 3467, "nodeType": "EmitStatement", - "src": "7261:39:26" + "src": "7260:39:26" }, { "expression": { "hexValue": "74727565", - "id": 3467, + "id": 3468, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "7318:4:26", + "src": "7317:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" }, "value": "true" }, - "functionReturnParameters": 3446, - "id": 3468, + "functionReturnParameters": 3447, + "id": 3469, "nodeType": "Return", - "src": "7311:11:26" + "src": "7310:11:26" } ] }, "documentation": { - "id": 3435, + "id": 3436, "nodeType": "StructuredDocumentation", - "src": "6513:447:26", + "src": "6512:447:26", "text": " @dev Removes a proposal for an agent.\n @param agent The address of the agent.\n @param proposalId The ID of the proposal to remove.\n @return true if the proposal was removed successfully, false otherwise.\n Requirements:\n - The caller must be the owner of the agent.\n - The agent must be registered.\n - The proposal must exist.\n Emits a {ProposalRemoved} event." }, "functionSelector": "7b5c219d", - "id": 3470, + "id": 3471, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 3442, + "id": 3443, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3437, - "src": "7070:5:26", + "referencedDeclaration": 3438, + "src": "7069:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 3443, + "id": 3444, "kind": "modifierInvocation", "modifierName": { - "id": 3441, + "id": 3442, "name": "onlyAgentOwner", "nameLocations": [ - "7055:14:26" + "7054:14:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3169, - "src": "7055:14:26" + "referencedDeclaration": 3170, + "src": "7054:14:26" }, "nodeType": "ModifierInvocation", - "src": "7055:21:26" + "src": "7054:21:26" } ], "name": "removeProposal", - "nameLocation": "6974:14:26", + "nameLocation": "6973:14:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3440, + "id": 3441, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3437, + "id": 3438, "mutability": "mutable", "name": "agent", - "nameLocation": "7006:5:26", + "nameLocation": "7005:5:26", "nodeType": "VariableDeclaration", - "scope": 3470, - "src": "6998:13:26", + "scope": 3471, + "src": "6997:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42372,10 +42361,10 @@ "typeString": "address" }, "typeName": { - "id": 3436, + "id": 3437, "name": "address", "nodeType": "ElementaryTypeName", - "src": "6998:7:26", + "src": "6997:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -42386,13 +42375,13 @@ }, { "constant": false, - "id": 3439, + "id": 3440, "mutability": "mutable", "name": "proposalId", - "nameLocation": "7029:10:26", + "nameLocation": "7028:10:26", "nodeType": "VariableDeclaration", - "scope": 3470, - "src": "7021:18:26", + "scope": 3471, + "src": "7020:18:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42400,10 +42389,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3438, + "id": 3439, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "7021:7:26", + "src": "7020:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -42412,21 +42401,21 @@ "visibility": "internal" } ], - "src": "6988:57:26" + "src": "6987:57:26" }, "returnParameters": { - "id": 3446, + "id": 3447, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3445, + "id": 3446, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 3470, - "src": "7086:4:26", + "scope": 3471, + "src": "7085:4:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -42434,10 +42423,10 @@ "typeString": "bool" }, "typeName": { - "id": 3444, + "id": 3445, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "7086:4:26", + "src": "7085:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -42446,19 +42435,19 @@ "visibility": "internal" } ], - "src": "7085:6:26" + "src": "7084:6:26" }, - "scope": 4016, - "src": "6965:364:26", + "scope": 4017, + "src": "6964:364:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 3532, + "id": 3533, "nodeType": "Block", - "src": "7474:490:26", + "src": "7473:490:26", "statements": [ { "expression": { @@ -42468,7 +42457,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3485, + "id": 3486, "isConstant": false, "isLValue": false, "isPure": false, @@ -42476,25 +42465,25 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 3477, + "id": 3478, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "7492:6:26", + "referencedDeclaration": 3146, + "src": "7491:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3479, + "id": 3480, "indexExpression": { - "id": 3478, + "id": 3479, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3473, - "src": "7499:5:26", + "referencedDeclaration": 3474, + "src": "7498:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42505,22 +42494,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "7492:13:26", + "src": "7491:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3480, + "id": 3481, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7506:5:26", + "memberLocation": "7505:5:26", "memberName": "agent", "nodeType": "MemberAccess", - "referencedDeclaration": 3127, - "src": "7492:19:26", + "referencedDeclaration": 3128, + "src": "7491:19:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42532,14 +42521,14 @@ "arguments": [ { "hexValue": "30", - "id": 3483, + "id": 3484, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "7523:1:26", + "src": "7522:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -42554,26 +42543,26 @@ "typeString": "int_const 0" } ], - "id": 3482, + "id": 3483, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "7515:7:26", + "src": "7514:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 3481, + "id": 3482, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7515:7:26", + "src": "7514:7:26", "typeDescriptions": {} } }, - "id": 3484, + "id": 3485, "isConstant": false, "isLValue": false, "isPure": true, @@ -42582,14 +42571,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7515:10:26", + "src": "7514:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7492:33:26", + "src": "7491:33:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -42597,14 +42586,14 @@ }, { "hexValue": "4167656e7420616c72656164792072656769737465726564", - "id": 3486, + "id": 3487, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7527:26:26", + "src": "7526:26:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b", "typeString": "literal_string \"Agent already registered\"" @@ -42623,7 +42612,7 @@ "typeString": "literal_string \"Agent already registered\"" } ], - "id": 3476, + "id": 3477, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -42631,13 +42620,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7484:7:26", + "src": "7483:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3487, + "id": 3488, "isConstant": false, "isLValue": false, "isPure": false, @@ -42646,71 +42635,71 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7484:70:26", + "src": "7483:70:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3488, + "id": 3489, "nodeType": "ExpressionStatement", - "src": "7484:70:26" + "src": "7483:70:26" }, { "assignments": [ - 3493 + 3494 ], "declarations": [ { "constant": false, - "id": 3493, + "id": 3494, "mutability": "mutable", "name": "v1AgentData", - "nameLocation": "7599:11:26", + "nameLocation": "7598:11:26", "nodeType": "VariableDeclaration", - "scope": 3532, - "src": "7565:45:26", + "scope": 3533, + "src": "7564:45:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$5289_memory_ptr", + "typeIdentifier": "t_struct$_AgentData_$5259_memory_ptr", "typeString": "struct IAgentRegistryV1.AgentData" }, "typeName": { - "id": 3492, + "id": 3493, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3491, + "id": 3492, "name": "IAgentRegistryV1.AgentData", "nameLocations": [ - "7565:16:26", - "7582:9:26" + "7564:16:26", + "7581:9:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5289, - "src": "7565:26:26" + "referencedDeclaration": 5259, + "src": "7564:26:26" }, - "referencedDeclaration": 5289, - "src": "7565:26:26", + "referencedDeclaration": 5259, + "src": "7564:26:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$5289_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$5259_storage_ptr", "typeString": "struct IAgentRegistryV1.AgentData" } }, "visibility": "internal" } ], - "id": 3500, + "id": 3501, "initialValue": { "arguments": [ { - "id": 3498, + "id": 3499, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3473, - "src": "7660:5:26", + "referencedDeclaration": 3474, + "src": "7659:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42727,14 +42716,14 @@ "expression": { "arguments": [ { - "id": 3495, + "id": 3496, "name": "agentRegistryV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3135, - "src": "7630:15:26", + "referencedDeclaration": 3136, + "src": "7629:15:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } } @@ -42742,22 +42731,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } ], - "id": 3494, + "id": 3495, "name": "IAgentRegistryV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5327, - "src": "7613:16:26", + "referencedDeclaration": 5297, + "src": "7612:16:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAgentRegistryV1_$5327_$", + "typeIdentifier": "t_type$_t_contract$_IAgentRegistryV1_$5297_$", "typeString": "type(contract IAgentRegistryV1)" } }, - "id": 3496, + "id": 3497, "isConstant": false, "isLValue": false, "isPure": false, @@ -42766,29 +42755,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7613:33:26", + "src": "7612:33:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } }, - "id": 3497, + "id": 3498, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7647:12:26", + "memberLocation": "7646:12:26", "memberName": "getAgentData", "nodeType": "MemberAccess", - "referencedDeclaration": 5308, - "src": "7613:46:26", + "referencedDeclaration": 5278, + "src": "7612:46:26", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_struct$_AgentData_$5289_memory_ptr_$", + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_struct$_AgentData_$5259_memory_ptr_$", "typeString": "function (address) view external returns (struct IAgentRegistryV1.AgentData memory)" } }, - "id": 3499, + "id": 3500, "isConstant": false, "isLValue": false, "isPure": false, @@ -42797,15 +42786,15 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7613:53:26", + "src": "7612:53:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$5289_memory_ptr", + "typeIdentifier": "t_struct$_AgentData_$5259_memory_ptr", "typeString": "struct IAgentRegistryV1.AgentData memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "7565:101:26" + "src": "7564:101:26" }, { "expression": { @@ -42815,7 +42804,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 3512, + "id": 3513, "isConstant": false, "isLValue": false, "isPure": false, @@ -42825,33 +42814,33 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3506, + "id": 3507, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 3502, + "id": 3503, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "7698:3:26", + "src": "7697:3:26", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3503, + "id": 3504, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7702:6:26", + "memberLocation": "7701:6:26", "memberName": "sender", "nodeType": "MemberAccess", - "src": "7698:10:26", + "src": "7697:10:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42861,33 +42850,33 @@ "operator": "==", "rightExpression": { "expression": { - "id": 3504, + "id": 3505, "name": "v1AgentData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "7712:11:26", + "referencedDeclaration": 3494, + "src": "7711:11:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$5289_memory_ptr", + "typeIdentifier": "t_struct$_AgentData_$5259_memory_ptr", "typeString": "struct IAgentRegistryV1.AgentData memory" } }, - "id": 3505, + "id": 3506, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7724:5:26", + "memberLocation": "7723:5:26", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 5282, - "src": "7712:17:26", + "referencedDeclaration": 5252, + "src": "7711:17:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7698:31:26", + "src": "7697:31:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -42900,33 +42889,33 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3511, + "id": 3512, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 3507, + "id": 3508, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "7733:3:26", + "src": "7732:3:26", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3508, + "id": 3509, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "7737:6:26", + "memberLocation": "7736:6:26", "memberName": "sender", "nodeType": "MemberAccess", - "src": "7733:10:26", + "src": "7732:10:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -42938,18 +42927,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 3509, + "id": 3510, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 105, - "src": "7747:5:26", + "src": "7746:5:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 3510, + "id": 3511, "isConstant": false, "isLValue": false, "isPure": false, @@ -42958,20 +42947,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7747:7:26", + "src": "7746:7:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "7733:21:26", + "src": "7732:21:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "7698:56:26", + "src": "7697:56:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -42979,14 +42968,14 @@ }, { "hexValue": "4e6f74206f776e6572206f72206167656e74206f776e6572", - "id": 3513, + "id": 3514, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "7768:26:26", + "src": "7767:26:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_50182bd41cda0e194d07720f94dca7a677e712fa34d7dd8998809213f4730ecf", "typeString": "literal_string \"Not owner or agent owner\"" @@ -43005,7 +42994,7 @@ "typeString": "literal_string \"Not owner or agent owner\"" } ], - "id": 3501, + "id": 3502, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -43013,13 +43002,13 @@ -18 ], "referencedDeclaration": -18, - "src": "7677:7:26", + "src": "7676:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3514, + "id": 3515, "isConstant": false, "isLValue": false, "isPure": false, @@ -43028,27 +43017,27 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7677:127:26", + "src": "7676:127:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3515, + "id": 3516, "nodeType": "ExpressionStatement", - "src": "7677:127:26" + "src": "7676:127:26" }, { "expression": { "arguments": [ { - "id": 3517, + "id": 3518, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3473, - "src": "7828:5:26", + "referencedDeclaration": 3474, + "src": "7827:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43056,27 +43045,27 @@ }, { "expression": { - "id": 3518, + "id": 3519, "name": "v1AgentData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "7835:11:26", + "referencedDeclaration": 3494, + "src": "7834:11:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$5289_memory_ptr", + "typeIdentifier": "t_struct$_AgentData_$5259_memory_ptr", "typeString": "struct IAgentRegistryV1.AgentData memory" } }, - "id": 3519, + "id": 3520, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7847:4:26", + "memberLocation": "7846:4:26", "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 5278, - "src": "7835:16:26", + "referencedDeclaration": 5248, + "src": "7834:16:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -43084,27 +43073,27 @@ }, { "expression": { - "id": 3520, + "id": 3521, "name": "v1AgentData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "7853:11:26", + "referencedDeclaration": 3494, + "src": "7852:11:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$5289_memory_ptr", + "typeIdentifier": "t_struct$_AgentData_$5259_memory_ptr", "typeString": "struct IAgentRegistryV1.AgentData memory" } }, - "id": 3521, + "id": 3522, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7865:8:26", + "memberLocation": "7864:8:26", "memberName": "agentUri", "nodeType": "MemberAccess", - "referencedDeclaration": 5280, - "src": "7853:20:26", + "referencedDeclaration": 5250, + "src": "7852:20:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -43112,27 +43101,27 @@ }, { "expression": { - "id": 3522, + "id": 3523, "name": "v1AgentData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "7875:11:26", + "referencedDeclaration": 3494, + "src": "7874:11:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$5289_memory_ptr", + "typeIdentifier": "t_struct$_AgentData_$5259_memory_ptr", "typeString": "struct IAgentRegistryV1.AgentData memory" } }, - "id": 3523, + "id": 3524, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7887:5:26", + "memberLocation": "7886:5:26", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 5282, - "src": "7875:17:26", + "referencedDeclaration": 5252, + "src": "7874:17:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43140,27 +43129,27 @@ }, { "expression": { - "id": 3524, + "id": 3525, "name": "v1AgentData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3493, - "src": "7894:11:26", + "referencedDeclaration": 3494, + "src": "7893:11:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$5289_memory_ptr", + "typeIdentifier": "t_struct$_AgentData_$5259_memory_ptr", "typeString": "struct IAgentRegistryV1.AgentData memory" } }, - "id": 3525, + "id": 3526, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "7906:10:26", + "memberLocation": "7905:10:26", "memberName": "reputation", "nodeType": "MemberAccess", - "referencedDeclaration": 5286, - "src": "7894:22:26", + "referencedDeclaration": 5256, + "src": "7893:22:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43190,18 +43179,18 @@ "typeString": "uint256" } ], - "id": 3516, + "id": 3517, "name": "_createAgent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3802, - "src": "7815:12:26", + "referencedDeclaration": 3803, + "src": "7814:12:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,string memory,string memory,address,uint256)" } }, - "id": 3526, + "id": 3527, "isConstant": false, "isLValue": false, "isPure": false, @@ -43210,27 +43199,27 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7815:102:26", + "src": "7814:102:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3527, + "id": 3528, "nodeType": "ExpressionStatement", - "src": "7815:102:26" + "src": "7814:102:26" }, { "expression": { "arguments": [ { - "id": 3529, + "id": 3530, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3473, - "src": "7951:5:26", + "referencedDeclaration": 3474, + "src": "7950:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43244,18 +43233,18 @@ "typeString": "address" } ], - "id": 3528, + "id": 3529, "name": "_migrateAgentProposals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3958, - "src": "7928:22:26", + "referencedDeclaration": 3959, + "src": "7927:22:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 3530, + "id": 3531, "isConstant": false, "isLValue": false, "isPure": false, @@ -43264,46 +43253,46 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "7928:29:26", + "src": "7927:29:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3531, + "id": 3532, "nodeType": "ExpressionStatement", - "src": "7928:29:26" + "src": "7927:29:26" } ] }, "documentation": { - "id": 3471, + "id": 3472, "nodeType": "StructuredDocumentation", - "src": "7335:88:26", + "src": "7334:88:26", "text": " @dev Migrates an agent.\n @param agent The address of the agent." }, "functionSelector": "5c8a4839", - "id": 3533, + "id": 3534, "implemented": true, "kind": "function", "modifiers": [], "name": "migrateAgent", - "nameLocation": "7437:12:26", + "nameLocation": "7436:12:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3474, + "id": 3475, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3473, + "id": 3474, "mutability": "mutable", "name": "agent", - "nameLocation": "7458:5:26", + "nameLocation": "7457:5:26", "nodeType": "VariableDeclaration", - "scope": 3533, - "src": "7450:13:26", + "scope": 3534, + "src": "7449:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -43311,10 +43300,10 @@ "typeString": "address" }, "typeName": { - "id": 3472, + "id": 3473, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7450:7:26", + "src": "7449:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -43324,25 +43313,25 @@ "visibility": "internal" } ], - "src": "7449:15:26" + "src": "7448:15:26" }, "returnParameters": { - "id": 3475, + "id": 3476, "nodeType": "ParameterList", "parameters": [], - "src": "7474:0:26" + "src": "7473:0:26" }, - "scope": 4016, - "src": "7428:536:26", + "scope": 4017, + "src": "7427:536:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 3607, + "id": 3608, "nodeType": "Block", - "src": "8068:545:26", + "src": "8067:545:26", "statements": [ { "expression": { @@ -43352,33 +43341,33 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3546, + "id": 3547, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 3543, + "id": 3544, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -15, - "src": "8086:3:26", + "src": "8085:3:26", "typeDescriptions": { "typeIdentifier": "t_magic_message", "typeString": "msg" } }, - "id": 3544, + "id": 3545, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "8090:6:26", + "memberLocation": "8089:6:26", "memberName": "sender", "nodeType": "MemberAccess", - "src": "8086:10:26", + "src": "8085:10:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43387,18 +43376,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 3545, + "id": 3546, "name": "taskRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3140, - "src": "8100:12:26", + "referencedDeclaration": 3141, + "src": "8099:12:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "8086:26:26", + "src": "8085:26:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43406,14 +43395,14 @@ }, { "hexValue": "4e6f7420746865205461736b526567697374727920636f6e7472616374", - "id": 3547, + "id": 3548, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8114:31:26", + "src": "8113:31:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_ab4f7bdcd44e35f2fe5cd34e07194c1c227455329229f7f3f1e8494de9e5c74c", "typeString": "literal_string \"Not the TaskRegistry contract\"" @@ -43432,7 +43421,7 @@ "typeString": "literal_string \"Not the TaskRegistry contract\"" } ], - "id": 3542, + "id": 3543, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -43440,13 +43429,13 @@ -18 ], "referencedDeclaration": -18, - "src": "8078:7:26", + "src": "8077:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3548, + "id": 3549, "isConstant": false, "isLValue": false, "isPure": false, @@ -43455,16 +43444,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8078:68:26", + "src": "8077:68:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3549, + "id": 3550, "nodeType": "ExpressionStatement", - "src": "8078:68:26" + "src": "8077:68:26" }, { "expression": { @@ -43474,7 +43463,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 3557, + "id": 3558, "isConstant": false, "isLValue": false, "isPure": false, @@ -43484,18 +43473,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3553, + "id": 3554, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 3551, + "id": 3552, "name": "_rating", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3537, - "src": "8177:7:26", + "referencedDeclaration": 3538, + "src": "8176:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43505,21 +43494,21 @@ "operator": ">=", "rightExpression": { "hexValue": "30", - "id": 3552, + "id": 3553, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8188:1:26", + "src": "8187:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "8177:12:26", + "src": "8176:12:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43532,18 +43521,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3556, + "id": 3557, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 3554, + "id": 3555, "name": "_rating", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3537, - "src": "8193:7:26", + "referencedDeclaration": 3538, + "src": "8192:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43553,27 +43542,27 @@ "operator": "<=", "rightExpression": { "hexValue": "313030", - "id": 3555, + "id": 3556, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8204:3:26", + "src": "8203:3:26", "typeDescriptions": { "typeIdentifier": "t_rational_100_by_1", "typeString": "int_const 100" }, "value": "100" }, - "src": "8193:14:26", + "src": "8192:14:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "8177:30:26", + "src": "8176:30:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -43581,14 +43570,14 @@ }, { "hexValue": "526174696e67206d757374206265206265747765656e203020616e6420313030", - "id": 3558, + "id": 3559, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "8221:34:26", + "src": "8220:34:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e", "typeString": "literal_string \"Rating must be between 0 and 100\"" @@ -43607,7 +43596,7 @@ "typeString": "literal_string \"Rating must be between 0 and 100\"" } ], - "id": 3550, + "id": 3551, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -43615,13 +43604,13 @@ -18 ], "referencedDeclaration": -18, - "src": "8156:7:26", + "src": "8155:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3559, + "id": 3560, "isConstant": false, "isLValue": false, "isPure": false, @@ -43630,20 +43619,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8156:109:26", + "src": "8155:109:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3560, + "id": 3561, "nodeType": "ExpressionStatement", - "src": "8156:109:26" + "src": "8155:109:26" }, { "expression": { - "id": 3566, + "id": 3567, "isConstant": false, "isLValue": false, "isPure": false, @@ -43651,25 +43640,25 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 3561, + "id": 3562, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "8275:6:26", + "referencedDeclaration": 3146, + "src": "8274:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3563, + "id": 3564, "indexExpression": { - "id": 3562, + "id": 3563, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "8282:5:26", + "referencedDeclaration": 3536, + "src": "8281:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43680,22 +43669,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8275:13:26", + "src": "8274:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3564, + "id": 3565, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "8289:12:26", + "memberLocation": "8288:12:26", "memberName": "totalRatings", "nodeType": "MemberAccess", - "referencedDeclaration": 3131, - "src": "8275:26:26", + "referencedDeclaration": 3132, + "src": "8274:26:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43705,33 +43694,33 @@ "operator": "+=", "rightHandSide": { "hexValue": "31", - "id": 3565, + "id": 3566, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8305:1:26", + "src": "8304:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "8275:31:26", + "src": "8274:31:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3567, + "id": 3568, "nodeType": "ExpressionStatement", - "src": "8275:31:26" + "src": "8274:31:26" }, { "expression": { - "id": 3592, + "id": 3593, "isConstant": false, "isLValue": false, "isPure": false, @@ -43739,25 +43728,25 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 3568, + "id": 3569, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "8316:6:26", + "referencedDeclaration": 3146, + "src": "8315:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3570, + "id": 3571, "indexExpression": { - "id": 3569, + "id": 3570, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "8323:5:26", + "referencedDeclaration": 3536, + "src": "8322:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43768,22 +43757,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8316:13:26", + "src": "8315:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3571, + "id": 3572, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "8330:10:26", + "memberLocation": "8329:10:26", "memberName": "reputation", "nodeType": "MemberAccess", - "referencedDeclaration": 3129, - "src": "8316:24:26", + "referencedDeclaration": 3130, + "src": "8315:24:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43796,7 +43785,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3591, + "id": 3592, "isConstant": false, "isLValue": false, "isPure": false, @@ -43808,7 +43797,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3585, + "id": 3586, "isConstant": false, "isLValue": false, "isPure": false, @@ -43818,7 +43807,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3583, + "id": 3584, "isConstant": false, "isLValue": false, "isPure": false, @@ -43826,25 +43815,25 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 3572, + "id": 3573, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "8356:6:26", + "referencedDeclaration": 3146, + "src": "8355:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3574, + "id": 3575, "indexExpression": { - "id": 3573, + "id": 3574, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "8363:5:26", + "referencedDeclaration": 3536, + "src": "8362:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43855,22 +43844,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8356:13:26", + "src": "8355:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3575, + "id": 3576, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8370:10:26", + "memberLocation": "8369:10:26", "memberName": "reputation", "nodeType": "MemberAccess", - "referencedDeclaration": 3129, - "src": "8356:24:26", + "referencedDeclaration": 3130, + "src": "8355:24:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43885,7 +43874,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3581, + "id": 3582, "isConstant": false, "isLValue": false, "isPure": false, @@ -43893,25 +43882,25 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 3576, + "id": 3577, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "8400:6:26", + "referencedDeclaration": 3146, + "src": "8399:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3578, + "id": 3579, "indexExpression": { - "id": 3577, + "id": 3578, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "8407:5:26", + "referencedDeclaration": 3536, + "src": "8406:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -43922,22 +43911,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8400:13:26", + "src": "8399:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3579, + "id": 3580, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8414:12:26", + "memberLocation": "8413:12:26", "memberName": "totalRatings", "nodeType": "MemberAccess", - "referencedDeclaration": 3131, - "src": "8400:26:26", + "referencedDeclaration": 3132, + "src": "8399:26:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43947,41 +43936,41 @@ "operator": "-", "rightExpression": { "hexValue": "31", - "id": 3580, + "id": 3581, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "8429:1:26", + "src": "8428:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" }, "value": "1" }, - "src": "8400:30:26", + "src": "8399:30:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 3582, + "id": 3583, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8399:32:26", + "src": "8398:32:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8356:75:26", + "src": "8355:75:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -43990,32 +43979,32 @@ "nodeType": "BinaryOperation", "operator": "+", "rightExpression": { - "id": 3584, + "id": 3585, "name": "_rating", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3537, - "src": "8450:7:26", + "referencedDeclaration": 3538, + "src": "8449:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8356:101:26", + "src": "8355:101:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "id": 3586, + "id": 3587, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "8355:103:26", + "src": "8354:103:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44026,25 +44015,25 @@ "rightExpression": { "expression": { "baseExpression": { - "id": 3587, + "id": 3588, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "8473:6:26", + "referencedDeclaration": 3146, + "src": "8472:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3589, + "id": 3590, "indexExpression": { - "id": 3588, + "id": 3589, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "8480:5:26", + "referencedDeclaration": 3536, + "src": "8479:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44055,53 +44044,53 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8473:13:26", + "src": "8472:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3590, + "id": 3591, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8487:12:26", + "memberLocation": "8486:12:26", "memberName": "totalRatings", "nodeType": "MemberAccess", - "referencedDeclaration": 3131, - "src": "8473:26:26", + "referencedDeclaration": 3132, + "src": "8472:26:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8355:144:26", + "src": "8354:144:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "8316:183:26", + "src": "8315:183:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3593, + "id": 3594, "nodeType": "ExpressionStatement", - "src": "8316:183:26" + "src": "8315:183:26" }, { "eventCall": { "arguments": [ { - "id": 3595, + "id": 3596, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "8532:5:26", + "referencedDeclaration": 3536, + "src": "8531:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44110,25 +44099,25 @@ { "expression": { "baseExpression": { - "id": 3596, + "id": 3597, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "8539:6:26", + "referencedDeclaration": 3146, + "src": "8538:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3598, + "id": 3599, "indexExpression": { - "id": 3597, + "id": 3598, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "8546:5:26", + "referencedDeclaration": 3536, + "src": "8545:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44139,22 +44128,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8539:13:26", + "src": "8538:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3599, + "id": 3600, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8553:10:26", + "memberLocation": "8552:10:26", "memberName": "reputation", "nodeType": "MemberAccess", - "referencedDeclaration": 3129, - "src": "8539:24:26", + "referencedDeclaration": 3130, + "src": "8538:24:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44172,18 +44161,18 @@ "typeString": "uint256" } ], - "id": 3594, + "id": 3595, "name": "ReputationUpdated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3226, - "src": "8514:17:26", + "referencedDeclaration": 3227, + "src": "8513:17:26", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 3600, + "id": 3601, "isConstant": false, "isLValue": false, "isPure": false, @@ -44192,40 +44181,40 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "8514:50:26", + "src": "8513:50:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3601, + "id": 3602, "nodeType": "EmitStatement", - "src": "8509:55:26" + "src": "8508:55:26" }, { "expression": { "expression": { "baseExpression": { - "id": 3602, + "id": 3603, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "8582:6:26", + "referencedDeclaration": 3146, + "src": "8581:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3604, + "id": 3605, "indexExpression": { - "id": 3603, + "id": 3604, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3535, - "src": "8589:5:26", + "referencedDeclaration": 3536, + "src": "8588:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44236,55 +44225,55 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8582:13:26", + "src": "8581:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3605, + "id": 3606, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8596:10:26", + "memberLocation": "8595:10:26", "memberName": "reputation", "nodeType": "MemberAccess", - "referencedDeclaration": 3129, - "src": "8582:24:26", + "referencedDeclaration": 3130, + "src": "8581:24:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 3541, - "id": 3606, + "functionReturnParameters": 3542, + "id": 3607, "nodeType": "Return", - "src": "8575:31:26" + "src": "8574:31:26" } ] }, "functionSelector": "70370a81", - "id": 3608, + "id": 3609, "implemented": true, "kind": "function", "modifiers": [], "name": "addRating", - "nameLocation": "7979:9:26", + "nameLocation": "7978:9:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3538, + "id": 3539, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3535, + "id": 3536, "mutability": "mutable", "name": "agent", - "nameLocation": "8006:5:26", + "nameLocation": "8005:5:26", "nodeType": "VariableDeclaration", - "scope": 3608, - "src": "7998:13:26", + "scope": 3609, + "src": "7997:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44292,10 +44281,10 @@ "typeString": "address" }, "typeName": { - "id": 3534, + "id": 3535, "name": "address", "nodeType": "ElementaryTypeName", - "src": "7998:7:26", + "src": "7997:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -44306,13 +44295,13 @@ }, { "constant": false, - "id": 3537, + "id": 3538, "mutability": "mutable", "name": "_rating", - "nameLocation": "8029:7:26", + "nameLocation": "8028:7:26", "nodeType": "VariableDeclaration", - "scope": 3608, - "src": "8021:15:26", + "scope": 3609, + "src": "8020:15:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44320,10 +44309,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3536, + "id": 3537, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8021:7:26", + "src": "8020:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44332,21 +44321,21 @@ "visibility": "internal" } ], - "src": "7988:54:26" + "src": "7987:54:26" }, "returnParameters": { - "id": 3541, + "id": 3542, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3540, + "id": 3541, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 3608, - "src": "8059:7:26", + "scope": 3609, + "src": "8058:7:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44354,10 +44343,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3539, + "id": 3540, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8059:7:26", + "src": "8058:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44366,43 +44355,43 @@ "visibility": "internal" } ], - "src": "8058:9:26" + "src": "8057:9:26" }, - "scope": 4016, - "src": "7970:643:26", + "scope": 4017, + "src": "7969:643:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { - "id": 3620, + "id": 3621, "nodeType": "Block", - "src": "8689:48:26", + "src": "8688:48:26", "statements": [ { "expression": { "expression": { "baseExpression": { - "id": 3615, + "id": 3616, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "8706:6:26", + "referencedDeclaration": 3146, + "src": "8705:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3617, + "id": 3618, "indexExpression": { - "id": 3616, + "id": 3617, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3610, - "src": "8713:5:26", + "referencedDeclaration": 3611, + "src": "8712:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44413,55 +44402,55 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "8706:13:26", + "src": "8705:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3618, + "id": 3619, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "8720:10:26", + "memberLocation": "8719:10:26", "memberName": "reputation", "nodeType": "MemberAccess", - "referencedDeclaration": 3129, - "src": "8706:24:26", + "referencedDeclaration": 3130, + "src": "8705:24:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "functionReturnParameters": 3614, - "id": 3619, + "functionReturnParameters": 3615, + "id": 3620, "nodeType": "Return", - "src": "8699:31:26" + "src": "8698:31:26" } ] }, "functionSelector": "9c89a0e2", - "id": 3621, + "id": 3622, "implemented": true, "kind": "function", "modifiers": [], "name": "getReputation", - "nameLocation": "8628:13:26", + "nameLocation": "8627:13:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3611, + "id": 3612, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3610, + "id": 3611, "mutability": "mutable", "name": "agent", - "nameLocation": "8650:5:26", + "nameLocation": "8649:5:26", "nodeType": "VariableDeclaration", - "scope": 3621, - "src": "8642:13:26", + "scope": 3622, + "src": "8641:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44469,10 +44458,10 @@ "typeString": "address" }, "typeName": { - "id": 3609, + "id": 3610, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8642:7:26", + "src": "8641:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -44482,21 +44471,21 @@ "visibility": "internal" } ], - "src": "8641:15:26" + "src": "8640:15:26" }, "returnParameters": { - "id": 3614, + "id": 3615, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3613, + "id": 3614, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 3621, - "src": "8680:7:26", + "scope": 3622, + "src": "8679:7:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44504,10 +44493,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3612, + "id": 3613, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "8680:7:26", + "src": "8679:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44516,85 +44505,85 @@ "visibility": "internal" } ], - "src": "8679:9:26" + "src": "8678:9:26" }, - "scope": 4016, - "src": "8619:118:26", + "scope": 4017, + "src": "8618:118:26", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "body": { - "id": 3639, + "id": 3640, "nodeType": "Block", - "src": "8989:77:26", + "src": "8988:77:26", "statements": [ { "assignments": [ - 3632 + 3633 ], "declarations": [ { "constant": false, - "id": 3632, + "id": 3633, "mutability": "mutable", "name": "data", - "nameLocation": "9017:4:26", + "nameLocation": "9016:4:26", "nodeType": "VariableDeclaration", - "scope": 3639, - "src": "8999:22:26", + "scope": 3640, + "src": "8998:22:26", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_storage_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData" }, "typeName": { - "id": 3631, + "id": 3632, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3630, + "id": 3631, "name": "AgentData", "nameLocations": [ - "8999:9:26" + "8998:9:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3132, - "src": "8999:9:26" + "referencedDeclaration": 3133, + "src": "8998:9:26" }, - "referencedDeclaration": 3132, - "src": "8999:9:26", + "referencedDeclaration": 3133, + "src": "8998:9:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_storage_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData" } }, "visibility": "internal" } ], - "id": 3636, + "id": 3637, "initialValue": { "baseExpression": { - "id": 3633, + "id": 3634, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "9024:6:26", + "referencedDeclaration": 3146, + "src": "9023:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3635, + "id": 3636, "indexExpression": { - "id": 3634, + "id": 3635, "name": "_agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3624, - "src": "9031:6:26", + "referencedDeclaration": 3625, + "src": "9030:6:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44605,62 +44594,62 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9024:14:26", + "src": "9023:14:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "8999:39:26" + "src": "8998:39:26" }, { "expression": { - "id": 3637, + "id": 3638, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3632, - "src": "9055:4:26", + "referencedDeclaration": 3633, + "src": "9054:4:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_storage_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage pointer" } }, - "functionReturnParameters": 3629, - "id": 3638, + "functionReturnParameters": 3630, + "id": 3639, "nodeType": "Return", - "src": "9048:11:26" + "src": "9047:11:26" } ] }, "documentation": { - "id": 3622, + "id": 3623, "nodeType": "StructuredDocumentation", - "src": "8743:148:26", + "src": "8742:148:26", "text": " @dev Returns the data of an agent.\n @param _agent The address of the agent.\n @return AgentData The data of the agent." }, "functionSelector": "aac9f15a", - "id": 3640, + "id": 3641, "implemented": true, "kind": "function", "modifiers": [], "name": "getAgentData", - "nameLocation": "8905:12:26", + "nameLocation": "8904:12:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3625, + "id": 3626, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3624, + "id": 3625, "mutability": "mutable", "name": "_agent", - "nameLocation": "8935:6:26", + "nameLocation": "8934:6:26", "nodeType": "VariableDeclaration", - "scope": 3640, - "src": "8927:14:26", + "scope": 3641, + "src": "8926:14:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44668,10 +44657,10 @@ "typeString": "address" }, "typeName": { - "id": 3623, + "id": 3624, "name": "address", "nodeType": "ElementaryTypeName", - "src": "8927:7:26", + "src": "8926:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -44681,86 +44670,86 @@ "visibility": "internal" } ], - "src": "8917:30:26" + "src": "8916:30:26" }, "returnParameters": { - "id": 3629, + "id": 3630, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3628, + "id": 3629, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 3640, - "src": "8971:16:26", + "scope": 3641, + "src": "8970:16:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_memory_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_memory_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData" }, "typeName": { - "id": 3627, + "id": 3628, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3626, + "id": 3627, "name": "AgentData", "nameLocations": [ - "8971:9:26" + "8970:9:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3132, - "src": "8971:9:26" + "referencedDeclaration": 3133, + "src": "8970:9:26" }, - "referencedDeclaration": 3132, - "src": "8971:9:26", + "referencedDeclaration": 3133, + "src": "8970:9:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_storage_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData" } }, "visibility": "internal" } ], - "src": "8970:18:26" + "src": "8969:18:26" }, - "scope": 4016, - "src": "8896:170:26", + "scope": 4017, + "src": "8895:170:26", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "body": { - "id": 3652, + "id": 3653, "nodeType": "Block", - "src": "9174:45:26", + "src": "9173:45:26", "statements": [ { "expression": { "baseExpression": { - "id": 3648, + "id": 3649, "name": "proposals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3150, - "src": "9191:9:26", + "referencedDeclaration": 3151, + "src": "9190:9:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5342_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5312_storage_$", "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" } }, - "id": 3650, + "id": 3651, "indexExpression": { - "id": 3649, + "id": 3650, "name": "proposalId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3642, - "src": "9201:10:26", + "referencedDeclaration": 3643, + "src": "9200:10:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44771,40 +44760,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9191:21:26", + "src": "9190:21:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage", "typeString": "struct IProposalStruct.ServiceProposal storage ref" } }, - "functionReturnParameters": 3647, - "id": 3651, + "functionReturnParameters": 3648, + "id": 3652, "nodeType": "Return", - "src": "9184:28:26" + "src": "9183:28:26" } ] }, "functionSelector": "c7f758a8", - "id": 3653, + "id": 3654, "implemented": true, "kind": "function", "modifiers": [], "name": "getProposal", - "nameLocation": "9081:11:26", + "nameLocation": "9080:11:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3643, + "id": 3644, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3642, + "id": 3643, "mutability": "mutable", "name": "proposalId", - "nameLocation": "9110:10:26", + "nameLocation": "9109:10:26", "nodeType": "VariableDeclaration", - "scope": 3653, - "src": "9102:18:26", + "scope": 3654, + "src": "9101:18:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -44812,10 +44801,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3641, + "id": 3642, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "9102:7:26", + "src": "9101:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -44824,63 +44813,63 @@ "visibility": "internal" } ], - "src": "9092:34:26" + "src": "9091:34:26" }, "returnParameters": { - "id": 3647, + "id": 3648, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3646, + "id": 3647, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 3653, - "src": "9150:22:26", + "scope": 3654, + "src": "9149:22:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal" }, "typeName": { - "id": 3645, + "id": 3646, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3644, + "id": 3645, "name": "ServiceProposal", "nameLocations": [ - "9150:15:26" + "9149:15:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5342, - "src": "9150:15:26" + "referencedDeclaration": 5312, + "src": "9149:15:26" }, - "referencedDeclaration": 5342, - "src": "9150:15:26", + "referencedDeclaration": 5312, + "src": "9149:15:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage_ptr", "typeString": "struct IProposalStruct.ServiceProposal" } }, "visibility": "internal" } ], - "src": "9149:24:26" + "src": "9148:24:26" }, - "scope": 4016, - "src": "9072:147:26", + "scope": 4017, + "src": "9071:147:26", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "body": { - "id": 3699, + "id": 3700, "nodeType": "Block", - "src": "9777:233:26", + "src": "9776:233:26", "statements": [ { "expression": { @@ -44890,7 +44879,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3675, + "id": 3676, "isConstant": false, "isLValue": false, "isPure": false, @@ -44898,25 +44887,25 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 3667, + "id": 3668, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "9795:6:26", + "referencedDeclaration": 3146, + "src": "9794:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3669, + "id": 3670, "indexExpression": { - "id": 3668, + "id": 3669, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3656, - "src": "9802:5:26", + "referencedDeclaration": 3657, + "src": "9801:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44927,22 +44916,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9795:13:26", + "src": "9794:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3670, + "id": 3671, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "9809:5:26", + "memberLocation": "9808:5:26", "memberName": "agent", "nodeType": "MemberAccess", - "referencedDeclaration": 3127, - "src": "9795:19:26", + "referencedDeclaration": 3128, + "src": "9794:19:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -44954,14 +44943,14 @@ "arguments": [ { "hexValue": "30", - "id": 3673, + "id": 3674, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "9826:1:26", + "src": "9825:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -44976,26 +44965,26 @@ "typeString": "int_const 0" } ], - "id": 3672, + "id": 3673, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "9818:7:26", + "src": "9817:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 3671, + "id": 3672, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9818:7:26", + "src": "9817:7:26", "typeDescriptions": {} } }, - "id": 3674, + "id": 3675, "isConstant": false, "isLValue": false, "isPure": true, @@ -45004,14 +44993,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9818:10:26", + "src": "9817:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "9795:33:26", + "src": "9794:33:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -45019,14 +45008,14 @@ }, { "hexValue": "4167656e74206e6f742072656769737465726564", - "id": 3676, + "id": 3677, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "9830:22:26", + "src": "9829:22:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6b24a63f053c9f60b33a6142346432678adff778fb93a8ecec9013d5a898e395", "typeString": "literal_string \"Agent not registered\"" @@ -45045,7 +45034,7 @@ "typeString": "literal_string \"Agent not registered\"" } ], - "id": 3666, + "id": 3667, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -45053,13 +45042,13 @@ -18 ], "referencedDeclaration": -18, - "src": "9787:7:26", + "src": "9786:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3677, + "id": 3678, "isConstant": false, "isLValue": false, "isPure": false, @@ -45068,20 +45057,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9787:66:26", + "src": "9786:66:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3678, + "id": 3679, "nodeType": "ExpressionStatement", - "src": "9787:66:26" + "src": "9786:66:26" }, { "expression": { - "id": 3684, + "id": 3685, "isConstant": false, "isLValue": false, "isPure": false, @@ -45089,25 +45078,25 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 3679, + "id": 3680, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "9872:6:26", + "referencedDeclaration": 3146, + "src": "9871:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3681, + "id": 3682, "indexExpression": { - "id": 3680, + "id": 3681, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3656, - "src": "9879:5:26", + "referencedDeclaration": 3657, + "src": "9878:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45118,22 +45107,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9872:13:26", + "src": "9871:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3682, + "id": 3683, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "9886:4:26", + "memberLocation": "9885:4:26", "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 3121, - "src": "9872:18:26", + "referencedDeclaration": 3122, + "src": "9871:18:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -45142,30 +45131,30 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 3683, + "id": 3684, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3658, - "src": "9893:4:26", + "referencedDeclaration": 3659, + "src": "9892:4:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "9872:25:26", + "src": "9871:25:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 3685, + "id": 3686, "nodeType": "ExpressionStatement", - "src": "9872:25:26" + "src": "9871:25:26" }, { "expression": { - "id": 3691, + "id": 3692, "isConstant": false, "isLValue": false, "isPure": false, @@ -45173,25 +45162,25 @@ "leftHandSide": { "expression": { "baseExpression": { - "id": 3686, + "id": 3687, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "9907:6:26", + "referencedDeclaration": 3146, + "src": "9906:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3688, + "id": 3689, "indexExpression": { - "id": 3687, + "id": 3688, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3656, - "src": "9914:5:26", + "referencedDeclaration": 3657, + "src": "9913:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45202,22 +45191,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "9907:13:26", + "src": "9906:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3689, + "id": 3690, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "9921:8:26", + "memberLocation": "9920:8:26", "memberName": "agentUri", "nodeType": "MemberAccess", - "referencedDeclaration": 3123, - "src": "9907:22:26", + "referencedDeclaration": 3124, + "src": "9906:22:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -45226,61 +45215,61 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 3690, + "id": 3691, "name": "agentUri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3660, - "src": "9932:8:26", + "referencedDeclaration": 3661, + "src": "9931:8:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "9907:33:26", + "src": "9906:33:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 3692, + "id": 3693, "nodeType": "ExpressionStatement", - "src": "9907:33:26" + "src": "9906:33:26" }, { "eventCall": { "arguments": [ { - "id": 3694, + "id": 3695, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3656, - "src": "9981:5:26", + "referencedDeclaration": 3657, + "src": "9980:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3695, + "id": 3696, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3658, - "src": "9988:4:26", + "referencedDeclaration": 3659, + "src": "9987:4:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 3696, + "id": 3697, "name": "agentUri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3660, - "src": "9994:8:26", + "referencedDeclaration": 3661, + "src": "9993:8:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -45302,18 +45291,18 @@ "typeString": "string memory" } ], - "id": 3693, + "id": 3694, "name": "AgentDataUpdated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3262, - "src": "9964:16:26", + "referencedDeclaration": 3263, + "src": "9963:16:26", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,string memory,string memory)" } }, - "id": 3697, + "id": 3698, "isConstant": false, "isLValue": false, "isPure": false, @@ -45322,77 +45311,77 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "9964:39:26", + "src": "9963:39:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3698, + "id": 3699, "nodeType": "EmitStatement", - "src": "9959:44:26" + "src": "9958:44:26" } ] }, "documentation": { - "id": 3654, + "id": 3655, "nodeType": "StructuredDocumentation", - "src": "9225:405:26", + "src": "9224:405:26", "text": " @dev Sets the data of an existing agent.\n @param agent The address of the agent to update.\n @param name The new name of the agent.\n @param agentUri The new URI pointing to the agent's metadata.\n Requirements:\n - The caller must be the owner of the agent.\n - The agent must be registered.\n Emits an {AgentDataUpdated} event." }, "functionSelector": "96a45139", - "id": 3700, + "id": 3701, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 3663, + "id": 3664, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3656, - "src": "9770:5:26", + "referencedDeclaration": 3657, + "src": "9769:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 3664, + "id": 3665, "kind": "modifierInvocation", "modifierName": { - "id": 3662, + "id": 3663, "name": "onlyAgentOwner", "nameLocations": [ - "9755:14:26" + "9754:14:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3169, - "src": "9755:14:26" + "referencedDeclaration": 3170, + "src": "9754:14:26" }, "nodeType": "ModifierInvocation", - "src": "9755:21:26" + "src": "9754:21:26" } ], "name": "setAgentData", - "nameLocation": "9644:12:26", + "nameLocation": "9643:12:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3661, + "id": 3662, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3656, + "id": 3657, "mutability": "mutable", "name": "agent", - "nameLocation": "9674:5:26", + "nameLocation": "9673:5:26", "nodeType": "VariableDeclaration", - "scope": 3700, - "src": "9666:13:26", + "scope": 3701, + "src": "9665:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45400,10 +45389,10 @@ "typeString": "address" }, "typeName": { - "id": 3655, + "id": 3656, "name": "address", "nodeType": "ElementaryTypeName", - "src": "9666:7:26", + "src": "9665:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -45414,13 +45403,13 @@ }, { "constant": false, - "id": 3658, + "id": 3659, "mutability": "mutable", "name": "name", - "nameLocation": "9703:4:26", + "nameLocation": "9702:4:26", "nodeType": "VariableDeclaration", - "scope": 3700, - "src": "9689:18:26", + "scope": 3701, + "src": "9688:18:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -45428,10 +45417,10 @@ "typeString": "string" }, "typeName": { - "id": 3657, + "id": 3658, "name": "string", "nodeType": "ElementaryTypeName", - "src": "9689:6:26", + "src": "9688:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -45441,13 +45430,13 @@ }, { "constant": false, - "id": 3660, + "id": 3661, "mutability": "mutable", "name": "agentUri", - "nameLocation": "9731:8:26", + "nameLocation": "9730:8:26", "nodeType": "VariableDeclaration", - "scope": 3700, - "src": "9717:22:26", + "scope": 3701, + "src": "9716:22:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -45455,10 +45444,10 @@ "typeString": "string" }, "typeName": { - "id": 3659, + "id": 3660, "name": "string", "nodeType": "ElementaryTypeName", - "src": "9717:6:26", + "src": "9716:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -45467,25 +45456,25 @@ "visibility": "internal" } ], - "src": "9656:89:26" + "src": "9655:89:26" }, "returnParameters": { - "id": 3665, + "id": 3666, "nodeType": "ParameterList", "parameters": [], - "src": "9777:0:26" + "src": "9776:0:26" }, - "scope": 4016, - "src": "9635:375:26", + "scope": 4017, + "src": "9634:375:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 3743, + "id": 3744, "nodeType": "Block", - "src": "10457:368:26", + "src": "10456:368:26", "statements": [ { "expression": { @@ -45495,7 +45484,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3718, + "id": 3719, "isConstant": false, "isLValue": false, "isPure": false, @@ -45503,25 +45492,25 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 3710, + "id": 3711, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "10475:6:26", + "referencedDeclaration": 3146, + "src": "10474:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3712, + "id": 3713, "indexExpression": { - "id": 3711, + "id": 3712, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3703, - "src": "10482:5:26", + "referencedDeclaration": 3704, + "src": "10481:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45532,22 +45521,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10475:13:26", + "src": "10474:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3713, + "id": 3714, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "10489:5:26", + "memberLocation": "10488:5:26", "memberName": "agent", "nodeType": "MemberAccess", - "referencedDeclaration": 3127, - "src": "10475:19:26", + "referencedDeclaration": 3128, + "src": "10474:19:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45559,14 +45548,14 @@ "arguments": [ { "hexValue": "30", - "id": 3716, + "id": 3717, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "10506:1:26", + "src": "10505:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -45581,26 +45570,26 @@ "typeString": "int_const 0" } ], - "id": 3715, + "id": 3716, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "10498:7:26", + "src": "10497:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 3714, + "id": 3715, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10498:7:26", + "src": "10497:7:26", "typeDescriptions": {} } }, - "id": 3717, + "id": 3718, "isConstant": false, "isLValue": false, "isPure": true, @@ -45609,14 +45598,14 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10498:10:26", + "src": "10497:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "10475:33:26", + "src": "10474:33:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -45624,14 +45613,14 @@ }, { "hexValue": "4167656e74206e6f742072656769737465726564", - "id": 3719, + "id": 3720, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "10510:22:26", + "src": "10509:22:26", "typeDescriptions": { "typeIdentifier": "t_stringliteral_6b24a63f053c9f60b33a6142346432678adff778fb93a8ecec9013d5a898e395", "typeString": "literal_string \"Agent not registered\"" @@ -45650,7 +45639,7 @@ "typeString": "literal_string \"Agent not registered\"" } ], - "id": 3709, + "id": 3710, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -45658,13 +45647,13 @@ -18 ], "referencedDeclaration": -18, - "src": "10467:7:26", + "src": "10466:7:26", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 3720, + "id": 3721, "isConstant": false, "isLValue": false, "isPure": false, @@ -45673,31 +45662,31 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10467:66:26", + "src": "10466:66:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3721, + "id": 3722, "nodeType": "ExpressionStatement", - "src": "10467:66:26" + "src": "10466:66:26" }, { "assignments": [ - 3723 + 3724 ], "declarations": [ { "constant": false, - "id": 3723, + "id": 3724, "mutability": "mutable", "name": "agentOwner", - "nameLocation": "10560:10:26", + "nameLocation": "10559:10:26", "nodeType": "VariableDeclaration", - "scope": 3743, - "src": "10552:18:26", + "scope": 3744, + "src": "10551:18:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -45705,10 +45694,10 @@ "typeString": "address" }, "typeName": { - "id": 3722, + "id": 3723, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10552:7:26", + "src": "10551:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -45718,29 +45707,29 @@ "visibility": "internal" } ], - "id": 3728, + "id": 3729, "initialValue": { "expression": { "baseExpression": { - "id": 3724, + "id": 3725, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "10573:6:26", + "referencedDeclaration": 3146, + "src": "10572:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3726, + "id": 3727, "indexExpression": { - "id": 3725, + "id": 3726, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3703, - "src": "10580:5:26", + "referencedDeclaration": 3704, + "src": "10579:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45751,40 +45740,40 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "10573:13:26", + "src": "10572:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, - "id": 3727, + "id": 3728, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "10587:5:26", + "memberLocation": "10586:5:26", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 3125, - "src": "10573:19:26", + "referencedDeclaration": 3126, + "src": "10572:19:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "VariableDeclarationStatement", - "src": "10552:40:26" + "src": "10551:40:26" }, { "expression": { "arguments": [ { - "id": 3730, + "id": 3731, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3703, - "src": "10690:5:26", + "referencedDeclaration": 3704, + "src": "10689:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45798,18 +45787,18 @@ "typeString": "address" } ], - "id": 3729, + "id": 3730, "name": "_removeAllAgentProposals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4000, - "src": "10665:24:26", + "referencedDeclaration": 4001, + "src": "10664:24:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 3731, + "id": 3732, "isConstant": false, "isLValue": false, "isPure": false, @@ -45818,20 +45807,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10665:31:26", + "src": "10664:31:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3732, + "id": 3733, "nodeType": "ExpressionStatement", - "src": "10665:31:26" + "src": "10664:31:26" }, { "expression": { - "id": 3736, + "id": 3737, "isConstant": false, "isLValue": false, "isPure": false, @@ -45839,28 +45828,28 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "10743:20:26", + "src": "10742:20:26", "subExpression": { "baseExpression": { - "id": 3733, + "id": 3734, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "10750:6:26", + "referencedDeclaration": 3146, + "src": "10749:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3735, + "id": 3736, "indexExpression": { - "id": 3734, + "id": 3735, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3703, - "src": "10757:5:26", + "referencedDeclaration": 3704, + "src": "10756:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45871,9 +45860,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "10750:13:26", + "src": "10749:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, @@ -45882,32 +45871,32 @@ "typeString": "tuple()" } }, - "id": 3737, + "id": 3738, "nodeType": "ExpressionStatement", - "src": "10743:20:26" + "src": "10742:20:26" }, { "eventCall": { "arguments": [ { - "id": 3739, + "id": 3740, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3703, - "src": "10800:5:26", + "referencedDeclaration": 3704, + "src": "10799:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3740, + "id": 3741, "name": "agentOwner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3723, - "src": "10807:10:26", + "referencedDeclaration": 3724, + "src": "10806:10:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -45925,18 +45914,18 @@ "typeString": "address" } ], - "id": 3738, + "id": 3739, "name": "AgentRemoved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3268, - "src": "10787:12:26", + "referencedDeclaration": 3269, + "src": "10786:12:26", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", "typeString": "function (address,address)" } }, - "id": 3741, + "id": 3742, "isConstant": false, "isLValue": false, "isPure": false, @@ -45945,77 +45934,77 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "10787:31:26", + "src": "10786:31:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3742, + "id": 3743, "nodeType": "EmitStatement", - "src": "10782:36:26" + "src": "10781:36:26" } ] }, "documentation": { - "id": 3701, + "id": 3702, "nodeType": "StructuredDocumentation", - "src": "10016:369:26", + "src": "10015:369:26", "text": " @dev Removes an existing agent and removes all associated proposals.\n @param agent The address of the agent to remove.\n Requirements:\n - The caller must be the owner of the agent.\n - The agent must be registered.\n Emits an {AgentRemoved} event and {ProposalRemoved} events for each removed proposal." }, "functionSelector": "97a6278e", - "id": 3744, + "id": 3745, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 3706, + "id": 3707, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3703, - "src": "10450:5:26", + "referencedDeclaration": 3704, + "src": "10449:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], - "id": 3707, + "id": 3708, "kind": "modifierInvocation", "modifierName": { - "id": 3705, + "id": 3706, "name": "onlyAgentOwner", "nameLocations": [ - "10435:14:26" + "10434:14:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3169, - "src": "10435:14:26" + "referencedDeclaration": 3170, + "src": "10434:14:26" }, "nodeType": "ModifierInvocation", - "src": "10435:21:26" + "src": "10434:21:26" } ], "name": "removeAgent", - "nameLocation": "10399:11:26", + "nameLocation": "10398:11:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3704, + "id": 3705, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3703, + "id": 3704, "mutability": "mutable", "name": "agent", - "nameLocation": "10419:5:26", + "nameLocation": "10418:5:26", "nodeType": "VariableDeclaration", - "scope": 3744, - "src": "10411:13:26", + "scope": 3745, + "src": "10410:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46023,10 +46012,10 @@ "typeString": "address" }, "typeName": { - "id": 3702, + "id": 3703, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10411:7:26", + "src": "10410:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -46036,91 +46025,91 @@ "visibility": "internal" } ], - "src": "10410:15:26" + "src": "10409:15:26" }, "returnParameters": { - "id": 3708, + "id": 3709, "nodeType": "ParameterList", "parameters": [], - "src": "10457:0:26" + "src": "10456:0:26" }, - "scope": 4016, - "src": "10390:435:26", + "scope": 4017, + "src": "10389:435:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "external" }, { "body": { - "id": 3801, + "id": 3802, "nodeType": "Block", - "src": "11001:300:26", + "src": "11000:300:26", "statements": [ { "assignments": [ - 3759 + 3760 ], "declarations": [ { "constant": false, - "id": 3759, + "id": 3760, "mutability": "mutable", "name": "agentData", - "nameLocation": "11029:9:26", + "nameLocation": "11028:9:26", "nodeType": "VariableDeclaration", - "scope": 3801, - "src": "11011:27:26", + "scope": 3802, + "src": "11010:27:26", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_storage_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData" }, "typeName": { - "id": 3758, + "id": 3759, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3757, + "id": 3758, "name": "AgentData", "nameLocations": [ - "11011:9:26" + "11010:9:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3132, - "src": "11011:9:26" + "referencedDeclaration": 3133, + "src": "11010:9:26" }, - "referencedDeclaration": 3132, - "src": "11011:9:26", + "referencedDeclaration": 3133, + "src": "11010:9:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_storage_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData" } }, "visibility": "internal" } ], - "id": 3763, + "id": 3764, "initialValue": { "baseExpression": { - "id": 3760, + "id": 3761, "name": "agents", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3145, - "src": "11041:6:26", + "referencedDeclaration": 3146, + "src": "11040:6:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3132_storage_$", + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$3133_storage_$", "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" } }, - "id": 3762, + "id": 3763, "indexExpression": { - "id": 3761, + "id": 3762, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "11048:5:26", + "referencedDeclaration": 3747, + "src": "11047:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46131,45 +46120,45 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "11041:13:26", + "src": "11040:13:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage", + "typeIdentifier": "t_struct$_AgentData_$3133_storage", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" } }, "nodeType": "VariableDeclarationStatement", - "src": "11011:43:26" + "src": "11010:43:26" }, { "expression": { - "id": 3768, + "id": 3769, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 3764, + "id": 3765, "name": "agentData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3759, - "src": "11064:9:26", + "referencedDeclaration": 3760, + "src": "11063:9:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_storage_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage pointer" } }, - "id": 3766, + "id": 3767, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "11074:4:26", + "memberLocation": "11073:4:26", "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 3121, - "src": "11064:14:26", + "referencedDeclaration": 3122, + "src": "11063:14:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -46178,57 +46167,57 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 3767, + "id": 3768, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3748, - "src": "11081:4:26", + "referencedDeclaration": 3749, + "src": "11080:4:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "11064:21:26", + "src": "11063:21:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 3769, + "id": 3770, "nodeType": "ExpressionStatement", - "src": "11064:21:26" + "src": "11063:21:26" }, { "expression": { - "id": 3774, + "id": 3775, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 3770, + "id": 3771, "name": "agentData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3759, - "src": "11095:9:26", + "referencedDeclaration": 3760, + "src": "11094:9:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_storage_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage pointer" } }, - "id": 3772, + "id": 3773, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "11105:8:26", + "memberLocation": "11104:8:26", "memberName": "agentUri", "nodeType": "MemberAccess", - "referencedDeclaration": 3123, - "src": "11095:18:26", + "referencedDeclaration": 3124, + "src": "11094:18:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" @@ -46237,57 +46226,57 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 3773, + "id": 3774, "name": "agentUri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3750, - "src": "11116:8:26", + "referencedDeclaration": 3751, + "src": "11115:8:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, - "src": "11095:29:26", + "src": "11094:29:26", "typeDescriptions": { "typeIdentifier": "t_string_storage", "typeString": "string storage ref" } }, - "id": 3775, + "id": 3776, "nodeType": "ExpressionStatement", - "src": "11095:29:26" + "src": "11094:29:26" }, { "expression": { - "id": 3780, + "id": 3781, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 3776, + "id": 3777, "name": "agentData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3759, - "src": "11134:9:26", + "referencedDeclaration": 3760, + "src": "11133:9:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_storage_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage pointer" } }, - "id": 3778, + "id": 3779, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "11144:5:26", + "memberLocation": "11143:5:26", "memberName": "owner", "nodeType": "MemberAccess", - "referencedDeclaration": 3125, - "src": "11134:15:26", + "referencedDeclaration": 3126, + "src": "11133:15:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46296,57 +46285,57 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 3779, + "id": 3780, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3752, - "src": "11152:5:26", + "referencedDeclaration": 3753, + "src": "11151:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "11134:23:26", + "src": "11133:23:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3781, + "id": 3782, "nodeType": "ExpressionStatement", - "src": "11134:23:26" + "src": "11133:23:26" }, { "expression": { - "id": 3786, + "id": 3787, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 3782, + "id": 3783, "name": "agentData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3759, - "src": "11167:9:26", + "referencedDeclaration": 3760, + "src": "11166:9:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_storage_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage pointer" } }, - "id": 3784, + "id": 3785, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "11177:5:26", + "memberLocation": "11176:5:26", "memberName": "agent", "nodeType": "MemberAccess", - "referencedDeclaration": 3127, - "src": "11167:15:26", + "referencedDeclaration": 3128, + "src": "11166:15:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -46355,57 +46344,57 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 3785, + "id": 3786, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "11185:5:26", + "referencedDeclaration": 3747, + "src": "11184:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "11167:23:26", + "src": "11166:23:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 3787, + "id": 3788, "nodeType": "ExpressionStatement", - "src": "11167:23:26" + "src": "11166:23:26" }, { "expression": { - "id": 3792, + "id": 3793, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 3788, + "id": 3789, "name": "agentData", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3759, - "src": "11200:9:26", + "referencedDeclaration": 3760, + "src": "11199:9:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$3132_storage_ptr", + "typeIdentifier": "t_struct$_AgentData_$3133_storage_ptr", "typeString": "struct AgentsRegistryUpgradeable.AgentData storage pointer" } }, - "id": 3790, + "id": 3791, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": true, - "memberLocation": "11210:10:26", + "memberLocation": "11209:10:26", "memberName": "reputation", "nodeType": "MemberAccess", - "referencedDeclaration": 3129, - "src": "11200:20:26", + "referencedDeclaration": 3130, + "src": "11199:20:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46414,73 +46403,73 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 3791, + "id": 3792, "name": "reputation", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3754, - "src": "11223:10:26", + "referencedDeclaration": 3755, + "src": "11222:10:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "11200:33:26", + "src": "11199:33:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 3793, + "id": 3794, "nodeType": "ExpressionStatement", - "src": "11200:33:26" + "src": "11199:33:26" }, { "eventCall": { "arguments": [ { - "id": 3795, + "id": 3796, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3746, - "src": "11265:5:26", + "referencedDeclaration": 3747, + "src": "11264:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3796, + "id": 3797, "name": "owner", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3752, - "src": "11272:5:26", + "referencedDeclaration": 3753, + "src": "11271:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3797, + "id": 3798, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3748, - "src": "11279:4:26", + "referencedDeclaration": 3749, + "src": "11278:4:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 3798, + "id": 3799, "name": "agentUri", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3750, - "src": "11285:8:26", + "referencedDeclaration": 3751, + "src": "11284:8:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -46506,18 +46495,18 @@ "typeString": "string memory" } ], - "id": 3794, + "id": 3795, "name": "AgentRegistered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3220, - "src": "11249:15:26", + "referencedDeclaration": 3221, + "src": "11248:15:26", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,address,string memory,string memory)" } }, - "id": 3799, + "id": 3800, "isConstant": false, "isLValue": false, "isPure": false, @@ -46526,39 +46515,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11249:45:26", + "src": "11248:45:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3800, + "id": 3801, "nodeType": "EmitStatement", - "src": "11244:50:26" + "src": "11243:50:26" } ] }, - "id": 3802, + "id": 3803, "implemented": true, "kind": "function", "modifiers": [], "name": "_createAgent", - "nameLocation": "10840:12:26", + "nameLocation": "10839:12:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3755, + "id": 3756, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3746, + "id": 3747, "mutability": "mutable", "name": "agent", - "nameLocation": "10870:5:26", + "nameLocation": "10869:5:26", "nodeType": "VariableDeclaration", - "scope": 3802, - "src": "10862:13:26", + "scope": 3803, + "src": "10861:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46566,10 +46555,10 @@ "typeString": "address" }, "typeName": { - "id": 3745, + "id": 3746, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10862:7:26", + "src": "10861:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -46580,13 +46569,13 @@ }, { "constant": false, - "id": 3748, + "id": 3749, "mutability": "mutable", "name": "name", - "nameLocation": "10899:4:26", + "nameLocation": "10898:4:26", "nodeType": "VariableDeclaration", - "scope": 3802, - "src": "10885:18:26", + "scope": 3803, + "src": "10884:18:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -46594,10 +46583,10 @@ "typeString": "string" }, "typeName": { - "id": 3747, + "id": 3748, "name": "string", "nodeType": "ElementaryTypeName", - "src": "10885:6:26", + "src": "10884:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -46607,13 +46596,13 @@ }, { "constant": false, - "id": 3750, + "id": 3751, "mutability": "mutable", "name": "agentUri", - "nameLocation": "10927:8:26", + "nameLocation": "10926:8:26", "nodeType": "VariableDeclaration", - "scope": 3802, - "src": "10913:22:26", + "scope": 3803, + "src": "10912:22:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -46621,10 +46610,10 @@ "typeString": "string" }, "typeName": { - "id": 3749, + "id": 3750, "name": "string", "nodeType": "ElementaryTypeName", - "src": "10913:6:26", + "src": "10912:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -46634,13 +46623,13 @@ }, { "constant": false, - "id": 3752, + "id": 3753, "mutability": "mutable", "name": "owner", - "nameLocation": "10953:5:26", + "nameLocation": "10952:5:26", "nodeType": "VariableDeclaration", - "scope": 3802, - "src": "10945:13:26", + "scope": 3803, + "src": "10944:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46648,10 +46637,10 @@ "typeString": "address" }, "typeName": { - "id": 3751, + "id": 3752, "name": "address", "nodeType": "ElementaryTypeName", - "src": "10945:7:26", + "src": "10944:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -46662,13 +46651,13 @@ }, { "constant": false, - "id": 3754, + "id": 3755, "mutability": "mutable", "name": "reputation", - "nameLocation": "10976:10:26", + "nameLocation": "10975:10:26", "nodeType": "VariableDeclaration", - "scope": 3802, - "src": "10968:18:26", + "scope": 3803, + "src": "10967:18:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -46676,10 +46665,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3753, + "id": 3754, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "10968:7:26", + "src": "10967:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46688,127 +46677,127 @@ "visibility": "internal" } ], - "src": "10852:140:26" + "src": "10851:140:26" }, "returnParameters": { - "id": 3756, + "id": 3757, "nodeType": "ParameterList", "parameters": [], - "src": "11001:0:26" + "src": "11000:0:26" }, - "scope": 4016, - "src": "10831:470:26", + "scope": 4017, + "src": "10830:470:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "private" }, { "body": { - "id": 3842, + "id": 3843, "nodeType": "Block", - "src": "11464:391:26", + "src": "11463:391:26", "statements": [ { "assignments": [ - 3815 + 3816 ], "declarations": [ { "constant": false, - "id": 3815, + "id": 3816, "mutability": "mutable", "name": "newProposal", - "nameLocation": "11497:11:26", + "nameLocation": "11496:11:26", "nodeType": "VariableDeclaration", - "scope": 3842, - "src": "11474:34:26", + "scope": 3843, + "src": "11473:34:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal" }, "typeName": { - "id": 3814, + "id": 3815, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3813, + "id": 3814, "name": "ServiceProposal", "nameLocations": [ - "11474:15:26" + "11473:15:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5342, - "src": "11474:15:26" + "referencedDeclaration": 5312, + "src": "11473:15:26" }, - "referencedDeclaration": 5342, - "src": "11474:15:26", + "referencedDeclaration": 5312, + "src": "11473:15:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage_ptr", "typeString": "struct IProposalStruct.ServiceProposal" } }, "visibility": "internal" } ], - "id": 3824, + "id": 3825, "initialValue": { "arguments": [ { - "id": 3817, + "id": 3818, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3804, - "src": "11540:5:26", + "referencedDeclaration": 3805, + "src": "11539:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3818, + "id": 3819, "name": "serviceName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3806, - "src": "11559:11:26", + "referencedDeclaration": 3807, + "src": "11558:11:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 3819, + "id": 3820, "name": "servicePrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3808, - "src": "11584:12:26", + "referencedDeclaration": 3809, + "src": "11583:12:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 3820, + "id": 3821, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3810, - "src": "11610:12:26", + "referencedDeclaration": 3811, + "src": "11609:12:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3821, + "id": 3822, "name": "nextProposalId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3152, - "src": "11636:14:26", + "referencedDeclaration": 3153, + "src": "11635:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46816,14 +46805,14 @@ }, { "hexValue": "74727565", - "id": 3822, + "id": 3823, "isConstant": false, "isLValue": false, "isPure": true, "kind": "bool", "lValueRequested": false, "nodeType": "Literal", - "src": "11664:4:26", + "src": "11663:4:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -46858,18 +46847,18 @@ "typeString": "bool" } ], - "id": 3816, + "id": 3817, "name": "ServiceProposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5342, - "src": "11511:15:26", + "referencedDeclaration": 5312, + "src": "11510:15:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_ServiceProposal_$5342_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_ServiceProposal_$5312_storage_ptr_$", "typeString": "type(struct IProposalStruct.ServiceProposal storage pointer)" } }, - "id": 3823, + "id": 3824, "isConstant": false, "isLValue": false, "isPure": false, @@ -46878,44 +46867,44 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11511:167:26", + "src": "11510:167:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "11474:204:26" + "src": "11473:204:26" }, { "expression": { - "id": 3829, + "id": 3830, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 3825, + "id": 3826, "name": "proposals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3150, - "src": "11689:9:26", + "referencedDeclaration": 3151, + "src": "11688:9:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5342_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5312_storage_$", "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" } }, - "id": 3827, + "id": 3828, "indexExpression": { - "id": 3826, + "id": 3827, "name": "nextProposalId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3152, - "src": "11699:14:26", + "referencedDeclaration": 3153, + "src": "11698:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -46926,94 +46915,94 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "11689:25:26", + "src": "11688:25:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage", "typeString": "struct IProposalStruct.ServiceProposal storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 3828, + "id": 3829, "name": "newProposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3815, - "src": "11717:11:26", + "referencedDeclaration": 3816, + "src": "11716:11:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "src": "11689:39:26", + "src": "11688:39:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage", "typeString": "struct IProposalStruct.ServiceProposal storage ref" } }, - "id": 3830, + "id": 3831, "nodeType": "ExpressionStatement", - "src": "11689:39:26" + "src": "11688:39:26" }, { "eventCall": { "arguments": [ { - "id": 3832, + "id": 3833, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3804, - "src": "11758:5:26", + "referencedDeclaration": 3805, + "src": "11757:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3833, + "id": 3834, "name": "nextProposalId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3152, - "src": "11765:14:26", + "referencedDeclaration": 3153, + "src": "11764:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 3834, + "id": 3835, "name": "serviceName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3806, - "src": "11781:11:26", + "referencedDeclaration": 3807, + "src": "11780:11:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" } }, { - "id": 3835, + "id": 3836, "name": "servicePrice", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3808, - "src": "11794:12:26", + "referencedDeclaration": 3809, + "src": "11793:12:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, { - "id": 3836, + "id": 3837, "name": "tokenAddress", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3810, - "src": "11808:12:26", + "referencedDeclaration": 3811, + "src": "11807:12:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47043,18 +47032,18 @@ "typeString": "address" } ], - "id": 3831, + "id": 3832, "name": "ProposalAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3238, - "src": "11744:13:26", + "referencedDeclaration": 3239, + "src": "11743:13:26", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$", "typeString": "function (address,uint256,string memory,uint256,address)" } }, - "id": 3837, + "id": 3838, "isConstant": false, "isLValue": false, "isPure": false, @@ -47063,20 +47052,20 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11744:77:26", + "src": "11743:77:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3838, + "id": 3839, "nodeType": "EmitStatement", - "src": "11739:82:26" + "src": "11738:82:26" }, { "expression": { - "id": 3840, + "id": 3841, "isConstant": false, "isLValue": false, "isPure": false, @@ -47084,14 +47073,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "11832:16:26", + "src": "11831:16:26", "subExpression": { - "id": 3839, + "id": 3840, "name": "nextProposalId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3152, - "src": "11832:14:26", + "referencedDeclaration": 3153, + "src": "11831:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47102,32 +47091,32 @@ "typeString": "uint256" } }, - "id": 3841, + "id": 3842, "nodeType": "ExpressionStatement", - "src": "11832:16:26" + "src": "11831:16:26" } ] }, - "id": 3843, + "id": 3844, "implemented": true, "kind": "function", "modifiers": [], "name": "_createProposal", - "nameLocation": "11316:15:26", + "nameLocation": "11315:15:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3811, + "id": 3812, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3804, + "id": 3805, "mutability": "mutable", "name": "agent", - "nameLocation": "11349:5:26", + "nameLocation": "11348:5:26", "nodeType": "VariableDeclaration", - "scope": 3843, - "src": "11341:13:26", + "scope": 3844, + "src": "11340:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47135,10 +47124,10 @@ "typeString": "address" }, "typeName": { - "id": 3803, + "id": 3804, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11341:7:26", + "src": "11340:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47149,13 +47138,13 @@ }, { "constant": false, - "id": 3806, + "id": 3807, "mutability": "mutable", "name": "serviceName", - "nameLocation": "11378:11:26", + "nameLocation": "11377:11:26", "nodeType": "VariableDeclaration", - "scope": 3843, - "src": "11364:25:26", + "scope": 3844, + "src": "11363:25:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -47163,10 +47152,10 @@ "typeString": "string" }, "typeName": { - "id": 3805, + "id": 3806, "name": "string", "nodeType": "ElementaryTypeName", - "src": "11364:6:26", + "src": "11363:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -47176,13 +47165,13 @@ }, { "constant": false, - "id": 3808, + "id": 3809, "mutability": "mutable", "name": "servicePrice", - "nameLocation": "11407:12:26", + "nameLocation": "11406:12:26", "nodeType": "VariableDeclaration", - "scope": 3843, - "src": "11399:20:26", + "scope": 3844, + "src": "11398:20:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47190,10 +47179,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3807, + "id": 3808, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "11399:7:26", + "src": "11398:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47203,13 +47192,13 @@ }, { "constant": false, - "id": 3810, + "id": 3811, "mutability": "mutable", "name": "tokenAddress", - "nameLocation": "11437:12:26", + "nameLocation": "11436:12:26", "nodeType": "VariableDeclaration", - "scope": 3843, - "src": "11429:20:26", + "scope": 3844, + "src": "11428:20:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47217,10 +47206,10 @@ "typeString": "address" }, "typeName": { - "id": 3809, + "id": 3810, "name": "address", "nodeType": "ElementaryTypeName", - "src": "11429:7:26", + "src": "11428:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47230,29 +47219,29 @@ "visibility": "internal" } ], - "src": "11331:124:26" + "src": "11330:124:26" }, "returnParameters": { - "id": 3812, + "id": 3813, "nodeType": "ParameterList", "parameters": [], - "src": "11464:0:26" + "src": "11463:0:26" }, - "scope": 4016, - "src": "11307:548:26", + "scope": 4017, + "src": "11306:548:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "private" }, { "body": { - "id": 3891, + "id": 3892, "nodeType": "Block", - "src": "11930:599:26", + "src": "11929:599:26", "statements": [ { "condition": { - "id": 3852, + "id": 3853, "isConstant": false, "isLValue": false, "isPure": false, @@ -47260,16 +47249,16 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "11944:49:26", + "src": "11943:49:26", "subExpression": { "arguments": [ { - "id": 3850, + "id": 3851, "name": "serviceName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3845, - "src": "11981:11:26", + "referencedDeclaration": 3846, + "src": "11980:11:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -47284,33 +47273,33 @@ } ], "expression": { - "id": 3848, + "id": 3849, "name": "serviceRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3138, - "src": "11945:15:26", + "referencedDeclaration": 3139, + "src": "11944:15:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, - "id": 3849, + "id": 3850, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "11961:19:26", + "memberLocation": "11960:19:26", "memberName": "isServiceRegistered", "nodeType": "MemberAccess", - "referencedDeclaration": 4563, - "src": "11945:35:26", + "referencedDeclaration": 4564, + "src": "11944:35:26", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view external returns (bool)" } }, - "id": 3851, + "id": 3852, "isConstant": false, "isLValue": false, "isPure": false, @@ -47319,7 +47308,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "11945:48:26", + "src": "11944:48:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", @@ -47331,28 +47320,28 @@ "typeString": "bool" } }, - "id": 3890, + "id": 3891, "nodeType": "IfStatement", - "src": "11940:583:26", + "src": "11939:583:26", "trueBody": { - "id": 3889, + "id": 3890, "nodeType": "Block", - "src": "11995:528:26", + "src": "11994:528:26", "statements": [ { "assignments": [ - 3854 + 3855 ], "declarations": [ { "constant": false, - "id": 3854, + "id": 3855, "mutability": "mutable", "name": "serviceRegistryV1Addr", - "nameLocation": "12017:21:26", + "nameLocation": "12016:21:26", "nodeType": "VariableDeclaration", - "scope": 3889, - "src": "12009:29:26", + "scope": 3890, + "src": "12008:29:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47360,10 +47349,10 @@ "typeString": "address" }, "typeName": { - "id": 3853, + "id": 3854, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12009:7:26", + "src": "12008:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -47373,7 +47362,7 @@ "visibility": "internal" } ], - "id": 3860, + "id": 3861, "initialValue": { "arguments": [], "expression": { @@ -47381,14 +47370,14 @@ "expression": { "arguments": [ { - "id": 3856, + "id": 3857, "name": "agentRegistryV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3135, - "src": "12058:15:26", + "referencedDeclaration": 3136, + "src": "12057:15:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } } @@ -47396,22 +47385,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } ], - "id": 3855, + "id": 3856, "name": "IAgentRegistryV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5327, - "src": "12041:16:26", + "referencedDeclaration": 5297, + "src": "12040:16:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAgentRegistryV1_$5327_$", + "typeIdentifier": "t_type$_t_contract$_IAgentRegistryV1_$5297_$", "typeString": "type(contract IAgentRegistryV1)" } }, - "id": 3857, + "id": 3858, "isConstant": false, "isLValue": false, "isPure": false, @@ -47420,29 +47409,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12041:33:26", + "src": "12040:33:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } }, - "id": 3858, + "id": 3859, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12092:15:26", + "memberLocation": "12091:15:26", "memberName": "serviceRegistry", "nodeType": "MemberAccess", - "referencedDeclaration": 5326, - "src": "12041:66:26", + "referencedDeclaration": 5296, + "src": "12040:66:26", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", "typeString": "function () view external returns (address)" } }, - "id": 3859, + "id": 3860, "isConstant": false, "isLValue": false, "isPure": false, @@ -47451,7 +47440,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12041:68:26", + "src": "12040:68:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -47459,61 +47448,61 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "12009:100:26" + "src": "12008:100:26" }, { "assignments": [ - 3863 + 3864 ], "declarations": [ { "constant": false, - "id": 3863, + "id": 3864, "mutability": "mutable", "name": "serviceRegistryV1", - "nameLocation": "12143:17:26", + "nameLocation": "12142:17:26", "nodeType": "VariableDeclaration", - "scope": 3889, - "src": "12124:36:26", + "scope": 3890, + "src": "12123:36:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_IServiceRegistryV1_$3110", + "typeIdentifier": "t_contract$_IServiceRegistryV1_$3111", "typeString": "contract IServiceRegistryV1" }, "typeName": { - "id": 3862, + "id": 3863, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3861, + "id": 3862, "name": "IServiceRegistryV1", "nameLocations": [ - "12124:18:26" + "12123:18:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3110, - "src": "12124:18:26" + "referencedDeclaration": 3111, + "src": "12123:18:26" }, - "referencedDeclaration": 3110, - "src": "12124:18:26", + "referencedDeclaration": 3111, + "src": "12123:18:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_IServiceRegistryV1_$3110", + "typeIdentifier": "t_contract$_IServiceRegistryV1_$3111", "typeString": "contract IServiceRegistryV1" } }, "visibility": "internal" } ], - "id": 3867, + "id": 3868, "initialValue": { "arguments": [ { - "id": 3865, + "id": 3866, "name": "serviceRegistryV1Addr", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3854, - "src": "12199:21:26", + "referencedDeclaration": 3855, + "src": "12198:21:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -47527,18 +47516,18 @@ "typeString": "address" } ], - "id": 3864, + "id": 3865, "name": "IServiceRegistryV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3110, - "src": "12163:18:26", + "referencedDeclaration": 3111, + "src": "12162:18:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IServiceRegistryV1_$3110_$", + "typeIdentifier": "t_type$_t_contract$_IServiceRegistryV1_$3111_$", "typeString": "type(contract IServiceRegistryV1)" } }, - "id": 3866, + "id": 3867, "isConstant": false, "isLValue": false, "isPure": false, @@ -47547,70 +47536,70 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12163:71:26", + "src": "12162:71:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IServiceRegistryV1_$3110", + "typeIdentifier": "t_contract$_IServiceRegistryV1_$3111", "typeString": "contract IServiceRegistryV1" } }, "nodeType": "VariableDeclarationStatement", - "src": "12124:110:26" + "src": "12123:110:26" }, { "assignments": [ - 3872 + 3873 ], "declarations": [ { "constant": false, - "id": 3872, + "id": 3873, "mutability": "mutable", "name": "service", - "nameLocation": "12283:7:26", + "nameLocation": "12282:7:26", "nodeType": "VariableDeclaration", - "scope": 3889, - "src": "12249:41:26", + "scope": 3890, + "src": "12248:41:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$3101_memory_ptr", + "typeIdentifier": "t_struct$_Service_$3102_memory_ptr", "typeString": "struct IServiceRegistryV1.Service" }, "typeName": { - "id": 3871, + "id": 3872, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3870, + "id": 3871, "name": "IServiceRegistryV1.Service", "nameLocations": [ - "12249:18:26", - "12268:7:26" + "12248:18:26", + "12267:7:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 3101, - "src": "12249:26:26" + "referencedDeclaration": 3102, + "src": "12248:26:26" }, - "referencedDeclaration": 3101, - "src": "12249:26:26", + "referencedDeclaration": 3102, + "src": "12248:26:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$3101_storage_ptr", + "typeIdentifier": "t_struct$_Service_$3102_storage_ptr", "typeString": "struct IServiceRegistryV1.Service" } }, "visibility": "internal" } ], - "id": 3877, + "id": 3878, "initialValue": { "arguments": [ { - "id": 3875, + "id": 3876, "name": "serviceName", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3845, - "src": "12339:11:26", + "referencedDeclaration": 3846, + "src": "12338:11:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -47625,33 +47614,33 @@ } ], "expression": { - "id": 3873, + "id": 3874, "name": "serviceRegistryV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3863, - "src": "12293:17:26", + "referencedDeclaration": 3864, + "src": "12292:17:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_IServiceRegistryV1_$3110", + "typeIdentifier": "t_contract$_IServiceRegistryV1_$3111", "typeString": "contract IServiceRegistryV1" } }, - "id": 3874, + "id": 3875, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12328:10:26", + "memberLocation": "12327:10:26", "memberName": "getService", "nodeType": "MemberAccess", - "referencedDeclaration": 3109, - "src": "12293:45:26", + "referencedDeclaration": 3110, + "src": "12292:45:26", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_struct$_Service_$3101_memory_ptr_$", + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_struct$_Service_$3102_memory_ptr_$", "typeString": "function (string memory) view external returns (struct IServiceRegistryV1.Service memory)" } }, - "id": 3876, + "id": 3877, "isConstant": false, "isLValue": false, "isPure": false, @@ -47660,42 +47649,42 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12293:58:26", + "src": "12292:58:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$3101_memory_ptr", + "typeIdentifier": "t_struct$_Service_$3102_memory_ptr", "typeString": "struct IServiceRegistryV1.Service memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "12249:102:26" + "src": "12248:102:26" }, { "expression": { "arguments": [ { "expression": { - "id": 3881, + "id": 3882, "name": "service", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3872, - "src": "12415:7:26", + "referencedDeclaration": 3873, + "src": "12414:7:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$3101_memory_ptr", + "typeIdentifier": "t_struct$_Service_$3102_memory_ptr", "typeString": "struct IServiceRegistryV1.Service memory" } }, - "id": 3882, + "id": 3883, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "12423:4:26", + "memberLocation": "12422:4:26", "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 3094, - "src": "12415:12:26", + "referencedDeclaration": 3095, + "src": "12414:12:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -47703,27 +47692,27 @@ }, { "expression": { - "id": 3883, + "id": 3884, "name": "service", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3872, - "src": "12445:7:26", + "referencedDeclaration": 3873, + "src": "12444:7:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$3101_memory_ptr", + "typeIdentifier": "t_struct$_Service_$3102_memory_ptr", "typeString": "struct IServiceRegistryV1.Service memory" } }, - "id": 3884, + "id": 3885, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "12453:8:26", + "memberLocation": "12452:8:26", "memberName": "category", "nodeType": "MemberAccess", - "referencedDeclaration": 3096, - "src": "12445:16:26", + "referencedDeclaration": 3097, + "src": "12444:16:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -47731,27 +47720,27 @@ }, { "expression": { - "id": 3885, + "id": 3886, "name": "service", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3872, - "src": "12479:7:26", + "referencedDeclaration": 3873, + "src": "12478:7:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$3101_memory_ptr", + "typeIdentifier": "t_struct$_Service_$3102_memory_ptr", "typeString": "struct IServiceRegistryV1.Service memory" } }, - "id": 3886, + "id": 3887, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "12487:11:26", + "memberLocation": "12486:11:26", "memberName": "description", "nodeType": "MemberAccess", - "referencedDeclaration": 3098, - "src": "12479:19:26", + "referencedDeclaration": 3099, + "src": "12478:19:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -47774,33 +47763,33 @@ } ], "expression": { - "id": 3878, + "id": 3879, "name": "serviceRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3138, - "src": "12366:15:26", + "referencedDeclaration": 3139, + "src": "12365:15:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, - "id": 3880, + "id": 3881, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12382:15:26", + "memberLocation": "12381:15:26", "memberName": "registerService", "nodeType": "MemberAccess", - "referencedDeclaration": 4519, - "src": "12366:31:26", + "referencedDeclaration": 4520, + "src": "12365:31:26", "typeDescriptions": { - "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_struct$_Service_$4420_memory_ptr_$", + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_struct$_Service_$4421_memory_ptr_$", "typeString": "function (string memory,string memory,string memory) external returns (struct ServiceRegistryUpgradeable.Service memory)" } }, - "id": 3887, + "id": 3888, "isConstant": false, "isLValue": false, "isPure": false, @@ -47809,42 +47798,42 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12366:146:26", + "src": "12365:146:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_memory_ptr", + "typeIdentifier": "t_struct$_Service_$4421_memory_ptr", "typeString": "struct ServiceRegistryUpgradeable.Service memory" } }, - "id": 3888, + "id": 3889, "nodeType": "ExpressionStatement", - "src": "12366:146:26" + "src": "12365:146:26" } ] } } ] }, - "id": 3892, + "id": 3893, "implemented": true, "kind": "function", "modifiers": [], "name": "_ensureServiceRegistered", - "nameLocation": "11870:24:26", + "nameLocation": "11869:24:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3846, + "id": 3847, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3845, + "id": 3846, "mutability": "mutable", "name": "serviceName", - "nameLocation": "11909:11:26", + "nameLocation": "11908:11:26", "nodeType": "VariableDeclaration", - "scope": 3892, - "src": "11895:25:26", + "scope": 3893, + "src": "11894:25:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -47852,10 +47841,10 @@ "typeString": "string" }, "typeName": { - "id": 3844, + "id": 3845, "name": "string", "nodeType": "ElementaryTypeName", - "src": "11895:6:26", + "src": "11894:6:26", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -47864,40 +47853,40 @@ "visibility": "internal" } ], - "src": "11894:27:26" + "src": "11893:27:26" }, "returnParameters": { - "id": 3847, + "id": 3848, "nodeType": "ParameterList", "parameters": [], - "src": "11930:0:26" + "src": "11929:0:26" }, - "scope": 4016, - "src": "11861:668:26", + "scope": 4017, + "src": "11860:668:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "private" }, { "body": { - "id": 3957, + "id": 3958, "nodeType": "Block", - "src": "12590:578:26", + "src": "12589:578:26", "statements": [ { "assignments": [ - 3898 + 3899 ], "declarations": [ { "constant": false, - "id": 3898, + "id": 3899, "mutability": "mutable", "name": "numProposalsRegistered", - "nameLocation": "12608:22:26", + "nameLocation": "12607:22:26", "nodeType": "VariableDeclaration", - "scope": 3957, - "src": "12600:30:26", + "scope": 3958, + "src": "12599:30:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -47905,10 +47894,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3897, + "id": 3898, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12600:7:26", + "src": "12599:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -47917,7 +47906,7 @@ "visibility": "internal" } ], - "id": 3904, + "id": 3905, "initialValue": { "arguments": [], "expression": { @@ -47925,14 +47914,14 @@ "expression": { "arguments": [ { - "id": 3900, + "id": 3901, "name": "agentRegistryV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3135, - "src": "12650:15:26", + "referencedDeclaration": 3136, + "src": "12649:15:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } } @@ -47940,22 +47929,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } ], - "id": 3899, + "id": 3900, "name": "IAgentRegistryV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5327, - "src": "12633:16:26", + "referencedDeclaration": 5297, + "src": "12632:16:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAgentRegistryV1_$5327_$", + "typeIdentifier": "t_type$_t_contract$_IAgentRegistryV1_$5297_$", "typeString": "type(contract IAgentRegistryV1)" } }, - "id": 3901, + "id": 3902, "isConstant": false, "isLValue": false, "isPure": false, @@ -47964,29 +47953,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12633:33:26", + "src": "12632:33:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } }, - "id": 3902, + "id": 3903, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12680:14:26", + "memberLocation": "12679:14:26", "memberName": "nextProposalId", "nodeType": "MemberAccess", - "referencedDeclaration": 5321, - "src": "12633:61:26", + "referencedDeclaration": 5291, + "src": "12632:61:26", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", "typeString": "function () view external returns (uint256)" } }, - "id": 3903, + "id": 3904, "isConstant": false, "isLValue": false, "isPure": false, @@ -47995,7 +47984,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12633:63:26", + "src": "12632:63:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -48003,68 +47992,68 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "12600:96:26" + "src": "12599:96:26" }, { "body": { - "id": 3955, + "id": 3956, "nodeType": "Block", - "src": "12760:402:26", + "src": "12759:402:26", "statements": [ { "assignments": [ - 3919 + 3920 ], "declarations": [ { "constant": false, - "id": 3919, + "id": 3920, "mutability": "mutable", "name": "proposal", - "nameLocation": "12807:8:26", + "nameLocation": "12806:8:26", "nodeType": "VariableDeclaration", - "scope": 3955, - "src": "12774:41:26", + "scope": 3956, + "src": "12773:41:26", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$5300_memory_ptr", + "typeIdentifier": "t_struct$_Proposal_$5270_memory_ptr", "typeString": "struct IAgentRegistryV1.Proposal" }, "typeName": { - "id": 3918, + "id": 3919, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 3917, + "id": 3918, "name": "IAgentRegistryV1.Proposal", "nameLocations": [ - "12774:16:26", - "12791:8:26" + "12773:16:26", + "12790:8:26" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5300, - "src": "12774:25:26" + "referencedDeclaration": 5270, + "src": "12773:25:26" }, - "referencedDeclaration": 5300, - "src": "12774:25:26", + "referencedDeclaration": 5270, + "src": "12773:25:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$5300_storage_ptr", + "typeIdentifier": "t_struct$_Proposal_$5270_storage_ptr", "typeString": "struct IAgentRegistryV1.Proposal" } }, "visibility": "internal" } ], - "id": 3926, + "id": 3927, "initialValue": { "arguments": [ { - "id": 3924, + "id": 3925, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3906, - "src": "12894:1:26", + "referencedDeclaration": 3907, + "src": "12893:1:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48081,14 +48070,14 @@ "expression": { "arguments": [ { - "id": 3921, + "id": 3922, "name": "agentRegistryV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3135, - "src": "12852:15:26", + "referencedDeclaration": 3136, + "src": "12851:15:26", "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } } @@ -48096,22 +48085,22 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } ], - "id": 3920, + "id": 3921, "name": "IAgentRegistryV1", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5327, - "src": "12818:16:26", + "referencedDeclaration": 5297, + "src": "12817:16:26", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_IAgentRegistryV1_$5327_$", + "typeIdentifier": "t_type$_t_contract$_IAgentRegistryV1_$5297_$", "typeString": "type(contract IAgentRegistryV1)" } }, - "id": 3922, + "id": 3923, "isConstant": false, "isLValue": false, "isPure": false, @@ -48120,29 +48109,29 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12818:63:26", + "src": "12817:63:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_contract$_IAgentRegistryV1_$5327", + "typeIdentifier": "t_contract$_IAgentRegistryV1_$5297", "typeString": "contract IAgentRegistryV1" } }, - "id": 3923, + "id": 3924, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "12882:11:26", + "memberLocation": "12881:11:26", "memberName": "getProposal", "nodeType": "MemberAccess", - "referencedDeclaration": 5316, - "src": "12818:75:26", + "referencedDeclaration": 5286, + "src": "12817:75:26", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Proposal_$5300_memory_ptr_$", + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Proposal_$5270_memory_ptr_$", "typeString": "function (uint256) view external returns (struct IAgentRegistryV1.Proposal memory)" } }, - "id": 3925, + "id": 3926, "isConstant": false, "isLValue": false, "isPure": false, @@ -48151,15 +48140,15 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "12818:78:26", + "src": "12817:78:26", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$5300_memory_ptr", + "typeIdentifier": "t_struct$_Proposal_$5270_memory_ptr", "typeString": "struct IAgentRegistryV1.Proposal memory" } }, "nodeType": "VariableDeclarationStatement", - "src": "12774:122:26" + "src": "12773:122:26" }, { "condition": { @@ -48167,7 +48156,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 3934, + "id": 3935, "isConstant": false, "isLValue": false, "isPure": false, @@ -48177,34 +48166,34 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3930, + "id": 3931, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 3927, + "id": 3928, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3919, - "src": "12915:8:26", + "referencedDeclaration": 3920, + "src": "12914:8:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$5300_memory_ptr", + "typeIdentifier": "t_struct$_Proposal_$5270_memory_ptr", "typeString": "struct IAgentRegistryV1.Proposal memory" } }, - "id": 3928, + "id": 3929, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "12924:6:26", + "memberLocation": "12923:6:26", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 5291, - "src": "12915:15:26", + "referencedDeclaration": 5261, + "src": "12914:15:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48213,18 +48202,18 @@ "nodeType": "BinaryOperation", "operator": "!=", "rightExpression": { - "id": 3929, + "id": 3930, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "12934:5:26", + "referencedDeclaration": 3895, + "src": "12933:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "12915:24:26", + "src": "12914:24:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -48233,7 +48222,7 @@ "nodeType": "BinaryOperation", "operator": "||", "rightExpression": { - "id": 3933, + "id": 3934, "isConstant": false, "isLValue": false, "isPure": false, @@ -48241,30 +48230,30 @@ "nodeType": "UnaryOperation", "operator": "!", "prefix": true, - "src": "12943:18:26", + "src": "12942:18:26", "subExpression": { "expression": { - "id": 3931, + "id": 3932, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3919, - "src": "12944:8:26", + "referencedDeclaration": 3920, + "src": "12943:8:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$5300_memory_ptr", + "typeIdentifier": "t_struct$_Proposal_$5270_memory_ptr", "typeString": "struct IAgentRegistryV1.Proposal memory" } }, - "id": 3932, + "id": 3933, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "12953:8:26", + "memberLocation": "12952:8:26", "memberName": "isActive", "nodeType": "MemberAccess", - "referencedDeclaration": 5299, - "src": "12944:17:26", + "referencedDeclaration": 5269, + "src": "12943:17:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -48275,24 +48264,24 @@ "typeString": "bool" } }, - "src": "12915:46:26", + "src": "12914:46:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 3937, + "id": 3938, "nodeType": "IfStatement", - "src": "12911:93:26", + "src": "12910:93:26", "trueBody": { - "id": 3936, + "id": 3937, "nodeType": "Block", - "src": "12963:41:26", + "src": "12962:41:26", "statements": [ { - "id": 3935, + "id": 3936, "nodeType": "Continue", - "src": "12981:8:26" + "src": "12980:8:26" } ] } @@ -48302,27 +48291,27 @@ "arguments": [ { "expression": { - "id": 3939, + "id": 3940, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3919, - "src": "13043:8:26", + "referencedDeclaration": 3920, + "src": "13042:8:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$5300_memory_ptr", + "typeIdentifier": "t_struct$_Proposal_$5270_memory_ptr", "typeString": "struct IAgentRegistryV1.Proposal memory" } }, - "id": 3940, + "id": 3941, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "13052:11:26", + "memberLocation": "13051:11:26", "memberName": "serviceName", "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13043:20:26", + "referencedDeclaration": 5263, + "src": "13042:20:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -48336,18 +48325,18 @@ "typeString": "string memory" } ], - "id": 3938, + "id": 3939, "name": "_ensureServiceRegistered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3892, - "src": "13018:24:26", + "referencedDeclaration": 3893, + "src": "13017:24:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory)" } }, - "id": 3941, + "id": 3942, "isConstant": false, "isLValue": false, "isPure": false, @@ -48356,27 +48345,27 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13018:46:26", + "src": "13017:46:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3942, + "id": 3943, "nodeType": "ExpressionStatement", - "src": "13018:46:26" + "src": "13017:46:26" }, { "expression": { "arguments": [ { - "id": 3944, + "id": 3945, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3894, - "src": "13095:5:26", + "referencedDeclaration": 3895, + "src": "13094:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48384,27 +48373,27 @@ }, { "expression": { - "id": 3945, + "id": 3946, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3919, - "src": "13102:8:26", + "referencedDeclaration": 3920, + "src": "13101:8:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$5300_memory_ptr", + "typeIdentifier": "t_struct$_Proposal_$5270_memory_ptr", "typeString": "struct IAgentRegistryV1.Proposal memory" } }, - "id": 3946, + "id": 3947, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "13111:11:26", + "memberLocation": "13110:11:26", "memberName": "serviceName", "nodeType": "MemberAccess", - "referencedDeclaration": 5293, - "src": "13102:20:26", + "referencedDeclaration": 5263, + "src": "13101:20:26", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", "typeString": "string memory" @@ -48412,27 +48401,27 @@ }, { "expression": { - "id": 3947, + "id": 3948, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3919, - "src": "13124:8:26", + "referencedDeclaration": 3920, + "src": "13123:8:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$5300_memory_ptr", + "typeIdentifier": "t_struct$_Proposal_$5270_memory_ptr", "typeString": "struct IAgentRegistryV1.Proposal memory" } }, - "id": 3948, + "id": 3949, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "13133:5:26", + "memberLocation": "13132:5:26", "memberName": "price", "nodeType": "MemberAccess", - "referencedDeclaration": 5295, - "src": "13124:14:26", + "referencedDeclaration": 5265, + "src": "13123:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48442,14 +48431,14 @@ "arguments": [ { "hexValue": "30", - "id": 3951, + "id": 3952, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13148:1:26", + "src": "13147:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -48464,26 +48453,26 @@ "typeString": "int_const 0" } ], - "id": 3950, + "id": 3951, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "13140:7:26", + "src": "13139:7:26", "typeDescriptions": { "typeIdentifier": "t_type$_t_address_$", "typeString": "type(address)" }, "typeName": { - "id": 3949, + "id": 3950, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13140:7:26", + "src": "13139:7:26", "typeDescriptions": {} } }, - "id": 3952, + "id": 3953, "isConstant": false, "isLValue": false, "isPure": true, @@ -48492,7 +48481,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13140:10:26", + "src": "13139:10:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_address", @@ -48519,18 +48508,18 @@ "typeString": "address" } ], - "id": 3943, + "id": 3944, "name": "_createProposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3843, - "src": "13079:15:26", + "referencedDeclaration": 3844, + "src": "13078:15:26", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$", "typeString": "function (address,string memory,uint256,address)" } }, - "id": 3953, + "id": 3954, "isConstant": false, "isLValue": false, "isPure": false, @@ -48539,16 +48528,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13079:72:26", + "src": "13078:72:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3954, + "id": 3955, "nodeType": "ExpressionStatement", - "src": "13079:72:26" + "src": "13078:72:26" } ] }, @@ -48557,18 +48546,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3911, + "id": 3912, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 3909, + "id": 3910, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3906, - "src": "12727:1:26", + "referencedDeclaration": 3907, + "src": "12726:1:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48577,38 +48566,38 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 3910, + "id": 3911, "name": "numProposalsRegistered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3898, - "src": "12731:22:26", + "referencedDeclaration": 3899, + "src": "12730:22:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "12727:26:26", + "src": "12726:26:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 3956, + "id": 3957, "initializationExpression": { "assignments": [ - 3906 + 3907 ], "declarations": [ { "constant": false, - "id": 3906, + "id": 3907, "mutability": "mutable", "name": "i", - "nameLocation": "12720:1:26", + "nameLocation": "12719:1:26", "nodeType": "VariableDeclaration", - "scope": 3956, - "src": "12712:9:26", + "scope": 3957, + "src": "12711:9:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -48616,10 +48605,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3905, + "id": 3906, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "12712:7:26", + "src": "12711:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48628,17 +48617,17 @@ "visibility": "internal" } ], - "id": 3908, + "id": 3909, "initialValue": { "hexValue": "30", - "id": 3907, + "id": 3908, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "12724:1:26", + "src": "12723:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -48646,12 +48635,12 @@ "value": "0" }, "nodeType": "VariableDeclarationStatement", - "src": "12712:13:26" + "src": "12711:13:26" }, "isSimpleCounterLoop": true, "loopExpression": { "expression": { - "id": 3913, + "id": 3914, "isConstant": false, "isLValue": false, "isPure": false, @@ -48659,14 +48648,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "12755:3:26", + "src": "12754:3:26", "subExpression": { - "id": 3912, + "id": 3913, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3906, - "src": "12755:1:26", + "referencedDeclaration": 3907, + "src": "12754:1:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48677,35 +48666,35 @@ "typeString": "uint256" } }, - "id": 3914, + "id": 3915, "nodeType": "ExpressionStatement", - "src": "12755:3:26" + "src": "12754:3:26" }, "nodeType": "ForStatement", - "src": "12707:455:26" + "src": "12706:455:26" } ] }, - "id": 3958, + "id": 3959, "implemented": true, "kind": "function", "modifiers": [], "name": "_migrateAgentProposals", - "nameLocation": "12544:22:26", + "nameLocation": "12543:22:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3895, + "id": 3896, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3894, + "id": 3895, "mutability": "mutable", "name": "agent", - "nameLocation": "12575:5:26", + "nameLocation": "12574:5:26", "nodeType": "VariableDeclaration", - "scope": 3958, - "src": "12567:13:26", + "scope": 3959, + "src": "12566:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -48713,10 +48702,10 @@ "typeString": "address" }, "typeName": { - "id": 3893, + "id": 3894, "name": "address", "nodeType": "ElementaryTypeName", - "src": "12567:7:26", + "src": "12566:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -48726,31 +48715,31 @@ "visibility": "internal" } ], - "src": "12566:15:26" + "src": "12565:15:26" }, "returnParameters": { - "id": 3896, + "id": 3897, "nodeType": "ParameterList", "parameters": [], - "src": "12590:0:26" + "src": "12589:0:26" }, - "scope": 4016, - "src": "12535:633:26", + "scope": 4017, + "src": "12534:633:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "private" }, { "body": { - "id": 3999, + "id": 4000, "nodeType": "Block", - "src": "13407:322:26", + "src": "13406:322:26", "statements": [ { "body": { - "id": 3997, + "id": 3998, "nodeType": "Block", - "src": "13540:183:26", + "src": "13539:183:26", "statements": [ { "condition": { @@ -48758,7 +48747,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 3984, + "id": 3985, "isConstant": false, "isLValue": false, "isPure": false, @@ -48768,7 +48757,7 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 3979, + "id": 3980, "isConstant": false, "isLValue": false, "isPure": false, @@ -48776,25 +48765,25 @@ "leftExpression": { "expression": { "baseExpression": { - "id": 3974, + "id": 3975, "name": "proposals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3150, - "src": "13558:9:26", + "referencedDeclaration": 3151, + "src": "13557:9:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5342_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5312_storage_$", "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" } }, - "id": 3976, + "id": 3977, "indexExpression": { - "id": 3975, + "id": 3976, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3965, - "src": "13568:1:26", + "referencedDeclaration": 3966, + "src": "13567:1:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48805,22 +48794,22 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13558:12:26", + "src": "13557:12:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage", "typeString": "struct IProposalStruct.ServiceProposal storage ref" } }, - "id": 3977, + "id": 3978, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "13571:6:26", + "memberLocation": "13570:6:26", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 5331, - "src": "13558:19:26", + "referencedDeclaration": 5301, + "src": "13557:19:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" @@ -48829,18 +48818,18 @@ "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { - "id": 3978, + "id": 3979, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3961, - "src": "13581:5:26", + "referencedDeclaration": 3962, + "src": "13580:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "src": "13558:28:26", + "src": "13557:28:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -48851,25 +48840,25 @@ "rightExpression": { "expression": { "baseExpression": { - "id": 3980, + "id": 3981, "name": "proposals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3150, - "src": "13590:9:26", + "referencedDeclaration": 3151, + "src": "13589:9:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5342_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5312_storage_$", "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" } }, - "id": 3982, + "id": 3983, "indexExpression": { - "id": 3981, + "id": 3982, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3965, - "src": "13600:1:26", + "referencedDeclaration": 3966, + "src": "13599:1:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48880,44 +48869,44 @@ "isPure": false, "lValueRequested": false, "nodeType": "IndexAccess", - "src": "13590:12:26", + "src": "13589:12:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage", "typeString": "struct IProposalStruct.ServiceProposal storage ref" } }, - "id": 3983, + "id": 3984, "isConstant": false, "isLValue": true, "isPure": false, "lValueRequested": false, - "memberLocation": "13603:8:26", + "memberLocation": "13602:8:26", "memberName": "isActive", "nodeType": "MemberAccess", - "referencedDeclaration": 5341, - "src": "13590:21:26", + "referencedDeclaration": 5311, + "src": "13589:21:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "13558:53:26", + "src": "13557:53:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 3996, + "id": 3997, "nodeType": "IfStatement", - "src": "13554:159:26", + "src": "13553:159:26", "trueBody": { - "id": 3995, + "id": 3996, "nodeType": "Block", - "src": "13613:100:26", + "src": "13612:100:26", "statements": [ { "expression": { - "id": 3988, + "id": 3989, "isConstant": false, "isLValue": false, "isPure": false, @@ -48925,28 +48914,28 @@ "nodeType": "UnaryOperation", "operator": "delete", "prefix": true, - "src": "13631:19:26", + "src": "13630:19:26", "subExpression": { "baseExpression": { - "id": 3985, + "id": 3986, "name": "proposals", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3150, - "src": "13638:9:26", + "referencedDeclaration": 3151, + "src": "13637:9:26", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5342_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$5312_storage_$", "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" } }, - "id": 3987, + "id": 3988, "indexExpression": { - "id": 3986, + "id": 3987, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3965, - "src": "13648:1:26", + "referencedDeclaration": 3966, + "src": "13647:1:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -48957,9 +48946,9 @@ "isPure": false, "lValueRequested": true, "nodeType": "IndexAccess", - "src": "13638:12:26", + "src": "13637:12:26", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage", "typeString": "struct IProposalStruct.ServiceProposal storage ref" } }, @@ -48968,32 +48957,32 @@ "typeString": "tuple()" } }, - "id": 3989, + "id": 3990, "nodeType": "ExpressionStatement", - "src": "13631:19:26" + "src": "13630:19:26" }, { "eventCall": { "arguments": [ { - "id": 3991, + "id": 3992, "name": "agent", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3961, - "src": "13689:5:26", + "referencedDeclaration": 3962, + "src": "13688:5:26", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 3992, + "id": 3993, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3965, - "src": "13696:1:26", + "referencedDeclaration": 3966, + "src": "13695:1:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49011,18 +49000,18 @@ "typeString": "uint256" } ], - "id": 3990, + "id": 3991, "name": "ProposalRemoved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3244, - "src": "13673:15:26", + "referencedDeclaration": 3245, + "src": "13672:15:26", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 3993, + "id": 3994, "isConstant": false, "isLValue": false, "isPure": false, @@ -49031,16 +49020,16 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "13673:25:26", + "src": "13672:25:26", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 3994, + "id": 3995, "nodeType": "EmitStatement", - "src": "13668:30:26" + "src": "13667:30:26" } ] } @@ -49052,18 +49041,18 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 3970, + "id": 3971, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 3968, + "id": 3969, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3965, - "src": "13515:1:26", + "referencedDeclaration": 3966, + "src": "13514:1:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49072,38 +49061,38 @@ "nodeType": "BinaryOperation", "operator": "<", "rightExpression": { - "id": 3969, + "id": 3970, "name": "nextProposalId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3152, - "src": "13519:14:26", + "referencedDeclaration": 3153, + "src": "13518:14:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "src": "13515:18:26", + "src": "13514:18:26", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "id": 3998, + "id": 3999, "initializationExpression": { "assignments": [ - 3965 + 3966 ], "declarations": [ { "constant": false, - "id": 3965, + "id": 3966, "mutability": "mutable", "name": "i", - "nameLocation": "13508:1:26", + "nameLocation": "13507:1:26", "nodeType": "VariableDeclaration", - "scope": 3998, - "src": "13500:9:26", + "scope": 3999, + "src": "13499:9:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49111,10 +49100,10 @@ "typeString": "uint256" }, "typeName": { - "id": 3964, + "id": 3965, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "13500:7:26", + "src": "13499:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49123,17 +49112,17 @@ "visibility": "internal" } ], - "id": 3967, + "id": 3968, "initialValue": { "hexValue": "31", - "id": 3966, + "id": 3967, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "13512:1:26", + "src": "13511:1:26", "typeDescriptions": { "typeIdentifier": "t_rational_1_by_1", "typeString": "int_const 1" @@ -49141,12 +49130,12 @@ "value": "1" }, "nodeType": "VariableDeclarationStatement", - "src": "13500:13:26" + "src": "13499:13:26" }, "isSimpleCounterLoop": true, "loopExpression": { "expression": { - "id": 3972, + "id": 3973, "isConstant": false, "isLValue": false, "isPure": false, @@ -49154,14 +49143,14 @@ "nodeType": "UnaryOperation", "operator": "++", "prefix": false, - "src": "13535:3:26", + "src": "13534:3:26", "subExpression": { - "id": 3971, + "id": 3972, "name": "i", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 3965, - "src": "13535:1:26", + "referencedDeclaration": 3966, + "src": "13534:1:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -49172,41 +49161,41 @@ "typeString": "uint256" } }, - "id": 3973, + "id": 3974, "nodeType": "ExpressionStatement", - "src": "13535:3:26" + "src": "13534:3:26" }, "nodeType": "ForStatement", - "src": "13495:228:26" + "src": "13494:228:26" } ] }, "documentation": { - "id": 3959, + "id": 3960, "nodeType": "StructuredDocumentation", - "src": "13174:171:26", + "src": "13173:171:26", "text": " @dev Internal function to remove all proposals associated with an agent.\n @param agent The address of the agent whose proposals should be removed." }, - "id": 4000, + "id": 4001, "implemented": true, "kind": "function", "modifiers": [], "name": "_removeAllAgentProposals", - "nameLocation": "13359:24:26", + "nameLocation": "13358:24:26", "nodeType": "FunctionDefinition", "parameters": { - "id": 3962, + "id": 3963, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 3961, + "id": 3962, "mutability": "mutable", "name": "agent", - "nameLocation": "13392:5:26", + "nameLocation": "13391:5:26", "nodeType": "VariableDeclaration", - "scope": 4000, - "src": "13384:13:26", + "scope": 4001, + "src": "13383:13:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49214,10 +49203,10 @@ "typeString": "address" }, "typeName": { - "id": 3960, + "id": 3961, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13384:7:26", + "src": "13383:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -49227,16 +49216,16 @@ "visibility": "internal" } ], - "src": "13383:15:26" + "src": "13382:15:26" }, "returnParameters": { - "id": 3963, + "id": 3964, "nodeType": "ParameterList", "parameters": [], - "src": "13407:0:26" + "src": "13406:0:26" }, - "scope": 4016, - "src": "13350:379:26", + "scope": 4017, + "src": "13349:379:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "private" @@ -49246,60 +49235,60 @@ 598 ], "body": { - "id": 4009, + "id": 4010, "nodeType": "Block", - "src": "14000:2:26", + "src": "13999:2:26", "statements": [] }, "documentation": { - "id": 4001, + "id": 4002, "nodeType": "StructuredDocumentation", - "src": "13735:178:26", + "src": "13734:178:26", "text": " @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract.\n @param newImplementation Address of the new implementation" }, - "id": 4010, + "id": 4011, "implemented": true, "kind": "function", "modifiers": [ { - "id": 4007, + "id": 4008, "kind": "modifierInvocation", "modifierName": { - "id": 4006, + "id": 4007, "name": "onlyOwner", "nameLocations": [ - "13990:9:26" + "13989:9:26" ], "nodeType": "IdentifierPath", "referencedDeclaration": 89, - "src": "13990:9:26" + "src": "13989:9:26" }, "nodeType": "ModifierInvocation", - "src": "13990:9:26" + "src": "13989:9:26" } ], "name": "_authorizeUpgrade", - "nameLocation": "13927:17:26", + "nameLocation": "13926:17:26", "nodeType": "FunctionDefinition", "overrides": { - "id": 4005, + "id": 4006, "nodeType": "OverrideSpecifier", "overrides": [], - "src": "13981:8:26" + "src": "13980:8:26" }, "parameters": { - "id": 4004, + "id": 4005, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4003, + "id": 4004, "mutability": "mutable", "name": "newImplementation", - "nameLocation": "13953:17:26", + "nameLocation": "13952:17:26", "nodeType": "VariableDeclaration", - "scope": 4010, - "src": "13945:25:26", + "scope": 4011, + "src": "13944:25:26", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -49307,10 +49296,10 @@ "typeString": "address" }, "typeName": { - "id": 4002, + "id": 4003, "name": "address", "nodeType": "ElementaryTypeName", - "src": "13945:7:26", + "src": "13944:7:26", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -49320,16 +49309,16 @@ "visibility": "internal" } ], - "src": "13944:27:26" + "src": "13943:27:26" }, "returnParameters": { - "id": 4008, + "id": 4009, "nodeType": "ParameterList", "parameters": [], - "src": "14000:0:26" + "src": "13999:0:26" }, - "scope": 4016, - "src": "13918:84:26", + "scope": 4017, + "src": "13917:84:26", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" @@ -49337,18 +49326,18 @@ { "constant": false, "documentation": { - "id": 4011, + "id": 4012, "nodeType": "StructuredDocumentation", - "src": "14008:55:26", + "src": "14007:55:26", "text": " @dev Storage gap for future upgrades" }, - "id": 4015, + "id": 4016, "mutability": "mutable", "name": "__gap", - "nameLocation": "14088:5:26", + "nameLocation": "14087:5:26", "nodeType": "VariableDeclaration", - "scope": 4016, - "src": "14068:25:26", + "scope": 4017, + "src": "14067:25:26", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { @@ -49357,26 +49346,26 @@ }, "typeName": { "baseType": { - "id": 4012, + "id": 4013, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "14068:7:26", + "src": "14067:7:26", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, - "id": 4014, + "id": 4015, "length": { "hexValue": "3530", - "id": 4013, + "id": 4014, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "14076:2:26", + "src": "14075:2:26", "typeDescriptions": { "typeIdentifier": "t_rational_50_by_1", "typeString": "int_const 50" @@ -49384,7 +49373,7 @@ "value": "50" }, "nodeType": "ArrayTypeName", - "src": "14068:11:26", + "src": "14067:11:26", "typeDescriptions": { "typeIdentifier": "t_array$_t_uint256_$50_storage_ptr", "typeString": "uint256[50]" @@ -49393,8 +49382,8 @@ "visibility": "private" } ], - "scope": 4017, - "src": "961:13135:26", + "scope": 4018, + "src": "961:13134:26", "usedErrors": [ 30, 35, @@ -49402,26 +49391,26 @@ 214, 489, 494, - 1443, - 1456, - 2622, - 2915 + 1444, + 1457, + 2623, + 2916 ], "usedEvents": [ 41, 219, - 1225, - 3220, - 3226, - 3238, - 3244, - 3254, - 3262, - 3268 + 1226, + 3221, + 3227, + 3239, + 3245, + 3255, + 3263, + 3269 ] } ], - "src": "32:14065:26" + "src": "32:14064:26" }, "id": 26 }, @@ -49430,42 +49419,45 @@ "absolutePath": "contracts/EnsembleCredits.sol", "exportedSymbols": { "AccessControl": [ - 986 + 987 ], "Context": [ - 2902 + 2903 ], "ERC165": [ - 3072 + 3073 ], "ERC20": [ - 2462 + 2463 ], "ERC20Burnable": [ - 2586 + 2587 ], "EnsembleCredits": [ - 4396 + 4397 ], "IAccessControl": [ - 1069 + 1070 + ], + "IERC165": [ + 3085 ], "IERC20": [ - 2540 + 2541 ], "IERC20Errors": [ - 1290 + 1291 ], "IERC20Metadata": [ - 2612 + 2613 ] }, - "id": 4397, + "id": 4398, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 4018, + "id": 4019, "literals": [ "solidity", "^", @@ -49478,11 +49470,11 @@ { "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", - "id": 4019, + "id": 4020, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4397, - "sourceUnit": 2463, + "scope": 4398, + "sourceUnit": 2464, "src": "58:55:27", "symbolAliases": [], "unitAlias": "" @@ -49490,11 +49482,11 @@ { "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", "file": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol", - "id": 4020, + "id": 4021, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4397, - "sourceUnit": 2587, + "scope": 4398, + "sourceUnit": 2588, "src": "114:74:27", "symbolAliases": [], "unitAlias": "" @@ -49502,11 +49494,11 @@ { "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", "file": "@openzeppelin/contracts/access/AccessControl.sol", - "id": 4021, + "id": 4022, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4397, - "sourceUnit": 987, + "scope": 4398, + "sourceUnit": 988, "src": "189:58:27", "symbolAliases": [], "unitAlias": "" @@ -49516,46 +49508,46 @@ "baseContracts": [ { "baseName": { - "id": 4023, + "id": 4024, "name": "ERC20", "nameLocations": [ "705:5:27" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2462, + "referencedDeclaration": 2463, "src": "705:5:27" }, - "id": 4024, + "id": 4025, "nodeType": "InheritanceSpecifier", "src": "705:5:27" }, { "baseName": { - "id": 4025, + "id": 4026, "name": "ERC20Burnable", "nameLocations": [ "712:13:27" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2586, + "referencedDeclaration": 2587, "src": "712:13:27" }, - "id": 4026, + "id": 4027, "nodeType": "InheritanceSpecifier", "src": "712:13:27" }, { "baseName": { - "id": 4027, + "id": 4028, "name": "AccessControl", "nameLocations": [ "727:13:27" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 986, + "referencedDeclaration": 987, "src": "727:13:27" }, - "id": 4028, + "id": 4029, "nodeType": "InheritanceSpecifier", "src": "727:13:27" } @@ -49564,25 +49556,25 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 4022, + "id": 4023, "nodeType": "StructuredDocumentation", "src": "249:427:27", "text": " @title EnsembleCredits\n @dev Non-transferable ERC20 token for the Ensemble ecosystem\n \n Features:\n - Non-transferable: tokens cannot be transferred between addresses\n - Mintable: tokens can be minted by addresses with MINTER_ROLE\n - Burnable: tokens can be burned by holders or minters\n - 6 decimals precision for micro-transactions\n - Role-based access control where minters can manage other minters" }, "fullyImplemented": true, - "id": 4396, + "id": 4397, "linearizedBaseContracts": [ - 4396, - 986, - 3072, - 3084, - 1069, - 2586, - 2462, - 1290, - 2612, - 2540, - 2902 + 4397, + 987, + 3073, + 3085, + 1070, + 2587, + 2463, + 1291, + 2613, + 2541, + 2903 ], "name": "EnsembleCredits", "nameLocation": "686:15:27", @@ -49591,18 +49583,18 @@ { "constant": true, "documentation": { - "id": 4029, + "id": 4030, "nodeType": "StructuredDocumentation", "src": "747:61:27", "text": "@dev Role identifier for addresses allowed to mint tokens" }, "functionSelector": "d5391393", - "id": 4034, + "id": 4035, "mutability": "constant", "name": "MINTER_ROLE", "nameLocation": "837:11:27", "nodeType": "VariableDeclaration", - "scope": 4396, + "scope": 4397, "src": "813:62:27", "stateVariable": true, "storageLocation": "default", @@ -49611,7 +49603,7 @@ "typeString": "bytes32" }, "typeName": { - "id": 4030, + "id": 4031, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "813:7:27", @@ -49624,7 +49616,7 @@ "arguments": [ { "hexValue": "4d494e5445525f524f4c45", - "id": 4032, + "id": 4033, "isConstant": false, "isLValue": false, "isPure": true, @@ -49646,7 +49638,7 @@ "typeString": "literal_string \"MINTER_ROLE\"" } ], - "id": 4031, + "id": 4032, "name": "keccak256", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -49657,7 +49649,7 @@ "typeString": "function (bytes memory) pure returns (bytes32)" } }, - "id": 4033, + "id": 4034, "isConstant": false, "isLValue": false, "isPure": true, @@ -49677,18 +49669,18 @@ }, { "documentation": { - "id": 4035, + "id": 4036, "nodeType": "StructuredDocumentation", "src": "886:79:27", "text": "@dev Custom error for when transfers are attempted (non-transferable token)" }, "errorSelector": "8cd22d19", - "id": 4037, + "id": 4038, "name": "TransferNotAllowed", "nameLocation": "976:18:27", "nodeType": "ErrorDefinition", "parameters": { - "id": 4036, + "id": 4037, "nodeType": "ParameterList", "parameters": [], "src": "994:2:27" @@ -49697,18 +49689,18 @@ }, { "documentation": { - "id": 4038, + "id": 4039, "nodeType": "StructuredDocumentation", "src": "1007:94:27", "text": "@dev Custom error for when approvals are attempted (not needed for non-transferable token)" }, "errorSelector": "0860716e", - "id": 4040, + "id": 4041, "name": "ApprovalNotAllowed", "nameLocation": "1112:18:27", "nodeType": "ErrorDefinition", "parameters": { - "id": 4039, + "id": 4040, "nodeType": "ParameterList", "parameters": [], "src": "1130:2:27" @@ -49718,29 +49710,29 @@ { "anonymous": false, "documentation": { - "id": 4041, + "id": 4042, "nodeType": "StructuredDocumentation", "src": "1139:145:27", "text": " @dev Emitted when tokens are minted\n @param to Address receiving the tokens\n @param amount Amount of tokens minted" }, "eventSelector": "0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885", - "id": 4047, + "id": 4048, "name": "Mint", "nameLocation": "1295:4:27", "nodeType": "EventDefinition", "parameters": { - "id": 4046, + "id": 4047, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4043, + "id": 4044, "indexed": true, "mutability": "mutable", "name": "to", "nameLocation": "1316:2:27", "nodeType": "VariableDeclaration", - "scope": 4047, + "scope": 4048, "src": "1300:18:27", "stateVariable": false, "storageLocation": "default", @@ -49749,7 +49741,7 @@ "typeString": "address" }, "typeName": { - "id": 4042, + "id": 4043, "name": "address", "nodeType": "ElementaryTypeName", "src": "1300:7:27", @@ -49763,13 +49755,13 @@ }, { "constant": false, - "id": 4045, + "id": 4046, "indexed": false, "mutability": "mutable", "name": "amount", "nameLocation": "1328:6:27", "nodeType": "VariableDeclaration", - "scope": 4047, + "scope": 4048, "src": "1320:14:27", "stateVariable": false, "storageLocation": "default", @@ -49778,7 +49770,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4044, + "id": 4045, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1320:7:27", @@ -49797,29 +49789,29 @@ { "anonymous": false, "documentation": { - "id": 4048, + "id": 4049, "nodeType": "StructuredDocumentation", "src": "1342:155:27", "text": " @dev Emitted when tokens are burned\n @param from Address from which tokens are burned\n @param amount Amount of tokens burned" }, "eventSelector": "cc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5", - "id": 4054, + "id": 4055, "name": "Burn", "nameLocation": "1508:4:27", "nodeType": "EventDefinition", "parameters": { - "id": 4053, + "id": 4054, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4050, + "id": 4051, "indexed": true, "mutability": "mutable", "name": "from", "nameLocation": "1529:4:27", "nodeType": "VariableDeclaration", - "scope": 4054, + "scope": 4055, "src": "1513:20:27", "stateVariable": false, "storageLocation": "default", @@ -49828,7 +49820,7 @@ "typeString": "address" }, "typeName": { - "id": 4049, + "id": 4050, "name": "address", "nodeType": "ElementaryTypeName", "src": "1513:7:27", @@ -49842,13 +49834,13 @@ }, { "constant": false, - "id": 4052, + "id": 4053, "indexed": false, "mutability": "mutable", "name": "amount", "nameLocation": "1543:6:27", "nodeType": "VariableDeclaration", - "scope": 4054, + "scope": 4055, "src": "1535:14:27", "stateVariable": false, "storageLocation": "default", @@ -49857,7 +49849,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4051, + "id": 4052, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1535:7:27", @@ -49876,29 +49868,29 @@ { "anonymous": false, "documentation": { - "id": 4055, + "id": 4056, "nodeType": "StructuredDocumentation", "src": "1557:107:27", "text": " @dev Emitted when a new minter is added\n @param minter Address granted minter role" }, "eventSelector": "6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f6", - "id": 4059, + "id": 4060, "name": "MinterAdded", "nameLocation": "1675:11:27", "nodeType": "EventDefinition", "parameters": { - "id": 4058, + "id": 4059, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4057, + "id": 4058, "indexed": true, "mutability": "mutable", "name": "minter", "nameLocation": "1703:6:27", "nodeType": "VariableDeclaration", - "scope": 4059, + "scope": 4060, "src": "1687:22:27", "stateVariable": false, "storageLocation": "default", @@ -49907,7 +49899,7 @@ "typeString": "address" }, "typeName": { - "id": 4056, + "id": 4057, "name": "address", "nodeType": "ElementaryTypeName", "src": "1687:7:27", @@ -49927,29 +49919,29 @@ { "anonymous": false, "documentation": { - "id": 4060, + "id": 4061, "nodeType": "StructuredDocumentation", "src": "1717:110:27", "text": " @dev Emitted when a minter is removed\n @param minter Address removed from minter role" }, "eventSelector": "e94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb66692", - "id": 4064, + "id": 4065, "name": "MinterRemoved", "nameLocation": "1838:13:27", "nodeType": "EventDefinition", "parameters": { - "id": 4063, + "id": 4064, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4062, + "id": 4063, "indexed": true, "mutability": "mutable", "name": "minter", "nameLocation": "1868:6:27", "nodeType": "VariableDeclaration", - "scope": 4064, + "scope": 4065, "src": "1852:22:27", "stateVariable": false, "storageLocation": "default", @@ -49958,7 +49950,7 @@ "typeString": "address" }, "typeName": { - "id": 4061, + "id": 4062, "name": "address", "nodeType": "ElementaryTypeName", "src": "1852:7:27", @@ -49977,7 +49969,7 @@ }, { "body": { - "id": 4120, + "id": 4121, "nodeType": "Block", "src": "2361:501:27", "statements": [ @@ -49989,17 +49981,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4086, + "id": 4087, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 4081, + "id": 4082, "name": "initialAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4071, + "referencedDeclaration": 4072, "src": "2379:12:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -50012,7 +50004,7 @@ "arguments": [ { "hexValue": "30", - "id": 4084, + "id": 4085, "isConstant": false, "isLValue": false, "isPure": true, @@ -50034,7 +50026,7 @@ "typeString": "int_const 0" } ], - "id": 4083, + "id": 4084, "isConstant": false, "isLValue": false, "isPure": true, @@ -50046,14 +50038,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4082, + "id": 4083, "name": "address", "nodeType": "ElementaryTypeName", "src": "2395:7:27", "typeDescriptions": {} } }, - "id": 4085, + "id": 4086, "isConstant": false, "isLValue": false, "isPure": true, @@ -50077,7 +50069,7 @@ }, { "hexValue": "456e73656d626c65437265646974733a2061646d696e2063616e6e6f74206265207a65726f2061646472657373", - "id": 4087, + "id": 4088, "isConstant": false, "isLValue": false, "isPure": true, @@ -50103,7 +50095,7 @@ "typeString": "literal_string \"EnsembleCredits: admin cannot be zero address\"" } ], - "id": 4080, + "id": 4081, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -50117,7 +50109,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4088, + "id": 4089, "isConstant": false, "isLValue": false, "isPure": false, @@ -50133,7 +50125,7 @@ "typeString": "tuple()" } }, - "id": 4089, + "id": 4090, "nodeType": "ExpressionStatement", "src": "2371:84:27" }, @@ -50141,11 +50133,11 @@ "expression": { "arguments": [ { - "id": 4091, + "id": 4092, "name": "DEFAULT_ADMIN_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 720, + "referencedDeclaration": 721, "src": "2485:18:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -50153,11 +50145,11 @@ } }, { - "id": 4092, + "id": 4093, "name": "initialAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4071, + "referencedDeclaration": 4072, "src": "2505:12:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -50176,18 +50168,18 @@ "typeString": "address" } ], - "id": 4090, + "id": 4091, "name": "_grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 947, + "referencedDeclaration": 948, "src": "2474:10:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) returns (bool)" } }, - "id": 4093, + "id": 4094, "isConstant": false, "isLValue": false, "isPure": false, @@ -50203,7 +50195,7 @@ "typeString": "bool" } }, - "id": 4094, + "id": 4095, "nodeType": "ExpressionStatement", "src": "2474:44:27" }, @@ -50211,11 +50203,11 @@ "expression": { "arguments": [ { - "id": 4096, + "id": 4097, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4034, + "referencedDeclaration": 4035, "src": "2539:11:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -50223,11 +50215,11 @@ } }, { - "id": 4097, + "id": 4098, "name": "initialAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4071, + "referencedDeclaration": 4072, "src": "2552:12:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -50246,18 +50238,18 @@ "typeString": "address" } ], - "id": 4095, + "id": 4096, "name": "_grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 947, + "referencedDeclaration": 948, "src": "2528:10:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) returns (bool)" } }, - "id": 4098, + "id": 4099, "isConstant": false, "isLValue": false, "isPure": false, @@ -50273,7 +50265,7 @@ "typeString": "bool" } }, - "id": 4099, + "id": 4100, "nodeType": "ExpressionStatement", "src": "2528:37:27" }, @@ -50281,11 +50273,11 @@ "expression": { "arguments": [ { - "id": 4101, + "id": 4102, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4034, + "referencedDeclaration": 4035, "src": "2678:11:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -50293,11 +50285,11 @@ } }, { - "id": 4102, + "id": 4103, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4034, + "referencedDeclaration": 4035, "src": "2691:11:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -50316,18 +50308,18 @@ "typeString": "bytes32" } ], - "id": 4100, + "id": 4101, "name": "_setRoleAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 908, + "referencedDeclaration": 909, "src": "2664:13:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$__$", "typeString": "function (bytes32,bytes32)" } }, - "id": 4103, + "id": 4104, "isConstant": false, "isLValue": false, "isPure": false, @@ -50343,7 +50335,7 @@ "typeString": "tuple()" } }, - "id": 4104, + "id": 4105, "nodeType": "ExpressionStatement", "src": "2664:39:27" }, @@ -50353,17 +50345,17 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4107, + "id": 4108, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 4105, + "id": 4106, "name": "initialSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4073, + "referencedDeclaration": 4074, "src": "2726:13:27", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -50374,7 +50366,7 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 4106, + "id": 4107, "isConstant": false, "isLValue": false, "isPure": true, @@ -50394,11 +50386,11 @@ "typeString": "bool" } }, - "id": 4119, + "id": 4120, "nodeType": "IfStatement", "src": "2722:134:27", "trueBody": { - "id": 4118, + "id": 4119, "nodeType": "Block", "src": "2745:111:27", "statements": [ @@ -50406,11 +50398,11 @@ "expression": { "arguments": [ { - "id": 4109, + "id": 4110, "name": "initialAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4071, + "referencedDeclaration": 4072, "src": "2765:12:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -50418,11 +50410,11 @@ } }, { - "id": 4110, + "id": 4111, "name": "initialSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4073, + "referencedDeclaration": 4074, "src": "2779:13:27", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -50441,18 +50433,18 @@ "typeString": "uint256" } ], - "id": 4108, + "id": 4109, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2302, + "referencedDeclaration": 2303, "src": "2759:5:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4111, + "id": 4112, "isConstant": false, "isLValue": false, "isPure": false, @@ -50468,7 +50460,7 @@ "typeString": "tuple()" } }, - "id": 4112, + "id": 4113, "nodeType": "ExpressionStatement", "src": "2759:34:27" }, @@ -50476,11 +50468,11 @@ "eventCall": { "arguments": [ { - "id": 4114, + "id": 4115, "name": "initialAdmin", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4071, + "referencedDeclaration": 4072, "src": "2817:12:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -50488,11 +50480,11 @@ } }, { - "id": 4115, + "id": 4116, "name": "initialSupply", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4073, + "referencedDeclaration": 4074, "src": "2831:13:27", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -50511,18 +50503,18 @@ "typeString": "uint256" } ], - "id": 4113, + "id": 4114, "name": "Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4047, + "referencedDeclaration": 4048, "src": "2812:4:27", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4116, + "id": 4117, "isConstant": false, "isLValue": false, "isPure": false, @@ -50538,7 +50530,7 @@ "typeString": "tuple()" } }, - "id": 4117, + "id": 4118, "nodeType": "EmitStatement", "src": "2807:38:27" } @@ -50548,23 +50540,23 @@ ] }, "documentation": { - "id": 4065, + "id": 4066, "nodeType": "StructuredDocumentation", "src": "1882:317:27", "text": " @dev Constructor that sets up the token with initial admin\n @param name Token name\n @param symbol Token symbol\n @param initialAdmin Address that will have admin and initial minter roles\n @param initialSupply Optional initial supply to mint to admin (0 for no initial supply)" }, - "id": 4121, + "id": 4122, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [ { - "id": 4076, + "id": 4077, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4067, + "referencedDeclaration": 4068, "src": "2347:4:27", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -50572,11 +50564,11 @@ } }, { - "id": 4077, + "id": 4078, "name": "symbol", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4069, + "referencedDeclaration": 4070, "src": "2353:6:27", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -50584,16 +50576,16 @@ } } ], - "id": 4078, + "id": 4079, "kind": "baseConstructorSpecifier", "modifierName": { - "id": 4075, + "id": 4076, "name": "ERC20", "nameLocations": [ "2341:5:27" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 2462, + "referencedDeclaration": 2463, "src": "2341:5:27" }, "nodeType": "ModifierInvocation", @@ -50604,17 +50596,17 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 4074, + "id": 4075, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4067, + "id": 4068, "mutability": "mutable", "name": "name", "nameLocation": "2239:4:27", "nodeType": "VariableDeclaration", - "scope": 4121, + "scope": 4122, "src": "2225:18:27", "stateVariable": false, "storageLocation": "memory", @@ -50623,7 +50615,7 @@ "typeString": "string" }, "typeName": { - "id": 4066, + "id": 4067, "name": "string", "nodeType": "ElementaryTypeName", "src": "2225:6:27", @@ -50636,12 +50628,12 @@ }, { "constant": false, - "id": 4069, + "id": 4070, "mutability": "mutable", "name": "symbol", "nameLocation": "2267:6:27", "nodeType": "VariableDeclaration", - "scope": 4121, + "scope": 4122, "src": "2253:20:27", "stateVariable": false, "storageLocation": "memory", @@ -50650,7 +50642,7 @@ "typeString": "string" }, "typeName": { - "id": 4068, + "id": 4069, "name": "string", "nodeType": "ElementaryTypeName", "src": "2253:6:27", @@ -50663,12 +50655,12 @@ }, { "constant": false, - "id": 4071, + "id": 4072, "mutability": "mutable", "name": "initialAdmin", "nameLocation": "2291:12:27", "nodeType": "VariableDeclaration", - "scope": 4121, + "scope": 4122, "src": "2283:20:27", "stateVariable": false, "storageLocation": "default", @@ -50677,7 +50669,7 @@ "typeString": "address" }, "typeName": { - "id": 4070, + "id": 4071, "name": "address", "nodeType": "ElementaryTypeName", "src": "2283:7:27", @@ -50691,12 +50683,12 @@ }, { "constant": false, - "id": 4073, + "id": 4074, "mutability": "mutable", "name": "initialSupply", "nameLocation": "2321:13:27", "nodeType": "VariableDeclaration", - "scope": 4121, + "scope": 4122, "src": "2313:21:27", "stateVariable": false, "storageLocation": "default", @@ -50705,7 +50697,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4072, + "id": 4073, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2313:7:27", @@ -50720,12 +50712,12 @@ "src": "2215:125:27" }, "returnParameters": { - "id": 4079, + "id": 4080, "nodeType": "ParameterList", "parameters": [], "src": "2361:0:27" }, - "scope": 4396, + "scope": 4397, "src": "2204:658:27", "stateMutability": "nonpayable", "virtual": false, @@ -50733,17 +50725,17 @@ }, { "baseFunctions": [ - 2026 + 2027 ], "body": { - "id": 4130, + "id": 4131, "nodeType": "Block", "src": "3081:25:27", "statements": [ { "expression": { "hexValue": "36", - "id": 4128, + "id": 4129, "isConstant": false, "isLValue": false, "isPure": true, @@ -50757,21 +50749,21 @@ }, "value": "6" }, - "functionReturnParameters": 4127, - "id": 4129, + "functionReturnParameters": 4128, + "id": 4130, "nodeType": "Return", "src": "3091:8:27" } ] }, "documentation": { - "id": 4122, + "id": 4123, "nodeType": "StructuredDocumentation", "src": "2868:151:27", "text": " @dev Returns the number of decimals used to get its user representation\n @return Number of decimals (6 for micro-transactions)" }, "functionSelector": "313ce567", - "id": 4131, + "id": 4132, "implemented": true, "kind": "function", "modifiers": [], @@ -50779,29 +50771,29 @@ "nameLocation": "3033:8:27", "nodeType": "FunctionDefinition", "overrides": { - "id": 4124, + "id": 4125, "nodeType": "OverrideSpecifier", "overrides": [], "src": "3056:8:27" }, "parameters": { - "id": 4123, + "id": 4124, "nodeType": "ParameterList", "parameters": [], "src": "3041:2:27" }, "returnParameters": { - "id": 4127, + "id": 4128, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4126, + "id": 4127, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4131, + "scope": 4132, "src": "3074:5:27", "stateVariable": false, "storageLocation": "default", @@ -50810,7 +50802,7 @@ "typeString": "uint8" }, "typeName": { - "id": 4125, + "id": 4126, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "3074:5:27", @@ -50824,7 +50816,7 @@ ], "src": "3073:7:27" }, - "scope": 4396, + "scope": 4397, "src": "3024:82:27", "stateMutability": "pure", "virtual": false, @@ -50832,7 +50824,7 @@ }, { "body": { - "id": 4162, + "id": 4163, "nodeType": "Block", "src": "3441:157:27", "statements": [ @@ -50844,17 +50836,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4148, + "id": 4149, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 4143, + "id": 4144, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4134, + "referencedDeclaration": 4135, "src": "3459:2:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -50867,7 +50859,7 @@ "arguments": [ { "hexValue": "30", - "id": 4146, + "id": 4147, "isConstant": false, "isLValue": false, "isPure": true, @@ -50889,7 +50881,7 @@ "typeString": "int_const 0" } ], - "id": 4145, + "id": 4146, "isConstant": false, "isLValue": false, "isPure": true, @@ -50901,14 +50893,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4144, + "id": 4145, "name": "address", "nodeType": "ElementaryTypeName", "src": "3465:7:27", "typeDescriptions": {} } }, - "id": 4147, + "id": 4148, "isConstant": false, "isLValue": false, "isPure": true, @@ -50932,7 +50924,7 @@ }, { "hexValue": "456e73656d626c65437265646974733a2063616e6e6f74206d696e7420746f207a65726f2061646472657373", - "id": 4149, + "id": 4150, "isConstant": false, "isLValue": false, "isPure": true, @@ -50958,7 +50950,7 @@ "typeString": "literal_string \"EnsembleCredits: cannot mint to zero address\"" } ], - "id": 4142, + "id": 4143, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -50972,7 +50964,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4150, + "id": 4151, "isConstant": false, "isLValue": false, "isPure": false, @@ -50988,7 +50980,7 @@ "typeString": "tuple()" } }, - "id": 4151, + "id": 4152, "nodeType": "ExpressionStatement", "src": "3451:73:27" }, @@ -50996,11 +50988,11 @@ "expression": { "arguments": [ { - "id": 4153, + "id": 4154, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4134, + "referencedDeclaration": 4135, "src": "3549:2:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51008,11 +51000,11 @@ } }, { - "id": 4154, + "id": 4155, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4136, + "referencedDeclaration": 4137, "src": "3553:6:27", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -51031,18 +51023,18 @@ "typeString": "uint256" } ], - "id": 4152, + "id": 4153, "name": "_mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2302, + "referencedDeclaration": 2303, "src": "3543:5:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4155, + "id": 4156, "isConstant": false, "isLValue": false, "isPure": false, @@ -51058,7 +51050,7 @@ "typeString": "tuple()" } }, - "id": 4156, + "id": 4157, "nodeType": "ExpressionStatement", "src": "3543:17:27" }, @@ -51066,11 +51058,11 @@ "eventCall": { "arguments": [ { - "id": 4158, + "id": 4159, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4134, + "referencedDeclaration": 4135, "src": "3580:2:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51078,11 +51070,11 @@ } }, { - "id": 4159, + "id": 4160, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4136, + "referencedDeclaration": 4137, "src": "3584:6:27", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -51101,18 +51093,18 @@ "typeString": "uint256" } ], - "id": 4157, + "id": 4158, "name": "Mint", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4047, + "referencedDeclaration": 4048, "src": "3575:4:27", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4160, + "id": 4161, "isConstant": false, "isLValue": false, "isPure": false, @@ -51128,31 +51120,31 @@ "typeString": "tuple()" } }, - "id": 4161, + "id": 4162, "nodeType": "EmitStatement", "src": "3570:21:27" } ] }, "documentation": { - "id": 4132, + "id": 4133, "nodeType": "StructuredDocumentation", "src": "3112:251:27", "text": " @dev Mint tokens to a specified address\n @param to Address to mint tokens to\n @param amount Amount of tokens to mint\n \n Requirements:\n - Caller must have minter role\n - `to` cannot be zero address" }, "functionSelector": "40c10f19", - "id": 4163, + "id": 4164, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 4139, + "id": 4140, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4034, + "referencedDeclaration": 4035, "src": "3428:11:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -51160,16 +51152,16 @@ } } ], - "id": 4140, + "id": 4141, "kind": "modifierInvocation", "modifierName": { - "id": 4138, + "id": 4139, "name": "onlyRole", "nameLocations": [ "3419:8:27" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 731, + "referencedDeclaration": 732, "src": "3419:8:27" }, "nodeType": "ModifierInvocation", @@ -51180,17 +51172,17 @@ "nameLocation": "3377:4:27", "nodeType": "FunctionDefinition", "parameters": { - "id": 4137, + "id": 4138, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4134, + "id": 4135, "mutability": "mutable", "name": "to", "nameLocation": "3390:2:27", "nodeType": "VariableDeclaration", - "scope": 4163, + "scope": 4164, "src": "3382:10:27", "stateVariable": false, "storageLocation": "default", @@ -51199,7 +51191,7 @@ "typeString": "address" }, "typeName": { - "id": 4133, + "id": 4134, "name": "address", "nodeType": "ElementaryTypeName", "src": "3382:7:27", @@ -51213,12 +51205,12 @@ }, { "constant": false, - "id": 4136, + "id": 4137, "mutability": "mutable", "name": "amount", "nameLocation": "3402:6:27", "nodeType": "VariableDeclaration", - "scope": 4163, + "scope": 4164, "src": "3394:14:27", "stateVariable": false, "storageLocation": "default", @@ -51227,7 +51219,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4135, + "id": 4136, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3394:7:27", @@ -51242,12 +51234,12 @@ "src": "3381:28:27" }, "returnParameters": { - "id": 4141, + "id": 4142, "nodeType": "ParameterList", "parameters": [], "src": "3441:0:27" }, - "scope": 4396, + "scope": 4397, "src": "3368:230:27", "stateMutability": "nonpayable", "virtual": false, @@ -51255,26 +51247,26 @@ }, { "baseFunctions": [ - 2564 + 2565 ], "body": { - "id": 4185, + "id": 4186, "nodeType": "Block", "src": "3832:115:27", "statements": [ { "assignments": [ - 4171 + 4172 ], "declarations": [ { "constant": false, - "id": 4171, + "id": 4172, "mutability": "mutable", "name": "account", "nameLocation": "3850:7:27", "nodeType": "VariableDeclaration", - "scope": 4185, + "scope": 4186, "src": "3842:15:27", "stateVariable": false, "storageLocation": "default", @@ -51283,7 +51275,7 @@ "typeString": "address" }, "typeName": { - "id": 4170, + "id": 4171, "name": "address", "nodeType": "ElementaryTypeName", "src": "3842:7:27", @@ -51296,23 +51288,23 @@ "visibility": "internal" } ], - "id": 4174, + "id": 4175, "initialValue": { "arguments": [], "expression": { "argumentTypes": [], - "id": 4172, + "id": 4173, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, + "referencedDeclaration": 2885, "src": "3860:10:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 4173, + "id": 4174, "isConstant": false, "isLValue": false, "isPure": false, @@ -51335,11 +51327,11 @@ "expression": { "arguments": [ { - "id": 4176, + "id": 4177, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4171, + "referencedDeclaration": 4172, "src": "3888:7:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51347,11 +51339,11 @@ } }, { - "id": 4177, + "id": 4178, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4166, + "referencedDeclaration": 4167, "src": "3897:6:27", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -51370,18 +51362,18 @@ "typeString": "uint256" } ], - "id": 4175, + "id": 4176, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2335, + "referencedDeclaration": 2336, "src": "3882:5:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4178, + "id": 4179, "isConstant": false, "isLValue": false, "isPure": false, @@ -51397,7 +51389,7 @@ "typeString": "tuple()" } }, - "id": 4179, + "id": 4180, "nodeType": "ExpressionStatement", "src": "3882:22:27" }, @@ -51405,11 +51397,11 @@ "eventCall": { "arguments": [ { - "id": 4181, + "id": 4182, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4171, + "referencedDeclaration": 4172, "src": "3924:7:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51417,11 +51409,11 @@ } }, { - "id": 4182, + "id": 4183, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4166, + "referencedDeclaration": 4167, "src": "3933:6:27", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -51440,18 +51432,18 @@ "typeString": "uint256" } ], - "id": 4180, + "id": 4181, "name": "Burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4054, + "referencedDeclaration": 4055, "src": "3919:4:27", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4183, + "id": 4184, "isConstant": false, "isLValue": false, "isPure": false, @@ -51467,20 +51459,20 @@ "typeString": "tuple()" } }, - "id": 4184, + "id": 4185, "nodeType": "EmitStatement", "src": "3914:26:27" } ] }, "documentation": { - "id": 4164, + "id": 4165, "nodeType": "StructuredDocumentation", "src": "3604:177:27", "text": " @dev Burn tokens from caller's balance\n @param amount Amount of tokens to burn\n \n Requirements:\n - Caller must have sufficient balance" }, "functionSelector": "42966c68", - "id": 4186, + "id": 4187, "implemented": true, "kind": "function", "modifiers": [], @@ -51488,23 +51480,23 @@ "nameLocation": "3795:4:27", "nodeType": "FunctionDefinition", "overrides": { - "id": 4168, + "id": 4169, "nodeType": "OverrideSpecifier", "overrides": [], "src": "3823:8:27" }, "parameters": { - "id": 4167, + "id": 4168, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4166, + "id": 4167, "mutability": "mutable", "name": "amount", "nameLocation": "3808:6:27", "nodeType": "VariableDeclaration", - "scope": 4186, + "scope": 4187, "src": "3800:14:27", "stateVariable": false, "storageLocation": "default", @@ -51513,7 +51505,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4165, + "id": 4166, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3800:7:27", @@ -51528,12 +51520,12 @@ "src": "3799:16:27" }, "returnParameters": { - "id": 4169, + "id": 4170, "nodeType": "ParameterList", "parameters": [], "src": "3832:0:27" }, - "scope": 4396, + "scope": 4397, "src": "3786:161:27", "stateMutability": "nonpayable", "virtual": false, @@ -51541,10 +51533,10 @@ }, { "baseFunctions": [ - 2585 + 2586 ], "body": { - "id": 4224, + "id": 4225, "nodeType": "Block", "src": "4301:341:27", "statements": [ @@ -51554,11 +51546,11 @@ { "arguments": [ { - "id": 4197, + "id": 4198, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4034, + "referencedDeclaration": 4035, "src": "4381:11:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -51569,18 +51561,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4198, + "id": 4199, "name": "_msgSender", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2884, + "referencedDeclaration": 2885, "src": "4394:10:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", "typeString": "function () view returns (address)" } }, - "id": 4199, + "id": 4200, "isConstant": false, "isLValue": false, "isPure": false, @@ -51608,18 +51600,18 @@ "typeString": "address" } ], - "id": 4196, + "id": 4197, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 771, + "referencedDeclaration": 772, "src": "4373:7:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" } }, - "id": 4200, + "id": 4201, "isConstant": false, "isLValue": false, "isPure": false, @@ -51637,7 +51629,7 @@ }, { "hexValue": "456e73656d626c65437265646974733a2063616c6c6572206d7573742068617665206d696e74657220726f6c6520746f206275726e2066726f6d206f7468657273", - "id": 4201, + "id": 4202, "isConstant": false, "isLValue": false, "isPure": true, @@ -51663,7 +51655,7 @@ "typeString": "literal_string \"EnsembleCredits: caller must have minter role to burn from others\"" } ], - "id": 4195, + "id": 4196, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -51677,7 +51669,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4202, + "id": 4203, "isConstant": false, "isLValue": false, "isPure": false, @@ -51693,7 +51685,7 @@ "typeString": "tuple()" } }, - "id": 4203, + "id": 4204, "nodeType": "ExpressionStatement", "src": "4365:112:27" }, @@ -51705,17 +51697,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4210, + "id": 4211, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 4205, + "id": 4206, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4189, + "referencedDeclaration": 4190, "src": "4495:4:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51728,7 +51720,7 @@ "arguments": [ { "hexValue": "30", - "id": 4208, + "id": 4209, "isConstant": false, "isLValue": false, "isPure": true, @@ -51750,7 +51742,7 @@ "typeString": "int_const 0" } ], - "id": 4207, + "id": 4208, "isConstant": false, "isLValue": false, "isPure": true, @@ -51762,14 +51754,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4206, + "id": 4207, "name": "address", "nodeType": "ElementaryTypeName", "src": "4503:7:27", "typeDescriptions": {} } }, - "id": 4209, + "id": 4210, "isConstant": false, "isLValue": false, "isPure": true, @@ -51793,7 +51785,7 @@ }, { "hexValue": "456e73656d626c65437265646974733a2063616e6e6f74206275726e2066726f6d207a65726f2061646472657373", - "id": 4211, + "id": 4212, "isConstant": false, "isLValue": false, "isPure": true, @@ -51819,7 +51811,7 @@ "typeString": "literal_string \"EnsembleCredits: cannot burn from zero address\"" } ], - "id": 4204, + "id": 4205, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -51833,7 +51825,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4212, + "id": 4213, "isConstant": false, "isLValue": false, "isPure": false, @@ -51849,7 +51841,7 @@ "typeString": "tuple()" } }, - "id": 4213, + "id": 4214, "nodeType": "ExpressionStatement", "src": "4487:77:27" }, @@ -51857,11 +51849,11 @@ "expression": { "arguments": [ { - "id": 4215, + "id": 4216, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4189, + "referencedDeclaration": 4190, "src": "4589:4:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51869,11 +51861,11 @@ } }, { - "id": 4216, + "id": 4217, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4191, + "referencedDeclaration": 4192, "src": "4595:6:27", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -51892,18 +51884,18 @@ "typeString": "uint256" } ], - "id": 4214, + "id": 4215, "name": "_burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 2335, + "referencedDeclaration": 2336, "src": "4583:5:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4217, + "id": 4218, "isConstant": false, "isLValue": false, "isPure": false, @@ -51919,7 +51911,7 @@ "typeString": "tuple()" } }, - "id": 4218, + "id": 4219, "nodeType": "ExpressionStatement", "src": "4583:19:27" }, @@ -51927,11 +51919,11 @@ "eventCall": { "arguments": [ { - "id": 4220, + "id": 4221, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4189, + "referencedDeclaration": 4190, "src": "4622:4:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -51939,11 +51931,11 @@ } }, { - "id": 4221, + "id": 4222, "name": "amount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4191, + "referencedDeclaration": 4192, "src": "4628:6:27", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -51962,18 +51954,18 @@ "typeString": "uint256" } ], - "id": 4219, + "id": 4220, "name": "Burn", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4054, + "referencedDeclaration": 4055, "src": "4617:4:27", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4222, + "id": 4223, "isConstant": false, "isLValue": false, "isPure": false, @@ -51989,20 +51981,20 @@ "typeString": "tuple()" } }, - "id": 4223, + "id": 4224, "nodeType": "EmitStatement", "src": "4612:23:27" } ] }, "documentation": { - "id": 4187, + "id": 4188, "nodeType": "StructuredDocumentation", "src": "3953:279:27", "text": " @dev Burn tokens from a specified address (minter only)\n @param from Address to burn tokens from\n @param amount Amount of tokens to burn\n \n Requirements:\n - Caller must have minter role\n - `from` must have sufficient balance" }, "functionSelector": "79cc6790", - "id": 4225, + "id": 4226, "implemented": true, "kind": "function", "modifiers": [], @@ -52010,23 +52002,23 @@ "nameLocation": "4246:8:27", "nodeType": "FunctionDefinition", "overrides": { - "id": 4193, + "id": 4194, "nodeType": "OverrideSpecifier", "overrides": [], "src": "4292:8:27" }, "parameters": { - "id": 4192, + "id": 4193, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4189, + "id": 4190, "mutability": "mutable", "name": "from", "nameLocation": "4263:4:27", "nodeType": "VariableDeclaration", - "scope": 4225, + "scope": 4226, "src": "4255:12:27", "stateVariable": false, "storageLocation": "default", @@ -52035,7 +52027,7 @@ "typeString": "address" }, "typeName": { - "id": 4188, + "id": 4189, "name": "address", "nodeType": "ElementaryTypeName", "src": "4255:7:27", @@ -52049,12 +52041,12 @@ }, { "constant": false, - "id": 4191, + "id": 4192, "mutability": "mutable", "name": "amount", "nameLocation": "4277:6:27", "nodeType": "VariableDeclaration", - "scope": 4225, + "scope": 4226, "src": "4269:14:27", "stateVariable": false, "storageLocation": "default", @@ -52063,7 +52055,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4190, + "id": 4191, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4269:7:27", @@ -52078,12 +52070,12 @@ "src": "4254:30:27" }, "returnParameters": { - "id": 4194, + "id": 4195, "nodeType": "ParameterList", "parameters": [], "src": "4301:0:27" }, - "scope": 4396, + "scope": 4397, "src": "4237:405:27", "stateMutability": "nonpayable", "virtual": false, @@ -52091,7 +52083,7 @@ }, { "body": { - "id": 4253, + "id": 4254, "nodeType": "Block", "src": "4908:184:27", "statements": [ @@ -52103,17 +52095,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4240, + "id": 4241, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 4235, + "id": 4236, "name": "minter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4228, + "referencedDeclaration": 4229, "src": "4926:6:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52126,7 +52118,7 @@ "arguments": [ { "hexValue": "30", - "id": 4238, + "id": 4239, "isConstant": false, "isLValue": false, "isPure": true, @@ -52148,7 +52140,7 @@ "typeString": "int_const 0" } ], - "id": 4237, + "id": 4238, "isConstant": false, "isLValue": false, "isPure": true, @@ -52160,14 +52152,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4236, + "id": 4237, "name": "address", "nodeType": "ElementaryTypeName", "src": "4936:7:27", "typeDescriptions": {} } }, - "id": 4239, + "id": 4240, "isConstant": false, "isLValue": false, "isPure": true, @@ -52191,7 +52183,7 @@ }, { "hexValue": "456e73656d626c65437265646974733a2063616e6e6f7420616464207a65726f2061646472657373206173206d696e746572", - "id": 4241, + "id": 4242, "isConstant": false, "isLValue": false, "isPure": true, @@ -52217,7 +52209,7 @@ "typeString": "literal_string \"EnsembleCredits: cannot add zero address as minter\"" } ], - "id": 4234, + "id": 4235, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -52231,7 +52223,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4242, + "id": 4243, "isConstant": false, "isLValue": false, "isPure": false, @@ -52247,7 +52239,7 @@ "typeString": "tuple()" } }, - "id": 4243, + "id": 4244, "nodeType": "ExpressionStatement", "src": "4918:83:27" }, @@ -52255,11 +52247,11 @@ "expression": { "arguments": [ { - "id": 4245, + "id": 4246, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4034, + "referencedDeclaration": 4035, "src": "5031:11:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -52267,11 +52259,11 @@ } }, { - "id": 4246, + "id": 4247, "name": "minter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4228, + "referencedDeclaration": 4229, "src": "5044:6:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52290,18 +52282,18 @@ "typeString": "address" } ], - "id": 4244, + "id": 4245, "name": "_grantRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 947, + "referencedDeclaration": 948, "src": "5020:10:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) returns (bool)" } }, - "id": 4247, + "id": 4248, "isConstant": false, "isLValue": false, "isPure": false, @@ -52317,7 +52309,7 @@ "typeString": "bool" } }, - "id": 4248, + "id": 4249, "nodeType": "ExpressionStatement", "src": "5020:31:27" }, @@ -52325,11 +52317,11 @@ "eventCall": { "arguments": [ { - "id": 4250, + "id": 4251, "name": "minter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4228, + "referencedDeclaration": 4229, "src": "5078:6:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52344,18 +52336,18 @@ "typeString": "address" } ], - "id": 4249, + "id": 4250, "name": "MinterAdded", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4059, + "referencedDeclaration": 4060, "src": "5066:11:27", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 4251, + "id": 4252, "isConstant": false, "isLValue": false, "isPure": false, @@ -52371,31 +52363,31 @@ "typeString": "tuple()" } }, - "id": 4252, + "id": 4253, "nodeType": "EmitStatement", "src": "5061:24:27" } ] }, "documentation": { - "id": 4226, + "id": 4227, "nodeType": "StructuredDocumentation", "src": "4648:189:27", "text": " @dev Add a new minter\n @param minter Address to grant minter role\n \n Requirements:\n - Caller must have minter role (minters can add other minters)" }, "functionSelector": "983b2d56", - "id": 4254, + "id": 4255, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 4231, + "id": 4232, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4034, + "referencedDeclaration": 4035, "src": "4895:11:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -52403,16 +52395,16 @@ } } ], - "id": 4232, + "id": 4233, "kind": "modifierInvocation", "modifierName": { - "id": 4230, + "id": 4231, "name": "onlyRole", "nameLocations": [ "4886:8:27" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 731, + "referencedDeclaration": 732, "src": "4886:8:27" }, "nodeType": "ModifierInvocation", @@ -52423,17 +52415,17 @@ "nameLocation": "4851:9:27", "nodeType": "FunctionDefinition", "parameters": { - "id": 4229, + "id": 4230, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4228, + "id": 4229, "mutability": "mutable", "name": "minter", "nameLocation": "4869:6:27", "nodeType": "VariableDeclaration", - "scope": 4254, + "scope": 4255, "src": "4861:14:27", "stateVariable": false, "storageLocation": "default", @@ -52442,7 +52434,7 @@ "typeString": "address" }, "typeName": { - "id": 4227, + "id": 4228, "name": "address", "nodeType": "ElementaryTypeName", "src": "4861:7:27", @@ -52458,12 +52450,12 @@ "src": "4860:16:27" }, "returnParameters": { - "id": 4233, + "id": 4234, "nodeType": "ParameterList", "parameters": [], "src": "4908:0:27" }, - "scope": 4396, + "scope": 4397, "src": "4842:250:27", "stateMutability": "nonpayable", "virtual": false, @@ -52471,7 +52463,7 @@ }, { "body": { - "id": 4290, + "id": 4291, "nodeType": "Block", "src": "5369:281:27", "statements": [ @@ -52483,17 +52475,17 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4269, + "id": 4270, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 4264, + "id": 4265, "name": "minter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4257, + "referencedDeclaration": 4258, "src": "5387:6:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52506,7 +52498,7 @@ "arguments": [ { "hexValue": "30", - "id": 4267, + "id": 4268, "isConstant": false, "isLValue": false, "isPure": true, @@ -52528,7 +52520,7 @@ "typeString": "int_const 0" } ], - "id": 4266, + "id": 4267, "isConstant": false, "isLValue": false, "isPure": true, @@ -52540,14 +52532,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4265, + "id": 4266, "name": "address", "nodeType": "ElementaryTypeName", "src": "5397:7:27", "typeDescriptions": {} } }, - "id": 4268, + "id": 4269, "isConstant": false, "isLValue": false, "isPure": true, @@ -52571,7 +52563,7 @@ }, { "hexValue": "456e73656d626c65437265646974733a2063616e6e6f742072656d6f7665207a65726f2061646472657373206173206d696e746572", - "id": 4270, + "id": 4271, "isConstant": false, "isLValue": false, "isPure": true, @@ -52597,7 +52589,7 @@ "typeString": "literal_string \"EnsembleCredits: cannot remove zero address as minter\"" } ], - "id": 4263, + "id": 4264, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -52611,7 +52603,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4271, + "id": 4272, "isConstant": false, "isLValue": false, "isPure": false, @@ -52627,7 +52619,7 @@ "typeString": "tuple()" } }, - "id": 4272, + "id": 4273, "nodeType": "ExpressionStatement", "src": "5379:86:27" }, @@ -52637,11 +52629,11 @@ { "arguments": [ { - "id": 4275, + "id": 4276, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4034, + "referencedDeclaration": 4035, "src": "5491:11:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -52649,11 +52641,11 @@ } }, { - "id": 4276, + "id": 4277, "name": "minter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4257, + "referencedDeclaration": 4258, "src": "5504:6:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52672,18 +52664,18 @@ "typeString": "address" } ], - "id": 4274, + "id": 4275, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 771, + "referencedDeclaration": 772, "src": "5483:7:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" } }, - "id": 4277, + "id": 4278, "isConstant": false, "isLValue": false, "isPure": false, @@ -52701,7 +52693,7 @@ }, { "hexValue": "456e73656d626c65437265646974733a2061646472657373206973206e6f742061206d696e746572", - "id": 4278, + "id": 4279, "isConstant": false, "isLValue": false, "isPure": true, @@ -52727,7 +52719,7 @@ "typeString": "literal_string \"EnsembleCredits: address is not a minter\"" } ], - "id": 4273, + "id": 4274, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -52741,7 +52733,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4279, + "id": 4280, "isConstant": false, "isLValue": false, "isPure": false, @@ -52757,7 +52749,7 @@ "typeString": "tuple()" } }, - "id": 4280, + "id": 4281, "nodeType": "ExpressionStatement", "src": "5475:81:27" }, @@ -52765,11 +52757,11 @@ "expression": { "arguments": [ { - "id": 4282, + "id": 4283, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4034, + "referencedDeclaration": 4035, "src": "5587:11:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -52777,11 +52769,11 @@ } }, { - "id": 4283, + "id": 4284, "name": "minter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4257, + "referencedDeclaration": 4258, "src": "5600:6:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52800,18 +52792,18 @@ "typeString": "address" } ], - "id": 4281, + "id": 4282, "name": "_revokeRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 985, + "referencedDeclaration": 986, "src": "5575:11:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) returns (bool)" } }, - "id": 4284, + "id": 4285, "isConstant": false, "isLValue": false, "isPure": false, @@ -52827,7 +52819,7 @@ "typeString": "bool" } }, - "id": 4285, + "id": 4286, "nodeType": "ExpressionStatement", "src": "5575:32:27" }, @@ -52835,11 +52827,11 @@ "eventCall": { "arguments": [ { - "id": 4287, + "id": 4288, "name": "minter", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4257, + "referencedDeclaration": 4258, "src": "5636:6:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -52854,18 +52846,18 @@ "typeString": "address" } ], - "id": 4286, + "id": 4287, "name": "MinterRemoved", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4064, + "referencedDeclaration": 4065, "src": "5622:13:27", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", "typeString": "function (address)" } }, - "id": 4288, + "id": 4289, "isConstant": false, "isLValue": false, "isPure": false, @@ -52881,31 +52873,31 @@ "typeString": "tuple()" } }, - "id": 4289, + "id": 4290, "nodeType": "EmitStatement", "src": "5617:26:27" } ] }, "documentation": { - "id": 4255, + "id": 4256, "nodeType": "StructuredDocumentation", "src": "5098:197:27", "text": " @dev Remove a minter\n @param minter Address to remove minter role from\n \n Requirements:\n - Caller must have minter role (minters can remove other minters)" }, "functionSelector": "3092afd5", - "id": 4291, + "id": 4292, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 4260, + "id": 4261, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4034, + "referencedDeclaration": 4035, "src": "5356:11:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -52913,16 +52905,16 @@ } } ], - "id": 4261, + "id": 4262, "kind": "modifierInvocation", "modifierName": { - "id": 4259, + "id": 4260, "name": "onlyRole", "nameLocations": [ "5347:8:27" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 731, + "referencedDeclaration": 732, "src": "5347:8:27" }, "nodeType": "ModifierInvocation", @@ -52933,17 +52925,17 @@ "nameLocation": "5309:12:27", "nodeType": "FunctionDefinition", "parameters": { - "id": 4258, + "id": 4259, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4257, + "id": 4258, "mutability": "mutable", "name": "minter", "nameLocation": "5330:6:27", "nodeType": "VariableDeclaration", - "scope": 4291, + "scope": 4292, "src": "5322:14:27", "stateVariable": false, "storageLocation": "default", @@ -52952,7 +52944,7 @@ "typeString": "address" }, "typeName": { - "id": 4256, + "id": 4257, "name": "address", "nodeType": "ElementaryTypeName", "src": "5322:7:27", @@ -52968,12 +52960,12 @@ "src": "5321:16:27" }, "returnParameters": { - "id": 4262, + "id": 4263, "nodeType": "ParameterList", "parameters": [], "src": "5369:0:27" }, - "scope": 4396, + "scope": 4397, "src": "5300:350:27", "stateMutability": "nonpayable", "virtual": false, @@ -52981,7 +52973,7 @@ }, { "body": { - "id": 4304, + "id": 4305, "nodeType": "Block", "src": "5870:53:27", "statements": [ @@ -52989,11 +52981,11 @@ "expression": { "arguments": [ { - "id": 4300, + "id": 4301, "name": "MINTER_ROLE", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4034, + "referencedDeclaration": 4035, "src": "5895:11:27", "typeDescriptions": { "typeIdentifier": "t_bytes32", @@ -53001,11 +52993,11 @@ } }, { - "id": 4301, + "id": 4302, "name": "account", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4294, + "referencedDeclaration": 4295, "src": "5908:7:27", "typeDescriptions": { "typeIdentifier": "t_address", @@ -53024,18 +53016,18 @@ "typeString": "address" } ], - "id": 4299, + "id": 4300, "name": "hasRole", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 771, + "referencedDeclaration": 772, "src": "5887:7:27", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", "typeString": "function (bytes32,address) view returns (bool)" } }, - "id": 4302, + "id": 4303, "isConstant": false, "isLValue": false, "isPure": false, @@ -53051,21 +53043,21 @@ "typeString": "bool" } }, - "functionReturnParameters": 4298, - "id": 4303, + "functionReturnParameters": 4299, + "id": 4304, "nodeType": "Return", "src": "5880:36:27" } ] }, "documentation": { - "id": 4292, + "id": 4293, "nodeType": "StructuredDocumentation", "src": "5656:145:27", "text": " @dev Check if an address has minter role\n @param account Address to check\n @return true if account has minter role" }, "functionSelector": "aa271e1a", - "id": 4305, + "id": 4306, "implemented": true, "kind": "function", "modifiers": [], @@ -53073,17 +53065,17 @@ "nameLocation": "5815:8:27", "nodeType": "FunctionDefinition", "parameters": { - "id": 4295, + "id": 4296, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4294, + "id": 4295, "mutability": "mutable", "name": "account", "nameLocation": "5832:7:27", "nodeType": "VariableDeclaration", - "scope": 4305, + "scope": 4306, "src": "5824:15:27", "stateVariable": false, "storageLocation": "default", @@ -53092,7 +53084,7 @@ "typeString": "address" }, "typeName": { - "id": 4293, + "id": 4294, "name": "address", "nodeType": "ElementaryTypeName", "src": "5824:7:27", @@ -53108,17 +53100,17 @@ "src": "5823:17:27" }, "returnParameters": { - "id": 4298, + "id": 4299, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4297, + "id": 4298, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4305, + "scope": 4306, "src": "5864:4:27", "stateVariable": false, "storageLocation": "default", @@ -53127,7 +53119,7 @@ "typeString": "bool" }, "typeName": { - "id": 4296, + "id": 4297, "name": "bool", "nodeType": "ElementaryTypeName", "src": "5864:4:27", @@ -53141,7 +53133,7 @@ ], "src": "5863:6:27" }, - "scope": 4396, + "scope": 4397, "src": "5806:117:27", "stateMutability": "view", "virtual": false, @@ -53149,10 +53141,10 @@ }, { "baseFunctions": [ - 2072 + 2073 ], "body": { - "id": 4319, + "id": 4320, "nodeType": "Block", "src": "6152:44:27", "statements": [ @@ -53161,18 +53153,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4316, + "id": 4317, "name": "TransferNotAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4037, + "referencedDeclaration": 4038, "src": "6169:18:27", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 4317, + "id": 4318, "isConstant": false, "isLValue": false, "isPure": false, @@ -53188,20 +53180,20 @@ "typeString": "tuple()" } }, - "id": 4318, + "id": 4319, "nodeType": "RevertStatement", "src": "6162:27:27" } ] }, "documentation": { - "id": 4306, + "id": 4307, "nodeType": "StructuredDocumentation", "src": "5929:146:27", "text": " @dev Override transfer to make token non-transferable\n @dev This function always reverts as the token is non-transferable" }, "functionSelector": "a9059cbb", - "id": 4320, + "id": 4321, "implemented": true, "kind": "function", "modifiers": [], @@ -53209,23 +53201,23 @@ "nameLocation": "6089:8:27", "nodeType": "FunctionDefinition", "overrides": { - "id": 4312, + "id": 4313, "nodeType": "OverrideSpecifier", "overrides": [], "src": "6128:8:27" }, "parameters": { - "id": 4311, + "id": 4312, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4308, + "id": 4309, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4320, + "scope": 4321, "src": "6098:7:27", "stateVariable": false, "storageLocation": "default", @@ -53234,7 +53226,7 @@ "typeString": "address" }, "typeName": { - "id": 4307, + "id": 4308, "name": "address", "nodeType": "ElementaryTypeName", "src": "6098:7:27", @@ -53248,12 +53240,12 @@ }, { "constant": false, - "id": 4310, + "id": 4311, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4320, + "scope": 4321, "src": "6107:7:27", "stateVariable": false, "storageLocation": "default", @@ -53262,7 +53254,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4309, + "id": 4310, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6107:7:27", @@ -53277,17 +53269,17 @@ "src": "6097:18:27" }, "returnParameters": { - "id": 4315, + "id": 4316, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4314, + "id": 4315, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4320, + "scope": 4321, "src": "6146:4:27", "stateVariable": false, "storageLocation": "default", @@ -53296,7 +53288,7 @@ "typeString": "bool" }, "typeName": { - "id": 4313, + "id": 4314, "name": "bool", "nodeType": "ElementaryTypeName", "src": "6146:4:27", @@ -53310,7 +53302,7 @@ ], "src": "6145:6:27" }, - "scope": 4396, + "scope": 4397, "src": "6080:116:27", "stateMutability": "pure", "virtual": false, @@ -53318,10 +53310,10 @@ }, { "baseFunctions": [ - 2145 + 2146 ], "body": { - "id": 4336, + "id": 4337, "nodeType": "Block", "src": "6442:44:27", "statements": [ @@ -53330,18 +53322,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4333, + "id": 4334, "name": "TransferNotAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4037, + "referencedDeclaration": 4038, "src": "6459:18:27", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 4334, + "id": 4335, "isConstant": false, "isLValue": false, "isPure": false, @@ -53357,20 +53349,20 @@ "typeString": "tuple()" } }, - "id": 4335, + "id": 4336, "nodeType": "RevertStatement", "src": "6452:27:27" } ] }, "documentation": { - "id": 4321, + "id": 4322, "nodeType": "StructuredDocumentation", "src": "6202:150:27", "text": " @dev Override transferFrom to make token non-transferable\n @dev This function always reverts as the token is non-transferable" }, "functionSelector": "23b872dd", - "id": 4337, + "id": 4338, "implemented": true, "kind": "function", "modifiers": [], @@ -53378,23 +53370,23 @@ "nameLocation": "6366:12:27", "nodeType": "FunctionDefinition", "overrides": { - "id": 4329, + "id": 4330, "nodeType": "OverrideSpecifier", "overrides": [], "src": "6418:8:27" }, "parameters": { - "id": 4328, + "id": 4329, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4323, + "id": 4324, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "6379:7:27", "stateVariable": false, "storageLocation": "default", @@ -53403,7 +53395,7 @@ "typeString": "address" }, "typeName": { - "id": 4322, + "id": 4323, "name": "address", "nodeType": "ElementaryTypeName", "src": "6379:7:27", @@ -53417,12 +53409,12 @@ }, { "constant": false, - "id": 4325, + "id": 4326, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "6388:7:27", "stateVariable": false, "storageLocation": "default", @@ -53431,7 +53423,7 @@ "typeString": "address" }, "typeName": { - "id": 4324, + "id": 4325, "name": "address", "nodeType": "ElementaryTypeName", "src": "6388:7:27", @@ -53445,12 +53437,12 @@ }, { "constant": false, - "id": 4327, + "id": 4328, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "6397:7:27", "stateVariable": false, "storageLocation": "default", @@ -53459,7 +53451,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4326, + "id": 4327, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6397:7:27", @@ -53474,17 +53466,17 @@ "src": "6378:27:27" }, "returnParameters": { - "id": 4332, + "id": 4333, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4331, + "id": 4332, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4337, + "scope": 4338, "src": "6436:4:27", "stateVariable": false, "storageLocation": "default", @@ -53493,7 +53485,7 @@ "typeString": "bool" }, "typeName": { - "id": 4330, + "id": 4331, "name": "bool", "nodeType": "ElementaryTypeName", "src": "6436:4:27", @@ -53507,7 +53499,7 @@ ], "src": "6435:6:27" }, - "scope": 4396, + "scope": 4397, "src": "6357:129:27", "stateMutability": "pure", "virtual": false, @@ -53515,10 +53507,10 @@ }, { "baseFunctions": [ - 2113 + 2114 ], "body": { - "id": 4351, + "id": 4352, "nodeType": "Block", "src": "6766:44:27", "statements": [ @@ -53527,18 +53519,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4348, + "id": 4349, "name": "ApprovalNotAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4040, + "referencedDeclaration": 4041, "src": "6783:18:27", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 4349, + "id": 4350, "isConstant": false, "isLValue": false, "isPure": false, @@ -53554,20 +53546,20 @@ "typeString": "tuple()" } }, - "id": 4350, + "id": 4351, "nodeType": "RevertStatement", "src": "6776:27:27" } ] }, "documentation": { - "id": 4338, + "id": 4339, "nodeType": "StructuredDocumentation", "src": "6492:198:27", "text": " @dev Override approve to prevent approvals (not needed for non-transferable token)\n @dev This function always reverts as approvals are not needed for non-transferable tokens" }, "functionSelector": "095ea7b3", - "id": 4352, + "id": 4353, "implemented": true, "kind": "function", "modifiers": [], @@ -53575,23 +53567,23 @@ "nameLocation": "6704:7:27", "nodeType": "FunctionDefinition", "overrides": { - "id": 4344, + "id": 4345, "nodeType": "OverrideSpecifier", "overrides": [], "src": "6742:8:27" }, "parameters": { - "id": 4343, + "id": 4344, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4340, + "id": 4341, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4352, + "scope": 4353, "src": "6712:7:27", "stateVariable": false, "storageLocation": "default", @@ -53600,7 +53592,7 @@ "typeString": "address" }, "typeName": { - "id": 4339, + "id": 4340, "name": "address", "nodeType": "ElementaryTypeName", "src": "6712:7:27", @@ -53614,12 +53606,12 @@ }, { "constant": false, - "id": 4342, + "id": 4343, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4352, + "scope": 4353, "src": "6721:7:27", "stateVariable": false, "storageLocation": "default", @@ -53628,7 +53620,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4341, + "id": 4342, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6721:7:27", @@ -53643,17 +53635,17 @@ "src": "6711:18:27" }, "returnParameters": { - "id": 4347, + "id": 4348, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4346, + "id": 4347, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4352, + "scope": 4353, "src": "6760:4:27", "stateVariable": false, "storageLocation": "default", @@ -53662,7 +53654,7 @@ "typeString": "bool" }, "typeName": { - "id": 4345, + "id": 4346, "name": "bool", "nodeType": "ElementaryTypeName", "src": "6760:4:27", @@ -53676,7 +53668,7 @@ ], "src": "6759:6:27" }, - "scope": 4396, + "scope": 4397, "src": "6695:115:27", "stateMutability": "pure", "virtual": false, @@ -53684,10 +53676,10 @@ }, { "baseFunctions": [ - 2089 + 2090 ], "body": { - "id": 4366, + "id": 4367, "nodeType": "Block", "src": "7106:44:27", "statements": [ @@ -53696,18 +53688,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4363, + "id": 4364, "name": "ApprovalNotAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4040, + "referencedDeclaration": 4041, "src": "7123:18:27", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 4364, + "id": 4365, "isConstant": false, "isLValue": false, "isPure": false, @@ -53723,20 +53715,20 @@ "typeString": "tuple()" } }, - "id": 4365, + "id": 4366, "nodeType": "RevertStatement", "src": "7116:27:27" } ] }, "documentation": { - "id": 4353, + "id": 4354, "nodeType": "StructuredDocumentation", "src": "6816:209:27", "text": " @dev Override allowance to prevent allowance queries (not needed for non-transferable token)\n @dev This function always reverts as allowances are not needed for non-transferable tokens" }, "functionSelector": "dd62ed3e", - "id": 4367, + "id": 4368, "implemented": true, "kind": "function", "modifiers": [], @@ -53744,23 +53736,23 @@ "nameLocation": "7039:9:27", "nodeType": "FunctionDefinition", "overrides": { - "id": 4359, + "id": 4360, "nodeType": "OverrideSpecifier", "overrides": [], "src": "7079:8:27" }, "parameters": { - "id": 4358, + "id": 4359, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4355, + "id": 4356, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4367, + "scope": 4368, "src": "7049:7:27", "stateVariable": false, "storageLocation": "default", @@ -53769,7 +53761,7 @@ "typeString": "address" }, "typeName": { - "id": 4354, + "id": 4355, "name": "address", "nodeType": "ElementaryTypeName", "src": "7049:7:27", @@ -53783,12 +53775,12 @@ }, { "constant": false, - "id": 4357, + "id": 4358, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4367, + "scope": 4368, "src": "7058:7:27", "stateVariable": false, "storageLocation": "default", @@ -53797,7 +53789,7 @@ "typeString": "address" }, "typeName": { - "id": 4356, + "id": 4357, "name": "address", "nodeType": "ElementaryTypeName", "src": "7058:7:27", @@ -53813,17 +53805,17 @@ "src": "7048:18:27" }, "returnParameters": { - "id": 4362, + "id": 4363, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4361, + "id": 4362, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4367, + "scope": 4368, "src": "7097:7:27", "stateVariable": false, "storageLocation": "default", @@ -53832,7 +53824,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4360, + "id": 4361, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7097:7:27", @@ -53846,7 +53838,7 @@ ], "src": "7096:9:27" }, - "scope": 4396, + "scope": 4397, "src": "7030:120:27", "stateMutability": "pure", "virtual": false, @@ -53854,7 +53846,7 @@ }, { "body": { - "id": 4380, + "id": 4381, "nodeType": "Block", "src": "7452:44:27", "statements": [ @@ -53863,18 +53855,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4377, + "id": 4378, "name": "ApprovalNotAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4040, + "referencedDeclaration": 4041, "src": "7469:18:27", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 4378, + "id": 4379, "isConstant": false, "isLValue": false, "isPure": false, @@ -53890,20 +53882,20 @@ "typeString": "tuple()" } }, - "id": 4379, + "id": 4380, "nodeType": "RevertStatement", "src": "7462:27:27" } ] }, "documentation": { - "id": 4368, + "id": 4369, "nodeType": "StructuredDocumentation", "src": "7156:219:27", "text": " @dev Override increaseAllowance to prevent allowance increases (not needed for non-transferable token)\n @dev This function always reverts as allowances are not needed for non-transferable tokens" }, "functionSelector": "39509351", - "id": 4381, + "id": 4382, "implemented": true, "kind": "function", "modifiers": [], @@ -53911,17 +53903,17 @@ "nameLocation": "7389:17:27", "nodeType": "FunctionDefinition", "parameters": { - "id": 4373, + "id": 4374, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4370, + "id": 4371, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4381, + "scope": 4382, "src": "7407:7:27", "stateVariable": false, "storageLocation": "default", @@ -53930,7 +53922,7 @@ "typeString": "address" }, "typeName": { - "id": 4369, + "id": 4370, "name": "address", "nodeType": "ElementaryTypeName", "src": "7407:7:27", @@ -53944,12 +53936,12 @@ }, { "constant": false, - "id": 4372, + "id": 4373, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4381, + "scope": 4382, "src": "7416:7:27", "stateVariable": false, "storageLocation": "default", @@ -53958,7 +53950,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4371, + "id": 4372, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7416:7:27", @@ -53973,17 +53965,17 @@ "src": "7406:18:27" }, "returnParameters": { - "id": 4376, + "id": 4377, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4375, + "id": 4376, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4381, + "scope": 4382, "src": "7446:4:27", "stateVariable": false, "storageLocation": "default", @@ -53992,7 +53984,7 @@ "typeString": "bool" }, "typeName": { - "id": 4374, + "id": 4375, "name": "bool", "nodeType": "ElementaryTypeName", "src": "7446:4:27", @@ -54006,7 +53998,7 @@ ], "src": "7445:6:27" }, - "scope": 4396, + "scope": 4397, "src": "7380:116:27", "stateMutability": "pure", "virtual": false, @@ -54014,7 +54006,7 @@ }, { "body": { - "id": 4394, + "id": 4395, "nodeType": "Block", "src": "7798:44:27", "statements": [ @@ -54023,18 +54015,18 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4391, + "id": 4392, "name": "ApprovalNotAllowed", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4040, + "referencedDeclaration": 4041, "src": "7815:18:27", "typeDescriptions": { "typeIdentifier": "t_function_error_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 4392, + "id": 4393, "isConstant": false, "isLValue": false, "isPure": false, @@ -54050,20 +54042,20 @@ "typeString": "tuple()" } }, - "id": 4393, + "id": 4394, "nodeType": "RevertStatement", "src": "7808:27:27" } ] }, "documentation": { - "id": 4382, + "id": 4383, "nodeType": "StructuredDocumentation", "src": "7502:219:27", "text": " @dev Override decreaseAllowance to prevent allowance decreases (not needed for non-transferable token)\n @dev This function always reverts as allowances are not needed for non-transferable tokens" }, "functionSelector": "a457c2d7", - "id": 4395, + "id": 4396, "implemented": true, "kind": "function", "modifiers": [], @@ -54071,17 +54063,17 @@ "nameLocation": "7735:17:27", "nodeType": "FunctionDefinition", "parameters": { - "id": 4387, + "id": 4388, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4384, + "id": 4385, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4395, + "scope": 4396, "src": "7753:7:27", "stateVariable": false, "storageLocation": "default", @@ -54090,7 +54082,7 @@ "typeString": "address" }, "typeName": { - "id": 4383, + "id": 4384, "name": "address", "nodeType": "ElementaryTypeName", "src": "7753:7:27", @@ -54104,12 +54096,12 @@ }, { "constant": false, - "id": 4386, + "id": 4387, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4395, + "scope": 4396, "src": "7762:7:27", "stateVariable": false, "storageLocation": "default", @@ -54118,7 +54110,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4385, + "id": 4386, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7762:7:27", @@ -54133,17 +54125,17 @@ "src": "7752:18:27" }, "returnParameters": { - "id": 4390, + "id": 4391, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4389, + "id": 4390, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4395, + "scope": 4396, "src": "7792:4:27", "stateVariable": false, "storageLocation": "default", @@ -54152,7 +54144,7 @@ "typeString": "bool" }, "typeName": { - "id": 4388, + "id": 4389, "name": "bool", "nodeType": "ElementaryTypeName", "src": "7792:4:27", @@ -54166,37 +54158,37 @@ ], "src": "7791:6:27" }, - "scope": 4396, + "scope": 4397, "src": "7726:116:27", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], - "scope": 4397, + "scope": 4398, "src": "677:7167:27", "usedErrors": [ - 996, - 999, - 1260, - 1265, - 1270, - 1279, - 1284, - 1289, - 4037, - 4040 + 997, + 1000, + 1261, + 1266, + 1271, + 1280, + 1285, + 1290, + 4038, + 4041 ], "usedEvents": [ - 1008, - 1017, - 1026, - 2474, - 2483, - 4047, - 4054, - 4059, - 4064 + 1009, + 1018, + 1027, + 2475, + 2484, + 4048, + 4055, + 4060, + 4065 ] } ], @@ -54209,36 +54201,36 @@ "absolutePath": "contracts/Proxies.sol", "exportedSymbols": { "ERC1967Proxy": [ - 1423 + 1424 ], "ERC1967Utils": [ - 1717 + 1718 ], "IERC1967": [ - 1238 + 1239 ], "ITransparentUpgradeableProxy": [ - 1833 + 1834 ], "Ownable": [ - 1217 + 1218 ], "Proxy": [ - 1753 + 1754 ], "ProxyAdmin": [ - 1811 + 1812 ], "TransparentUpgradeableProxy": [ - 1947 + 1948 ] }, - "id": 4402, + "id": 4403, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 4398, + "id": 4399, "literals": [ "solidity", "^", @@ -54251,11 +54243,11 @@ { "absolutePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol", "file": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol", - "id": 4399, + "id": 4400, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4402, - "sourceUnit": 1424, + "scope": 4403, + "sourceUnit": 1425, "src": "118:64:28", "symbolAliases": [], "unitAlias": "" @@ -54263,11 +54255,11 @@ { "absolutePath": "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol", "file": "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol", - "id": 4400, + "id": 4401, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4402, - "sourceUnit": 1948, + "scope": 4403, + "sourceUnit": 1949, "src": "183:83:28", "symbolAliases": [], "unitAlias": "" @@ -54275,11 +54267,11 @@ { "absolutePath": "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol", "file": "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol", - "id": 4401, + "id": 4402, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4402, - "sourceUnit": 1812, + "scope": 4403, + "sourceUnit": 1813, "src": "267:66:28", "symbolAliases": [], "unitAlias": "" @@ -54297,10 +54289,10 @@ 690 ], "ERC1967Utils": [ - 1717 + 1718 ], "IERC1822Proxiable": [ - 1248 + 1249 ], "Initializable": [ 462 @@ -54309,18 +54301,18 @@ 194 ], "ServiceRegistryUpgradeable": [ - 4615 + 4616 ], "UUPSUpgradeable": [ 644 ] }, - "id": 4616, + "id": 4617, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 4403, + "id": 4404, "literals": [ "solidity", "^", @@ -54333,10 +54325,10 @@ { "absolutePath": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", "file": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", - "id": 4404, + "id": 4405, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4616, + "scope": 4617, "sourceUnit": 195, "src": "58:75:29", "symbolAliases": [], @@ -54345,10 +54337,10 @@ { "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", "file": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", - "id": 4405, + "id": 4406, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4616, + "scope": 4617, "sourceUnit": 463, "src": "134:75:29", "symbolAliases": [], @@ -54357,10 +54349,10 @@ { "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", "file": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", - "id": 4406, + "id": 4407, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 4616, + "scope": 4617, "sourceUnit": 645, "src": "210:77:29", "symbolAliases": [], @@ -54371,7 +54363,7 @@ "baseContracts": [ { "baseName": { - "id": 4408, + "id": 4409, "name": "Initializable", "nameLocations": [ "537:13:29" @@ -54380,13 +54372,13 @@ "referencedDeclaration": 462, "src": "537:13:29" }, - "id": 4409, + "id": 4410, "nodeType": "InheritanceSpecifier", "src": "537:13:29" }, { "baseName": { - "id": 4410, + "id": 4411, "name": "OwnableUpgradeable", "nameLocations": [ "552:18:29" @@ -54395,13 +54387,13 @@ "referencedDeclaration": 194, "src": "552:18:29" }, - "id": 4411, + "id": 4412, "nodeType": "InheritanceSpecifier", "src": "552:18:29" }, { "baseName": { - "id": 4412, + "id": 4413, "name": "UUPSUpgradeable", "nameLocations": [ "572:15:29" @@ -54410,7 +54402,7 @@ "referencedDeclaration": 644, "src": "572:15:29" }, - "id": 4413, + "id": 4414, "nodeType": "InheritanceSpecifier", "src": "572:15:29" } @@ -54419,17 +54411,17 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 4407, + "id": 4408, "nodeType": "StructuredDocumentation", "src": "289:208:29", "text": " @title ServiceRegistryUpgradeable\n @author leonprou\n @notice A smart contract that stores information about the services provided by agents.\n @dev Upgradeable version using UUPS proxy pattern" }, "fullyImplemented": true, - "id": 4615, + "id": 4616, "linearizedBaseContracts": [ - 4615, + 4616, 644, - 1248, + 1249, 194, 690, 462 @@ -54440,16 +54432,16 @@ "nodes": [ { "canonicalName": "ServiceRegistryUpgradeable.Service", - "id": 4420, + "id": 4421, "members": [ { "constant": false, - "id": 4415, + "id": 4416, "mutability": "mutable", "name": "name", "nameLocation": "626:4:29", "nodeType": "VariableDeclaration", - "scope": 4420, + "scope": 4421, "src": "619:11:29", "stateVariable": false, "storageLocation": "default", @@ -54458,7 +54450,7 @@ "typeString": "string" }, "typeName": { - "id": 4414, + "id": 4415, "name": "string", "nodeType": "ElementaryTypeName", "src": "619:6:29", @@ -54471,12 +54463,12 @@ }, { "constant": false, - "id": 4417, + "id": 4418, "mutability": "mutable", "name": "category", "nameLocation": "647:8:29", "nodeType": "VariableDeclaration", - "scope": 4420, + "scope": 4421, "src": "640:15:29", "stateVariable": false, "storageLocation": "default", @@ -54485,7 +54477,7 @@ "typeString": "string" }, "typeName": { - "id": 4416, + "id": 4417, "name": "string", "nodeType": "ElementaryTypeName", "src": "640:6:29", @@ -54498,12 +54490,12 @@ }, { "constant": false, - "id": 4419, + "id": 4420, "mutability": "mutable", "name": "description", "nameLocation": "672:11:29", "nodeType": "VariableDeclaration", - "scope": 4420, + "scope": 4421, "src": "665:18:29", "stateVariable": false, "storageLocation": "default", @@ -54512,7 +54504,7 @@ "typeString": "string" }, "typeName": { - "id": 4418, + "id": 4419, "name": "string", "nodeType": "ElementaryTypeName", "src": "665:6:29", @@ -54527,32 +54519,32 @@ "name": "Service", "nameLocation": "601:7:29", "nodeType": "StructDefinition", - "scope": 4615, + "scope": 4616, "src": "594:96:29", "visibility": "public" }, { "constant": false, "functionSelector": "3017ba09", - "id": 4425, + "id": 4426, "mutability": "mutable", "name": "services", "nameLocation": "730:8:29", "nodeType": "VariableDeclaration", - "scope": 4615, + "scope": 4616, "src": "696:42:29", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$4420_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$4421_storage_$", "typeString": "mapping(string => struct ServiceRegistryUpgradeable.Service)" }, "typeName": { - "id": 4424, + "id": 4425, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 4421, + "id": 4422, "name": "string", "nodeType": "ElementaryTypeName", "src": "704:6:29", @@ -54564,28 +54556,28 @@ "nodeType": "Mapping", "src": "696:26:29", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$4420_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$4421_storage_$", "typeString": "mapping(string => struct ServiceRegistryUpgradeable.Service)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 4423, + "id": 4424, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4422, + "id": 4423, "name": "Service", "nameLocations": [ "714:7:29" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4420, + "referencedDeclaration": 4421, "src": "714:7:29" }, - "referencedDeclaration": 4420, + "referencedDeclaration": 4421, "src": "714:7:29", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_storage_ptr", + "typeIdentifier": "t_struct$_Service_$4421_storage_ptr", "typeString": "struct ServiceRegistryUpgradeable.Service" } } @@ -54595,12 +54587,12 @@ { "constant": false, "functionSelector": "06237526", - "id": 4427, + "id": 4428, "mutability": "mutable", "name": "serviceCount", "nameLocation": "759:12:29", "nodeType": "VariableDeclaration", - "scope": 4615, + "scope": 4616, "src": "744:27:29", "stateVariable": true, "storageLocation": "default", @@ -54609,7 +54601,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4426, + "id": 4427, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "744:7:29", @@ -54623,23 +54615,23 @@ { "anonymous": false, "eventSelector": "c182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486", - "id": 4435, + "id": 4436, "name": "ServiceRegistered", "nameLocation": "784:17:29", "nodeType": "EventDefinition", "parameters": { - "id": 4434, + "id": 4435, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4429, + "id": 4430, "indexed": false, "mutability": "mutable", "name": "name", "nameLocation": "809:4:29", "nodeType": "VariableDeclaration", - "scope": 4435, + "scope": 4436, "src": "802:11:29", "stateVariable": false, "storageLocation": "default", @@ -54648,7 +54640,7 @@ "typeString": "string" }, "typeName": { - "id": 4428, + "id": 4429, "name": "string", "nodeType": "ElementaryTypeName", "src": "802:6:29", @@ -54661,13 +54653,13 @@ }, { "constant": false, - "id": 4431, + "id": 4432, "indexed": false, "mutability": "mutable", "name": "category", "nameLocation": "822:8:29", "nodeType": "VariableDeclaration", - "scope": 4435, + "scope": 4436, "src": "815:15:29", "stateVariable": false, "storageLocation": "default", @@ -54676,7 +54668,7 @@ "typeString": "string" }, "typeName": { - "id": 4430, + "id": 4431, "name": "string", "nodeType": "ElementaryTypeName", "src": "815:6:29", @@ -54689,13 +54681,13 @@ }, { "constant": false, - "id": 4433, + "id": 4434, "indexed": false, "mutability": "mutable", "name": "description", "nameLocation": "839:11:29", "nodeType": "VariableDeclaration", - "scope": 4435, + "scope": 4436, "src": "832:18:29", "stateVariable": false, "storageLocation": "default", @@ -54704,7 +54696,7 @@ "typeString": "string" }, "typeName": { - "id": 4432, + "id": 4433, "name": "string", "nodeType": "ElementaryTypeName", "src": "832:6:29", @@ -54723,23 +54715,23 @@ { "anonymous": false, "eventSelector": "4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d", - "id": 4443, + "id": 4444, "name": "ServiceUpdated", "nameLocation": "863:14:29", "nodeType": "EventDefinition", "parameters": { - "id": 4442, + "id": 4443, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4437, + "id": 4438, "indexed": false, "mutability": "mutable", "name": "name", "nameLocation": "885:4:29", "nodeType": "VariableDeclaration", - "scope": 4443, + "scope": 4444, "src": "878:11:29", "stateVariable": false, "storageLocation": "default", @@ -54748,7 +54740,7 @@ "typeString": "string" }, "typeName": { - "id": 4436, + "id": 4437, "name": "string", "nodeType": "ElementaryTypeName", "src": "878:6:29", @@ -54761,13 +54753,13 @@ }, { "constant": false, - "id": 4439, + "id": 4440, "indexed": false, "mutability": "mutable", "name": "category", "nameLocation": "898:8:29", "nodeType": "VariableDeclaration", - "scope": 4443, + "scope": 4444, "src": "891:15:29", "stateVariable": false, "storageLocation": "default", @@ -54776,7 +54768,7 @@ "typeString": "string" }, "typeName": { - "id": 4438, + "id": 4439, "name": "string", "nodeType": "ElementaryTypeName", "src": "891:6:29", @@ -54789,13 +54781,13 @@ }, { "constant": false, - "id": 4441, + "id": 4442, "indexed": false, "mutability": "mutable", "name": "description", "nameLocation": "915:11:29", "nodeType": "VariableDeclaration", - "scope": 4443, + "scope": 4444, "src": "908:18:29", "stateVariable": false, "storageLocation": "default", @@ -54804,7 +54796,7 @@ "typeString": "string" }, "typeName": { - "id": 4440, + "id": 4441, "name": "string", "nodeType": "ElementaryTypeName", "src": "908:6:29", @@ -54822,7 +54814,7 @@ }, { "body": { - "id": 4450, + "id": 4451, "nodeType": "Block", "src": "1001:39:29", "statements": [ @@ -54831,7 +54823,7 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4447, + "id": 4448, "name": "_disableInitializers", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -54842,7 +54834,7 @@ "typeString": "function ()" } }, - "id": 4448, + "id": 4449, "isConstant": false, "isLValue": false, "isPure": false, @@ -54858,19 +54850,19 @@ "typeString": "tuple()" } }, - "id": 4449, + "id": 4450, "nodeType": "ExpressionStatement", "src": "1011:22:29" } ] }, "documentation": { - "id": 4444, + "id": 4445, "nodeType": "StructuredDocumentation", "src": "934:48:29", "text": "@custom:oz-upgrades-unsafe-allow constructor" }, - "id": 4451, + "id": 4452, "implemented": true, "kind": "constructor", "modifiers": [], @@ -54878,18 +54870,18 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 4445, + "id": 4446, "nodeType": "ParameterList", "parameters": [], "src": "998:2:29" }, "returnParameters": { - "id": 4446, + "id": 4447, "nodeType": "ParameterList", "parameters": [], "src": "1001:0:29" }, - "scope": 4615, + "scope": 4616, "src": "987:53:29", "stateMutability": "nonpayable", "virtual": false, @@ -54897,7 +54889,7 @@ }, { "body": { - "id": 4469, + "id": 4470, "nodeType": "Block", "src": "1140:103:29", "statements": [ @@ -54906,7 +54898,7 @@ "arguments": [ { "expression": { - "id": 4458, + "id": 4459, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -54917,7 +54909,7 @@ "typeString": "msg" } }, - "id": 4459, + "id": 4460, "isConstant": false, "isLValue": false, "isPure": false, @@ -54939,7 +54931,7 @@ "typeString": "address" } ], - "id": 4457, + "id": 4458, "name": "__Ownable_init", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -54950,7 +54942,7 @@ "typeString": "function (address)" } }, - "id": 4460, + "id": 4461, "isConstant": false, "isLValue": false, "isPure": false, @@ -54966,7 +54958,7 @@ "typeString": "tuple()" } }, - "id": 4461, + "id": 4462, "nodeType": "ExpressionStatement", "src": "1150:26:29" }, @@ -54975,7 +54967,7 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4462, + "id": 4463, "name": "__UUPSUpgradeable_init", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -54986,7 +54978,7 @@ "typeString": "function ()" } }, - "id": 4463, + "id": 4464, "isConstant": false, "isLValue": false, "isPure": false, @@ -55002,23 +54994,23 @@ "typeString": "tuple()" } }, - "id": 4464, + "id": 4465, "nodeType": "ExpressionStatement", "src": "1186:24:29" }, { "expression": { - "id": 4467, + "id": 4468, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4465, + "id": 4466, "name": "serviceCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4427, + "referencedDeclaration": 4428, "src": "1220:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -55029,7 +55021,7 @@ "operator": "=", "rightHandSide": { "hexValue": "30", - "id": 4466, + "id": 4467, "isConstant": false, "isLValue": false, "isPure": true, @@ -55049,28 +55041,28 @@ "typeString": "uint256" } }, - "id": 4468, + "id": 4469, "nodeType": "ExpressionStatement", "src": "1220:16:29" } ] }, "documentation": { - "id": 4452, + "id": 4453, "nodeType": "StructuredDocumentation", "src": "1046:48:29", "text": " @dev Initializes the contract" }, "functionSelector": "8129fc1c", - "id": 4470, + "id": 4471, "implemented": true, "kind": "function", "modifiers": [ { - "id": 4455, + "id": 4456, "kind": "modifierInvocation", "modifierName": { - "id": 4454, + "id": 4455, "name": "initializer", "nameLocations": [ "1128:11:29" @@ -55087,18 +55079,18 @@ "nameLocation": "1108:10:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 4453, + "id": 4454, "nodeType": "ParameterList", "parameters": [], "src": "1118:2:29" }, "returnParameters": { - "id": 4456, + "id": 4457, "nodeType": "ParameterList", "parameters": [], "src": "1140:0:29" }, - "scope": 4615, + "scope": 4616, "src": "1099:144:29", "stateMutability": "nonpayable", "virtual": false, @@ -55106,7 +55098,7 @@ }, { "body": { - "id": 4518, + "id": 4519, "nodeType": "Block", "src": "1555:382:29", "statements": [ @@ -55114,7 +55106,7 @@ "expression": { "arguments": [ { - "id": 4488, + "id": 4489, "isConstant": false, "isLValue": false, "isPure": false, @@ -55126,11 +55118,11 @@ "subExpression": { "arguments": [ { - "id": 4486, + "id": 4487, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4473, + "referencedDeclaration": 4474, "src": "1599:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -55146,18 +55138,18 @@ } ], "expression": { - "id": 4484, + "id": 4485, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "1574:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, - "id": 4485, + "id": 4486, "isConstant": false, "isLValue": false, "isPure": false, @@ -55165,14 +55157,14 @@ "memberLocation": "1579:19:29", "memberName": "isServiceRegistered", "nodeType": "MemberAccess", - "referencedDeclaration": 4563, + "referencedDeclaration": 4564, "src": "1574:24:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view external returns (bool)" } }, - "id": 4487, + "id": 4488, "isConstant": false, "isLValue": false, "isPure": false, @@ -55195,7 +55187,7 @@ }, { "hexValue": "5365727669636520616c72656164792072656769737465726564", - "id": 4489, + "id": 4490, "isConstant": false, "isLValue": false, "isPure": true, @@ -55221,7 +55213,7 @@ "typeString": "literal_string \"Service already registered\"" } ], - "id": 4483, + "id": 4484, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -55235,7 +55227,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4490, + "id": 4491, "isConstant": false, "isLValue": false, "isPure": false, @@ -55251,62 +55243,62 @@ "typeString": "tuple()" } }, - "id": 4491, + "id": 4492, "nodeType": "ExpressionStatement", "src": "1565:70:29" }, { "assignments": [ - 4494 + 4495 ], "declarations": [ { "constant": false, - "id": 4494, + "id": 4495, "mutability": "mutable", "name": "service", "nameLocation": "1661:7:29", "nodeType": "VariableDeclaration", - "scope": 4518, + "scope": 4519, "src": "1646:22:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_memory_ptr", + "typeIdentifier": "t_struct$_Service_$4421_memory_ptr", "typeString": "struct ServiceRegistryUpgradeable.Service" }, "typeName": { - "id": 4493, + "id": 4494, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4492, + "id": 4493, "name": "Service", "nameLocations": [ "1646:7:29" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4420, + "referencedDeclaration": 4421, "src": "1646:7:29" }, - "referencedDeclaration": 4420, + "referencedDeclaration": 4421, "src": "1646:7:29", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_storage_ptr", + "typeIdentifier": "t_struct$_Service_$4421_storage_ptr", "typeString": "struct ServiceRegistryUpgradeable.Service" } }, "visibility": "internal" } ], - "id": 4500, + "id": 4501, "initialValue": { "arguments": [ { - "id": 4496, + "id": 4497, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4473, + "referencedDeclaration": 4474, "src": "1699:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -55314,11 +55306,11 @@ } }, { - "id": 4497, + "id": 4498, "name": "category", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4475, + "referencedDeclaration": 4476, "src": "1727:8:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -55326,11 +55318,11 @@ } }, { - "id": 4498, + "id": 4499, "name": "description", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4477, + "referencedDeclaration": 4478, "src": "1762:11:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -55353,18 +55345,18 @@ "typeString": "string memory" } ], - "id": 4495, + "id": 4496, "name": "Service", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4420, + "referencedDeclaration": 4421, "src": "1671:7:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Service_$4420_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Service_$4421_storage_ptr_$", "typeString": "type(struct ServiceRegistryUpgradeable.Service storage pointer)" } }, - "id": 4499, + "id": 4500, "isConstant": false, "isLValue": false, "isPure": false, @@ -55384,7 +55376,7 @@ "src": "1671:113:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_memory_ptr", + "typeIdentifier": "t_struct$_Service_$4421_memory_ptr", "typeString": "struct ServiceRegistryUpgradeable.Service memory" } }, @@ -55393,31 +55385,31 @@ }, { "expression": { - "id": 4505, + "id": 4506, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 4501, + "id": 4502, "name": "services", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4425, + "referencedDeclaration": 4426, "src": "1795:8:29", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$4420_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$4421_storage_$", "typeString": "mapping(string memory => struct ServiceRegistryUpgradeable.Service storage ref)" } }, - "id": 4503, + "id": 4504, "indexExpression": { - "id": 4502, + "id": 4503, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4473, + "referencedDeclaration": 4474, "src": "1804:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -55431,31 +55423,31 @@ "nodeType": "IndexAccess", "src": "1795:14:29", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_storage", + "typeIdentifier": "t_struct$_Service_$4421_storage", "typeString": "struct ServiceRegistryUpgradeable.Service storage ref" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 4504, + "id": 4505, "name": "service", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4494, + "referencedDeclaration": 4495, "src": "1812:7:29", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_memory_ptr", + "typeIdentifier": "t_struct$_Service_$4421_memory_ptr", "typeString": "struct ServiceRegistryUpgradeable.Service memory" } }, "src": "1795:24:29", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_storage", + "typeIdentifier": "t_struct$_Service_$4421_storage", "typeString": "struct ServiceRegistryUpgradeable.Service storage ref" } }, - "id": 4506, + "id": 4507, "nodeType": "ExpressionStatement", "src": "1795:24:29" }, @@ -55463,11 +55455,11 @@ "eventCall": { "arguments": [ { - "id": 4508, + "id": 4509, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4473, + "referencedDeclaration": 4474, "src": "1853:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -55475,11 +55467,11 @@ } }, { - "id": 4509, + "id": 4510, "name": "category", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4475, + "referencedDeclaration": 4476, "src": "1859:8:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -55487,11 +55479,11 @@ } }, { - "id": 4510, + "id": 4511, "name": "description", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4477, + "referencedDeclaration": 4478, "src": "1869:11:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -55514,18 +55506,18 @@ "typeString": "string memory" } ], - "id": 4507, + "id": 4508, "name": "ServiceRegistered", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4435, + "referencedDeclaration": 4436, "src": "1835:17:29", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory,string memory)" } }, - "id": 4511, + "id": 4512, "isConstant": false, "isLValue": false, "isPure": false, @@ -55541,13 +55533,13 @@ "typeString": "tuple()" } }, - "id": 4512, + "id": 4513, "nodeType": "EmitStatement", "src": "1830:51:29" }, { "expression": { - "id": 4514, + "id": 4515, "isConstant": false, "isLValue": false, "isPure": false, @@ -55557,11 +55549,11 @@ "prefix": false, "src": "1892:14:29", "subExpression": { - "id": 4513, + "id": 4514, "name": "serviceCount", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4427, + "referencedDeclaration": 4428, "src": "1892:12:29", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -55573,38 +55565,38 @@ "typeString": "uint256" } }, - "id": 4515, + "id": 4516, "nodeType": "ExpressionStatement", "src": "1892:14:29" }, { "expression": { - "id": 4516, + "id": 4517, "name": "service", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4494, + "referencedDeclaration": 4495, "src": "1923:7:29", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_memory_ptr", + "typeIdentifier": "t_struct$_Service_$4421_memory_ptr", "typeString": "struct ServiceRegistryUpgradeable.Service memory" } }, - "functionReturnParameters": 4482, - "id": 4517, + "functionReturnParameters": 4483, + "id": 4518, "nodeType": "Return", "src": "1916:14:29" } ] }, "documentation": { - "id": 4471, + "id": 4472, "nodeType": "StructuredDocumentation", "src": "1249:171:29", "text": " @dev Registers a new service with the given name and price.\n @param name The name of the service.\n @return The ID of the registered service." }, "functionSelector": "ef57d884", - "id": 4519, + "id": 4520, "implemented": true, "kind": "function", "modifiers": [], @@ -55612,17 +55604,17 @@ "nameLocation": "1434:15:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 4478, + "id": 4479, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4473, + "id": 4474, "mutability": "mutable", "name": "name", "nameLocation": "1464:4:29", "nodeType": "VariableDeclaration", - "scope": 4519, + "scope": 4520, "src": "1450:18:29", "stateVariable": false, "storageLocation": "memory", @@ -55631,7 +55623,7 @@ "typeString": "string" }, "typeName": { - "id": 4472, + "id": 4473, "name": "string", "nodeType": "ElementaryTypeName", "src": "1450:6:29", @@ -55644,12 +55636,12 @@ }, { "constant": false, - "id": 4475, + "id": 4476, "mutability": "mutable", "name": "category", "nameLocation": "1484:8:29", "nodeType": "VariableDeclaration", - "scope": 4519, + "scope": 4520, "src": "1470:22:29", "stateVariable": false, "storageLocation": "memory", @@ -55658,7 +55650,7 @@ "typeString": "string" }, "typeName": { - "id": 4474, + "id": 4475, "name": "string", "nodeType": "ElementaryTypeName", "src": "1470:6:29", @@ -55671,12 +55663,12 @@ }, { "constant": false, - "id": 4477, + "id": 4478, "mutability": "mutable", "name": "description", "nameLocation": "1508:11:29", "nodeType": "VariableDeclaration", - "scope": 4519, + "scope": 4520, "src": "1494:25:29", "stateVariable": false, "storageLocation": "memory", @@ -55685,7 +55677,7 @@ "typeString": "string" }, "typeName": { - "id": 4476, + "id": 4477, "name": "string", "nodeType": "ElementaryTypeName", "src": "1494:6:29", @@ -55700,41 +55692,41 @@ "src": "1449:71:29" }, "returnParameters": { - "id": 4482, + "id": 4483, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4481, + "id": 4482, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4519, + "scope": 4520, "src": "1539:14:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_memory_ptr", + "typeIdentifier": "t_struct$_Service_$4421_memory_ptr", "typeString": "struct ServiceRegistryUpgradeable.Service" }, "typeName": { - "id": 4480, + "id": 4481, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4479, + "id": 4480, "name": "Service", "nameLocations": [ "1539:7:29" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4420, + "referencedDeclaration": 4421, "src": "1539:7:29" }, - "referencedDeclaration": 4420, + "referencedDeclaration": 4421, "src": "1539:7:29", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_storage_ptr", + "typeIdentifier": "t_struct$_Service_$4421_storage_ptr", "typeString": "struct ServiceRegistryUpgradeable.Service" } }, @@ -55743,7 +55735,7 @@ ], "src": "1538:16:29" }, - "scope": 4615, + "scope": 4616, "src": "1425:512:29", "stateMutability": "nonpayable", "virtual": false, @@ -55751,31 +55743,31 @@ }, { "body": { - "id": 4532, + "id": 4533, "nodeType": "Block", "src": "2185:38:29", "statements": [ { "expression": { "baseExpression": { - "id": 4528, + "id": 4529, "name": "services", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4425, + "referencedDeclaration": 4426, "src": "2202:8:29", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$4420_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$4421_storage_$", "typeString": "mapping(string memory => struct ServiceRegistryUpgradeable.Service storage ref)" } }, - "id": 4530, + "id": 4531, "indexExpression": { - "id": 4529, + "id": 4530, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4522, + "referencedDeclaration": 4523, "src": "2211:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -55789,25 +55781,25 @@ "nodeType": "IndexAccess", "src": "2202:14:29", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_storage", + "typeIdentifier": "t_struct$_Service_$4421_storage", "typeString": "struct ServiceRegistryUpgradeable.Service storage ref" } }, - "functionReturnParameters": 4527, - "id": 4531, + "functionReturnParameters": 4528, + "id": 4532, "nodeType": "Return", "src": "2195:21:29" } ] }, "documentation": { - "id": 4520, + "id": 4521, "nodeType": "StructuredDocumentation", "src": "1943:158:29", "text": " @dev Retrieves the details of a service.\n @param name The name of the service to retrieve.\n @return The details of the service." }, "functionSelector": "794758be", - "id": 4533, + "id": 4534, "implemented": true, "kind": "function", "modifiers": [], @@ -55815,17 +55807,17 @@ "nameLocation": "2115:10:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 4523, + "id": 4524, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4522, + "id": 4523, "mutability": "mutable", "name": "name", "nameLocation": "2140:4:29", "nodeType": "VariableDeclaration", - "scope": 4533, + "scope": 4534, "src": "2126:18:29", "stateVariable": false, "storageLocation": "memory", @@ -55834,7 +55826,7 @@ "typeString": "string" }, "typeName": { - "id": 4521, + "id": 4522, "name": "string", "nodeType": "ElementaryTypeName", "src": "2126:6:29", @@ -55849,41 +55841,41 @@ "src": "2125:20:29" }, "returnParameters": { - "id": 4527, + "id": 4528, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4526, + "id": 4527, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4533, + "scope": 4534, "src": "2169:14:29", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_memory_ptr", + "typeIdentifier": "t_struct$_Service_$4421_memory_ptr", "typeString": "struct ServiceRegistryUpgradeable.Service" }, "typeName": { - "id": 4525, + "id": 4526, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4524, + "id": 4525, "name": "Service", "nameLocations": [ "2169:7:29" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4420, + "referencedDeclaration": 4421, "src": "2169:7:29" }, - "referencedDeclaration": 4420, + "referencedDeclaration": 4421, "src": "2169:7:29", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_storage_ptr", + "typeIdentifier": "t_struct$_Service_$4421_storage_ptr", "typeString": "struct ServiceRegistryUpgradeable.Service" } }, @@ -55892,7 +55884,7 @@ ], "src": "2168:16:29" }, - "scope": 4615, + "scope": 4616, "src": "2106:117:29", "stateMutability": "view", "virtual": false, @@ -55900,7 +55892,7 @@ }, { "body": { - "id": 4562, + "id": 4563, "nodeType": "Block", "src": "2307:127:29", "statements": [ @@ -55912,7 +55904,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4547, + "id": 4548, "isConstant": false, "isLValue": false, "isPure": false, @@ -55921,11 +55913,11 @@ "expression": { "arguments": [ { - "id": 4543, + "id": 4544, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, + "referencedDeclaration": 4536, "src": "2331:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -55940,7 +55932,7 @@ "typeString": "string memory" } ], - "id": 4542, + "id": 4543, "isConstant": false, "isLValue": false, "isPure": true, @@ -55952,14 +55944,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 4541, + "id": 4542, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2325:5:29", "typeDescriptions": {} } }, - "id": 4544, + "id": 4545, "isConstant": false, "isLValue": false, "isPure": false, @@ -55975,7 +55967,7 @@ "typeString": "bytes memory" } }, - "id": 4545, + "id": 4546, "isConstant": false, "isLValue": false, "isPure": false, @@ -55993,7 +55985,7 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 4546, + "id": 4547, "isConstant": false, "isLValue": false, "isPure": true, @@ -56015,7 +56007,7 @@ }, { "hexValue": "496e76616c69642073657276696365206e616d65", - "id": 4548, + "id": 4549, "isConstant": false, "isLValue": false, "isPure": true, @@ -56041,7 +56033,7 @@ "typeString": "literal_string \"Invalid service name\"" } ], - "id": 4540, + "id": 4541, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -56055,7 +56047,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4549, + "id": 4550, "isConstant": false, "isLValue": false, "isPure": false, @@ -56071,7 +56063,7 @@ "typeString": "tuple()" } }, - "id": 4550, + "id": 4551, "nodeType": "ExpressionStatement", "src": "2317:55:29" }, @@ -56081,7 +56073,7 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4560, + "id": 4561, "isConstant": false, "isLValue": false, "isPure": false, @@ -56092,24 +56084,24 @@ { "expression": { "baseExpression": { - "id": 4553, + "id": 4554, "name": "services", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4425, + "referencedDeclaration": 4426, "src": "2396:8:29", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$4420_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$4421_storage_$", "typeString": "mapping(string memory => struct ServiceRegistryUpgradeable.Service storage ref)" } }, - "id": 4555, + "id": 4556, "indexExpression": { - "id": 4554, + "id": 4555, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4535, + "referencedDeclaration": 4536, "src": "2405:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -56123,11 +56115,11 @@ "nodeType": "IndexAccess", "src": "2396:14:29", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_storage", + "typeIdentifier": "t_struct$_Service_$4421_storage", "typeString": "struct ServiceRegistryUpgradeable.Service storage ref" } }, - "id": 4556, + "id": 4557, "isConstant": false, "isLValue": true, "isPure": false, @@ -56135,7 +56127,7 @@ "memberLocation": "2411:4:29", "memberName": "name", "nodeType": "MemberAccess", - "referencedDeclaration": 4415, + "referencedDeclaration": 4416, "src": "2396:19:29", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -56150,7 +56142,7 @@ "typeString": "string storage ref" } ], - "id": 4552, + "id": 4553, "isConstant": false, "isLValue": false, "isPure": true, @@ -56162,14 +56154,14 @@ "typeString": "type(bytes storage pointer)" }, "typeName": { - "id": 4551, + "id": 4552, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "2390:5:29", "typeDescriptions": {} } }, - "id": 4557, + "id": 4558, "isConstant": false, "isLValue": false, "isPure": false, @@ -56185,7 +56177,7 @@ "typeString": "bytes storage pointer" } }, - "id": 4558, + "id": 4559, "isConstant": false, "isLValue": false, "isPure": false, @@ -56203,7 +56195,7 @@ "operator": ">", "rightExpression": { "hexValue": "30", - "id": 4559, + "id": 4560, "isConstant": false, "isLValue": false, "isPure": true, @@ -56223,15 +56215,15 @@ "typeString": "bool" } }, - "functionReturnParameters": 4539, - "id": 4561, + "functionReturnParameters": 4540, + "id": 4562, "nodeType": "Return", "src": "2383:44:29" } ] }, "functionSelector": "b405166b", - "id": 4563, + "id": 4564, "implemented": true, "kind": "function", "modifiers": [], @@ -56239,17 +56231,17 @@ "nameLocation": "2238:19:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 4536, + "id": 4537, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4535, + "id": 4536, "mutability": "mutable", "name": "name", "nameLocation": "2272:4:29", "nodeType": "VariableDeclaration", - "scope": 4563, + "scope": 4564, "src": "2258:18:29", "stateVariable": false, "storageLocation": "memory", @@ -56258,7 +56250,7 @@ "typeString": "string" }, "typeName": { - "id": 4534, + "id": 4535, "name": "string", "nodeType": "ElementaryTypeName", "src": "2258:6:29", @@ -56273,17 +56265,17 @@ "src": "2257:20:29" }, "returnParameters": { - "id": 4539, + "id": 4540, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4538, + "id": 4539, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4563, + "scope": 4564, "src": "2301:4:29", "stateVariable": false, "storageLocation": "default", @@ -56292,7 +56284,7 @@ "typeString": "bool" }, "typeName": { - "id": 4537, + "id": 4538, "name": "bool", "nodeType": "ElementaryTypeName", "src": "2301:4:29", @@ -56306,7 +56298,7 @@ ], "src": "2300:6:29" }, - "scope": 4615, + "scope": 4616, "src": "2229:205:29", "stateMutability": "view", "virtual": false, @@ -56314,7 +56306,7 @@ }, { "body": { - "id": 4598, + "id": 4599, "nodeType": "Block", "src": "2553:282:29", "statements": [ @@ -56324,11 +56316,11 @@ { "arguments": [ { - "id": 4577, + "id": 4578, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4565, + "referencedDeclaration": 4566, "src": "2596:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -56344,18 +56336,18 @@ } ], "expression": { - "id": 4575, + "id": 4576, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "2571:4:29", "typeDescriptions": { - "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4615", + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$4616", "typeString": "contract ServiceRegistryUpgradeable" } }, - "id": 4576, + "id": 4577, "isConstant": false, "isLValue": false, "isPure": false, @@ -56363,14 +56355,14 @@ "memberLocation": "2576:19:29", "memberName": "isServiceRegistered", "nodeType": "MemberAccess", - "referencedDeclaration": 4563, + "referencedDeclaration": 4564, "src": "2571:24:29", "typeDescriptions": { "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bool_$", "typeString": "function (string memory) view external returns (bool)" } }, - "id": 4578, + "id": 4579, "isConstant": false, "isLValue": false, "isPure": false, @@ -56388,7 +56380,7 @@ }, { "hexValue": "53657276696365206e6f742072656769737465726564", - "id": 4579, + "id": 4580, "isConstant": false, "isLValue": false, "isPure": true, @@ -56414,7 +56406,7 @@ "typeString": "literal_string \"Service not registered\"" } ], - "id": 4574, + "id": 4575, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -56428,7 +56420,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4580, + "id": 4581, "isConstant": false, "isLValue": false, "isPure": false, @@ -56444,37 +56436,37 @@ "typeString": "tuple()" } }, - "id": 4581, + "id": 4582, "nodeType": "ExpressionStatement", "src": "2563:65:29" }, { "expression": { - "id": 4590, + "id": 4591, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "baseExpression": { - "id": 4582, + "id": 4583, "name": "services", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4425, + "referencedDeclaration": 4426, "src": "2639:8:29", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$4420_storage_$", + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$4421_storage_$", "typeString": "mapping(string memory => struct ServiceRegistryUpgradeable.Service storage ref)" } }, - "id": 4584, + "id": 4585, "indexExpression": { - "id": 4583, + "id": 4584, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4565, + "referencedDeclaration": 4566, "src": "2648:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -56488,7 +56480,7 @@ "nodeType": "IndexAccess", "src": "2639:14:29", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_storage", + "typeIdentifier": "t_struct$_Service_$4421_storage", "typeString": "struct ServiceRegistryUpgradeable.Service storage ref" } }, @@ -56497,11 +56489,11 @@ "rightHandSide": { "arguments": [ { - "id": 4586, + "id": 4587, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4565, + "referencedDeclaration": 4566, "src": "2684:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -56509,11 +56501,11 @@ } }, { - "id": 4587, + "id": 4588, "name": "category", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4567, + "referencedDeclaration": 4568, "src": "2712:8:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -56521,11 +56513,11 @@ } }, { - "id": 4588, + "id": 4589, "name": "description", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4569, + "referencedDeclaration": 4570, "src": "2747:11:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -56548,18 +56540,18 @@ "typeString": "string memory" } ], - "id": 4585, + "id": 4586, "name": "Service", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4420, + "referencedDeclaration": 4421, "src": "2656:7:29", "typeDescriptions": { - "typeIdentifier": "t_type$_t_struct$_Service_$4420_storage_ptr_$", + "typeIdentifier": "t_type$_t_struct$_Service_$4421_storage_ptr_$", "typeString": "type(struct ServiceRegistryUpgradeable.Service storage pointer)" } }, - "id": 4589, + "id": 4590, "isConstant": false, "isLValue": false, "isPure": false, @@ -56579,17 +56571,17 @@ "src": "2656:113:29", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_memory_ptr", + "typeIdentifier": "t_struct$_Service_$4421_memory_ptr", "typeString": "struct ServiceRegistryUpgradeable.Service memory" } }, "src": "2639:130:29", "typeDescriptions": { - "typeIdentifier": "t_struct$_Service_$4420_storage", + "typeIdentifier": "t_struct$_Service_$4421_storage", "typeString": "struct ServiceRegistryUpgradeable.Service storage ref" } }, - "id": 4591, + "id": 4592, "nodeType": "ExpressionStatement", "src": "2639:130:29" }, @@ -56597,11 +56589,11 @@ "eventCall": { "arguments": [ { - "id": 4593, + "id": 4594, "name": "name", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4565, + "referencedDeclaration": 4566, "src": "2800:4:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -56609,11 +56601,11 @@ } }, { - "id": 4594, + "id": 4595, "name": "category", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4567, + "referencedDeclaration": 4568, "src": "2806:8:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -56621,11 +56613,11 @@ } }, { - "id": 4595, + "id": 4596, "name": "description", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4569, + "referencedDeclaration": 4570, "src": "2816:11:29", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -56648,18 +56640,18 @@ "typeString": "string memory" } ], - "id": 4592, + "id": 4593, "name": "ServiceUpdated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4443, + "referencedDeclaration": 4444, "src": "2785:14:29", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", "typeString": "function (string memory,string memory,string memory)" } }, - "id": 4596, + "id": 4597, "isConstant": false, "isLValue": false, "isPure": false, @@ -56675,22 +56667,22 @@ "typeString": "tuple()" } }, - "id": 4597, + "id": 4598, "nodeType": "EmitStatement", "src": "2780:48:29" } ] }, "functionSelector": "7f3ed719", - "id": 4599, + "id": 4600, "implemented": true, "kind": "function", "modifiers": [ { - "id": 4572, + "id": 4573, "kind": "modifierInvocation", "modifierName": { - "id": 4571, + "id": 4572, "name": "onlyOwner", "nameLocations": [ "2543:9:29" @@ -56707,17 +56699,17 @@ "nameLocation": "2449:13:29", "nodeType": "FunctionDefinition", "parameters": { - "id": 4570, + "id": 4571, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4565, + "id": 4566, "mutability": "mutable", "name": "name", "nameLocation": "2477:4:29", "nodeType": "VariableDeclaration", - "scope": 4599, + "scope": 4600, "src": "2463:18:29", "stateVariable": false, "storageLocation": "memory", @@ -56726,7 +56718,7 @@ "typeString": "string" }, "typeName": { - "id": 4564, + "id": 4565, "name": "string", "nodeType": "ElementaryTypeName", "src": "2463:6:29", @@ -56739,12 +56731,12 @@ }, { "constant": false, - "id": 4567, + "id": 4568, "mutability": "mutable", "name": "category", "nameLocation": "2497:8:29", "nodeType": "VariableDeclaration", - "scope": 4599, + "scope": 4600, "src": "2483:22:29", "stateVariable": false, "storageLocation": "memory", @@ -56753,7 +56745,7 @@ "typeString": "string" }, "typeName": { - "id": 4566, + "id": 4567, "name": "string", "nodeType": "ElementaryTypeName", "src": "2483:6:29", @@ -56766,12 +56758,12 @@ }, { "constant": false, - "id": 4569, + "id": 4570, "mutability": "mutable", "name": "description", "nameLocation": "2521:11:29", "nodeType": "VariableDeclaration", - "scope": 4599, + "scope": 4600, "src": "2507:25:29", "stateVariable": false, "storageLocation": "memory", @@ -56780,7 +56772,7 @@ "typeString": "string" }, "typeName": { - "id": 4568, + "id": 4569, "name": "string", "nodeType": "ElementaryTypeName", "src": "2507:6:29", @@ -56795,12 +56787,12 @@ "src": "2462:71:29" }, "returnParameters": { - "id": 4573, + "id": 4574, "nodeType": "ParameterList", "parameters": [], "src": "2553:0:29" }, - "scope": 4615, + "scope": 4616, "src": "2440:395:29", "stateMutability": "nonpayable", "virtual": false, @@ -56811,26 +56803,26 @@ 598 ], "body": { - "id": 4608, + "id": 4609, "nodeType": "Block", "src": "3106:2:29", "statements": [] }, "documentation": { - "id": 4600, + "id": 4601, "nodeType": "StructuredDocumentation", "src": "2841:178:29", "text": " @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract.\n @param newImplementation Address of the new implementation" }, - "id": 4609, + "id": 4610, "implemented": true, "kind": "function", "modifiers": [ { - "id": 4606, + "id": 4607, "kind": "modifierInvocation", "modifierName": { - "id": 4605, + "id": 4606, "name": "onlyOwner", "nameLocations": [ "3096:9:29" @@ -56847,23 +56839,23 @@ "nameLocation": "3033:17:29", "nodeType": "FunctionDefinition", "overrides": { - "id": 4604, + "id": 4605, "nodeType": "OverrideSpecifier", "overrides": [], "src": "3087:8:29" }, "parameters": { - "id": 4603, + "id": 4604, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4602, + "id": 4603, "mutability": "mutable", "name": "newImplementation", "nameLocation": "3059:17:29", "nodeType": "VariableDeclaration", - "scope": 4609, + "scope": 4610, "src": "3051:25:29", "stateVariable": false, "storageLocation": "default", @@ -56872,7 +56864,7 @@ "typeString": "address" }, "typeName": { - "id": 4601, + "id": 4602, "name": "address", "nodeType": "ElementaryTypeName", "src": "3051:7:29", @@ -56888,12 +56880,12 @@ "src": "3050:27:29" }, "returnParameters": { - "id": 4607, + "id": 4608, "nodeType": "ParameterList", "parameters": [], "src": "3106:0:29" }, - "scope": 4615, + "scope": 4616, "src": "3024:84:29", "stateMutability": "nonpayable", "virtual": false, @@ -56902,17 +56894,17 @@ { "constant": false, "documentation": { - "id": 4610, + "id": 4611, "nodeType": "StructuredDocumentation", "src": "3114:55:29", "text": " @dev Storage gap for future upgrades" }, - "id": 4614, + "id": 4615, "mutability": "mutable", "name": "__gap", "nameLocation": "3194:5:29", "nodeType": "VariableDeclaration", - "scope": 4615, + "scope": 4616, "src": "3174:25:29", "stateVariable": true, "storageLocation": "default", @@ -56922,7 +56914,7 @@ }, "typeName": { "baseType": { - "id": 4611, + "id": 4612, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3174:7:29", @@ -56931,10 +56923,10 @@ "typeString": "uint256" } }, - "id": 4613, + "id": 4614, "length": { "hexValue": "3530", - "id": 4612, + "id": 4613, "isConstant": false, "isLValue": false, "isPure": true, @@ -56958,7 +56950,7 @@ "visibility": "private" } ], - "scope": 4616, + "scope": 4617, "src": "498:2704:29", "usedErrors": [ 30, @@ -56967,17 +56959,17 @@ 214, 489, 494, - 1443, - 1456, - 2622, - 2915 + 1444, + 1457, + 2623, + 2916 ], "usedEvents": [ 41, 219, - 1225, - 4435, - 4443 + 1226, + 4436, + 4444 ] } ], @@ -56990,25 +56982,25 @@ "absolutePath": "contracts/TaskRegistryUpgradeable.sol", "exportedSymbols": { "AgentsRegistryUpgradeable": [ - 4016 + 4017 ], "ContextUpgradeable": [ 690 ], "ERC1967Utils": [ - 1717 + 1718 ], "IAgentRegistryV1": [ - 5327 + 5297 ], "IERC1822Proxiable": [ - 1248 + 1249 ], "IProposalStruct": [ - 5343 + 5313 ], "IServiceRegistryV1": [ - 3110 + 3111 ], "Initializable": [ 462 @@ -57017,24 +57009,24 @@ 194 ], "ServiceRegistryUpgradeable": [ - 4615 + 4616 ], "TaskRegistryUpgradeable": [ - 5243 + 5244 ], "TransferHelper": [ - 5556 + 5473 ], "UUPSUpgradeable": [ 644 ] }, - "id": 5244, + "id": 5245, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 4617, + "id": 4618, "literals": [ "solidity", "^", @@ -57047,10 +57039,10 @@ { "absolutePath": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", "file": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", - "id": 4618, + "id": 4619, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 5244, + "scope": 5245, "sourceUnit": 195, "src": "58:75:30", "symbolAliases": [], @@ -57059,10 +57051,10 @@ { "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", "file": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", - "id": 4619, + "id": 4620, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 5244, + "scope": 5245, "sourceUnit": 463, "src": "134:75:30", "symbolAliases": [], @@ -57071,10 +57063,10 @@ { "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", "file": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", - "id": 4620, + "id": 4621, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 5244, + "scope": 5245, "sourceUnit": 645, "src": "210:77:30", "symbolAliases": [], @@ -57083,11 +57075,11 @@ { "absolutePath": "contracts/interfaces/IProposalStruct.sol", "file": "./interfaces/IProposalStruct.sol", - "id": 4621, + "id": 4622, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 5244, - "sourceUnit": 5344, + "scope": 5245, + "sourceUnit": 5314, "src": "288:42:30", "symbolAliases": [], "unitAlias": "" @@ -57095,11 +57087,11 @@ { "absolutePath": "contracts/AgentsRegistryUpgradeable.sol", "file": "./AgentsRegistryUpgradeable.sol", - "id": 4622, + "id": 4623, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 5244, - "sourceUnit": 4017, + "scope": 5245, + "sourceUnit": 4018, "src": "331:41:30", "symbolAliases": [], "unitAlias": "" @@ -57107,11 +57099,11 @@ { "absolutePath": "contracts/lib/TransferHelper.sol", "file": "./lib/TransferHelper.sol", - "id": 4623, + "id": 4624, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", - "scope": 5244, - "sourceUnit": 5557, + "scope": 5245, + "sourceUnit": 5474, "src": "373:34:30", "symbolAliases": [], "unitAlias": "" @@ -57121,7 +57113,7 @@ "baseContracts": [ { "baseName": { - "id": 4625, + "id": 4626, "name": "Initializable", "nameLocations": [ "668:13:30" @@ -57130,13 +57122,13 @@ "referencedDeclaration": 462, "src": "668:13:30" }, - "id": 4626, + "id": 4627, "nodeType": "InheritanceSpecifier", "src": "668:13:30" }, { "baseName": { - "id": 4627, + "id": 4628, "name": "OwnableUpgradeable", "nameLocations": [ "683:18:30" @@ -57145,13 +57137,13 @@ "referencedDeclaration": 194, "src": "683:18:30" }, - "id": 4628, + "id": 4629, "nodeType": "InheritanceSpecifier", "src": "683:18:30" }, { "baseName": { - "id": 4629, + "id": 4630, "name": "UUPSUpgradeable", "nameLocations": [ "703:15:30" @@ -57160,22 +57152,22 @@ "referencedDeclaration": 644, "src": "703:15:30" }, - "id": 4630, + "id": 4631, "nodeType": "InheritanceSpecifier", "src": "703:15:30" }, { "baseName": { - "id": 4631, + "id": 4632, "name": "IProposalStruct", "nameLocations": [ "720:15:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5343, + "referencedDeclaration": 5313, "src": "720:15:30" }, - "id": 4632, + "id": 4633, "nodeType": "InheritanceSpecifier", "src": "720:15:30" } @@ -57184,18 +57176,18 @@ "contractDependencies": [], "contractKind": "contract", "documentation": { - "id": 4624, + "id": 4625, "nodeType": "StructuredDocumentation", "src": "409:222:30", "text": " @title TaskRegistryUpgradeable\n @author leonprou\n @notice A smart contract that stores information about the tasks issued for the agent service providers.\n @dev Upgradeable version using UUPS proxy pattern" }, "fullyImplemented": true, - "id": 5243, + "id": 5244, "linearizedBaseContracts": [ - 5243, - 5343, + 5244, + 5313, 644, - 1248, + 1249, 194, 690, 462 @@ -57206,31 +57198,31 @@ "nodes": [ { "canonicalName": "TaskRegistryUpgradeable.TaskStatus", - "id": 4637, + "id": 4638, "members": [ { - "id": 4633, + "id": 4634, "name": "CREATED", "nameLocation": "761:7:30", "nodeType": "EnumValue", "src": "761:7:30" }, { - "id": 4634, + "id": 4635, "name": "ASSIGNED", "nameLocation": "770:8:30", "nodeType": "EnumValue", "src": "770:8:30" }, { - "id": 4635, + "id": 4636, "name": "COMPLETED", "nameLocation": "780:9:30", "nodeType": "EnumValue", "src": "780:9:30" }, { - "id": 4636, + "id": 4637, "name": "CANCELED", "nameLocation": "791:8:30", "nodeType": "EnumValue", @@ -57244,16 +57236,16 @@ }, { "canonicalName": "TaskRegistryUpgradeable.TaskData", - "id": 4655, + "id": 4656, "members": [ { "constant": false, - "id": 4639, + "id": 4640, "mutability": "mutable", "name": "id", "nameLocation": "841:2:30", "nodeType": "VariableDeclaration", - "scope": 4655, + "scope": 4656, "src": "833:10:30", "stateVariable": false, "storageLocation": "default", @@ -57262,7 +57254,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4638, + "id": 4639, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "833:7:30", @@ -57275,12 +57267,12 @@ }, { "constant": false, - "id": 4641, + "id": 4642, "mutability": "mutable", "name": "prompt", "nameLocation": "860:6:30", "nodeType": "VariableDeclaration", - "scope": 4655, + "scope": 4656, "src": "853:13:30", "stateVariable": false, "storageLocation": "default", @@ -57289,7 +57281,7 @@ "typeString": "string" }, "typeName": { - "id": 4640, + "id": 4641, "name": "string", "nodeType": "ElementaryTypeName", "src": "853:6:30", @@ -57302,12 +57294,12 @@ }, { "constant": false, - "id": 4643, + "id": 4644, "mutability": "mutable", "name": "issuer", "nameLocation": "884:6:30", "nodeType": "VariableDeclaration", - "scope": 4655, + "scope": 4656, "src": "876:14:30", "stateVariable": false, "storageLocation": "default", @@ -57316,7 +57308,7 @@ "typeString": "address" }, "typeName": { - "id": 4642, + "id": 4643, "name": "address", "nodeType": "ElementaryTypeName", "src": "876:7:30", @@ -57330,36 +57322,36 @@ }, { "constant": false, - "id": 4646, + "id": 4647, "mutability": "mutable", "name": "status", "nameLocation": "911:6:30", "nodeType": "VariableDeclaration", - "scope": 4655, + "scope": 4656, "src": "900:17:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" }, "typeName": { - "id": 4645, + "id": 4646, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4644, + "id": 4645, "name": "TaskStatus", "nameLocations": [ "900:10:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "900:10:30" }, - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "900:10:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -57367,12 +57359,12 @@ }, { "constant": false, - "id": 4648, + "id": 4649, "mutability": "mutable", "name": "assignee", "nameLocation": "935:8:30", "nodeType": "VariableDeclaration", - "scope": 4655, + "scope": 4656, "src": "927:16:30", "stateVariable": false, "storageLocation": "default", @@ -57381,7 +57373,7 @@ "typeString": "address" }, "typeName": { - "id": 4647, + "id": 4648, "name": "address", "nodeType": "ElementaryTypeName", "src": "927:7:30", @@ -57395,12 +57387,12 @@ }, { "constant": false, - "id": 4650, + "id": 4651, "mutability": "mutable", "name": "proposalId", "nameLocation": "961:10:30", "nodeType": "VariableDeclaration", - "scope": 4655, + "scope": 4656, "src": "953:18:30", "stateVariable": false, "storageLocation": "default", @@ -57409,7 +57401,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4649, + "id": 4650, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "953:7:30", @@ -57422,12 +57414,12 @@ }, { "constant": false, - "id": 4652, + "id": 4653, "mutability": "mutable", "name": "result", "nameLocation": "988:6:30", "nodeType": "VariableDeclaration", - "scope": 4655, + "scope": 4656, "src": "981:13:30", "stateVariable": false, "storageLocation": "default", @@ -57436,7 +57428,7 @@ "typeString": "string" }, "typeName": { - "id": 4651, + "id": 4652, "name": "string", "nodeType": "ElementaryTypeName", "src": "981:6:30", @@ -57449,12 +57441,12 @@ }, { "constant": false, - "id": 4654, + "id": 4655, "mutability": "mutable", "name": "rating", "nameLocation": "1010:6:30", "nodeType": "VariableDeclaration", - "scope": 4655, + "scope": 4656, "src": "1004:12:30", "stateVariable": false, "storageLocation": "default", @@ -57463,7 +57455,7 @@ "typeString": "uint8" }, "typeName": { - "id": 4653, + "id": 4654, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "1004:5:30", @@ -57478,32 +57470,32 @@ "name": "TaskData", "nameLocation": "814:8:30", "nodeType": "StructDefinition", - "scope": 5243, + "scope": 5244, "src": "807:216:30", "visibility": "public" }, { "constant": false, "functionSelector": "8d977672", - "id": 4660, + "id": 4661, "mutability": "mutable", "name": "tasks", "nameLocation": "1069:5:30", "nodeType": "VariableDeclaration", - "scope": 5243, + "scope": 5244, "src": "1033:41:30", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4655_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4656_storage_$", "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData)" }, "typeName": { - "id": 4659, + "id": 4660, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 4656, + "id": 4657, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1041:7:30", @@ -57515,28 +57507,28 @@ "nodeType": "Mapping", "src": "1033:28:30", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4655_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4656_storage_$", "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData)" }, "valueName": "", "valueNameLocation": "-1:-1:-1", "valueType": { - "id": 4658, + "id": 4659, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4657, + "id": 4658, "name": "TaskData", "nameLocations": [ "1052:8:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "1052:8:30" }, - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "1052:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" } } @@ -57546,12 +57538,12 @@ { "constant": false, "functionSelector": "2a2b3a9d", - "id": 4665, + "id": 4666, "mutability": "mutable", "name": "issuerTasks", "nameLocation": "1117:11:30", "nodeType": "VariableDeclaration", - "scope": 5243, + "scope": 5244, "src": "1080:48:30", "stateVariable": true, "storageLocation": "default", @@ -57560,11 +57552,11 @@ "typeString": "mapping(address => uint256[])" }, "typeName": { - "id": 4664, + "id": 4665, "keyName": "", "keyNameLocation": "-1:-1:-1", "keyType": { - "id": 4661, + "id": 4662, "name": "address", "nodeType": "ElementaryTypeName", "src": "1088:7:30", @@ -57583,7 +57575,7 @@ "valueNameLocation": "-1:-1:-1", "valueType": { "baseType": { - "id": 4662, + "id": 4663, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1099:7:30", @@ -57592,7 +57584,7 @@ "typeString": "uint256" } }, - "id": 4663, + "id": 4664, "nodeType": "ArrayTypeName", "src": "1099:9:30", "typeDescriptions": { @@ -57605,12 +57597,12 @@ }, { "constant": false, - "id": 4667, + "id": 4668, "mutability": "mutable", "name": "nextTaskId", "nameLocation": "1150:10:30", "nodeType": "VariableDeclaration", - "scope": 5243, + "scope": 5244, "src": "1134:26:30", "stateVariable": true, "storageLocation": "default", @@ -57619,7 +57611,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4666, + "id": 4667, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1134:7:30", @@ -57633,36 +57625,36 @@ { "constant": false, "functionSelector": "0d1cfcae", - "id": 4670, + "id": 4671, "mutability": "mutable", "name": "agentRegistry", "nameLocation": "1199:13:30", "nodeType": "VariableDeclaration", - "scope": 5243, + "scope": 5244, "src": "1166:46:30", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4016", + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4017", "typeString": "contract AgentsRegistryUpgradeable" }, "typeName": { - "id": 4669, + "id": 4670, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4668, + "id": 4669, "name": "AgentsRegistryUpgradeable", "nameLocations": [ "1166:25:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4016, + "referencedDeclaration": 4017, "src": "1166:25:30" }, - "referencedDeclaration": 4016, + "referencedDeclaration": 4017, "src": "1166:25:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4016", + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4017", "typeString": "contract AgentsRegistryUpgradeable" } }, @@ -57670,7 +57662,7 @@ }, { "body": { - "id": 4686, + "id": 4687, "nodeType": "Block", "src": "1259:101:30", "statements": [ @@ -57682,14 +57674,14 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4681, + "id": 4682, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 4675, + "id": 4676, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -57700,7 +57692,7 @@ "typeString": "msg" } }, - "id": 4676, + "id": 4677, "isConstant": false, "isLValue": false, "isPure": false, @@ -57719,24 +57711,24 @@ "rightExpression": { "expression": { "baseExpression": { - "id": 4677, + "id": 4678, "name": "tasks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4660, + "referencedDeclaration": 4661, "src": "1291:5:30", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4655_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4656_storage_$", "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" } }, - "id": 4679, + "id": 4680, "indexExpression": { - "id": 4678, + "id": 4679, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4672, + "referencedDeclaration": 4673, "src": "1297:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -57750,11 +57742,11 @@ "nodeType": "IndexAccess", "src": "1291:13:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage", + "typeIdentifier": "t_struct$_TaskData_$4656_storage", "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" } }, - "id": 4680, + "id": 4681, "isConstant": false, "isLValue": true, "isPure": false, @@ -57762,7 +57754,7 @@ "memberLocation": "1305:6:30", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 4643, + "referencedDeclaration": 4644, "src": "1291:20:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -57777,7 +57769,7 @@ }, { "hexValue": "4e6f742074686520697373756572206f6620746865207461736b", - "id": 4682, + "id": 4683, "isConstant": false, "isLValue": false, "isPure": true, @@ -57803,7 +57795,7 @@ "typeString": "literal_string \"Not the issuer of the task\"" } ], - "id": 4674, + "id": 4675, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -57817,7 +57809,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4683, + "id": 4684, "isConstant": false, "isLValue": false, "isPure": false, @@ -57833,33 +57825,33 @@ "typeString": "tuple()" } }, - "id": 4684, + "id": 4685, "nodeType": "ExpressionStatement", "src": "1269:73:30" }, { - "id": 4685, + "id": 4686, "nodeType": "PlaceholderStatement", "src": "1352:1:30" } ] }, - "id": 4687, + "id": 4688, "name": "onlyTaskIssuer", "nameLocation": "1228:14:30", "nodeType": "ModifierDefinition", "parameters": { - "id": 4673, + "id": 4674, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4672, + "id": 4673, "mutability": "mutable", "name": "taskId", "nameLocation": "1251:6:30", "nodeType": "VariableDeclaration", - "scope": 4687, + "scope": 4688, "src": "1243:14:30", "stateVariable": false, "storageLocation": "default", @@ -57868,7 +57860,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4671, + "id": 4672, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1243:7:30", @@ -57888,7 +57880,7 @@ }, { "body": { - "id": 4694, + "id": 4695, "nodeType": "Block", "src": "1433:39:30", "statements": [ @@ -57897,7 +57889,7 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4691, + "id": 4692, "name": "_disableInitializers", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -57908,7 +57900,7 @@ "typeString": "function ()" } }, - "id": 4692, + "id": 4693, "isConstant": false, "isLValue": false, "isPure": false, @@ -57924,19 +57916,19 @@ "typeString": "tuple()" } }, - "id": 4693, + "id": 4694, "nodeType": "ExpressionStatement", "src": "1443:22:30" } ] }, "documentation": { - "id": 4688, + "id": 4689, "nodeType": "StructuredDocumentation", "src": "1366:48:30", "text": "@custom:oz-upgrades-unsafe-allow constructor" }, - "id": 4695, + "id": 4696, "implemented": true, "kind": "constructor", "modifiers": [], @@ -57944,18 +57936,18 @@ "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { - "id": 4689, + "id": 4690, "nodeType": "ParameterList", "parameters": [], "src": "1430:2:30" }, "returnParameters": { - "id": 4690, + "id": 4691, "nodeType": "ParameterList", "parameters": [], "src": "1433:0:30" }, - "scope": 5243, + "scope": 5244, "src": "1419:53:30", "stateMutability": "nonpayable", "virtual": false, @@ -57963,7 +57955,7 @@ }, { "body": { - "id": 4722, + "id": 4723, "nodeType": "Block", "src": "1772:163:30", "statements": [ @@ -57972,7 +57964,7 @@ "arguments": [ { "expression": { - "id": 4707, + "id": 4708, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -57983,7 +57975,7 @@ "typeString": "msg" } }, - "id": 4708, + "id": 4709, "isConstant": false, "isLValue": false, "isPure": false, @@ -58005,7 +57997,7 @@ "typeString": "address" } ], - "id": 4706, + "id": 4707, "name": "__Ownable_init", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -58016,7 +58008,7 @@ "typeString": "function (address)" } }, - "id": 4709, + "id": 4710, "isConstant": false, "isLValue": false, "isPure": false, @@ -58032,7 +58024,7 @@ "typeString": "tuple()" } }, - "id": 4710, + "id": 4711, "nodeType": "ExpressionStatement", "src": "1782:26:30" }, @@ -58041,7 +58033,7 @@ "arguments": [], "expression": { "argumentTypes": [], - "id": 4711, + "id": 4712, "name": "__UUPSUpgradeable_init", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -58052,7 +58044,7 @@ "typeString": "function ()" } }, - "id": 4712, + "id": 4713, "isConstant": false, "isLValue": false, "isPure": false, @@ -58068,23 +58060,23 @@ "typeString": "tuple()" } }, - "id": 4713, + "id": 4714, "nodeType": "ExpressionStatement", "src": "1818:24:30" }, { "expression": { - "id": 4716, + "id": 4717, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4714, + "id": 4715, "name": "nextTaskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4667, + "referencedDeclaration": 4668, "src": "1861:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58094,11 +58086,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 4715, + "id": 4716, "name": "_initialTaskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4698, + "referencedDeclaration": 4699, "src": "1874:14:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58111,71 +58103,71 @@ "typeString": "uint256" } }, - "id": 4717, + "id": 4718, "nodeType": "ExpressionStatement", "src": "1861:27:30" }, { "expression": { - "id": 4720, + "id": 4721, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { - "id": 4718, + "id": 4719, "name": "agentRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4670, + "referencedDeclaration": 4671, "src": "1898:13:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4016", + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4017", "typeString": "contract AgentsRegistryUpgradeable" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 4719, + "id": 4720, "name": "_agentRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4701, + "referencedDeclaration": 4702, "src": "1914:14:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4016", + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4017", "typeString": "contract AgentsRegistryUpgradeable" } }, "src": "1898:30:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4016", + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4017", "typeString": "contract AgentsRegistryUpgradeable" } }, - "id": 4721, + "id": 4722, "nodeType": "ExpressionStatement", "src": "1898:30:30" } ] }, "documentation": { - "id": 4696, + "id": 4697, "nodeType": "StructuredDocumentation", "src": "1478:161:30", "text": " @dev Initializes the contract\n @param _initialTaskId The starting task ID\n @param _agentRegistry The address of the agent registry" }, "functionSelector": "da35a26f", - "id": 4723, + "id": 4724, "implemented": true, "kind": "function", "modifiers": [ { - "id": 4704, + "id": 4705, "kind": "modifierInvocation", "modifierName": { - "id": 4703, + "id": 4704, "name": "initializer", "nameLocations": [ "1760:11:30" @@ -58192,17 +58184,17 @@ "nameLocation": "1653:10:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 4702, + "id": 4703, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4698, + "id": 4699, "mutability": "mutable", "name": "_initialTaskId", "nameLocation": "1681:14:30", "nodeType": "VariableDeclaration", - "scope": 4723, + "scope": 4724, "src": "1673:22:30", "stateVariable": false, "storageLocation": "default", @@ -58211,7 +58203,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4697, + "id": 4698, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "1673:7:30", @@ -58224,36 +58216,36 @@ }, { "constant": false, - "id": 4701, + "id": 4702, "mutability": "mutable", "name": "_agentRegistry", "nameLocation": "1732:14:30", "nodeType": "VariableDeclaration", - "scope": 4723, + "scope": 4724, "src": "1706:40:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4016", + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4017", "typeString": "contract AgentsRegistryUpgradeable" }, "typeName": { - "id": 4700, + "id": 4701, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4699, + "id": 4700, "name": "AgentsRegistryUpgradeable", "nameLocations": [ "1706:25:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4016, + "referencedDeclaration": 4017, "src": "1706:25:30" }, - "referencedDeclaration": 4016, + "referencedDeclaration": 4017, "src": "1706:25:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4016", + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4017", "typeString": "contract AgentsRegistryUpgradeable" } }, @@ -58263,12 +58255,12 @@ "src": "1663:89:30" }, "returnParameters": { - "id": 4705, + "id": 4706, "nodeType": "ParameterList", "parameters": [], "src": "1772:0:30" }, - "scope": 5243, + "scope": 5244, "src": "1644:291:30", "stateMutability": "nonpayable", "virtual": false, @@ -58277,23 +58269,23 @@ { "anonymous": false, "eventSelector": "5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e9", - "id": 4735, + "id": 4736, "name": "TaskCreated", "nameLocation": "1951:11:30", "nodeType": "EventDefinition", "parameters": { - "id": 4734, + "id": 4735, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4725, + "id": 4726, "indexed": true, "mutability": "mutable", "name": "issuer", "nameLocation": "1979:6:30", "nodeType": "VariableDeclaration", - "scope": 4735, + "scope": 4736, "src": "1963:22:30", "stateVariable": false, "storageLocation": "default", @@ -58302,7 +58294,7 @@ "typeString": "address" }, "typeName": { - "id": 4724, + "id": 4725, "name": "address", "nodeType": "ElementaryTypeName", "src": "1963:7:30", @@ -58316,13 +58308,13 @@ }, { "constant": false, - "id": 4727, + "id": 4728, "indexed": true, "mutability": "mutable", "name": "assignee", "nameLocation": "2003:8:30", "nodeType": "VariableDeclaration", - "scope": 4735, + "scope": 4736, "src": "1987:24:30", "stateVariable": false, "storageLocation": "default", @@ -58331,7 +58323,7 @@ "typeString": "address" }, "typeName": { - "id": 4726, + "id": 4727, "name": "address", "nodeType": "ElementaryTypeName", "src": "1987:7:30", @@ -58345,13 +58337,13 @@ }, { "constant": false, - "id": 4729, + "id": 4730, "indexed": false, "mutability": "mutable", "name": "taskId", "nameLocation": "2021:6:30", "nodeType": "VariableDeclaration", - "scope": 4735, + "scope": 4736, "src": "2013:14:30", "stateVariable": false, "storageLocation": "default", @@ -58360,7 +58352,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4728, + "id": 4729, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2013:7:30", @@ -58373,13 +58365,13 @@ }, { "constant": false, - "id": 4731, + "id": 4732, "indexed": false, "mutability": "mutable", "name": "proposalId", "nameLocation": "2037:10:30", "nodeType": "VariableDeclaration", - "scope": 4735, + "scope": 4736, "src": "2029:18:30", "stateVariable": false, "storageLocation": "default", @@ -58388,7 +58380,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4730, + "id": 4731, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2029:7:30", @@ -58401,13 +58393,13 @@ }, { "constant": false, - "id": 4733, + "id": 4734, "indexed": false, "mutability": "mutable", "name": "prompt", "nameLocation": "2056:6:30", "nodeType": "VariableDeclaration", - "scope": 4735, + "scope": 4736, "src": "2049:13:30", "stateVariable": false, "storageLocation": "default", @@ -58416,7 +58408,7 @@ "typeString": "string" }, "typeName": { - "id": 4732, + "id": 4733, "name": "string", "nodeType": "ElementaryTypeName", "src": "2049:6:30", @@ -58435,23 +58427,23 @@ { "anonymous": false, "eventSelector": "d76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb4", - "id": 4742, + "id": 4743, "name": "TaskStatusChanged", "nameLocation": "2075:17:30", "nodeType": "EventDefinition", "parameters": { - "id": 4741, + "id": 4742, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4737, + "id": 4738, "indexed": true, "mutability": "mutable", "name": "taskId", "nameLocation": "2109:6:30", "nodeType": "VariableDeclaration", - "scope": 4742, + "scope": 4743, "src": "2093:22:30", "stateVariable": false, "storageLocation": "default", @@ -58460,7 +58452,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4736, + "id": 4737, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2093:7:30", @@ -58473,37 +58465,37 @@ }, { "constant": false, - "id": 4740, + "id": 4741, "indexed": false, "mutability": "mutable", "name": "status", "nameLocation": "2128:6:30", "nodeType": "VariableDeclaration", - "scope": 4742, + "scope": 4743, "src": "2117:17:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" }, "typeName": { - "id": 4739, + "id": 4740, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4738, + "id": 4739, "name": "TaskStatus", "nameLocations": [ "2117:10:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "2117:10:30" }, - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "2117:10:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -58517,23 +58509,23 @@ { "anonymous": false, "eventSelector": "52476d55ecef5cf13caa64038f297fe6bbf865d9584a98b8722a15a6d5db128f", - "id": 4748, + "id": 4749, "name": "TaskAssigned", "nameLocation": "2147:12:30", "nodeType": "EventDefinition", "parameters": { - "id": 4747, + "id": 4748, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4744, + "id": 4745, "indexed": true, "mutability": "mutable", "name": "taskId", "nameLocation": "2176:6:30", "nodeType": "VariableDeclaration", - "scope": 4748, + "scope": 4749, "src": "2160:22:30", "stateVariable": false, "storageLocation": "default", @@ -58542,7 +58534,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4743, + "id": 4744, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2160:7:30", @@ -58555,13 +58547,13 @@ }, { "constant": false, - "id": 4746, + "id": 4747, "indexed": true, "mutability": "mutable", "name": "agent", "nameLocation": "2200:5:30", "nodeType": "VariableDeclaration", - "scope": 4748, + "scope": 4749, "src": "2184:21:30", "stateVariable": false, "storageLocation": "default", @@ -58570,7 +58562,7 @@ "typeString": "address" }, "typeName": { - "id": 4745, + "id": 4746, "name": "address", "nodeType": "ElementaryTypeName", "src": "2184:7:30", @@ -58590,23 +58582,23 @@ { "anonymous": false, "eventSelector": "1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb2", - "id": 4752, + "id": 4753, "name": "TaskCanceled", "nameLocation": "2218:12:30", "nodeType": "EventDefinition", "parameters": { - "id": 4751, + "id": 4752, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4750, + "id": 4751, "indexed": true, "mutability": "mutable", "name": "taskId", "nameLocation": "2247:6:30", "nodeType": "VariableDeclaration", - "scope": 4752, + "scope": 4753, "src": "2231:22:30", "stateVariable": false, "storageLocation": "default", @@ -58615,7 +58607,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4749, + "id": 4750, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2231:7:30", @@ -58634,23 +58626,23 @@ { "anonymous": false, "eventSelector": "39d2886fb904deced53f8a0164291ff11f361b3a65c673eb93e1b4a0a875cfb5", - "id": 4759, + "id": 4760, "name": "ProposalApproved", "nameLocation": "2266:16:30", "nodeType": "EventDefinition", "parameters": { - "id": 4758, + "id": 4759, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4754, + "id": 4755, "indexed": true, "mutability": "mutable", "name": "taskId", "nameLocation": "2299:6:30", "nodeType": "VariableDeclaration", - "scope": 4759, + "scope": 4760, "src": "2283:22:30", "stateVariable": false, "storageLocation": "default", @@ -58659,7 +58651,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4753, + "id": 4754, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2283:7:30", @@ -58672,37 +58664,37 @@ }, { "constant": false, - "id": 4757, + "id": 4758, "indexed": false, "mutability": "mutable", "name": "proposal", "nameLocation": "2323:8:30", "nodeType": "VariableDeclaration", - "scope": 4759, + "scope": 4760, "src": "2307:24:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal" }, "typeName": { - "id": 4756, + "id": 4757, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4755, + "id": 4756, "name": "ServiceProposal", "nameLocations": [ "2307:15:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5342, + "referencedDeclaration": 5312, "src": "2307:15:30" }, - "referencedDeclaration": 5342, + "referencedDeclaration": 5312, "src": "2307:15:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage_ptr", "typeString": "struct IProposalStruct.ServiceProposal" } }, @@ -58716,23 +58708,23 @@ { "anonymous": false, "eventSelector": "7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb", - "id": 4765, + "id": 4766, "name": "TaskCompleted", "nameLocation": "2344:13:30", "nodeType": "EventDefinition", "parameters": { - "id": 4764, + "id": 4765, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4761, + "id": 4762, "indexed": true, "mutability": "mutable", "name": "taskId", "nameLocation": "2374:6:30", "nodeType": "VariableDeclaration", - "scope": 4765, + "scope": 4766, "src": "2358:22:30", "stateVariable": false, "storageLocation": "default", @@ -58741,7 +58733,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4760, + "id": 4761, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2358:7:30", @@ -58754,13 +58746,13 @@ }, { "constant": false, - "id": 4763, + "id": 4764, "indexed": false, "mutability": "mutable", "name": "result", "nameLocation": "2389:6:30", "nodeType": "VariableDeclaration", - "scope": 4765, + "scope": 4766, "src": "2382:13:30", "stateVariable": false, "storageLocation": "default", @@ -58769,7 +58761,7 @@ "typeString": "string" }, "typeName": { - "id": 4762, + "id": 4763, "name": "string", "nodeType": "ElementaryTypeName", "src": "2382:6:30", @@ -58788,23 +58780,23 @@ { "anonymous": false, "eventSelector": "0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc", - "id": 4771, + "id": 4772, "name": "TaskRated", "nameLocation": "2408:9:30", "nodeType": "EventDefinition", "parameters": { - "id": 4770, + "id": 4771, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4767, + "id": 4768, "indexed": true, "mutability": "mutable", "name": "taskId", "nameLocation": "2434:6:30", "nodeType": "VariableDeclaration", - "scope": 4771, + "scope": 4772, "src": "2418:22:30", "stateVariable": false, "storageLocation": "default", @@ -58813,7 +58805,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4766, + "id": 4767, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2418:7:30", @@ -58826,13 +58818,13 @@ }, { "constant": false, - "id": 4769, + "id": 4770, "indexed": false, "mutability": "mutable", "name": "rating", "nameLocation": "2448:6:30", "nodeType": "VariableDeclaration", - "scope": 4771, + "scope": 4772, "src": "2442:12:30", "stateVariable": false, "storageLocation": "default", @@ -58841,7 +58833,7 @@ "typeString": "uint8" }, "typeName": { - "id": 4768, + "id": 4769, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "2442:5:30", @@ -58859,62 +58851,62 @@ }, { "body": { - "id": 4913, + "id": 4914, "nodeType": "Block", "src": "2785:969:30", "statements": [ { "assignments": [ - 4784 + 4785 ], "declarations": [ { "constant": false, - "id": 4784, + "id": 4785, "mutability": "mutable", "name": "proposal", "nameLocation": "2818:8:30", "nodeType": "VariableDeclaration", - "scope": 4913, + "scope": 4914, "src": "2795:31:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal" }, "typeName": { - "id": 4783, + "id": 4784, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4782, + "id": 4783, "name": "ServiceProposal", "nameLocations": [ "2795:15:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5342, + "referencedDeclaration": 5312, "src": "2795:15:30" }, - "referencedDeclaration": 5342, + "referencedDeclaration": 5312, "src": "2795:15:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage_ptr", "typeString": "struct IProposalStruct.ServiceProposal" } }, "visibility": "internal" } ], - "id": 4789, + "id": 4790, "initialValue": { "arguments": [ { - "id": 4787, + "id": 4788, "name": "proposalId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4776, + "referencedDeclaration": 4777, "src": "2855:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -58930,18 +58922,18 @@ } ], "expression": { - "id": 4785, + "id": 4786, "name": "agentRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4670, + "referencedDeclaration": 4671, "src": "2829:13:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4016", + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4017", "typeString": "contract AgentsRegistryUpgradeable" } }, - "id": 4786, + "id": 4787, "isConstant": false, "isLValue": false, "isPure": false, @@ -58949,14 +58941,14 @@ "memberLocation": "2843:11:30", "memberName": "getProposal", "nodeType": "MemberAccess", - "referencedDeclaration": 3653, + "referencedDeclaration": 3654, "src": "2829:25:30", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ServiceProposal_$5342_memory_ptr_$", + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ServiceProposal_$5312_memory_ptr_$", "typeString": "function (uint256) view external returns (struct IProposalStruct.ServiceProposal memory)" } }, - "id": 4788, + "id": 4789, "isConstant": false, "isLValue": false, "isPure": false, @@ -58968,7 +58960,7 @@ "src": "2829:37:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, @@ -58983,25 +58975,25 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4797, + "id": 4798, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 4791, + "id": 4792, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, + "referencedDeclaration": 4785, "src": "2884:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 4792, + "id": 4793, "isConstant": false, "isLValue": true, "isPure": false, @@ -59009,7 +59001,7 @@ "memberLocation": "2893:6:30", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 5331, + "referencedDeclaration": 5301, "src": "2884:15:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -59022,7 +59014,7 @@ "arguments": [ { "hexValue": "30", - "id": 4795, + "id": 4796, "isConstant": false, "isLValue": false, "isPure": true, @@ -59044,7 +59036,7 @@ "typeString": "int_const 0" } ], - "id": 4794, + "id": 4795, "isConstant": false, "isLValue": false, "isPure": true, @@ -59056,14 +59048,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4793, + "id": 4794, "name": "address", "nodeType": "ElementaryTypeName", "src": "2903:7:30", "typeDescriptions": {} } }, - "id": 4796, + "id": 4797, "isConstant": false, "isLValue": false, "isPure": true, @@ -59087,7 +59079,7 @@ }, { "hexValue": "5365727669636550726f706f73616c206e6f7420666f756e64", - "id": 4798, + "id": 4799, "isConstant": false, "isLValue": false, "isPure": true, @@ -59113,7 +59105,7 @@ "typeString": "literal_string \"ServiceProposal not found\"" } ], - "id": 4790, + "id": 4791, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -59127,7 +59119,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4799, + "id": 4800, "isConstant": false, "isLValue": false, "isPure": false, @@ -59143,7 +59135,7 @@ "typeString": "tuple()" } }, - "id": 4800, + "id": 4801, "nodeType": "ExpressionStatement", "src": "2876:67:30" }, @@ -59153,25 +59145,25 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4807, + "id": 4808, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 4801, + "id": 4802, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, + "referencedDeclaration": 4785, "src": "2966:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 4802, + "id": 4803, "isConstant": false, "isLValue": true, "isPure": false, @@ -59179,7 +59171,7 @@ "memberLocation": "2975:12:30", "memberName": "tokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 5337, + "referencedDeclaration": 5307, "src": "2966:21:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -59192,7 +59184,7 @@ "arguments": [ { "hexValue": "30", - "id": 4805, + "id": 4806, "isConstant": false, "isLValue": false, "isPure": true, @@ -59214,7 +59206,7 @@ "typeString": "int_const 0" } ], - "id": 4804, + "id": 4805, "isConstant": false, "isLValue": false, "isPure": true, @@ -59226,14 +59218,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4803, + "id": 4804, "name": "address", "nodeType": "ElementaryTypeName", "src": "2991:7:30", "typeDescriptions": {} } }, - "id": 4806, + "id": 4807, "isConstant": false, "isLValue": false, "isPure": true, @@ -59256,7 +59248,7 @@ } }, "falseBody": { - "id": 4841, + "id": 4842, "nodeType": "Block", "src": "3087:203:30", "statements": [ @@ -59268,14 +59260,14 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4822, + "id": 4823, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 4819, + "id": 4820, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -59286,7 +59278,7 @@ "typeString": "msg" } }, - "id": 4820, + "id": 4821, "isConstant": false, "isLValue": false, "isPure": false, @@ -59304,7 +59296,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 4821, + "id": 4822, "isConstant": false, "isLValue": false, "isPure": true, @@ -59326,7 +59318,7 @@ }, { "hexValue": "4e6f204554482073686f756c642062652073656e7420666f72204552433230207061796d656e7473", - "id": 4823, + "id": 4824, "isConstant": false, "isLValue": false, "isPure": true, @@ -59352,7 +59344,7 @@ "typeString": "literal_string \"No ETH should be sent for ERC20 payments\"" } ], - "id": 4818, + "id": 4819, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -59366,7 +59358,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4824, + "id": 4825, "isConstant": false, "isLValue": false, "isPure": false, @@ -59382,7 +59374,7 @@ "typeString": "tuple()" } }, - "id": 4825, + "id": 4826, "nodeType": "ExpressionStatement", "src": "3101:67:30" }, @@ -59391,18 +59383,18 @@ "arguments": [ { "expression": { - "id": 4829, + "id": 4830, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, + "referencedDeclaration": 4785, "src": "3214:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 4830, + "id": 4831, "isConstant": false, "isLValue": true, "isPure": false, @@ -59410,7 +59402,7 @@ "memberLocation": "3223:12:30", "memberName": "tokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 5337, + "referencedDeclaration": 5307, "src": "3214:21:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -59419,7 +59411,7 @@ }, { "expression": { - "id": 4831, + "id": 4832, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -59430,7 +59422,7 @@ "typeString": "msg" } }, - "id": 4832, + "id": 4833, "isConstant": false, "isLValue": false, "isPure": false, @@ -59447,14 +59439,14 @@ { "arguments": [ { - "id": 4835, + "id": 4836, "name": "this", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -28, "src": "3257:4:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_TaskRegistryUpgradeable_$5243", + "typeIdentifier": "t_contract$_TaskRegistryUpgradeable_$5244", "typeString": "contract TaskRegistryUpgradeable" } } @@ -59462,11 +59454,11 @@ "expression": { "argumentTypes": [ { - "typeIdentifier": "t_contract$_TaskRegistryUpgradeable_$5243", + "typeIdentifier": "t_contract$_TaskRegistryUpgradeable_$5244", "typeString": "contract TaskRegistryUpgradeable" } ], - "id": 4834, + "id": 4835, "isConstant": false, "isLValue": false, "isPure": true, @@ -59478,14 +59470,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4833, + "id": 4834, "name": "address", "nodeType": "ElementaryTypeName", "src": "3249:7:30", "typeDescriptions": {} } }, - "id": 4836, + "id": 4837, "isConstant": false, "isLValue": false, "isPure": false, @@ -59503,18 +59495,18 @@ }, { "expression": { - "id": 4837, + "id": 4838, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, + "referencedDeclaration": 4785, "src": "3264:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 4838, + "id": 4839, "isConstant": false, "isLValue": true, "isPure": false, @@ -59522,7 +59514,7 @@ "memberLocation": "3273:5:30", "memberName": "price", "nodeType": "MemberAccess", - "referencedDeclaration": 5335, + "referencedDeclaration": 5305, "src": "3264:14:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59550,18 +59542,18 @@ } ], "expression": { - "id": 4826, + "id": 4827, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5556, + "referencedDeclaration": 5473, "src": "3182:14:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$5556_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$5473_$", "typeString": "type(library TransferHelper)" } }, - "id": 4828, + "id": 4829, "isConstant": false, "isLValue": false, "isPure": false, @@ -59569,14 +59561,14 @@ "memberLocation": "3197:16:30", "memberName": "safeTransferFrom", "nodeType": "MemberAccess", - "referencedDeclaration": 5530, + "referencedDeclaration": 5447, "src": "3182:31:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,address,uint256)" } }, - "id": 4839, + "id": 4840, "isConstant": false, "isLValue": false, "isPure": false, @@ -59592,17 +59584,17 @@ "typeString": "tuple()" } }, - "id": 4840, + "id": 4841, "nodeType": "ExpressionStatement", "src": "3182:97:30" } ] }, - "id": 4842, + "id": 4843, "nodeType": "IfStatement", "src": "2962:328:30", "trueBody": { - "id": 4817, + "id": 4818, "nodeType": "Block", "src": "3003:78:30", "statements": [ @@ -59614,25 +59606,25 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 4813, + "id": 4814, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 4809, + "id": 4810, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, + "referencedDeclaration": 4785, "src": "3025:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 4810, + "id": 4811, "isConstant": false, "isLValue": true, "isPure": false, @@ -59640,7 +59632,7 @@ "memberLocation": "3034:5:30", "memberName": "price", "nodeType": "MemberAccess", - "referencedDeclaration": 5335, + "referencedDeclaration": 5305, "src": "3025:14:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59651,7 +59643,7 @@ "operator": "==", "rightExpression": { "expression": { - "id": 4811, + "id": 4812, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -59662,7 +59654,7 @@ "typeString": "msg" } }, - "id": 4812, + "id": 4813, "isConstant": false, "isLValue": false, "isPure": false, @@ -59684,7 +59676,7 @@ }, { "hexValue": "496e76616c6964207072696365", - "id": 4814, + "id": 4815, "isConstant": false, "isLValue": false, "isPure": true, @@ -59710,7 +59702,7 @@ "typeString": "literal_string \"Invalid price\"" } ], - "id": 4808, + "id": 4809, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -59724,7 +59716,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4815, + "id": 4816, "isConstant": false, "isLValue": false, "isPure": false, @@ -59740,7 +59732,7 @@ "typeString": "tuple()" } }, - "id": 4816, + "id": 4817, "nodeType": "ExpressionStatement", "src": "3017:53:30" } @@ -59749,68 +59741,68 @@ }, { "assignments": [ - 4845 + 4846 ], "declarations": [ { "constant": false, - "id": 4845, + "id": 4846, "mutability": "mutable", "name": "task", "nameLocation": "3317:4:30", "nodeType": "VariableDeclaration", - "scope": 4913, + "scope": 4914, "src": "3300:21:30", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" }, "typeName": { - "id": 4844, + "id": 4845, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4843, + "id": 4844, "name": "TaskData", "nameLocations": [ "3300:8:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "3300:8:30" }, - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "3300:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" } }, "visibility": "internal" } ], - "id": 4849, + "id": 4850, "initialValue": { "baseExpression": { - "id": 4846, + "id": 4847, "name": "tasks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4660, + "referencedDeclaration": 4661, "src": "3324:5:30", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4655_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4656_storage_$", "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" } }, - "id": 4848, + "id": 4849, "indexExpression": { - "id": 4847, + "id": 4848, "name": "nextTaskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4667, + "referencedDeclaration": 4668, "src": "3330:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59824,7 +59816,7 @@ "nodeType": "IndexAccess", "src": "3324:17:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage", + "typeIdentifier": "t_struct$_TaskData_$4656_storage", "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" } }, @@ -59833,25 +59825,25 @@ }, { "expression": { - "id": 4854, + "id": 4855, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 4850, + "id": 4851, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4845, + "referencedDeclaration": 4846, "src": "3351:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4852, + "id": 4853, "isConstant": false, "isLValue": true, "isPure": false, @@ -59859,7 +59851,7 @@ "memberLocation": "3356:2:30", "memberName": "id", "nodeType": "MemberAccess", - "referencedDeclaration": 4639, + "referencedDeclaration": 4640, "src": "3351:7:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59869,11 +59861,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 4853, + "id": 4854, "name": "nextTaskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4667, + "referencedDeclaration": 4668, "src": "3361:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -59886,31 +59878,31 @@ "typeString": "uint256" } }, - "id": 4855, + "id": 4856, "nodeType": "ExpressionStatement", "src": "3351:20:30" }, { "expression": { - "id": 4860, + "id": 4861, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 4856, + "id": 4857, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4845, + "referencedDeclaration": 4846, "src": "3381:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4858, + "id": 4859, "isConstant": false, "isLValue": true, "isPure": false, @@ -59918,7 +59910,7 @@ "memberLocation": "3386:6:30", "memberName": "prompt", "nodeType": "MemberAccess", - "referencedDeclaration": 4641, + "referencedDeclaration": 4642, "src": "3381:11:30", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -59928,11 +59920,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 4859, + "id": 4860, "name": "prompt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4775, "src": "3395:6:30", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -59945,31 +59937,31 @@ "typeString": "string storage ref" } }, - "id": 4861, + "id": 4862, "nodeType": "ExpressionStatement", "src": "3381:20:30" }, { "expression": { - "id": 4867, + "id": 4868, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 4862, + "id": 4863, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4845, + "referencedDeclaration": 4846, "src": "3411:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4864, + "id": 4865, "isConstant": false, "isLValue": true, "isPure": false, @@ -59977,7 +59969,7 @@ "memberLocation": "3416:6:30", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 4643, + "referencedDeclaration": 4644, "src": "3411:11:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -59988,7 +59980,7 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 4865, + "id": 4866, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -59999,7 +59991,7 @@ "typeString": "msg" } }, - "id": 4866, + "id": 4867, "isConstant": false, "isLValue": false, "isPure": false, @@ -60019,31 +60011,31 @@ "typeString": "address" } }, - "id": 4868, + "id": 4869, "nodeType": "ExpressionStatement", "src": "3411:24:30" }, { "expression": { - "id": 4873, + "id": 4874, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 4869, + "id": 4870, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4845, + "referencedDeclaration": 4846, "src": "3445:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4871, + "id": 4872, "isConstant": false, "isLValue": true, "isPure": false, @@ -60051,7 +60043,7 @@ "memberLocation": "3450:10:30", "memberName": "proposalId", "nodeType": "MemberAccess", - "referencedDeclaration": 4650, + "referencedDeclaration": 4651, "src": "3445:15:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -60061,11 +60053,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 4872, + "id": 4873, "name": "proposalId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4776, + "referencedDeclaration": 4777, "src": "3463:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -60078,31 +60070,31 @@ "typeString": "uint256" } }, - "id": 4874, + "id": 4875, "nodeType": "ExpressionStatement", "src": "3445:28:30" }, { "expression": { - "id": 4880, + "id": 4881, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 4875, + "id": 4876, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4845, + "referencedDeclaration": 4846, "src": "3483:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4877, + "id": 4878, "isConstant": false, "isLValue": true, "isPure": false, @@ -60110,7 +60102,7 @@ "memberLocation": "3488:8:30", "memberName": "assignee", "nodeType": "MemberAccess", - "referencedDeclaration": 4648, + "referencedDeclaration": 4649, "src": "3483:13:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -60121,18 +60113,18 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 4878, + "id": 4879, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, + "referencedDeclaration": 4785, "src": "3499:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 4879, + "id": 4880, "isConstant": false, "isLValue": true, "isPure": false, @@ -60140,7 +60132,7 @@ "memberLocation": "3508:6:30", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 5331, + "referencedDeclaration": 5301, "src": "3499:15:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -60153,7 +60145,7 @@ "typeString": "address" } }, - "id": 4881, + "id": 4882, "nodeType": "ExpressionStatement", "src": "3483:31:30" }, @@ -60161,11 +60153,11 @@ "expression": { "arguments": [ { - "id": 4887, + "id": 4888, "name": "nextTaskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4667, + "referencedDeclaration": 4668, "src": "3553:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -60182,21 +60174,21 @@ ], "expression": { "baseExpression": { - "id": 4882, + "id": 4883, "name": "issuerTasks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4665, + "referencedDeclaration": 4666, "src": "3524:11:30", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 4885, + "id": 4886, "indexExpression": { "expression": { - "id": 4883, + "id": 4884, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -60207,7 +60199,7 @@ "typeString": "msg" } }, - "id": 4884, + "id": 4885, "isConstant": false, "isLValue": false, "isPure": false, @@ -60232,7 +60224,7 @@ "typeString": "uint256[] storage ref" } }, - "id": 4886, + "id": 4887, "isConstant": false, "isLValue": false, "isPure": false, @@ -60246,7 +60238,7 @@ "typeString": "function (uint256[] storage pointer,uint256)" } }, - "id": 4888, + "id": 4889, "isConstant": false, "isLValue": false, "isPure": false, @@ -60262,31 +60254,31 @@ "typeString": "tuple()" } }, - "id": 4889, + "id": 4890, "nodeType": "ExpressionStatement", "src": "3524:40:30" }, { "expression": { - "id": 4895, + "id": 4896, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 4890, + "id": 4891, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4845, + "referencedDeclaration": 4846, "src": "3574:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4892, + "id": 4893, "isConstant": false, "isLValue": true, "isPure": false, @@ -60294,10 +60286,10 @@ "memberLocation": "3579:6:30", "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 4646, + "referencedDeclaration": 4647, "src": "3574:11:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -60305,18 +60297,18 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 4893, + "id": 4894, "name": "TaskStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "3588:10:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4637_$", + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4638_$", "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" } }, - "id": 4894, + "id": 4895, "isConstant": false, "isLValue": false, "isPure": true, @@ -60324,20 +60316,20 @@ "memberLocation": "3599:8:30", "memberName": "ASSIGNED", "nodeType": "MemberAccess", - "referencedDeclaration": 4634, + "referencedDeclaration": 4635, "src": "3588:19:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, "src": "3574:33:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, - "id": 4896, + "id": 4897, "nodeType": "ExpressionStatement", "src": "3574:33:30" }, @@ -60346,7 +60338,7 @@ "arguments": [ { "expression": { - "id": 4898, + "id": 4899, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -60357,7 +60349,7 @@ "typeString": "msg" } }, - "id": 4899, + "id": 4900, "isConstant": false, "isLValue": false, "isPure": false, @@ -60373,18 +60365,18 @@ }, { "expression": { - "id": 4900, + "id": 4901, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, + "referencedDeclaration": 4785, "src": "3646:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 4901, + "id": 4902, "isConstant": false, "isLValue": true, "isPure": false, @@ -60392,7 +60384,7 @@ "memberLocation": "3655:6:30", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 5331, + "referencedDeclaration": 5301, "src": "3646:15:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -60400,11 +60392,11 @@ } }, { - "id": 4902, + "id": 4903, "name": "nextTaskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4667, + "referencedDeclaration": 4668, "src": "3663:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -60413,18 +60405,18 @@ }, { "expression": { - "id": 4903, + "id": 4904, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4784, + "referencedDeclaration": 4785, "src": "3675:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 4904, + "id": 4905, "isConstant": false, "isLValue": true, "isPure": false, @@ -60432,7 +60424,7 @@ "memberLocation": "3684:10:30", "memberName": "proposalId", "nodeType": "MemberAccess", - "referencedDeclaration": 5339, + "referencedDeclaration": 5309, "src": "3675:19:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -60440,11 +60432,11 @@ } }, { - "id": 4905, + "id": 4906, "name": "prompt", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4774, + "referencedDeclaration": 4775, "src": "3696:6:30", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -60475,18 +60467,18 @@ "typeString": "string memory" } ], - "id": 4897, + "id": 4898, "name": "TaskCreated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4735, + "referencedDeclaration": 4736, "src": "3622:11:30", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (address,address,uint256,uint256,string memory)" } }, - "id": 4906, + "id": 4907, "isConstant": false, "isLValue": false, "isPure": false, @@ -60502,13 +60494,13 @@ "typeString": "tuple()" } }, - "id": 4907, + "id": 4908, "nodeType": "EmitStatement", "src": "3617:86:30" }, { "expression": { - "id": 4909, + "id": 4910, "isConstant": false, "isLValue": false, "isPure": false, @@ -60518,11 +60510,11 @@ "prefix": false, "src": "3714:12:30", "subExpression": { - "id": 4908, + "id": 4909, "name": "nextTaskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4667, + "referencedDeclaration": 4668, "src": "3714:10:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -60534,38 +60526,38 @@ "typeString": "uint256" } }, - "id": 4910, + "id": 4911, "nodeType": "ExpressionStatement", "src": "3714:12:30" }, { "expression": { - "id": 4911, + "id": 4912, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4845, + "referencedDeclaration": 4846, "src": "3743:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "functionReturnParameters": 4781, - "id": 4912, + "functionReturnParameters": 4782, + "id": 4913, "nodeType": "Return", "src": "3736:11:30" } ] }, "documentation": { - "id": 4772, + "id": 4773, "nodeType": "StructuredDocumentation", "src": "2462:191:30", "text": " @dev Creates a new task with the given prompt and task type.\n @param prompt The description or prompt of the task.\n @return taskId The ID of the newly created task." }, "functionSelector": "04fe2b34", - "id": 4914, + "id": 4915, "implemented": true, "kind": "function", "modifiers": [], @@ -60573,17 +60565,17 @@ "nameLocation": "2667:10:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 4777, + "id": 4778, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4774, + "id": 4775, "mutability": "mutable", "name": "prompt", "nameLocation": "2701:6:30", "nodeType": "VariableDeclaration", - "scope": 4914, + "scope": 4915, "src": "2687:20:30", "stateVariable": false, "storageLocation": "memory", @@ -60592,7 +60584,7 @@ "typeString": "string" }, "typeName": { - "id": 4773, + "id": 4774, "name": "string", "nodeType": "ElementaryTypeName", "src": "2687:6:30", @@ -60605,12 +60597,12 @@ }, { "constant": false, - "id": 4776, + "id": 4777, "mutability": "mutable", "name": "proposalId", "nameLocation": "2725:10:30", "nodeType": "VariableDeclaration", - "scope": 4914, + "scope": 4915, "src": "2717:18:30", "stateVariable": false, "storageLocation": "default", @@ -60619,7 +60611,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4775, + "id": 4776, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "2717:7:30", @@ -60634,41 +60626,41 @@ "src": "2677:64:30" }, "returnParameters": { - "id": 4781, + "id": 4782, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4780, + "id": 4781, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 4914, + "scope": 4915, "src": "2768:15:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_memory_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_memory_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" }, "typeName": { - "id": 4779, + "id": 4780, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4778, + "id": 4779, "name": "TaskData", "nameLocations": [ "2768:8:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "2768:8:30" }, - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "2768:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" } }, @@ -60677,7 +60669,7 @@ ], "src": "2767:17:30" }, - "scope": 5243, + "scope": 5244, "src": "2658:1096:30", "stateMutability": "payable", "virtual": false, @@ -60685,74 +60677,74 @@ }, { "body": { - "id": 5010, + "id": 5011, "nodeType": "Block", "src": "3999:714:30", "statements": [ { "assignments": [ - 4924 + 4925 ], "declarations": [ { "constant": false, - "id": 4924, + "id": 4925, "mutability": "mutable", "name": "task", "nameLocation": "4026:4:30", "nodeType": "VariableDeclaration", - "scope": 5010, + "scope": 5011, "src": "4009:21:30", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" }, "typeName": { - "id": 4923, + "id": 4924, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4922, + "id": 4923, "name": "TaskData", "nameLocations": [ "4009:8:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "4009:8:30" }, - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "4009:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" } }, "visibility": "internal" } ], - "id": 4928, + "id": 4929, "initialValue": { "baseExpression": { - "id": 4925, + "id": 4926, "name": "tasks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4660, + "referencedDeclaration": 4661, "src": "4033:5:30", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4655_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4656_storage_$", "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" } }, - "id": 4927, + "id": 4928, "indexExpression": { - "id": 4926, + "id": 4927, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4917, + "referencedDeclaration": 4918, "src": "4039:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -60766,7 +60758,7 @@ "nodeType": "IndexAccess", "src": "4033:13:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage", + "typeIdentifier": "t_struct$_TaskData_$4656_storage", "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" } }, @@ -60781,14 +60773,14 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4934, + "id": 4935, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 4930, + "id": 4931, "name": "msg", "nodeType": "Identifier", "overloadedDeclarations": [], @@ -60799,7 +60791,7 @@ "typeString": "msg" } }, - "id": 4931, + "id": 4932, "isConstant": false, "isLValue": false, "isPure": false, @@ -60817,18 +60809,18 @@ "operator": "==", "rightExpression": { "expression": { - "id": 4932, + "id": 4933, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4924, + "referencedDeclaration": 4925, "src": "4078:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4933, + "id": 4934, "isConstant": false, "isLValue": true, "isPure": false, @@ -60836,7 +60828,7 @@ "memberLocation": "4083:8:30", "memberName": "assignee", "nodeType": "MemberAccess", - "referencedDeclaration": 4648, + "referencedDeclaration": 4649, "src": "4078:13:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -60851,7 +60843,7 @@ }, { "hexValue": "4e6f7420617574686f72697a6564", - "id": 4935, + "id": 4936, "isConstant": false, "isLValue": false, "isPure": true, @@ -60877,7 +60869,7 @@ "typeString": "literal_string \"Not authorized\"" } ], - "id": 4929, + "id": 4930, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -60891,7 +60883,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4936, + "id": 4937, "isConstant": false, "isLValue": false, "isPure": false, @@ -60907,7 +60899,7 @@ "typeString": "tuple()" } }, - "id": 4937, + "id": 4938, "nodeType": "ExpressionStatement", "src": "4056:54:30" }, @@ -60916,28 +60908,28 @@ "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" }, - "id": 4943, + "id": 4944, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 4939, + "id": 4940, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4924, + "referencedDeclaration": 4925, "src": "4128:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4940, + "id": 4941, "isConstant": false, "isLValue": true, "isPure": false, @@ -60945,10 +60937,10 @@ "memberLocation": "4133:6:30", "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 4646, + "referencedDeclaration": 4647, "src": "4128:11:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -60956,18 +60948,18 @@ "operator": "==", "rightExpression": { "expression": { - "id": 4941, + "id": 4942, "name": "TaskStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "4143:10:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4637_$", + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4638_$", "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" } }, - "id": 4942, + "id": 4943, "isConstant": false, "isLValue": false, "isPure": true, @@ -60975,10 +60967,10 @@ "memberLocation": "4154:8:30", "memberName": "ASSIGNED", "nodeType": "MemberAccess", - "referencedDeclaration": 4634, + "referencedDeclaration": 4635, "src": "4143:19:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -60990,7 +60982,7 @@ }, { "hexValue": "496e76616c6964207461736b20737461747573", - "id": 4944, + "id": 4945, "isConstant": false, "isLValue": false, "isPure": true, @@ -61016,7 +61008,7 @@ "typeString": "literal_string \"Invalid task status\"" } ], - "id": 4938, + "id": 4939, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -61030,7 +61022,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 4945, + "id": 4946, "isConstant": false, "isLValue": false, "isPure": false, @@ -61046,31 +61038,31 @@ "typeString": "tuple()" } }, - "id": 4946, + "id": 4947, "nodeType": "ExpressionStatement", "src": "4120:66:30" }, { "expression": { - "id": 4952, + "id": 4953, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 4947, + "id": 4948, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4924, + "referencedDeclaration": 4925, "src": "4197:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4949, + "id": 4950, "isConstant": false, "isLValue": true, "isPure": false, @@ -61078,10 +61070,10 @@ "memberLocation": "4202:6:30", "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 4646, + "referencedDeclaration": 4647, "src": "4197:11:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -61089,18 +61081,18 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 4950, + "id": 4951, "name": "TaskStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "4211:10:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4637_$", + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4638_$", "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" } }, - "id": 4951, + "id": 4952, "isConstant": false, "isLValue": false, "isPure": true, @@ -61108,44 +61100,44 @@ "memberLocation": "4222:9:30", "memberName": "COMPLETED", "nodeType": "MemberAccess", - "referencedDeclaration": 4635, + "referencedDeclaration": 4636, "src": "4211:20:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, "src": "4197:34:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, - "id": 4953, + "id": 4954, "nodeType": "ExpressionStatement", "src": "4197:34:30" }, { "expression": { - "id": 4958, + "id": 4959, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 4954, + "id": 4955, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4924, + "referencedDeclaration": 4925, "src": "4241:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4956, + "id": 4957, "isConstant": false, "isLValue": true, "isPure": false, @@ -61153,7 +61145,7 @@ "memberLocation": "4246:6:30", "memberName": "result", "nodeType": "MemberAccess", - "referencedDeclaration": 4652, + "referencedDeclaration": 4653, "src": "4241:11:30", "typeDescriptions": { "typeIdentifier": "t_string_storage", @@ -61163,11 +61155,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 4957, + "id": 4958, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4919, + "referencedDeclaration": 4920, "src": "4255:6:30", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -61180,70 +61172,70 @@ "typeString": "string storage ref" } }, - "id": 4959, + "id": 4960, "nodeType": "ExpressionStatement", "src": "4241:20:30" }, { "assignments": [ - 4962 + 4963 ], "declarations": [ { "constant": false, - "id": 4962, + "id": 4963, "mutability": "mutable", "name": "proposal", "nameLocation": "4294:8:30", "nodeType": "VariableDeclaration", - "scope": 5010, + "scope": 5011, "src": "4271:31:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal" }, "typeName": { - "id": 4961, + "id": 4962, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 4960, + "id": 4961, "name": "ServiceProposal", "nameLocations": [ "4271:15:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5342, + "referencedDeclaration": 5312, "src": "4271:15:30" }, - "referencedDeclaration": 5342, + "referencedDeclaration": 5312, "src": "4271:15:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage_ptr", "typeString": "struct IProposalStruct.ServiceProposal" } }, "visibility": "internal" } ], - "id": 4968, + "id": 4969, "initialValue": { "arguments": [ { "expression": { - "id": 4965, + "id": 4966, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4924, + "referencedDeclaration": 4925, "src": "4331:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4966, + "id": 4967, "isConstant": false, "isLValue": true, "isPure": false, @@ -61251,7 +61243,7 @@ "memberLocation": "4336:10:30", "memberName": "proposalId", "nodeType": "MemberAccess", - "referencedDeclaration": 4650, + "referencedDeclaration": 4651, "src": "4331:15:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -61267,18 +61259,18 @@ } ], "expression": { - "id": 4963, + "id": 4964, "name": "agentRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4670, + "referencedDeclaration": 4671, "src": "4305:13:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4016", + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4017", "typeString": "contract AgentsRegistryUpgradeable" } }, - "id": 4964, + "id": 4965, "isConstant": false, "isLValue": false, "isPure": false, @@ -61286,14 +61278,14 @@ "memberLocation": "4319:11:30", "memberName": "getProposal", "nodeType": "MemberAccess", - "referencedDeclaration": 3653, + "referencedDeclaration": 3654, "src": "4305:25:30", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ServiceProposal_$5342_memory_ptr_$", + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ServiceProposal_$5312_memory_ptr_$", "typeString": "function (uint256) view external returns (struct IProposalStruct.ServiceProposal memory)" } }, - "id": 4967, + "id": 4968, "isConstant": false, "isLValue": false, "isPure": false, @@ -61305,7 +61297,7 @@ "src": "4305:42:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, @@ -61318,25 +61310,25 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 4975, + "id": 4976, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 4969, + "id": 4970, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4962, + "referencedDeclaration": 4963, "src": "4370:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 4970, + "id": 4971, "isConstant": false, "isLValue": true, "isPure": false, @@ -61344,7 +61336,7 @@ "memberLocation": "4379:12:30", "memberName": "tokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 5337, + "referencedDeclaration": 5307, "src": "4370:21:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -61357,7 +61349,7 @@ "arguments": [ { "hexValue": "30", - "id": 4973, + "id": 4974, "isConstant": false, "isLValue": false, "isPure": true, @@ -61379,7 +61371,7 @@ "typeString": "int_const 0" } ], - "id": 4972, + "id": 4973, "isConstant": false, "isLValue": false, "isPure": true, @@ -61391,14 +61383,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 4971, + "id": 4972, "name": "address", "nodeType": "ElementaryTypeName", "src": "4395:7:30", "typeDescriptions": {} } }, - "id": 4974, + "id": 4975, "isConstant": false, "isLValue": false, "isPure": true, @@ -61421,7 +61413,7 @@ } }, "falseBody": { - "id": 4997, + "id": 4998, "nodeType": "Block", "src": "4497:104:30", "statements": [ @@ -61430,18 +61422,18 @@ "arguments": [ { "expression": { - "id": 4989, + "id": 4990, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4962, + "referencedDeclaration": 4963, "src": "4539:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 4990, + "id": 4991, "isConstant": false, "isLValue": true, "isPure": false, @@ -61449,7 +61441,7 @@ "memberLocation": "4548:12:30", "memberName": "tokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 5337, + "referencedDeclaration": 5307, "src": "4539:21:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -61458,18 +61450,18 @@ }, { "expression": { - "id": 4991, + "id": 4992, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4924, + "referencedDeclaration": 4925, "src": "4562:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4992, + "id": 4993, "isConstant": false, "isLValue": true, "isPure": false, @@ -61477,7 +61469,7 @@ "memberLocation": "4567:6:30", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 4643, + "referencedDeclaration": 4644, "src": "4562:11:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -61486,18 +61478,18 @@ }, { "expression": { - "id": 4993, + "id": 4994, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4962, + "referencedDeclaration": 4963, "src": "4575:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 4994, + "id": 4995, "isConstant": false, "isLValue": true, "isPure": false, @@ -61505,7 +61497,7 @@ "memberLocation": "4584:5:30", "memberName": "price", "nodeType": "MemberAccess", - "referencedDeclaration": 5335, + "referencedDeclaration": 5305, "src": "4575:14:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -61529,18 +61521,18 @@ } ], "expression": { - "id": 4986, + "id": 4987, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5556, + "referencedDeclaration": 5473, "src": "4511:14:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$5556_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$5473_$", "typeString": "type(library TransferHelper)" } }, - "id": 4988, + "id": 4989, "isConstant": false, "isLValue": false, "isPure": false, @@ -61548,14 +61540,14 @@ "memberLocation": "4526:12:30", "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 5484, + "referencedDeclaration": 5401, "src": "4511:27:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 4995, + "id": 4996, "isConstant": false, "isLValue": false, "isPure": false, @@ -61571,17 +61563,17 @@ "typeString": "tuple()" } }, - "id": 4996, + "id": 4997, "nodeType": "ExpressionStatement", "src": "4511:79:30" } ] }, - "id": 4998, + "id": 4999, "nodeType": "IfStatement", "src": "4366:235:30", "trueBody": { - "id": 4985, + "id": 4986, "nodeType": "Block", "src": "4407:84:30", "statements": [ @@ -61590,18 +61582,18 @@ "arguments": [ { "expression": { - "id": 4979, + "id": 4980, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4924, + "referencedDeclaration": 4925, "src": "4452:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 4980, + "id": 4981, "isConstant": false, "isLValue": true, "isPure": false, @@ -61609,7 +61601,7 @@ "memberLocation": "4457:6:30", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 4643, + "referencedDeclaration": 4644, "src": "4452:11:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -61618,18 +61610,18 @@ }, { "expression": { - "id": 4981, + "id": 4982, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4962, + "referencedDeclaration": 4963, "src": "4465:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 4982, + "id": 4983, "isConstant": false, "isLValue": true, "isPure": false, @@ -61637,7 +61629,7 @@ "memberLocation": "4474:5:30", "memberName": "price", "nodeType": "MemberAccess", - "referencedDeclaration": 5335, + "referencedDeclaration": 5305, "src": "4465:14:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -61657,18 +61649,18 @@ } ], "expression": { - "id": 4976, + "id": 4977, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5556, + "referencedDeclaration": 5473, "src": "4421:14:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$5556_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$5473_$", "typeString": "type(library TransferHelper)" } }, - "id": 4978, + "id": 4979, "isConstant": false, "isLValue": false, "isPure": false, @@ -61676,14 +61668,14 @@ "memberLocation": "4436:15:30", "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 5555, + "referencedDeclaration": 5472, "src": "4421:30:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 4983, + "id": 4984, "isConstant": false, "isLValue": false, "isPure": false, @@ -61699,7 +61691,7 @@ "typeString": "tuple()" } }, - "id": 4984, + "id": 4985, "nodeType": "ExpressionStatement", "src": "4421:59:30" } @@ -61710,11 +61702,11 @@ "eventCall": { "arguments": [ { - "id": 5000, + "id": 5001, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4917, + "referencedDeclaration": 4918, "src": "4642:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -61723,18 +61715,18 @@ }, { "expression": { - "id": 5001, + "id": 5002, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4924, + "referencedDeclaration": 4925, "src": "4650:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 5002, + "id": 5003, "isConstant": false, "isLValue": true, "isPure": false, @@ -61742,10 +61734,10 @@ "memberLocation": "4655:6:30", "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 4646, + "referencedDeclaration": 4647, "src": "4650:11:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } } @@ -61757,22 +61749,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } ], - "id": 4999, + "id": 5000, "name": "TaskStatusChanged", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4742, + "referencedDeclaration": 4743, "src": "4624:17:30", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_enum$_TaskStatus_$4637_$returns$__$", + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_enum$_TaskStatus_$4638_$returns$__$", "typeString": "function (uint256,enum TaskRegistryUpgradeable.TaskStatus)" } }, - "id": 5003, + "id": 5004, "isConstant": false, "isLValue": false, "isPure": false, @@ -61788,7 +61780,7 @@ "typeString": "tuple()" } }, - "id": 5004, + "id": 5005, "nodeType": "EmitStatement", "src": "4619:43:30" }, @@ -61796,11 +61788,11 @@ "eventCall": { "arguments": [ { - "id": 5006, + "id": 5007, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4917, + "referencedDeclaration": 4918, "src": "4691:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -61808,11 +61800,11 @@ } }, { - "id": 5007, + "id": 5008, "name": "result", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4919, + "referencedDeclaration": 4920, "src": "4699:6:30", "typeDescriptions": { "typeIdentifier": "t_string_memory_ptr", @@ -61831,18 +61823,18 @@ "typeString": "string memory" } ], - "id": 5005, + "id": 5006, "name": "TaskCompleted", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4765, + "referencedDeclaration": 4766, "src": "4677:13:30", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", "typeString": "function (uint256,string memory)" } }, - "id": 5008, + "id": 5009, "isConstant": false, "isLValue": false, "isPure": false, @@ -61858,20 +61850,20 @@ "typeString": "tuple()" } }, - "id": 5009, + "id": 5010, "nodeType": "EmitStatement", "src": "4672:34:30" } ] }, "documentation": { - "id": 4915, + "id": 4916, "nodeType": "StructuredDocumentation", "src": "3760:165:30", "text": " @dev Completes a task with the given result.\n @param taskId The ID of the task.\n @param result The result or output of the completed task." }, "functionSelector": "74aaa760", - "id": 5011, + "id": 5012, "implemented": true, "kind": "function", "modifiers": [], @@ -61879,17 +61871,17 @@ "nameLocation": "3939:12:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 4920, + "id": 4921, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 4917, + "id": 4918, "mutability": "mutable", "name": "taskId", "nameLocation": "3960:6:30", "nodeType": "VariableDeclaration", - "scope": 5011, + "scope": 5012, "src": "3952:14:30", "stateVariable": false, "storageLocation": "default", @@ -61898,7 +61890,7 @@ "typeString": "uint256" }, "typeName": { - "id": 4916, + "id": 4917, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "3952:7:30", @@ -61911,12 +61903,12 @@ }, { "constant": false, - "id": 4919, + "id": 4920, "mutability": "mutable", "name": "result", "nameLocation": "3982:6:30", "nodeType": "VariableDeclaration", - "scope": 5011, + "scope": 5012, "src": "3968:20:30", "stateVariable": false, "storageLocation": "memory", @@ -61925,7 +61917,7 @@ "typeString": "string" }, "typeName": { - "id": 4918, + "id": 4919, "name": "string", "nodeType": "ElementaryTypeName", "src": "3968:6:30", @@ -61940,12 +61932,12 @@ "src": "3951:38:30" }, "returnParameters": { - "id": 4921, + "id": 4922, "nodeType": "ParameterList", "parameters": [], "src": "3999:0:30" }, - "scope": 5243, + "scope": 5244, "src": "3930:783:30", "stateMutability": "nonpayable", "virtual": false, @@ -61953,74 +61945,74 @@ }, { "body": { - "id": 5085, + "id": 5086, "nodeType": "Block", "src": "4966:504:30", "statements": [ { "assignments": [ - 5024 + 5025 ], "declarations": [ { "constant": false, - "id": 5024, + "id": 5025, "mutability": "mutable", "name": "task", "nameLocation": "4993:4:30", "nodeType": "VariableDeclaration", - "scope": 5085, + "scope": 5086, "src": "4976:21:30", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" }, "typeName": { - "id": 5023, + "id": 5024, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5022, + "id": 5023, "name": "TaskData", "nameLocations": [ "4976:8:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "4976:8:30" }, - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "4976:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" } }, "visibility": "internal" } ], - "id": 5028, + "id": 5029, "initialValue": { "baseExpression": { - "id": 5025, + "id": 5026, "name": "tasks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4660, + "referencedDeclaration": 4661, "src": "5000:5:30", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4655_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4656_storage_$", "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" } }, - "id": 5027, + "id": 5028, "indexExpression": { - "id": 5026, + "id": 5027, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5014, + "referencedDeclaration": 5015, "src": "5006:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62034,7 +62026,7 @@ "nodeType": "IndexAccess", "src": "5000:13:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage", + "typeIdentifier": "t_struct$_TaskData_$4656_storage", "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" } }, @@ -62046,28 +62038,28 @@ "arguments": [ { "commonType": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" }, - "id": 5034, + "id": 5035, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 5030, + "id": 5031, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5024, + "referencedDeclaration": 5025, "src": "5032:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 5031, + "id": 5032, "isConstant": false, "isLValue": true, "isPure": false, @@ -62075,10 +62067,10 @@ "memberLocation": "5037:6:30", "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 4646, + "referencedDeclaration": 4647, "src": "5032:11:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -62086,18 +62078,18 @@ "operator": "==", "rightExpression": { "expression": { - "id": 5032, + "id": 5033, "name": "TaskStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "5047:10:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4637_$", + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4638_$", "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" } }, - "id": 5033, + "id": 5034, "isConstant": false, "isLValue": false, "isPure": true, @@ -62105,10 +62097,10 @@ "memberLocation": "5058:9:30", "memberName": "COMPLETED", "nodeType": "MemberAccess", - "referencedDeclaration": 4635, + "referencedDeclaration": 4636, "src": "5047:20:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -62120,7 +62112,7 @@ }, { "hexValue": "5461736b206973206e6f7420636f6d706c65746564", - "id": 5035, + "id": 5036, "isConstant": false, "isLValue": false, "isPure": true, @@ -62146,7 +62138,7 @@ "typeString": "literal_string \"Task is not completed\"" } ], - "id": 5029, + "id": 5030, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -62160,7 +62152,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 5036, + "id": 5037, "isConstant": false, "isLValue": false, "isPure": false, @@ -62176,7 +62168,7 @@ "typeString": "tuple()" } }, - "id": 5037, + "id": 5038, "nodeType": "ExpressionStatement", "src": "5024:69:30" }, @@ -62188,25 +62180,25 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 5042, + "id": 5043, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 5039, + "id": 5040, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5024, + "referencedDeclaration": 5025, "src": "5111:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 5040, + "id": 5041, "isConstant": false, "isLValue": true, "isPure": false, @@ -62214,7 +62206,7 @@ "memberLocation": "5116:6:30", "memberName": "rating", "nodeType": "MemberAccess", - "referencedDeclaration": 4654, + "referencedDeclaration": 4655, "src": "5111:11:30", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -62225,7 +62217,7 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 5041, + "id": 5042, "isConstant": false, "isLValue": false, "isPure": true, @@ -62247,7 +62239,7 @@ }, { "hexValue": "5461736b20676f7420726174696e6720616c7265616479", - "id": 5043, + "id": 5044, "isConstant": false, "isLValue": false, "isPure": true, @@ -62273,7 +62265,7 @@ "typeString": "literal_string \"Task got rating already\"" } ], - "id": 5038, + "id": 5039, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -62287,7 +62279,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 5044, + "id": 5045, "isConstant": false, "isLValue": false, "isPure": false, @@ -62303,7 +62295,7 @@ "typeString": "tuple()" } }, - "id": 5045, + "id": 5046, "nodeType": "ExpressionStatement", "src": "5103:52:30" }, @@ -62315,7 +62307,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5053, + "id": 5054, "isConstant": false, "isLValue": false, "isPure": false, @@ -62325,17 +62317,17 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 5049, + "id": 5050, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 5047, + "id": 5048, "name": "rating", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5016, + "referencedDeclaration": 5017, "src": "5173:6:30", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -62346,7 +62338,7 @@ "operator": ">=", "rightExpression": { "hexValue": "30", - "id": 5048, + "id": 5049, "isConstant": false, "isLValue": false, "isPure": true, @@ -62373,17 +62365,17 @@ "typeIdentifier": "t_uint8", "typeString": "uint8" }, - "id": 5052, + "id": 5053, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 5050, + "id": 5051, "name": "rating", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5016, + "referencedDeclaration": 5017, "src": "5188:6:30", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -62394,7 +62386,7 @@ "operator": "<=", "rightExpression": { "hexValue": "313030", - "id": 5051, + "id": 5052, "isConstant": false, "isLValue": false, "isPure": true, @@ -62422,7 +62414,7 @@ }, { "hexValue": "526174696e67206d757374206265206265747765656e203020616e6420313030", - "id": 5054, + "id": 5055, "isConstant": false, "isLValue": false, "isPure": true, @@ -62448,7 +62440,7 @@ "typeString": "literal_string \"Rating must be between 0 and 100\"" } ], - "id": 5046, + "id": 5047, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -62462,7 +62454,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 5055, + "id": 5056, "isConstant": false, "isLValue": false, "isPure": false, @@ -62478,31 +62470,31 @@ "typeString": "tuple()" } }, - "id": 5056, + "id": 5057, "nodeType": "ExpressionStatement", "src": "5165:73:30" }, { "expression": { - "id": 5061, + "id": 5062, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 5057, + "id": 5058, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5024, + "referencedDeclaration": 5025, "src": "5257:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 5059, + "id": 5060, "isConstant": false, "isLValue": true, "isPure": false, @@ -62510,7 +62502,7 @@ "memberLocation": "5262:6:30", "memberName": "rating", "nodeType": "MemberAccess", - "referencedDeclaration": 4654, + "referencedDeclaration": 4655, "src": "5257:11:30", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -62520,11 +62512,11 @@ "nodeType": "Assignment", "operator": "=", "rightHandSide": { - "id": 5060, + "id": 5061, "name": "rating", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5016, + "referencedDeclaration": 5017, "src": "5271:6:30", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -62537,70 +62529,70 @@ "typeString": "uint8" } }, - "id": 5062, + "id": 5063, "nodeType": "ExpressionStatement", "src": "5257:20:30" }, { "assignments": [ - 5065 + 5066 ], "declarations": [ { "constant": false, - "id": 5065, + "id": 5066, "mutability": "mutable", "name": "proposal", "nameLocation": "5310:8:30", "nodeType": "VariableDeclaration", - "scope": 5085, + "scope": 5086, "src": "5287:31:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal" }, "typeName": { - "id": 5064, + "id": 5065, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5063, + "id": 5064, "name": "ServiceProposal", "nameLocations": [ "5287:15:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5342, + "referencedDeclaration": 5312, "src": "5287:15:30" }, - "referencedDeclaration": 5342, + "referencedDeclaration": 5312, "src": "5287:15:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage_ptr", "typeString": "struct IProposalStruct.ServiceProposal" } }, "visibility": "internal" } ], - "id": 5071, + "id": 5072, "initialValue": { "arguments": [ { "expression": { - "id": 5068, + "id": 5069, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5024, + "referencedDeclaration": 5025, "src": "5347:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 5069, + "id": 5070, "isConstant": false, "isLValue": true, "isPure": false, @@ -62608,7 +62600,7 @@ "memberLocation": "5352:10:30", "memberName": "proposalId", "nodeType": "MemberAccess", - "referencedDeclaration": 4650, + "referencedDeclaration": 4651, "src": "5347:15:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62624,18 +62616,18 @@ } ], "expression": { - "id": 5066, + "id": 5067, "name": "agentRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4670, + "referencedDeclaration": 4671, "src": "5321:13:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4016", + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4017", "typeString": "contract AgentsRegistryUpgradeable" } }, - "id": 5067, + "id": 5068, "isConstant": false, "isLValue": false, "isPure": false, @@ -62643,14 +62635,14 @@ "memberLocation": "5335:11:30", "memberName": "getProposal", "nodeType": "MemberAccess", - "referencedDeclaration": 3653, + "referencedDeclaration": 3654, "src": "5321:25:30", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ServiceProposal_$5342_memory_ptr_$", + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ServiceProposal_$5312_memory_ptr_$", "typeString": "function (uint256) view external returns (struct IProposalStruct.ServiceProposal memory)" } }, - "id": 5070, + "id": 5071, "isConstant": false, "isLValue": false, "isPure": false, @@ -62662,7 +62654,7 @@ "src": "5321:42:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, @@ -62674,18 +62666,18 @@ "arguments": [ { "expression": { - "id": 5075, + "id": 5076, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5065, + "referencedDeclaration": 5066, "src": "5398:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 5076, + "id": 5077, "isConstant": false, "isLValue": true, "isPure": false, @@ -62693,7 +62685,7 @@ "memberLocation": "5407:6:30", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 5331, + "referencedDeclaration": 5301, "src": "5398:15:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -62701,11 +62693,11 @@ } }, { - "id": 5077, + "id": 5078, "name": "rating", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5016, + "referencedDeclaration": 5017, "src": "5415:6:30", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -62725,18 +62717,18 @@ } ], "expression": { - "id": 5072, + "id": 5073, "name": "agentRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4670, + "referencedDeclaration": 4671, "src": "5374:13:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4016", + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4017", "typeString": "contract AgentsRegistryUpgradeable" } }, - "id": 5074, + "id": 5075, "isConstant": false, "isLValue": false, "isPure": false, @@ -62744,14 +62736,14 @@ "memberLocation": "5388:9:30", "memberName": "addRating", "nodeType": "MemberAccess", - "referencedDeclaration": 3608, + "referencedDeclaration": 3609, "src": "5374:23:30", "typeDescriptions": { "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", "typeString": "function (address,uint256) external returns (uint256)" } }, - "id": 5078, + "id": 5079, "isConstant": false, "isLValue": false, "isPure": false, @@ -62767,7 +62759,7 @@ "typeString": "uint256" } }, - "id": 5079, + "id": 5080, "nodeType": "ExpressionStatement", "src": "5374:48:30" }, @@ -62775,11 +62767,11 @@ "eventCall": { "arguments": [ { - "id": 5081, + "id": 5082, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5014, + "referencedDeclaration": 5015, "src": "5448:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62787,11 +62779,11 @@ } }, { - "id": 5082, + "id": 5083, "name": "rating", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5016, + "referencedDeclaration": 5017, "src": "5456:6:30", "typeDescriptions": { "typeIdentifier": "t_uint8", @@ -62810,18 +62802,18 @@ "typeString": "uint8" } ], - "id": 5080, + "id": 5081, "name": "TaskRated", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4771, + "referencedDeclaration": 4772, "src": "5438:9:30", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint8_$returns$__$", "typeString": "function (uint256,uint8)" } }, - "id": 5083, + "id": 5084, "isConstant": false, "isLValue": false, "isPure": false, @@ -62837,31 +62829,31 @@ "typeString": "tuple()" } }, - "id": 5084, + "id": 5085, "nodeType": "EmitStatement", "src": "5433:30:30" } ] }, "documentation": { - "id": 5012, + "id": 5013, "nodeType": "StructuredDocumentation", "src": "4719:158:30", "text": " @dev Rated a completed task, called by the task issuer\n @param taskId The ID of the task.\n @param rating task rating from 0 to 100." }, "functionSelector": "6298eee0", - "id": 5086, + "id": 5087, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 5019, + "id": 5020, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5014, + "referencedDeclaration": 5015, "src": "4949:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -62869,16 +62861,16 @@ } } ], - "id": 5020, + "id": 5021, "kind": "modifierInvocation", "modifierName": { - "id": 5018, + "id": 5019, "name": "onlyTaskIssuer", "nameLocations": [ "4934:14:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4687, + "referencedDeclaration": 4688, "src": "4934:14:30" }, "nodeType": "ModifierInvocation", @@ -62889,17 +62881,17 @@ "nameLocation": "4895:8:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 5017, + "id": 5018, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5014, + "id": 5015, "mutability": "mutable", "name": "taskId", "nameLocation": "4912:6:30", "nodeType": "VariableDeclaration", - "scope": 5086, + "scope": 5087, "src": "4904:14:30", "stateVariable": false, "storageLocation": "default", @@ -62908,7 +62900,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5013, + "id": 5014, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "4904:7:30", @@ -62921,12 +62913,12 @@ }, { "constant": false, - "id": 5016, + "id": 5017, "mutability": "mutable", "name": "rating", "nameLocation": "4926:6:30", "nodeType": "VariableDeclaration", - "scope": 5086, + "scope": 5087, "src": "4920:12:30", "stateVariable": false, "storageLocation": "default", @@ -62935,7 +62927,7 @@ "typeString": "uint8" }, "typeName": { - "id": 5015, + "id": 5016, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "4920:5:30", @@ -62950,12 +62942,12 @@ "src": "4903:30:30" }, "returnParameters": { - "id": 5021, + "id": 5022, "nodeType": "ParameterList", "parameters": [], "src": "4966:0:30" }, - "scope": 5243, + "scope": 5244, "src": "4886:584:30", "stateMutability": "nonpayable", "virtual": false, @@ -62963,74 +62955,74 @@ }, { "body": { - "id": 5173, + "id": 5174, "nodeType": "Block", "src": "5687:705:30", "statements": [ { "assignments": [ - 5097 + 5098 ], "declarations": [ { "constant": false, - "id": 5097, + "id": 5098, "mutability": "mutable", "name": "task", "nameLocation": "5714:4:30", "nodeType": "VariableDeclaration", - "scope": 5173, + "scope": 5174, "src": "5697:21:30", "stateVariable": false, "storageLocation": "storage", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" }, "typeName": { - "id": 5096, + "id": 5097, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5095, + "id": 5096, "name": "TaskData", "nameLocations": [ "5697:8:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "5697:8:30" }, - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "5697:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" } }, "visibility": "internal" } ], - "id": 5101, + "id": 5102, "initialValue": { "baseExpression": { - "id": 5098, + "id": 5099, "name": "tasks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4660, + "referencedDeclaration": 4661, "src": "5721:5:30", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4655_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4656_storage_$", "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" } }, - "id": 5100, + "id": 5101, "indexExpression": { - "id": 5099, + "id": 5100, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5089, + "referencedDeclaration": 5090, "src": "5727:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -63044,7 +63036,7 @@ "nodeType": "IndexAccess", "src": "5721:13:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage", + "typeIdentifier": "t_struct$_TaskData_$4656_storage", "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" } }, @@ -63059,35 +63051,35 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5113, + "id": 5114, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" }, - "id": 5107, + "id": 5108, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 5103, + "id": 5104, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5097, + "referencedDeclaration": 5098, "src": "5752:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 5104, + "id": 5105, "isConstant": false, "isLValue": true, "isPure": false, @@ -63095,10 +63087,10 @@ "memberLocation": "5757:6:30", "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 4646, + "referencedDeclaration": 4647, "src": "5752:11:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -63106,18 +63098,18 @@ "operator": "!=", "rightExpression": { "expression": { - "id": 5105, + "id": 5106, "name": "TaskStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "5767:10:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4637_$", + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4638_$", "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" } }, - "id": 5106, + "id": 5107, "isConstant": false, "isLValue": false, "isPure": true, @@ -63125,10 +63117,10 @@ "memberLocation": "5778:9:30", "memberName": "COMPLETED", "nodeType": "MemberAccess", - "referencedDeclaration": 4635, + "referencedDeclaration": 4636, "src": "5767:20:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -63142,28 +63134,28 @@ "operator": "&&", "rightExpression": { "commonType": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" }, - "id": 5112, + "id": 5113, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 5108, + "id": 5109, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5097, + "referencedDeclaration": 5098, "src": "5791:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 5109, + "id": 5110, "isConstant": false, "isLValue": true, "isPure": false, @@ -63171,10 +63163,10 @@ "memberLocation": "5796:6:30", "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 4646, + "referencedDeclaration": 4647, "src": "5791:11:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -63182,18 +63174,18 @@ "operator": "!=", "rightExpression": { "expression": { - "id": 5110, + "id": 5111, "name": "TaskStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "5806:10:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4637_$", + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4638_$", "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" } }, - "id": 5111, + "id": 5112, "isConstant": false, "isLValue": false, "isPure": true, @@ -63201,10 +63193,10 @@ "memberLocation": "5817:8:30", "memberName": "CANCELED", "nodeType": "MemberAccess", - "referencedDeclaration": 4636, + "referencedDeclaration": 4637, "src": "5806:19:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -63222,7 +63214,7 @@ }, { "hexValue": "5461736b2063616e6e6f742062652063616e63656c6564", - "id": 5114, + "id": 5115, "isConstant": false, "isLValue": false, "isPure": true, @@ -63248,7 +63240,7 @@ "typeString": "literal_string \"Task cannot be canceled\"" } ], - "id": 5102, + "id": 5103, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -63262,7 +63254,7 @@ "typeString": "function (bool,string memory) pure" } }, - "id": 5115, + "id": 5116, "isConstant": false, "isLValue": false, "isPure": false, @@ -63278,31 +63270,31 @@ "typeString": "tuple()" } }, - "id": 5116, + "id": 5117, "nodeType": "ExpressionStatement", "src": "5744:109:30" }, { "expression": { - "id": 5122, + "id": 5123, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "expression": { - "id": 5117, + "id": 5118, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5097, + "referencedDeclaration": 5098, "src": "5872:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 5119, + "id": 5120, "isConstant": false, "isLValue": true, "isPure": false, @@ -63310,10 +63302,10 @@ "memberLocation": "5877:6:30", "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 4646, + "referencedDeclaration": 4647, "src": "5872:11:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -63321,18 +63313,18 @@ "operator": "=", "rightHandSide": { "expression": { - "id": 5120, + "id": 5121, "name": "TaskStatus", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "5886:10:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4637_$", + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$4638_$", "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" } }, - "id": 5121, + "id": 5122, "isConstant": false, "isLValue": false, "isPure": true, @@ -63340,83 +63332,83 @@ "memberLocation": "5897:8:30", "memberName": "CANCELED", "nodeType": "MemberAccess", - "referencedDeclaration": 4636, + "referencedDeclaration": 4637, "src": "5886:19:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, "src": "5872:33:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, - "id": 5123, + "id": 5124, "nodeType": "ExpressionStatement", "src": "5872:33:30" }, { "assignments": [ - 5126 + 5127 ], "declarations": [ { "constant": false, - "id": 5126, + "id": 5127, "mutability": "mutable", "name": "proposal", "nameLocation": "5938:8:30", "nodeType": "VariableDeclaration", - "scope": 5173, + "scope": 5174, "src": "5915:31:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal" }, "typeName": { - "id": 5125, + "id": 5126, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5124, + "id": 5125, "name": "ServiceProposal", "nameLocations": [ "5915:15:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5342, + "referencedDeclaration": 5312, "src": "5915:15:30" }, - "referencedDeclaration": 5342, + "referencedDeclaration": 5312, "src": "5915:15:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_storage_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_storage_ptr", "typeString": "struct IProposalStruct.ServiceProposal" } }, "visibility": "internal" } ], - "id": 5132, + "id": 5133, "initialValue": { "arguments": [ { "expression": { - "id": 5129, + "id": 5130, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5097, + "referencedDeclaration": 5098, "src": "5975:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 5130, + "id": 5131, "isConstant": false, "isLValue": true, "isPure": false, @@ -63424,7 +63416,7 @@ "memberLocation": "5980:10:30", "memberName": "proposalId", "nodeType": "MemberAccess", - "referencedDeclaration": 4650, + "referencedDeclaration": 4651, "src": "5975:15:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -63440,18 +63432,18 @@ } ], "expression": { - "id": 5127, + "id": 5128, "name": "agentRegistry", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4670, + "referencedDeclaration": 4671, "src": "5949:13:30", "typeDescriptions": { - "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4016", + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$4017", "typeString": "contract AgentsRegistryUpgradeable" } }, - "id": 5128, + "id": 5129, "isConstant": false, "isLValue": false, "isPure": false, @@ -63459,14 +63451,14 @@ "memberLocation": "5963:11:30", "memberName": "getProposal", "nodeType": "MemberAccess", - "referencedDeclaration": 3653, + "referencedDeclaration": 3654, "src": "5949:25:30", "typeDescriptions": { - "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ServiceProposal_$5342_memory_ptr_$", + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ServiceProposal_$5312_memory_ptr_$", "typeString": "function (uint256) view external returns (struct IProposalStruct.ServiceProposal memory)" } }, - "id": 5131, + "id": 5132, "isConstant": false, "isLValue": false, "isPure": false, @@ -63478,7 +63470,7 @@ "src": "5949:42:30", "tryCall": false, "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, @@ -63491,25 +63483,25 @@ "typeIdentifier": "t_address", "typeString": "address" }, - "id": 5139, + "id": 5140, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 5133, + "id": 5134, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5126, + "referencedDeclaration": 5127, "src": "6058:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 5134, + "id": 5135, "isConstant": false, "isLValue": true, "isPure": false, @@ -63517,7 +63509,7 @@ "memberLocation": "6067:12:30", "memberName": "tokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 5337, + "referencedDeclaration": 5307, "src": "6058:21:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -63530,7 +63522,7 @@ "arguments": [ { "hexValue": "30", - "id": 5137, + "id": 5138, "isConstant": false, "isLValue": false, "isPure": true, @@ -63552,7 +63544,7 @@ "typeString": "int_const 0" } ], - "id": 5136, + "id": 5137, "isConstant": false, "isLValue": false, "isPure": true, @@ -63564,14 +63556,14 @@ "typeString": "type(address)" }, "typeName": { - "id": 5135, + "id": 5136, "name": "address", "nodeType": "ElementaryTypeName", "src": "6083:7:30", "typeDescriptions": {} } }, - "id": 5138, + "id": 5139, "isConstant": false, "isLValue": false, "isPure": true, @@ -63594,7 +63586,7 @@ } }, "falseBody": { - "id": 5161, + "id": 5162, "nodeType": "Block", "src": "6185:104:30", "statements": [ @@ -63603,18 +63595,18 @@ "arguments": [ { "expression": { - "id": 5153, + "id": 5154, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5126, + "referencedDeclaration": 5127, "src": "6227:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 5154, + "id": 5155, "isConstant": false, "isLValue": true, "isPure": false, @@ -63622,7 +63614,7 @@ "memberLocation": "6236:12:30", "memberName": "tokenAddress", "nodeType": "MemberAccess", - "referencedDeclaration": 5337, + "referencedDeclaration": 5307, "src": "6227:21:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -63631,18 +63623,18 @@ }, { "expression": { - "id": 5155, + "id": 5156, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5097, + "referencedDeclaration": 5098, "src": "6250:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 5156, + "id": 5157, "isConstant": false, "isLValue": true, "isPure": false, @@ -63650,7 +63642,7 @@ "memberLocation": "6255:6:30", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 4643, + "referencedDeclaration": 4644, "src": "6250:11:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -63659,18 +63651,18 @@ }, { "expression": { - "id": 5157, + "id": 5158, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5126, + "referencedDeclaration": 5127, "src": "6263:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 5158, + "id": 5159, "isConstant": false, "isLValue": true, "isPure": false, @@ -63678,7 +63670,7 @@ "memberLocation": "6272:5:30", "memberName": "price", "nodeType": "MemberAccess", - "referencedDeclaration": 5335, + "referencedDeclaration": 5305, "src": "6263:14:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -63702,18 +63694,18 @@ } ], "expression": { - "id": 5150, + "id": 5151, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5556, + "referencedDeclaration": 5473, "src": "6199:14:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$5556_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$5473_$", "typeString": "type(library TransferHelper)" } }, - "id": 5152, + "id": 5153, "isConstant": false, "isLValue": false, "isPure": false, @@ -63721,14 +63713,14 @@ "memberLocation": "6214:12:30", "memberName": "safeTransfer", "nodeType": "MemberAccess", - "referencedDeclaration": 5484, + "referencedDeclaration": 5401, "src": "6199:27:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,address,uint256)" } }, - "id": 5159, + "id": 5160, "isConstant": false, "isLValue": false, "isPure": false, @@ -63744,17 +63736,17 @@ "typeString": "tuple()" } }, - "id": 5160, + "id": 5161, "nodeType": "ExpressionStatement", "src": "6199:79:30" } ] }, - "id": 5162, + "id": 5163, "nodeType": "IfStatement", "src": "6054:235:30", "trueBody": { - "id": 5149, + "id": 5150, "nodeType": "Block", "src": "6095:84:30", "statements": [ @@ -63763,18 +63755,18 @@ "arguments": [ { "expression": { - "id": 5143, + "id": 5144, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5097, + "referencedDeclaration": 5098, "src": "6140:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 5144, + "id": 5145, "isConstant": false, "isLValue": true, "isPure": false, @@ -63782,7 +63774,7 @@ "memberLocation": "6145:6:30", "memberName": "issuer", "nodeType": "MemberAccess", - "referencedDeclaration": 4643, + "referencedDeclaration": 4644, "src": "6140:11:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -63791,18 +63783,18 @@ }, { "expression": { - "id": 5145, + "id": 5146, "name": "proposal", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5126, + "referencedDeclaration": 5127, "src": "6153:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_ServiceProposal_$5342_memory_ptr", + "typeIdentifier": "t_struct$_ServiceProposal_$5312_memory_ptr", "typeString": "struct IProposalStruct.ServiceProposal memory" } }, - "id": 5146, + "id": 5147, "isConstant": false, "isLValue": true, "isPure": false, @@ -63810,7 +63802,7 @@ "memberLocation": "6162:5:30", "memberName": "price", "nodeType": "MemberAccess", - "referencedDeclaration": 5335, + "referencedDeclaration": 5305, "src": "6153:14:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -63830,18 +63822,18 @@ } ], "expression": { - "id": 5140, + "id": 5141, "name": "TransferHelper", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5556, + "referencedDeclaration": 5473, "src": "6109:14:30", "typeDescriptions": { - "typeIdentifier": "t_type$_t_contract$_TransferHelper_$5556_$", + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$5473_$", "typeString": "type(library TransferHelper)" } }, - "id": 5142, + "id": 5143, "isConstant": false, "isLValue": false, "isPure": false, @@ -63849,14 +63841,14 @@ "memberLocation": "6124:15:30", "memberName": "safeTransferETH", "nodeType": "MemberAccess", - "referencedDeclaration": 5555, + "referencedDeclaration": 5472, "src": "6109:30:30", "typeDescriptions": { "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", "typeString": "function (address,uint256)" } }, - "id": 5147, + "id": 5148, "isConstant": false, "isLValue": false, "isPure": false, @@ -63872,7 +63864,7 @@ "typeString": "tuple()" } }, - "id": 5148, + "id": 5149, "nodeType": "ExpressionStatement", "src": "6109:59:30" } @@ -63883,11 +63875,11 @@ "eventCall": { "arguments": [ { - "id": 5164, + "id": 5165, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5089, + "referencedDeclaration": 5090, "src": "6330:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -63896,18 +63888,18 @@ }, { "expression": { - "id": 5165, + "id": 5166, "name": "task", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5097, + "referencedDeclaration": 5098, "src": "6338:4:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" } }, - "id": 5166, + "id": 5167, "isConstant": false, "isLValue": true, "isPure": false, @@ -63915,10 +63907,10 @@ "memberLocation": "6343:6:30", "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 4646, + "referencedDeclaration": 4647, "src": "6338:11:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } } @@ -63930,22 +63922,22 @@ "typeString": "uint256" }, { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } ], - "id": 5163, + "id": 5164, "name": "TaskStatusChanged", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4742, + "referencedDeclaration": 4743, "src": "6312:17:30", "typeDescriptions": { - "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_enum$_TaskStatus_$4637_$returns$__$", + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_enum$_TaskStatus_$4638_$returns$__$", "typeString": "function (uint256,enum TaskRegistryUpgradeable.TaskStatus)" } }, - "id": 5167, + "id": 5168, "isConstant": false, "isLValue": false, "isPure": false, @@ -63961,7 +63953,7 @@ "typeString": "tuple()" } }, - "id": 5168, + "id": 5169, "nodeType": "EmitStatement", "src": "6307:43:30" }, @@ -63969,11 +63961,11 @@ "eventCall": { "arguments": [ { - "id": 5170, + "id": 5171, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5089, + "referencedDeclaration": 5090, "src": "6378:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -63988,18 +63980,18 @@ "typeString": "uint256" } ], - "id": 5169, + "id": 5170, "name": "TaskCanceled", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4752, + "referencedDeclaration": 4753, "src": "6365:12:30", "typeDescriptions": { "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", "typeString": "function (uint256)" } }, - "id": 5171, + "id": 5172, "isConstant": false, "isLValue": false, "isPure": false, @@ -64015,31 +64007,31 @@ "typeString": "tuple()" } }, - "id": 5172, + "id": 5173, "nodeType": "EmitStatement", "src": "6360:25:30" } ] }, "documentation": { - "id": 5087, + "id": 5088, "nodeType": "StructuredDocumentation", "src": "5476:138:30", "text": " @dev Cancels a task that is in ASSIGNED status and refunds the payment.\n @param taskId The ID of the task to cancel." }, "functionSelector": "7eec20a8", - "id": 5174, + "id": 5175, "implemented": true, "kind": "function", "modifiers": [ { "arguments": [ { - "id": 5092, + "id": 5093, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5089, + "referencedDeclaration": 5090, "src": "5679:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -64047,16 +64039,16 @@ } } ], - "id": 5093, + "id": 5094, "kind": "modifierInvocation", "modifierName": { - "id": 5091, + "id": 5092, "name": "onlyTaskIssuer", "nameLocations": [ "5664:14:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4687, + "referencedDeclaration": 4688, "src": "5664:14:30" }, "nodeType": "ModifierInvocation", @@ -64067,17 +64059,17 @@ "nameLocation": "5628:10:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 5090, + "id": 5091, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5089, + "id": 5090, "mutability": "mutable", "name": "taskId", "nameLocation": "5647:6:30", "nodeType": "VariableDeclaration", - "scope": 5174, + "scope": 5175, "src": "5639:14:30", "stateVariable": false, "storageLocation": "default", @@ -64086,7 +64078,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5088, + "id": 5089, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "5639:7:30", @@ -64101,12 +64093,12 @@ "src": "5638:16:30" }, "returnParameters": { - "id": 5094, + "id": 5095, "nodeType": "ParameterList", "parameters": [], "src": "5687:0:30" }, - "scope": 5243, + "scope": 5244, "src": "5619:773:30", "stateMutability": "nonpayable", "virtual": false, @@ -64114,31 +64106,31 @@ }, { "body": { - "id": 5186, + "id": 5187, "nodeType": "Block", "src": "6481:43:30", "statements": [ { "expression": { "baseExpression": { - "id": 5182, + "id": 5183, "name": "issuerTasks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4665, + "referencedDeclaration": 4666, "src": "6498:11:30", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", "typeString": "mapping(address => uint256[] storage ref)" } }, - "id": 5184, + "id": 5185, "indexExpression": { - "id": 5183, + "id": 5184, "name": "issuer", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5176, + "referencedDeclaration": 5177, "src": "6510:6:30", "typeDescriptions": { "typeIdentifier": "t_address", @@ -64156,15 +64148,15 @@ "typeString": "uint256[] storage ref" } }, - "functionReturnParameters": 5181, - "id": 5185, + "functionReturnParameters": 5182, + "id": 5186, "nodeType": "Return", "src": "6491:26:30" } ] }, "functionSelector": "639241ab", - "id": 5187, + "id": 5188, "implemented": true, "kind": "function", "modifiers": [], @@ -64172,17 +64164,17 @@ "nameLocation": "6407:16:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 5177, + "id": 5178, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5176, + "id": 5177, "mutability": "mutable", "name": "issuer", "nameLocation": "6432:6:30", "nodeType": "VariableDeclaration", - "scope": 5187, + "scope": 5188, "src": "6424:14:30", "stateVariable": false, "storageLocation": "default", @@ -64191,7 +64183,7 @@ "typeString": "address" }, "typeName": { - "id": 5175, + "id": 5176, "name": "address", "nodeType": "ElementaryTypeName", "src": "6424:7:30", @@ -64207,17 +64199,17 @@ "src": "6423:16:30" }, "returnParameters": { - "id": 5181, + "id": 5182, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5180, + "id": 5181, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5187, + "scope": 5188, "src": "6463:16:30", "stateVariable": false, "storageLocation": "memory", @@ -64227,7 +64219,7 @@ }, "typeName": { "baseType": { - "id": 5178, + "id": 5179, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6463:7:30", @@ -64236,7 +64228,7 @@ "typeString": "uint256" } }, - "id": 5179, + "id": 5180, "nodeType": "ArrayTypeName", "src": "6463:9:30", "typeDescriptions": { @@ -64249,7 +64241,7 @@ ], "src": "6462:18:30" }, - "scope": 5243, + "scope": 5244, "src": "6398:126:30", "stateMutability": "view", "virtual": false, @@ -64257,31 +64249,31 @@ }, { "body": { - "id": 5199, + "id": 5200, "nodeType": "Block", "src": "6603:37:30", "statements": [ { "expression": { "baseExpression": { - "id": 5195, + "id": 5196, "name": "tasks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4660, + "referencedDeclaration": 4661, "src": "6620:5:30", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4655_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4656_storage_$", "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" } }, - "id": 5197, + "id": 5198, "indexExpression": { - "id": 5196, + "id": 5197, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5189, + "referencedDeclaration": 5190, "src": "6626:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -64295,19 +64287,19 @@ "nodeType": "IndexAccess", "src": "6620:13:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage", + "typeIdentifier": "t_struct$_TaskData_$4656_storage", "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" } }, - "functionReturnParameters": 5194, - "id": 5198, + "functionReturnParameters": 5195, + "id": 5199, "nodeType": "Return", "src": "6613:20:30" } ] }, "functionSelector": "1d65e77e", - "id": 5200, + "id": 5201, "implemented": true, "kind": "function", "modifiers": [], @@ -64315,17 +64307,17 @@ "nameLocation": "6539:7:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 5190, + "id": 5191, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5189, + "id": 5190, "mutability": "mutable", "name": "taskId", "nameLocation": "6555:6:30", "nodeType": "VariableDeclaration", - "scope": 5200, + "scope": 5201, "src": "6547:14:30", "stateVariable": false, "storageLocation": "default", @@ -64334,7 +64326,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5188, + "id": 5189, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6547:7:30", @@ -64349,41 +64341,41 @@ "src": "6546:16:30" }, "returnParameters": { - "id": 5194, + "id": 5195, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5193, + "id": 5194, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5200, + "scope": 5201, "src": "6586:15:30", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_memory_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_memory_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" }, "typeName": { - "id": 5192, + "id": 5193, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5191, + "id": 5192, "name": "TaskData", "nameLocations": [ "6586:8:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "6586:8:30" }, - "referencedDeclaration": 4655, + "referencedDeclaration": 4656, "src": "6586:8:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage_ptr", + "typeIdentifier": "t_struct$_TaskData_$4656_storage_ptr", "typeString": "struct TaskRegistryUpgradeable.TaskData" } }, @@ -64392,7 +64384,7 @@ ], "src": "6585:17:30" }, - "scope": 5243, + "scope": 5244, "src": "6530:110:30", "stateMutability": "view", "virtual": false, @@ -64400,7 +64392,7 @@ }, { "body": { - "id": 5213, + "id": 5214, "nodeType": "Block", "src": "6716:44:30", "statements": [ @@ -64408,24 +64400,24 @@ "expression": { "expression": { "baseExpression": { - "id": 5208, + "id": 5209, "name": "tasks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4660, + "referencedDeclaration": 4661, "src": "6733:5:30", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4655_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4656_storage_$", "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" } }, - "id": 5210, + "id": 5211, "indexExpression": { - "id": 5209, + "id": 5210, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5202, + "referencedDeclaration": 5203, "src": "6739:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -64439,11 +64431,11 @@ "nodeType": "IndexAccess", "src": "6733:13:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage", + "typeIdentifier": "t_struct$_TaskData_$4656_storage", "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" } }, - "id": 5211, + "id": 5212, "isConstant": false, "isLValue": true, "isPure": false, @@ -64451,22 +64443,22 @@ "memberLocation": "6747:6:30", "memberName": "status", "nodeType": "MemberAccess", - "referencedDeclaration": 4646, + "referencedDeclaration": 4647, "src": "6733:20:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, - "functionReturnParameters": 5207, - "id": 5212, + "functionReturnParameters": 5208, + "id": 5213, "nodeType": "Return", "src": "6726:27:30" } ] }, "functionSelector": "5c622a0e", - "id": 5214, + "id": 5215, "implemented": true, "kind": "function", "modifiers": [], @@ -64474,17 +64466,17 @@ "nameLocation": "6655:9:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 5203, + "id": 5204, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5202, + "id": 5203, "mutability": "mutable", "name": "taskId", "nameLocation": "6673:6:30", "nodeType": "VariableDeclaration", - "scope": 5214, + "scope": 5215, "src": "6665:14:30", "stateVariable": false, "storageLocation": "default", @@ -64493,7 +64485,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5201, + "id": 5202, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6665:7:30", @@ -64508,41 +64500,41 @@ "src": "6664:16:30" }, "returnParameters": { - "id": 5207, + "id": 5208, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5206, + "id": 5207, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5214, + "scope": 5215, "src": "6704:10:30", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" }, "typeName": { - "id": 5205, + "id": 5206, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5204, + "id": 5205, "name": "TaskStatus", "nameLocations": [ "6704:10:30" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "6704:10:30" }, - "referencedDeclaration": 4637, + "referencedDeclaration": 4638, "src": "6704:10:30", "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$4637", + "typeIdentifier": "t_enum$_TaskStatus_$4638", "typeString": "enum TaskRegistryUpgradeable.TaskStatus" } }, @@ -64551,7 +64543,7 @@ ], "src": "6703:12:30" }, - "scope": 5243, + "scope": 5244, "src": "6646:114:30", "stateMutability": "view", "virtual": false, @@ -64559,7 +64551,7 @@ }, { "body": { - "id": 5226, + "id": 5227, "nodeType": "Block", "src": "6839:46:30", "statements": [ @@ -64567,24 +64559,24 @@ "expression": { "expression": { "baseExpression": { - "id": 5221, + "id": 5222, "name": "tasks", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 4660, + "referencedDeclaration": 4661, "src": "6856:5:30", "typeDescriptions": { - "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4655_storage_$", + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$4656_storage_$", "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" } }, - "id": 5223, + "id": 5224, "indexExpression": { - "id": 5222, + "id": 5223, "name": "taskId", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5216, + "referencedDeclaration": 5217, "src": "6862:6:30", "typeDescriptions": { "typeIdentifier": "t_uint256", @@ -64598,11 +64590,11 @@ "nodeType": "IndexAccess", "src": "6856:13:30", "typeDescriptions": { - "typeIdentifier": "t_struct$_TaskData_$4655_storage", + "typeIdentifier": "t_struct$_TaskData_$4656_storage", "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" } }, - "id": 5224, + "id": 5225, "isConstant": false, "isLValue": true, "isPure": false, @@ -64610,22 +64602,22 @@ "memberLocation": "6870:8:30", "memberName": "assignee", "nodeType": "MemberAccess", - "referencedDeclaration": 4648, + "referencedDeclaration": 4649, "src": "6856:22:30", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "functionReturnParameters": 5220, - "id": 5225, + "functionReturnParameters": 5221, + "id": 5226, "nodeType": "Return", "src": "6849:29:30" } ] }, "functionSelector": "07b31818", - "id": 5227, + "id": 5228, "implemented": true, "kind": "function", "modifiers": [], @@ -64633,17 +64625,17 @@ "nameLocation": "6779:11:30", "nodeType": "FunctionDefinition", "parameters": { - "id": 5217, + "id": 5218, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5216, + "id": 5217, "mutability": "mutable", "name": "taskId", "nameLocation": "6799:6:30", "nodeType": "VariableDeclaration", - "scope": 5227, + "scope": 5228, "src": "6791:14:30", "stateVariable": false, "storageLocation": "default", @@ -64652,7 +64644,7 @@ "typeString": "uint256" }, "typeName": { - "id": 5215, + "id": 5216, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "6791:7:30", @@ -64667,17 +64659,17 @@ "src": "6790:16:30" }, "returnParameters": { - "id": 5220, + "id": 5221, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5219, + "id": 5220, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5227, + "scope": 5228, "src": "6830:7:30", "stateVariable": false, "storageLocation": "default", @@ -64686,7 +64678,7 @@ "typeString": "address" }, "typeName": { - "id": 5218, + "id": 5219, "name": "address", "nodeType": "ElementaryTypeName", "src": "6830:7:30", @@ -64701,7 +64693,7 @@ ], "src": "6829:9:30" }, - "scope": 5243, + "scope": 5244, "src": "6770:115:30", "stateMutability": "view", "virtual": false, @@ -64712,26 +64704,26 @@ 598 ], "body": { - "id": 5236, + "id": 5237, "nodeType": "Block", "src": "7156:2:30", "statements": [] }, "documentation": { - "id": 5228, + "id": 5229, "nodeType": "StructuredDocumentation", "src": "6891:178:30", "text": " @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract.\n @param newImplementation Address of the new implementation" }, - "id": 5237, + "id": 5238, "implemented": true, "kind": "function", "modifiers": [ { - "id": 5234, + "id": 5235, "kind": "modifierInvocation", "modifierName": { - "id": 5233, + "id": 5234, "name": "onlyOwner", "nameLocations": [ "7146:9:30" @@ -64748,23 +64740,23 @@ "nameLocation": "7083:17:30", "nodeType": "FunctionDefinition", "overrides": { - "id": 5232, + "id": 5233, "nodeType": "OverrideSpecifier", "overrides": [], "src": "7137:8:30" }, "parameters": { - "id": 5231, + "id": 5232, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5230, + "id": 5231, "mutability": "mutable", "name": "newImplementation", "nameLocation": "7109:17:30", "nodeType": "VariableDeclaration", - "scope": 5237, + "scope": 5238, "src": "7101:25:30", "stateVariable": false, "storageLocation": "default", @@ -64773,7 +64765,7 @@ "typeString": "address" }, "typeName": { - "id": 5229, + "id": 5230, "name": "address", "nodeType": "ElementaryTypeName", "src": "7101:7:30", @@ -64789,12 +64781,12 @@ "src": "7100:27:30" }, "returnParameters": { - "id": 5235, + "id": 5236, "nodeType": "ParameterList", "parameters": [], "src": "7156:0:30" }, - "scope": 5243, + "scope": 5244, "src": "7074:84:30", "stateMutability": "nonpayable", "virtual": false, @@ -64803,17 +64795,17 @@ { "constant": false, "documentation": { - "id": 5238, + "id": 5239, "nodeType": "StructuredDocumentation", "src": "7164:55:30", "text": " @dev Storage gap for future upgrades" }, - "id": 5242, + "id": 5243, "mutability": "mutable", "name": "__gap", "nameLocation": "7244:5:30", "nodeType": "VariableDeclaration", - "scope": 5243, + "scope": 5244, "src": "7224:25:30", "stateVariable": true, "storageLocation": "default", @@ -64823,7 +64815,7 @@ }, "typeName": { "baseType": { - "id": 5239, + "id": 5240, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "7224:7:30", @@ -64832,10 +64824,10 @@ "typeString": "uint256" } }, - "id": 5241, + "id": 5242, "length": { "hexValue": "3530", - "id": 5240, + "id": 5241, "isConstant": false, "isLValue": false, "isPure": true, @@ -64859,7 +64851,7 @@ "visibility": "private" } ], - "scope": 5244, + "scope": 5245, "src": "632:6620:30", "usedErrors": [ 30, @@ -64868,22 +64860,22 @@ 214, 489, 494, - 1443, - 1456, - 2622, - 2915 + 1444, + 1457, + 2623, + 2916 ], "usedEvents": [ 41, 219, - 1225, - 4735, - 4742, - 4748, - 4752, - 4759, - 4765, - 4771 + 1226, + 4736, + 4743, + 4749, + 4753, + 4760, + 4766, + 4772 ] } ], @@ -64891,20 +64883,20 @@ }, "id": 30 }, - "contracts/interfaces/IAgent.sol": { + "contracts/interfaces/IAgentRegistryV1.sol": { "ast": { - "absolutePath": "contracts/interfaces/IAgent.sol", + "absolutePath": "contracts/interfaces/IAgentRegistryV1.sol", "exportedSymbols": { - "IAgent": [ - 5274 + "IAgentRegistryV1": [ + 5297 ] }, - "id": 5275, + "id": 5298, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 5245, + "id": 5246, "literals": [ "solidity", "^", @@ -64917,31 +64909,31 @@ { "abstract": false, "baseContracts": [], - "canonicalName": "IAgent", + "canonicalName": "IAgentRegistryV1", "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, - "id": 5274, + "id": 5297, "linearizedBaseContracts": [ - 5274 + 5297 ], - "name": "IAgent", - "nameLocation": "68:6:31", + "name": "IAgentRegistryV1", + "nameLocation": "68:16:31", "nodeType": "ContractDefinition", "nodes": [ { - "canonicalName": "IAgent.Skill", - "id": 5250, + "canonicalName": "IAgentRegistryV1.AgentData", + "id": 5259, "members": [ { "constant": false, - "id": 5247, + "id": 5248, "mutability": "mutable", "name": "name", - "nameLocation": "111:4:31", + "nameLocation": "125:4:31", "nodeType": "VariableDeclaration", - "scope": 5250, - "src": "104:11:31", + "scope": 5259, + "src": "118:11:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64949,10 +64941,10 @@ "typeString": "string" }, "typeName": { - "id": 5246, + "id": 5247, "name": "string", "nodeType": "ElementaryTypeName", - "src": "104:6:31", + "src": "118:6:31", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" @@ -64962,13 +64954,96 @@ }, { "constant": false, - "id": 5249, + "id": 5250, "mutability": "mutable", - "name": "level", - "nameLocation": "133:5:31", + "name": "agentUri", + "nameLocation": "146:8:31", + "nodeType": "VariableDeclaration", + "scope": 5259, + "src": "139:15:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5249, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "139:6:31", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5252, + "mutability": "mutable", + "name": "owner", + "nameLocation": "172:5:31", "nodeType": "VariableDeclaration", - "scope": 5250, - "src": "125:13:31", + "scope": 5259, + "src": "164:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5251, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "164:7:31", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5254, + "mutability": "mutable", + "name": "agent", + "nameLocation": "195:5:31", + "nodeType": "VariableDeclaration", + "scope": 5259, + "src": "187:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5253, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "187:7:31", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5256, + "mutability": "mutable", + "name": "reputation", + "nameLocation": "218:10:31", + "nodeType": "VariableDeclaration", + "scope": 5259, + "src": "210:18:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -64976,10 +65051,37 @@ "typeString": "uint256" }, "typeName": { - "id": 5248, + "id": 5255, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "125:7:31", + "src": "210:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5258, + "mutability": "mutable", + "name": "totalRatings", + "nameLocation": "246:12:31", + "nodeType": "VariableDeclaration", + "scope": 5259, + "src": "238:20:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5257, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "238:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -64988,34 +65090,183 @@ "visibility": "internal" } ], - "name": "Skill", - "nameLocation": "88:5:31", + "name": "AgentData", + "nameLocation": "98:9:31", "nodeType": "StructDefinition", - "scope": 5274, - "src": "81:64:31", + "scope": 5297, + "src": "91:174:31", "visibility": "public" }, { - "anonymous": false, - "eventSelector": "fc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c821", - "id": 5256, - "name": "ReputationUpdated", - "nameLocation": "157:17:31", - "nodeType": "EventDefinition", + "canonicalName": "IAgentRegistryV1.Proposal", + "id": 5270, + "members": [ + { + "constant": false, + "id": 5261, + "mutability": "mutable", + "name": "issuer", + "nameLocation": "309:6:31", + "nodeType": "VariableDeclaration", + "scope": 5270, + "src": "301:14:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5260, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "301:7:31", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5263, + "mutability": "mutable", + "name": "serviceName", + "nameLocation": "332:11:31", + "nodeType": "VariableDeclaration", + "scope": 5270, + "src": "325:18:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5262, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "325:6:31", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5265, + "mutability": "mutable", + "name": "price", + "nameLocation": "361:5:31", + "nodeType": "VariableDeclaration", + "scope": 5270, + "src": "353:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5264, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "353:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5267, + "mutability": "mutable", + "name": "proposalId", + "nameLocation": "384:10:31", + "nodeType": "VariableDeclaration", + "scope": 5270, + "src": "376:18:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5266, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "376:7:31", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5269, + "mutability": "mutable", + "name": "isActive", + "nameLocation": "409:8:31", + "nodeType": "VariableDeclaration", + "scope": 5270, + "src": "404:13:31", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5268, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "404:4:31", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "Proposal", + "nameLocation": "282:8:31", + "nodeType": "StructDefinition", + "scope": 5297, + "src": "275:149:31", + "visibility": "public" + }, + { + "functionSelector": "aac9f15a", + "id": 5278, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getAgentData", + "nameLocation": "439:12:31", + "nodeType": "FunctionDefinition", "parameters": { - "id": 5255, + "id": 5273, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5252, - "indexed": true, + "id": 5272, "mutability": "mutable", - "name": "agent", - "nameLocation": "191:5:31", + "name": "_agent", + "nameLocation": "460:6:31", "nodeType": "VariableDeclaration", - "scope": 5256, - "src": "175:21:31", + "scope": 5278, + "src": "452:14:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65023,10 +65274,10 @@ "typeString": "address" }, "typeName": { - "id": 5251, + "id": 5271, "name": "address", "nodeType": "ElementaryTypeName", - "src": "175:7:31", + "src": "452:7:31", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -65034,62 +65285,82 @@ } }, "visibility": "internal" - }, + } + ], + "src": "451:16:31" + }, + "returnParameters": { + "id": 5277, + "nodeType": "ParameterList", + "parameters": [ { "constant": false, - "id": 5254, - "indexed": false, + "id": 5276, "mutability": "mutable", - "name": "newReputation", - "nameLocation": "206:13:31", + "name": "", + "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5256, - "src": "198:21:31", + "scope": 5278, + "src": "491:16:31", "stateVariable": false, - "storageLocation": "default", + "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_AgentData_$5259_memory_ptr", + "typeString": "struct IAgentRegistryV1.AgentData" }, "typeName": { - "id": 5253, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "198:7:31", + "id": 5275, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 5274, + "name": "AgentData", + "nameLocations": [ + "491:9:31" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 5259, + "src": "491:9:31" + }, + "referencedDeclaration": 5259, + "src": "491:9:31", "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" + "typeIdentifier": "t_struct$_AgentData_$5259_storage_ptr", + "typeString": "struct IAgentRegistryV1.AgentData" } }, "visibility": "internal" } ], - "src": "174:46:31" + "src": "490:18:31" }, - "src": "151:70:31" + "scope": 5297, + "src": "430:79:31", + "stateMutability": "view", + "virtual": false, + "visibility": "external" }, { - "functionSelector": "f43970f3", - "id": 5261, + "functionSelector": "c7f758a8", + "id": 5286, "implemented": false, "kind": "function", "modifiers": [], - "name": "updateReputation", - "nameLocation": "240:16:31", + "name": "getProposal", + "nameLocation": "524:11:31", "nodeType": "FunctionDefinition", "parameters": { - "id": 5259, + "id": 5281, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5258, + "id": 5280, "mutability": "mutable", - "name": "_reputation", - "nameLocation": "265:11:31", + "name": "_proposalId", + "nameLocation": "544:11:31", "nodeType": "VariableDeclaration", - "scope": 5261, - "src": "257:19:31", + "scope": 5286, + "src": "536:19:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65097,10 +65368,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5257, + "id": 5279, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "257:7:31", + "src": "536:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65109,739 +65380,86 @@ "visibility": "internal" } ], - "src": "256:21:31" + "src": "535:21:31" }, "returnParameters": { - "id": 5260, - "nodeType": "ParameterList", - "parameters": [], - "src": "286:0:31" - }, - "scope": 5274, - "src": "231:56:31", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "fdd76bb3", - "id": 5268, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getSkills", - "nameLocation": "301:9:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5262, - "nodeType": "ParameterList", - "parameters": [], - "src": "310:2:31" - }, - "returnParameters": { - "id": 5267, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5266, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5268, - "src": "336:14:31", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Skill_$5250_memory_ptr_$dyn_memory_ptr", - "typeString": "struct IAgent.Skill[]" - }, - "typeName": { - "baseType": { - "id": 5264, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 5263, - "name": "Skill", - "nameLocations": [ - "336:5:31" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 5250, - "src": "336:5:31" - }, - "referencedDeclaration": 5250, - "src": "336:5:31", - "typeDescriptions": { - "typeIdentifier": "t_struct$_Skill_$5250_storage_ptr", - "typeString": "struct IAgent.Skill" - } - }, - "id": 5265, - "nodeType": "ArrayTypeName", - "src": "336:7:31", - "typeDescriptions": { - "typeIdentifier": "t_array$_t_struct$_Skill_$5250_storage_$dyn_storage_ptr", - "typeString": "struct IAgent.Skill[]" - } - }, - "visibility": "internal" - } - ], - "src": "335:16:31" - }, - "scope": 5274, - "src": "292:60:31", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "ffe6a18e", - "id": 5273, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getReputation", - "nameLocation": "366:13:31", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5269, - "nodeType": "ParameterList", - "parameters": [], - "src": "379:2:31" - }, - "returnParameters": { - "id": 5272, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5271, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5273, - "src": "405:7:31", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5270, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "405:7:31", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "404:9:31" - }, - "scope": 5274, - "src": "357:57:31", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5275, - "src": "58:358:31", - "usedErrors": [], - "usedEvents": [ - 5256 - ] - } - ], - "src": "32:385:31" - }, - "id": 31 - }, - "contracts/interfaces/IAgentRegistryV1.sol": { - "ast": { - "absolutePath": "contracts/interfaces/IAgentRegistryV1.sol", - "exportedSymbols": { - "IAgentRegistryV1": [ - 5327 - ] - }, - "id": 5328, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5276, - "literals": [ - "solidity", - "^", - "0.8", - ".20" - ], - "nodeType": "PragmaDirective", - "src": "32:24:32" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IAgentRegistryV1", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5327, - "linearizedBaseContracts": [ - 5327 - ], - "name": "IAgentRegistryV1", - "nameLocation": "68:16:32", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "IAgentRegistryV1.AgentData", - "id": 5289, - "members": [ - { - "constant": false, - "id": 5278, - "mutability": "mutable", - "name": "name", - "nameLocation": "125:4:32", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "118:11:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5277, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "118:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5280, - "mutability": "mutable", - "name": "agentUri", - "nameLocation": "146:8:32", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "139:15:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5279, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "139:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5282, - "mutability": "mutable", - "name": "owner", - "nameLocation": "172:5:32", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "164:13:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5281, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "164:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5284, - "mutability": "mutable", - "name": "agent", - "nameLocation": "195:5:32", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "187:13:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5283, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "187:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5286, - "mutability": "mutable", - "name": "reputation", - "nameLocation": "218:10:32", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "210:18:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5285, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "210:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5288, - "mutability": "mutable", - "name": "totalRatings", - "nameLocation": "246:12:32", - "nodeType": "VariableDeclaration", - "scope": 5289, - "src": "238:20:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5287, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "238:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "name": "AgentData", - "nameLocation": "98:9:32", - "nodeType": "StructDefinition", - "scope": 5327, - "src": "91:174:32", - "visibility": "public" - }, - { - "canonicalName": "IAgentRegistryV1.Proposal", - "id": 5300, - "members": [ - { - "constant": false, - "id": 5291, - "mutability": "mutable", - "name": "issuer", - "nameLocation": "309:6:32", - "nodeType": "VariableDeclaration", - "scope": 5300, - "src": "301:14:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5290, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "301:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5293, - "mutability": "mutable", - "name": "serviceName", - "nameLocation": "332:11:32", - "nodeType": "VariableDeclaration", - "scope": 5300, - "src": "325:18:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5292, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "325:6:32", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5295, - "mutability": "mutable", - "name": "price", - "nameLocation": "361:5:32", - "nodeType": "VariableDeclaration", - "scope": 5300, - "src": "353:13:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5294, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "353:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5297, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "384:10:32", - "nodeType": "VariableDeclaration", - "scope": 5300, - "src": "376:18:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5296, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "376:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5299, - "mutability": "mutable", - "name": "isActive", - "nameLocation": "409:8:32", - "nodeType": "VariableDeclaration", - "scope": 5300, - "src": "404:13:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5298, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "404:4:32", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "name": "Proposal", - "nameLocation": "282:8:32", - "nodeType": "StructDefinition", - "scope": 5327, - "src": "275:149:32", - "visibility": "public" - }, - { - "functionSelector": "aac9f15a", - "id": 5308, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getAgentData", - "nameLocation": "439:12:32", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5303, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5302, - "mutability": "mutable", - "name": "_agent", - "nameLocation": "460:6:32", - "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "452:14:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5301, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "452:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "451:16:32" - }, - "returnParameters": { - "id": 5307, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5306, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5308, - "src": "491:16:32", - "stateVariable": false, - "storageLocation": "memory", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$5289_memory_ptr", - "typeString": "struct IAgentRegistryV1.AgentData" - }, - "typeName": { - "id": 5305, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 5304, - "name": "AgentData", - "nameLocations": [ - "491:9:32" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 5289, - "src": "491:9:32" - }, - "referencedDeclaration": 5289, - "src": "491:9:32", - "typeDescriptions": { - "typeIdentifier": "t_struct$_AgentData_$5289_storage_ptr", - "typeString": "struct IAgentRegistryV1.AgentData" - } - }, - "visibility": "internal" - } - ], - "src": "490:18:32" - }, - "scope": 5327, - "src": "430:79:32", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "c7f758a8", - "id": 5316, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getProposal", - "nameLocation": "524:11:32", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5311, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5310, - "mutability": "mutable", - "name": "_proposalId", - "nameLocation": "544:11:32", - "nodeType": "VariableDeclaration", - "scope": 5316, - "src": "536:19:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5309, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "536:7:32", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "535:21:32" - }, - "returnParameters": { - "id": 5315, + "id": 5285, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5314, + "id": 5284, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5316, - "src": "580:15:32", + "scope": 5286, + "src": "580:15:31", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$5300_memory_ptr", + "typeIdentifier": "t_struct$_Proposal_$5270_memory_ptr", "typeString": "struct IAgentRegistryV1.Proposal" }, "typeName": { - "id": 5313, + "id": 5283, "nodeType": "UserDefinedTypeName", "pathNode": { - "id": 5312, + "id": 5282, "name": "Proposal", "nameLocations": [ - "580:8:32" + "580:8:31" ], "nodeType": "IdentifierPath", - "referencedDeclaration": 5300, - "src": "580:8:32" + "referencedDeclaration": 5270, + "src": "580:8:31" }, - "referencedDeclaration": 5300, - "src": "580:8:32", + "referencedDeclaration": 5270, + "src": "580:8:31", "typeDescriptions": { - "typeIdentifier": "t_struct$_Proposal_$5300_storage_ptr", + "typeIdentifier": "t_struct$_Proposal_$5270_storage_ptr", "typeString": "struct IAgentRegistryV1.Proposal" } }, "visibility": "internal" } ], - "src": "579:17:32" + "src": "579:17:31" }, - "scope": 5327, - "src": "515:82:32", + "scope": 5297, + "src": "515:82:31", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "2ab09d14", - "id": 5321, + "id": 5291, "implemented": false, "kind": "function", "modifiers": [], "name": "nextProposalId", - "nameLocation": "612:14:32", + "nameLocation": "612:14:31", "nodeType": "FunctionDefinition", "parameters": { - "id": 5317, + "id": 5287, "nodeType": "ParameterList", "parameters": [], - "src": "626:2:32" + "src": "626:2:31" }, "returnParameters": { - "id": 5320, + "id": 5290, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5319, + "id": 5289, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5321, - "src": "652:7:32", + "scope": 5291, + "src": "652:7:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -65849,10 +65467,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5318, + "id": 5288, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "652:7:32", + "src": "652:7:31", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -65861,871 +65479,42 @@ "visibility": "internal" } ], - "src": "651:9:32" + "src": "651:9:31" }, - "scope": 5327, - "src": "603:58:32", + "scope": 5297, + "src": "603:58:31", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "cbcf252a", - "id": 5326, + "id": 5296, "implemented": false, "kind": "function", "modifiers": [], "name": "serviceRegistry", - "nameLocation": "676:15:32", + "nameLocation": "676:15:31", "nodeType": "FunctionDefinition", "parameters": { - "id": 5322, + "id": 5292, "nodeType": "ParameterList", "parameters": [], - "src": "691:2:32" + "src": "691:2:31" }, "returnParameters": { - "id": 5325, + "id": 5295, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5324, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5326, - "src": "717:7:32", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5323, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "717:7:32", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "716:9:32" - }, - "scope": 5327, - "src": "667:59:32", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - } - ], - "scope": 5328, - "src": "58:670:32", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "32:697:32" - }, - "id": 32 - }, - "contracts/interfaces/IProposalStruct.sol": { - "ast": { - "absolutePath": "contracts/interfaces/IProposalStruct.sol", - "exportedSymbols": { - "IProposalStruct": [ - 5343 - ] - }, - "id": 5344, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5329, - "literals": [ - "solidity", - "^", - "0.8", - ".20" - ], - "nodeType": "PragmaDirective", - "src": "32:24:33" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "IProposalStruct", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": true, - "id": 5343, - "linearizedBaseContracts": [ - 5343 - ], - "name": "IProposalStruct", - "nameLocation": "67:15:33", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "IProposalStruct.ServiceProposal", - "id": 5342, - "members": [ - { - "constant": false, - "id": 5331, - "mutability": "mutable", - "name": "issuer", - "nameLocation": "126:6:33", - "nodeType": "VariableDeclaration", - "scope": 5342, - "src": "118:14:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5330, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "118:7:33", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5333, - "mutability": "mutable", - "name": "serviceName", - "nameLocation": "147:11:33", - "nodeType": "VariableDeclaration", - "scope": 5342, - "src": "140:18:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - }, - "typeName": { - "id": 5332, - "name": "string", - "nodeType": "ElementaryTypeName", - "src": "140:6:33", - "typeDescriptions": { - "typeIdentifier": "t_string_storage_ptr", - "typeString": "string" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5335, - "mutability": "mutable", - "name": "price", - "nameLocation": "174:5:33", - "nodeType": "VariableDeclaration", - "scope": 5342, - "src": "166:13:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5334, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "166:7:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5337, - "mutability": "mutable", - "name": "tokenAddress", - "nameLocation": "195:12:33", - "nodeType": "VariableDeclaration", - "scope": 5342, - "src": "187:20:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5336, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "187:7:33", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5339, - "mutability": "mutable", - "name": "proposalId", - "nameLocation": "223:10:33", - "nodeType": "VariableDeclaration", - "scope": 5342, - "src": "215:18:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5338, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "215:7:33", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5341, - "mutability": "mutable", - "name": "isActive", - "nameLocation": "246:8:33", - "nodeType": "VariableDeclaration", - "scope": 5342, - "src": "241:13:33", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5340, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "241:4:33", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "name": "ServiceProposal", - "nameLocation": "94:15:33", - "nodeType": "StructDefinition", - "scope": 5343, - "src": "87:172:33", - "visibility": "public" - } - ], - "scope": 5344, - "src": "57:204:33", - "usedErrors": [], - "usedEvents": [] - } - ], - "src": "32:229:33" - }, - "id": 33 - }, - "contracts/interfaces/ITask.sol": { - "ast": { - "absolutePath": "contracts/interfaces/ITask.sol", - "exportedSymbols": { - "ITask": [ - 5396 - ] - }, - "id": 5397, - "license": "MIT", - "nodeType": "SourceUnit", - "nodes": [ - { - "id": 5345, - "literals": [ - "solidity", - "^", - "0.8", - ".20" - ], - "nodeType": "PragmaDirective", - "src": "32:24:34" - }, - { - "abstract": false, - "baseContracts": [], - "canonicalName": "ITask", - "contractDependencies": [], - "contractKind": "interface", - "fullyImplemented": false, - "id": 5396, - "linearizedBaseContracts": [ - 5396 - ], - "name": "ITask", - "nameLocation": "68:5:34", - "nodeType": "ContractDefinition", - "nodes": [ - { - "canonicalName": "ITask.TaskType", - "id": 5349, - "members": [ - { - "id": 5346, - "name": "SIMPLE", - "nameLocation": "96:6:34", - "nodeType": "EnumValue", - "src": "96:6:34" - }, - { - "id": 5347, - "name": "COMPLEX", - "nameLocation": "104:7:34", - "nodeType": "EnumValue", - "src": "104:7:34" - }, - { - "id": 5348, - "name": "COMPOSITE", - "nameLocation": "113:9:34", - "nodeType": "EnumValue", - "src": "113:9:34" - } - ], - "name": "TaskType", - "nameLocation": "85:8:34", - "nodeType": "EnumDefinition", - "src": "80:44:34" - }, - { - "canonicalName": "ITask.TaskStatus", - "id": 5354, - "members": [ - { - "id": 5350, - "name": "CREATED", - "nameLocation": "147:7:34", - "nodeType": "EnumValue", - "src": "147:7:34" - }, - { - "id": 5351, - "name": "ASSIGNED", - "nameLocation": "156:8:34", - "nodeType": "EnumValue", - "src": "156:8:34" - }, - { - "id": 5352, - "name": "COMPLETED", - "nameLocation": "166:9:34", - "nodeType": "EnumValue", - "src": "166:9:34" - }, - { - "id": 5353, - "name": "FAILED", - "nameLocation": "177:6:34", - "nodeType": "EnumValue", - "src": "177:6:34" - } - ], - "name": "TaskStatus", - "nameLocation": "134:10:34", - "nodeType": "EnumDefinition", - "src": "129:56:34" - }, - { - "anonymous": false, - "eventSelector": "927ecc698e7293785487e40c7eb8f2aefb6abc81d77df63ab5d5c883da1df93a", - "id": 5360, - "name": "TaskExecuted", - "nameLocation": "197:12:34", - "nodeType": "EventDefinition", - "parameters": { - "id": 5359, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5356, - "indexed": true, - "mutability": "mutable", - "name": "taskId", - "nameLocation": "226:6:34", - "nodeType": "VariableDeclaration", - "scope": 5360, - "src": "210:22:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5355, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "210:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5358, - "indexed": false, - "mutability": "mutable", - "name": "success", - "nameLocation": "239:7:34", - "nodeType": "VariableDeclaration", - "scope": 5360, - "src": "234:12:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5357, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "234:4:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "209:38:34" - }, - "src": "191:57:34" - }, - { - "anonymous": false, - "eventSelector": "d76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb4", - "id": 5367, - "name": "TaskStatusChanged", - "nameLocation": "259:17:34", - "nodeType": "EventDefinition", - "parameters": { - "id": 5366, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5362, - "indexed": true, - "mutability": "mutable", - "name": "taskId", - "nameLocation": "293:6:34", - "nodeType": "VariableDeclaration", - "scope": 5367, - "src": "277:22:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5361, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "277:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5365, - "indexed": false, - "mutability": "mutable", - "name": "status", - "nameLocation": "312:6:34", - "nodeType": "VariableDeclaration", - "scope": 5367, - "src": "301:17:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$5354", - "typeString": "enum ITask.TaskStatus" - }, - "typeName": { - "id": 5364, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 5363, - "name": "TaskStatus", - "nameLocations": [ - "301:10:34" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 5354, - "src": "301:10:34" - }, - "referencedDeclaration": 5354, - "src": "301:10:34", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$5354", - "typeString": "enum ITask.TaskStatus" - } - }, - "visibility": "internal" - } - ], - "src": "276:43:34" - }, - "src": "253:67:34" - }, - { - "anonymous": false, - "eventSelector": "52476d55ecef5cf13caa64038f297fe6bbf865d9584a98b8722a15a6d5db128f", - "id": 5373, - "name": "TaskAssigned", - "nameLocation": "331:12:34", - "nodeType": "EventDefinition", - "parameters": { - "id": 5372, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5369, - "indexed": true, - "mutability": "mutable", - "name": "taskId", - "nameLocation": "360:6:34", - "nodeType": "VariableDeclaration", - "scope": 5373, - "src": "344:22:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5368, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "344:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5371, - "indexed": false, - "mutability": "mutable", - "name": "assignee", - "nameLocation": "376:8:34", - "nodeType": "VariableDeclaration", - "scope": 5373, - "src": "368:16:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5370, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "368:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - } - ], - "src": "343:42:34" - }, - "src": "325:61:34" - }, - { - "functionSelector": "ef17a55e", - "id": 5384, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "execute", - "nameLocation": "405:7:34", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5380, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5375, - "mutability": "mutable", - "name": "data", - "nameLocation": "428:4:34", - "nodeType": "VariableDeclaration", - "scope": 5384, - "src": "413:19:34", - "stateVariable": false, - "storageLocation": "calldata", - "typeDescriptions": { - "typeIdentifier": "t_bytes_calldata_ptr", - "typeString": "bytes" - }, - "typeName": { - "id": 5374, - "name": "bytes", - "nodeType": "ElementaryTypeName", - "src": "413:5:34", - "typeDescriptions": { - "typeIdentifier": "t_bytes_storage_ptr", - "typeString": "bytes" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5377, - "mutability": "mutable", - "name": "target", - "nameLocation": "442:6:34", - "nodeType": "VariableDeclaration", - "scope": 5384, - "src": "434:14:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - }, - "typeName": { - "id": 5376, - "name": "address", - "nodeType": "ElementaryTypeName", - "src": "434:7:34", - "stateMutability": "nonpayable", - "typeDescriptions": { - "typeIdentifier": "t_address", - "typeString": "address" - } - }, - "visibility": "internal" - }, - { - "constant": false, - "id": 5379, - "mutability": "mutable", - "name": "value", - "nameLocation": "458:5:34", - "nodeType": "VariableDeclaration", - "scope": 5384, - "src": "450:13:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - }, - "typeName": { - "id": 5378, - "name": "uint256", - "nodeType": "ElementaryTypeName", - "src": "450:7:34", - "typeDescriptions": { - "typeIdentifier": "t_uint256", - "typeString": "uint256" - } - }, - "visibility": "internal" - } - ], - "src": "412:52:34" - }, - "returnParameters": { - "id": 5383, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5382, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5384, - "src": "483:4:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - }, - "typeName": { - "id": 5381, - "name": "bool", - "nodeType": "ElementaryTypeName", - "src": "483:4:34", - "typeDescriptions": { - "typeIdentifier": "t_bool", - "typeString": "bool" - } - }, - "visibility": "internal" - } - ], - "src": "482:6:34" - }, - "scope": 5396, - "src": "396:93:34", - "stateMutability": "nonpayable", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "4e69d560", - "id": 5390, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getStatus", - "nameLocation": "503:9:34", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5385, - "nodeType": "ParameterList", - "parameters": [], - "src": "512:2:34" - }, - "returnParameters": { - "id": 5389, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5388, - "mutability": "mutable", - "name": "", - "nameLocation": "-1:-1:-1", - "nodeType": "VariableDeclaration", - "scope": 5390, - "src": "538:10:34", - "stateVariable": false, - "storageLocation": "default", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$5354", - "typeString": "enum ITask.TaskStatus" - }, - "typeName": { - "id": 5387, - "nodeType": "UserDefinedTypeName", - "pathNode": { - "id": 5386, - "name": "TaskStatus", - "nameLocations": [ - "538:10:34" - ], - "nodeType": "IdentifierPath", - "referencedDeclaration": 5354, - "src": "538:10:34" - }, - "referencedDeclaration": 5354, - "src": "538:10:34", - "typeDescriptions": { - "typeIdentifier": "t_enum$_TaskStatus_$5354", - "typeString": "enum ITask.TaskStatus" - } - }, - "visibility": "internal" - } - ], - "src": "537:12:34" - }, - "scope": 5396, - "src": "494:56:34", - "stateMutability": "view", - "virtual": false, - "visibility": "external" - }, - { - "functionSelector": "aa92e29f", - "id": 5395, - "implemented": false, - "kind": "function", - "modifiers": [], - "name": "getAssignee", - "nameLocation": "564:11:34", - "nodeType": "FunctionDefinition", - "parameters": { - "id": 5391, - "nodeType": "ParameterList", - "parameters": [], - "src": "575:2:34" - }, - "returnParameters": { - "id": 5394, - "nodeType": "ParameterList", - "parameters": [ - { - "constant": false, - "id": 5393, + "id": 5294, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", - "scope": 5395, - "src": "601:7:34", + "scope": 5296, + "src": "717:7:31", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66733,10 +65522,10 @@ "typeString": "address" }, "typeName": { - "id": 5392, + "id": 5293, "name": "address", "nodeType": "ElementaryTypeName", - "src": "601:7:34", + "src": "717:7:31", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -66746,43 +65535,264 @@ "visibility": "internal" } ], - "src": "600:9:34" + "src": "716:9:31" }, - "scope": 5396, - "src": "555:55:34", + "scope": 5297, + "src": "667:59:31", "stateMutability": "view", "virtual": false, "visibility": "external" } ], - "scope": 5397, - "src": "58:554:34", + "scope": 5298, + "src": "58:670:31", "usedErrors": [], - "usedEvents": [ - 5360, - 5367, - 5373 - ] + "usedEvents": [] + } + ], + "src": "32:697:31" + }, + "id": 31 + }, + "contracts/interfaces/IProposalStruct.sol": { + "ast": { + "absolutePath": "contracts/interfaces/IProposalStruct.sol", + "exportedSymbols": { + "IProposalStruct": [ + 5313 + ] + }, + "id": 5314, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 5299, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "32:24:32" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IProposalStruct", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": true, + "id": 5313, + "linearizedBaseContracts": [ + 5313 + ], + "name": "IProposalStruct", + "nameLocation": "67:15:32", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IProposalStruct.ServiceProposal", + "id": 5312, + "members": [ + { + "constant": false, + "id": 5301, + "mutability": "mutable", + "name": "issuer", + "nameLocation": "126:6:32", + "nodeType": "VariableDeclaration", + "scope": 5312, + "src": "118:14:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5300, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "118:7:32", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5303, + "mutability": "mutable", + "name": "serviceName", + "nameLocation": "147:11:32", + "nodeType": "VariableDeclaration", + "scope": 5312, + "src": "140:18:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5302, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "140:6:32", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5305, + "mutability": "mutable", + "name": "price", + "nameLocation": "174:5:32", + "nodeType": "VariableDeclaration", + "scope": 5312, + "src": "166:13:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5304, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "166:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5307, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "195:12:32", + "nodeType": "VariableDeclaration", + "scope": 5312, + "src": "187:20:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5306, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "187:7:32", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5309, + "mutability": "mutable", + "name": "proposalId", + "nameLocation": "223:10:32", + "nodeType": "VariableDeclaration", + "scope": 5312, + "src": "215:18:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5308, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "215:7:32", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5311, + "mutability": "mutable", + "name": "isActive", + "nameLocation": "246:8:32", + "nodeType": "VariableDeclaration", + "scope": 5312, + "src": "241:13:32", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5310, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "241:4:32", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "ServiceProposal", + "nameLocation": "94:15:32", + "nodeType": "StructDefinition", + "scope": 5313, + "src": "87:172:32", + "visibility": "public" + } + ], + "scope": 5314, + "src": "57:204:32", + "usedErrors": [], + "usedEvents": [] } ], - "src": "32:581:34" + "src": "32:229:32" }, - "id": 34 + "id": 32 }, "contracts/lib/TransferHelper.sol": { "ast": { "absolutePath": "contracts/lib/TransferHelper.sol", "exportedSymbols": { "TransferHelper": [ - 5556 + 5473 ] }, - "id": 5557, + "id": 5474, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { - "id": 5398, + "id": 5315, "literals": [ "solidity", "^", @@ -66790,7 +65800,7 @@ ".20" ], "nodeType": "PragmaDirective", - "src": "31:24:35" + "src": "31:24:33" }, { "abstract": false, @@ -66799,35 +65809,35 @@ "contractDependencies": [], "contractKind": "library", "fullyImplemented": true, - "id": 5556, + "id": 5473, "linearizedBaseContracts": [ - 5556 + 5473 ], "name": "TransferHelper", - "nameLocation": "176:14:35", + "nameLocation": "176:14:33", "nodeType": "ContractDefinition", "nodes": [ { "body": { - "id": 5440, + "id": 5357, "nodeType": "Block", - "src": "299:332:35", + "src": "299:332:33", "statements": [ { "assignments": [ - 5408, - 5410 + 5325, + 5327 ], "declarations": [ { "constant": false, - "id": 5408, + "id": 5325, "mutability": "mutable", "name": "success", - "nameLocation": "380:7:35", + "nameLocation": "380:7:33", "nodeType": "VariableDeclaration", - "scope": 5440, - "src": "375:12:35", + "scope": 5357, + "src": "375:12:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -66835,10 +65845,10 @@ "typeString": "bool" }, "typeName": { - "id": 5407, + "id": 5324, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "375:4:35", + "src": "375:4:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -66848,13 +65858,13 @@ }, { "constant": false, - "id": 5410, + "id": 5327, "mutability": "mutable", "name": "data", - "nameLocation": "402:4:35", + "nameLocation": "402:4:33", "nodeType": "VariableDeclaration", - "scope": 5440, - "src": "389:17:35", + "scope": 5357, + "src": "389:17:33", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -66862,10 +65872,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5409, + "id": 5326, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "389:5:35", + "src": "389:5:33", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -66874,21 +65884,21 @@ "visibility": "internal" } ], - "id": 5420, + "id": 5337, "initialValue": { "arguments": [ { "arguments": [ { "hexValue": "30783039356561376233", - "id": 5415, + "id": 5332, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "444:10:35", + "src": "444:10:33", "typeDescriptions": { "typeIdentifier": "t_rational_157198259_by_1", "typeString": "int_const 157198259" @@ -66896,24 +65906,24 @@ "value": "0x095ea7b3" }, { - "id": 5416, + "id": 5333, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5402, - "src": "456:2:35", + "referencedDeclaration": 5319, + "src": "456:2:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 5417, + "id": 5334, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5404, - "src": "460:5:35", + "referencedDeclaration": 5321, + "src": "460:5:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -66936,32 +65946,32 @@ } ], "expression": { - "id": 5413, + "id": 5330, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "421:3:35", + "src": "421:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 5414, + "id": 5331, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "425:18:35", + "memberLocation": "425:18:33", "memberName": "encodeWithSelector", "nodeType": "MemberAccess", - "src": "421:22:35", + "src": "421:22:33", "typeDescriptions": { "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes4) pure returns (bytes memory)" } }, - "id": 5418, + "id": 5335, "isConstant": false, "isLValue": false, "isPure": false, @@ -66970,7 +65980,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "421:45:35", + "src": "421:45:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -66986,32 +65996,32 @@ } ], "expression": { - "id": 5411, + "id": 5328, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5400, - "src": "410:5:35", + "referencedDeclaration": 5317, + "src": "410:5:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 5412, + "id": 5329, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "416:4:35", + "memberLocation": "416:4:33", "memberName": "call", "nodeType": "MemberAccess", - "src": "410:10:35", + "src": "410:10:33", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5419, + "id": 5336, "isConstant": false, "isLValue": false, "isPure": false, @@ -67020,7 +66030,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "410:57:35", + "src": "410:57:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -67028,7 +66038,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "374:93:35" + "src": "374:93:33" }, { "expression": { @@ -67038,18 +66048,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5436, + "id": 5353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 5422, + "id": 5339, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5408, - "src": "498:7:35", + "referencedDeclaration": 5325, + "src": "498:7:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -67064,7 +66074,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5434, + "id": 5351, "isConstant": false, "isLValue": false, "isPure": false, @@ -67074,33 +66084,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5426, + "id": 5343, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 5423, + "id": 5340, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5410, - "src": "510:4:35", + "referencedDeclaration": 5327, + "src": "510:4:33", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5424, + "id": 5341, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "515:6:35", + "memberLocation": "515:6:33", "memberName": "length", "nodeType": "MemberAccess", - "src": "510:11:35", + "src": "510:11:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -67110,21 +66120,21 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 5425, + "id": 5342, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "525:1:35", + "src": "525:1:33", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "510:16:35", + "src": "510:16:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -67135,12 +66145,12 @@ "rightExpression": { "arguments": [ { - "id": 5429, + "id": 5346, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5410, - "src": "541:4:35", + "referencedDeclaration": 5327, + "src": "541:4:33", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -67149,34 +66159,34 @@ { "components": [ { - "id": 5431, + "id": 5348, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "548:4:35", + "src": "548:4:33", "typeDescriptions": { "typeIdentifier": "t_type$_t_bool_$", "typeString": "type(bool)" }, "typeName": { - "id": 5430, + "id": 5347, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "548:4:35", + "src": "548:4:33", "typeDescriptions": {} } } ], - "id": 5432, + "id": 5349, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "547:6:35", + "src": "547:6:33", "typeDescriptions": { "typeIdentifier": "t_type$_t_bool_$", "typeString": "type(bool)" @@ -67195,32 +66205,32 @@ } ], "expression": { - "id": 5427, + "id": 5344, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "530:3:35", + "src": "530:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 5428, + "id": 5345, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "534:6:35", + "memberLocation": "534:6:33", "memberName": "decode", "nodeType": "MemberAccess", - "src": "530:10:35", + "src": "530:10:33", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 5433, + "id": 5350, "isConstant": false, "isLValue": false, "isPure": false, @@ -67229,34 +66239,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "530:24:35", + "src": "530:24:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "510:44:35", + "src": "510:44:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 5435, + "id": 5352, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "509:46:35", + "src": "509:46:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "498:57:35", + "src": "498:57:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -67264,14 +66274,14 @@ }, { "hexValue": "5472616e7366657248656c7065723a3a73616665417070726f76653a20617070726f7665206661696c6564", - "id": 5437, + "id": 5354, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "569:45:35", + "src": "569:45:33", "typeDescriptions": { "typeIdentifier": "t_stringliteral_b4dd1eb4be82119fd3a99acfb5dd4c57591eb0ea309359b1af3d65a4460c7123", "typeString": "literal_string \"TransferHelper::safeApprove: approve failed\"" @@ -67290,7 +66300,7 @@ "typeString": "literal_string \"TransferHelper::safeApprove: approve failed\"" } ], - "id": 5421, + "id": 5338, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -67298,13 +66308,13 @@ -18 ], "referencedDeclaration": -18, - "src": "477:7:35", + "src": "477:7:33", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5438, + "id": 5355, "isConstant": false, "isLValue": false, "isPure": false, @@ -67313,39 +66323,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "477:147:35", + "src": "477:147:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5439, + "id": 5356, "nodeType": "ExpressionStatement", - "src": "477:147:35" + "src": "477:147:33" } ] }, - "id": 5441, + "id": 5358, "implemented": true, "kind": "function", "modifiers": [], "name": "safeApprove", - "nameLocation": "206:11:35", + "nameLocation": "206:11:33", "nodeType": "FunctionDefinition", "parameters": { - "id": 5405, + "id": 5322, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5400, + "id": 5317, "mutability": "mutable", "name": "token", - "nameLocation": "235:5:35", + "nameLocation": "235:5:33", "nodeType": "VariableDeclaration", - "scope": 5441, - "src": "227:13:35", + "scope": 5358, + "src": "227:13:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67353,10 +66363,10 @@ "typeString": "address" }, "typeName": { - "id": 5399, + "id": 5316, "name": "address", "nodeType": "ElementaryTypeName", - "src": "227:7:35", + "src": "227:7:33", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -67367,13 +66377,13 @@ }, { "constant": false, - "id": 5402, + "id": 5319, "mutability": "mutable", "name": "to", - "nameLocation": "258:2:35", + "nameLocation": "258:2:33", "nodeType": "VariableDeclaration", - "scope": 5441, - "src": "250:10:35", + "scope": 5358, + "src": "250:10:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67381,10 +66391,10 @@ "typeString": "address" }, "typeName": { - "id": 5401, + "id": 5318, "name": "address", "nodeType": "ElementaryTypeName", - "src": "250:7:35", + "src": "250:7:33", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -67395,13 +66405,13 @@ }, { "constant": false, - "id": 5404, + "id": 5321, "mutability": "mutable", "name": "value", - "nameLocation": "278:5:35", + "nameLocation": "278:5:33", "nodeType": "VariableDeclaration", - "scope": 5441, - "src": "270:13:35", + "scope": 5358, + "src": "270:13:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67409,10 +66419,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5403, + "id": 5320, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "270:7:35", + "src": "270:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -67421,41 +66431,41 @@ "visibility": "internal" } ], - "src": "217:72:35" + "src": "217:72:33" }, "returnParameters": { - "id": 5406, + "id": 5323, "nodeType": "ParameterList", "parameters": [], - "src": "299:0:35" + "src": "299:0:33" }, - "scope": 5556, - "src": "197:434:35", + "scope": 5473, + "src": "197:434:33", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5483, + "id": 5400, "nodeType": "Block", - "src": "740:335:35", + "src": "740:335:33", "statements": [ { "assignments": [ - 5451, - 5453 + 5368, + 5370 ], "declarations": [ { "constant": false, - "id": 5451, + "id": 5368, "mutability": "mutable", "name": "success", - "nameLocation": "822:7:35", + "nameLocation": "822:7:33", "nodeType": "VariableDeclaration", - "scope": 5483, - "src": "817:12:35", + "scope": 5400, + "src": "817:12:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67463,10 +66473,10 @@ "typeString": "bool" }, "typeName": { - "id": 5450, + "id": 5367, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "817:4:35", + "src": "817:4:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -67476,13 +66486,13 @@ }, { "constant": false, - "id": 5453, + "id": 5370, "mutability": "mutable", "name": "data", - "nameLocation": "844:4:35", + "nameLocation": "844:4:33", "nodeType": "VariableDeclaration", - "scope": 5483, - "src": "831:17:35", + "scope": 5400, + "src": "831:17:33", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -67490,10 +66500,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5452, + "id": 5369, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "831:5:35", + "src": "831:5:33", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -67502,21 +66512,21 @@ "visibility": "internal" } ], - "id": 5463, + "id": 5380, "initialValue": { "arguments": [ { "arguments": [ { "hexValue": "30786139303539636262", - "id": 5458, + "id": 5375, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "886:10:35", + "src": "886:10:33", "typeDescriptions": { "typeIdentifier": "t_rational_2835717307_by_1", "typeString": "int_const 2835717307" @@ -67524,24 +66534,24 @@ "value": "0xa9059cbb" }, { - "id": 5459, + "id": 5376, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5445, - "src": "898:2:35", + "referencedDeclaration": 5362, + "src": "898:2:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 5460, + "id": 5377, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5447, - "src": "902:5:35", + "referencedDeclaration": 5364, + "src": "902:5:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -67564,32 +66574,32 @@ } ], "expression": { - "id": 5456, + "id": 5373, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "863:3:35", + "src": "863:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 5457, + "id": 5374, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "867:18:35", + "memberLocation": "867:18:33", "memberName": "encodeWithSelector", "nodeType": "MemberAccess", - "src": "863:22:35", + "src": "863:22:33", "typeDescriptions": { "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes4) pure returns (bytes memory)" } }, - "id": 5461, + "id": 5378, "isConstant": false, "isLValue": false, "isPure": false, @@ -67598,7 +66608,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "863:45:35", + "src": "863:45:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -67614,32 +66624,32 @@ } ], "expression": { - "id": 5454, + "id": 5371, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5443, - "src": "852:5:35", + "referencedDeclaration": 5360, + "src": "852:5:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 5455, + "id": 5372, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "858:4:35", + "memberLocation": "858:4:33", "memberName": "call", "nodeType": "MemberAccess", - "src": "852:10:35", + "src": "852:10:33", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5462, + "id": 5379, "isConstant": false, "isLValue": false, "isPure": false, @@ -67648,7 +66658,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "852:57:35", + "src": "852:57:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -67656,7 +66666,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "816:93:35" + "src": "816:93:33" }, { "expression": { @@ -67666,18 +66676,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5479, + "id": 5396, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 5465, + "id": 5382, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5451, - "src": "940:7:35", + "referencedDeclaration": 5368, + "src": "940:7:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -67692,7 +66702,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5477, + "id": 5394, "isConstant": false, "isLValue": false, "isPure": false, @@ -67702,33 +66712,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5469, + "id": 5386, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 5466, + "id": 5383, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5453, - "src": "952:4:35", + "referencedDeclaration": 5370, + "src": "952:4:33", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5467, + "id": 5384, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "957:6:35", + "memberLocation": "957:6:33", "memberName": "length", "nodeType": "MemberAccess", - "src": "952:11:35", + "src": "952:11:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -67738,21 +66748,21 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 5468, + "id": 5385, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "967:1:35", + "src": "967:1:33", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "952:16:35", + "src": "952:16:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -67763,12 +66773,12 @@ "rightExpression": { "arguments": [ { - "id": 5472, + "id": 5389, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5453, - "src": "983:4:35", + "referencedDeclaration": 5370, + "src": "983:4:33", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -67777,34 +66787,34 @@ { "components": [ { - "id": 5474, + "id": 5391, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "990:4:35", + "src": "990:4:33", "typeDescriptions": { "typeIdentifier": "t_type$_t_bool_$", "typeString": "type(bool)" }, "typeName": { - "id": 5473, + "id": 5390, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "990:4:35", + "src": "990:4:33", "typeDescriptions": {} } } ], - "id": 5475, + "id": 5392, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "989:6:35", + "src": "989:6:33", "typeDescriptions": { "typeIdentifier": "t_type$_t_bool_$", "typeString": "type(bool)" @@ -67823,32 +66833,32 @@ } ], "expression": { - "id": 5470, + "id": 5387, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "972:3:35", + "src": "972:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 5471, + "id": 5388, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "976:6:35", + "memberLocation": "976:6:33", "memberName": "decode", "nodeType": "MemberAccess", - "src": "972:10:35", + "src": "972:10:33", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 5476, + "id": 5393, "isConstant": false, "isLValue": false, "isPure": false, @@ -67857,34 +66867,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "972:24:35", + "src": "972:24:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "952:44:35", + "src": "952:44:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 5478, + "id": 5395, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "951:46:35", + "src": "951:46:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "940:57:35", + "src": "940:57:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -67892,14 +66902,14 @@ }, { "hexValue": "5472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564", - "id": 5480, + "id": 5397, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1011:47:35", + "src": "1011:47:33", "typeDescriptions": { "typeIdentifier": "t_stringliteral_daea69421eeb1164e163c36f3d4349f0db3ec4e0d1381bd5bf4faf53496c2611", "typeString": "literal_string \"TransferHelper::safeTransfer: transfer failed\"" @@ -67918,7 +66928,7 @@ "typeString": "literal_string \"TransferHelper::safeTransfer: transfer failed\"" } ], - "id": 5464, + "id": 5381, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -67926,13 +66936,13 @@ -18 ], "referencedDeclaration": -18, - "src": "919:7:35", + "src": "919:7:33", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5481, + "id": 5398, "isConstant": false, "isLValue": false, "isPure": false, @@ -67941,39 +66951,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "919:149:35", + "src": "919:149:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5482, + "id": 5399, "nodeType": "ExpressionStatement", - "src": "919:149:35" + "src": "919:149:33" } ] }, - "id": 5484, + "id": 5401, "implemented": true, "kind": "function", "modifiers": [], "name": "safeTransfer", - "nameLocation": "646:12:35", + "nameLocation": "646:12:33", "nodeType": "FunctionDefinition", "parameters": { - "id": 5448, + "id": 5365, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5443, + "id": 5360, "mutability": "mutable", "name": "token", - "nameLocation": "676:5:35", + "nameLocation": "676:5:33", "nodeType": "VariableDeclaration", - "scope": 5484, - "src": "668:13:35", + "scope": 5401, + "src": "668:13:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -67981,10 +66991,10 @@ "typeString": "address" }, "typeName": { - "id": 5442, + "id": 5359, "name": "address", "nodeType": "ElementaryTypeName", - "src": "668:7:35", + "src": "668:7:33", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -67995,13 +67005,13 @@ }, { "constant": false, - "id": 5445, + "id": 5362, "mutability": "mutable", "name": "to", - "nameLocation": "699:2:35", + "nameLocation": "699:2:33", "nodeType": "VariableDeclaration", - "scope": 5484, - "src": "691:10:35", + "scope": 5401, + "src": "691:10:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68009,10 +67019,10 @@ "typeString": "address" }, "typeName": { - "id": 5444, + "id": 5361, "name": "address", "nodeType": "ElementaryTypeName", - "src": "691:7:35", + "src": "691:7:33", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -68023,13 +67033,13 @@ }, { "constant": false, - "id": 5447, + "id": 5364, "mutability": "mutable", "name": "value", - "nameLocation": "719:5:35", + "nameLocation": "719:5:33", "nodeType": "VariableDeclaration", - "scope": 5484, - "src": "711:13:35", + "scope": 5401, + "src": "711:13:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68037,10 +67047,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5446, + "id": 5363, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "711:7:35", + "src": "711:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68049,41 +67059,41 @@ "visibility": "internal" } ], - "src": "658:72:35" + "src": "658:72:33" }, "returnParameters": { - "id": 5449, + "id": 5366, "nodeType": "ParameterList", "parameters": [], - "src": "740:0:35" + "src": "740:0:33" }, - "scope": 5556, - "src": "637:438:35", + "scope": 5473, + "src": "637:438:33", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5529, + "id": 5446, "nodeType": "Block", - "src": "1210:357:35", + "src": "1210:357:33", "statements": [ { "assignments": [ - 5496, - 5498 + 5413, + 5415 ], "declarations": [ { "constant": false, - "id": 5496, + "id": 5413, "mutability": "mutable", "name": "success", - "nameLocation": "1304:7:35", + "nameLocation": "1304:7:33", "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "1299:12:35", + "scope": 5446, + "src": "1299:12:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68091,10 +67101,10 @@ "typeString": "bool" }, "typeName": { - "id": 5495, + "id": 5412, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1299:4:35", + "src": "1299:4:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -68104,13 +67114,13 @@ }, { "constant": false, - "id": 5498, + "id": 5415, "mutability": "mutable", "name": "data", - "nameLocation": "1326:4:35", + "nameLocation": "1326:4:33", "nodeType": "VariableDeclaration", - "scope": 5529, - "src": "1313:17:35", + "scope": 5446, + "src": "1313:17:33", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { @@ -68118,10 +67128,10 @@ "typeString": "bytes" }, "typeName": { - "id": 5497, + "id": 5414, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1313:5:35", + "src": "1313:5:33", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" @@ -68130,21 +67140,21 @@ "visibility": "internal" } ], - "id": 5509, + "id": 5426, "initialValue": { "arguments": [ { "arguments": [ { "hexValue": "30783233623837326464", - "id": 5503, + "id": 5420, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1368:10:35", + "src": "1368:10:33", "typeDescriptions": { "typeIdentifier": "t_rational_599290589_by_1", "typeString": "int_const 599290589" @@ -68152,36 +67162,36 @@ "value": "0x23b872dd" }, { - "id": 5504, + "id": 5421, "name": "from", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5488, - "src": "1380:4:35", + "referencedDeclaration": 5405, + "src": "1380:4:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 5505, + "id": 5422, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5490, - "src": "1386:2:35", + "referencedDeclaration": 5407, + "src": "1386:2:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, { - "id": 5506, + "id": 5423, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5492, - "src": "1390:5:35", + "referencedDeclaration": 5409, + "src": "1390:5:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68208,32 +67218,32 @@ } ], "expression": { - "id": 5501, + "id": 5418, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "1345:3:35", + "src": "1345:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 5502, + "id": 5419, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "1349:18:35", + "memberLocation": "1349:18:33", "memberName": "encodeWithSelector", "nodeType": "MemberAccess", - "src": "1345:22:35", + "src": "1345:22:33", "typeDescriptions": { "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", "typeString": "function (bytes4) pure returns (bytes memory)" } }, - "id": 5507, + "id": 5424, "isConstant": false, "isLValue": false, "isPure": false, @@ -68242,7 +67252,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1345:51:35", + "src": "1345:51:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -68258,32 +67268,32 @@ } ], "expression": { - "id": 5499, + "id": 5416, "name": "token", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5486, - "src": "1334:5:35", + "referencedDeclaration": 5403, + "src": "1334:5:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 5500, + "id": 5417, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1340:4:35", + "memberLocation": "1340:4:33", "memberName": "call", "nodeType": "MemberAccess", - "src": "1334:10:35", + "src": "1334:10:33", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5508, + "id": 5425, "isConstant": false, "isLValue": false, "isPure": false, @@ -68292,7 +67302,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1334:63:35", + "src": "1334:63:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -68300,7 +67310,7 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1298:99:35" + "src": "1298:99:33" }, { "expression": { @@ -68310,18 +67320,18 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5525, + "id": 5442, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { - "id": 5511, + "id": 5428, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5496, - "src": "1428:7:35", + "referencedDeclaration": 5413, + "src": "1428:7:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -68336,7 +67346,7 @@ "typeIdentifier": "t_bool", "typeString": "bool" }, - "id": 5523, + "id": 5440, "isConstant": false, "isLValue": false, "isPure": false, @@ -68346,33 +67356,33 @@ "typeIdentifier": "t_uint256", "typeString": "uint256" }, - "id": 5515, + "id": 5432, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { - "id": 5512, + "id": 5429, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5498, - "src": "1440:4:35", + "referencedDeclaration": 5415, + "src": "1440:4:33", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, - "id": 5513, + "id": 5430, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1445:6:35", + "memberLocation": "1445:6:33", "memberName": "length", "nodeType": "MemberAccess", - "src": "1440:11:35", + "src": "1440:11:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68382,21 +67392,21 @@ "operator": "==", "rightExpression": { "hexValue": "30", - "id": 5514, + "id": 5431, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1455:1:35", + "src": "1455:1:33", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, - "src": "1440:16:35", + "src": "1440:16:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -68407,12 +67417,12 @@ "rightExpression": { "arguments": [ { - "id": 5518, + "id": 5435, "name": "data", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5498, - "src": "1471:4:35", + "referencedDeclaration": 5415, + "src": "1471:4:33", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" @@ -68421,34 +67431,34 @@ { "components": [ { - "id": 5520, + "id": 5437, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "ElementaryTypeNameExpression", - "src": "1478:4:35", + "src": "1478:4:33", "typeDescriptions": { "typeIdentifier": "t_type$_t_bool_$", "typeString": "type(bool)" }, "typeName": { - "id": 5519, + "id": 5436, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1478:4:35", + "src": "1478:4:33", "typeDescriptions": {} } } ], - "id": 5521, + "id": 5438, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1477:6:35", + "src": "1477:6:33", "typeDescriptions": { "typeIdentifier": "t_type$_t_bool_$", "typeString": "type(bool)" @@ -68467,32 +67477,32 @@ } ], "expression": { - "id": 5516, + "id": 5433, "name": "abi", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": -1, - "src": "1460:3:35", + "src": "1460:3:33", "typeDescriptions": { "typeIdentifier": "t_magic_abi", "typeString": "abi" } }, - "id": 5517, + "id": 5434, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, - "memberLocation": "1464:6:35", + "memberLocation": "1464:6:33", "memberName": "decode", "nodeType": "MemberAccess", - "src": "1460:10:35", + "src": "1460:10:33", "typeDescriptions": { "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", "typeString": "function () pure" } }, - "id": 5522, + "id": 5439, "isConstant": false, "isLValue": false, "isPure": false, @@ -68501,34 +67511,34 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1460:24:35", + "src": "1460:24:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1440:44:35", + "src": "1440:44:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } ], - "id": 5524, + "id": 5441, "isConstant": false, "isInlineArray": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "TupleExpression", - "src": "1439:46:35", + "src": "1439:46:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, - "src": "1428:57:35", + "src": "1428:57:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -68536,14 +67546,14 @@ }, { "hexValue": "5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c6564", - "id": 5526, + "id": 5443, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1499:51:35", + "src": "1499:51:33", "typeDescriptions": { "typeIdentifier": "t_stringliteral_3f8faf98afe9344b6d4b0e75b0101259bf282914b3b5a9320c6918b6e27ede1c", "typeString": "literal_string \"TransferHelper::transferFrom: transferFrom failed\"" @@ -68562,7 +67572,7 @@ "typeString": "literal_string \"TransferHelper::transferFrom: transferFrom failed\"" } ], - "id": 5510, + "id": 5427, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -68570,13 +67580,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1407:7:35", + "src": "1407:7:33", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5527, + "id": 5444, "isConstant": false, "isLValue": false, "isPure": false, @@ -68585,39 +67595,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1407:153:35", + "src": "1407:153:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5528, + "id": 5445, "nodeType": "ExpressionStatement", - "src": "1407:153:35" + "src": "1407:153:33" } ] }, - "id": 5530, + "id": 5447, "implemented": true, "kind": "function", "modifiers": [], "name": "safeTransferFrom", - "nameLocation": "1090:16:35", + "nameLocation": "1090:16:33", "nodeType": "FunctionDefinition", "parameters": { - "id": 5493, + "id": 5410, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5486, + "id": 5403, "mutability": "mutable", "name": "token", - "nameLocation": "1124:5:35", + "nameLocation": "1124:5:33", "nodeType": "VariableDeclaration", - "scope": 5530, - "src": "1116:13:35", + "scope": 5447, + "src": "1116:13:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68625,10 +67635,10 @@ "typeString": "address" }, "typeName": { - "id": 5485, + "id": 5402, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1116:7:35", + "src": "1116:7:33", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -68639,13 +67649,13 @@ }, { "constant": false, - "id": 5488, + "id": 5405, "mutability": "mutable", "name": "from", - "nameLocation": "1147:4:35", + "nameLocation": "1147:4:33", "nodeType": "VariableDeclaration", - "scope": 5530, - "src": "1139:12:35", + "scope": 5447, + "src": "1139:12:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68653,10 +67663,10 @@ "typeString": "address" }, "typeName": { - "id": 5487, + "id": 5404, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1139:7:35", + "src": "1139:7:33", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -68667,13 +67677,13 @@ }, { "constant": false, - "id": 5490, + "id": 5407, "mutability": "mutable", "name": "to", - "nameLocation": "1169:2:35", + "nameLocation": "1169:2:33", "nodeType": "VariableDeclaration", - "scope": 5530, - "src": "1161:10:35", + "scope": 5447, + "src": "1161:10:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68681,10 +67691,10 @@ "typeString": "address" }, "typeName": { - "id": 5489, + "id": 5406, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1161:7:35", + "src": "1161:7:33", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -68695,13 +67705,13 @@ }, { "constant": false, - "id": 5492, + "id": 5409, "mutability": "mutable", "name": "value", - "nameLocation": "1189:5:35", + "nameLocation": "1189:5:33", "nodeType": "VariableDeclaration", - "scope": 5530, - "src": "1181:13:35", + "scope": 5447, + "src": "1181:13:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68709,10 +67719,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5491, + "id": 5408, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1181:7:35", + "src": "1181:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -68721,41 +67731,41 @@ "visibility": "internal" } ], - "src": "1106:94:35" + "src": "1106:94:33" }, "returnParameters": { - "id": 5494, + "id": 5411, "nodeType": "ParameterList", "parameters": [], - "src": "1210:0:35" + "src": "1210:0:33" }, - "scope": 5556, - "src": "1081:486:35", + "scope": 5473, + "src": "1081:486:33", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" }, { "body": { - "id": 5554, + "id": 5471, "nodeType": "Block", - "src": "1634:153:35", + "src": "1634:153:33", "statements": [ { "assignments": [ - 5538, + 5455, null ], "declarations": [ { "constant": false, - "id": 5538, + "id": 5455, "mutability": "mutable", "name": "success", - "nameLocation": "1650:7:35", + "nameLocation": "1650:7:33", "nodeType": "VariableDeclaration", - "scope": 5554, - "src": "1645:12:35", + "scope": 5471, + "src": "1645:12:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -68763,10 +67773,10 @@ "typeString": "bool" }, "typeName": { - "id": 5537, + "id": 5454, "name": "bool", "nodeType": "ElementaryTypeName", - "src": "1645:4:35", + "src": "1645:4:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -68776,21 +67786,21 @@ }, null ], - "id": 5548, + "id": 5465, "initialValue": { "arguments": [ { "arguments": [ { "hexValue": "30", - "id": 5545, + "id": 5462, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", - "src": "1695:1:35", + "src": "1695:1:33", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" @@ -68805,29 +67815,29 @@ "typeString": "int_const 0" } ], - "id": 5544, + "id": 5461, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "nodeType": "NewExpression", - "src": "1685:9:35", + "src": "1685:9:33", "typeDescriptions": { "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", "typeString": "function (uint256) pure returns (bytes memory)" }, "typeName": { - "id": 5543, + "id": 5460, "name": "bytes", "nodeType": "ElementaryTypeName", - "src": "1689:5:35", + "src": "1689:5:33", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } } }, - "id": 5546, + "id": 5463, "isConstant": false, "isLValue": false, "isPure": true, @@ -68836,7 +67846,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1685:12:35", + "src": "1685:12:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", @@ -68859,32 +67869,32 @@ } ], "expression": { - "id": 5539, + "id": 5456, "name": "to", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5532, - "src": "1663:2:35", + "referencedDeclaration": 5449, + "src": "1663:2:33", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, - "id": 5540, + "id": 5457, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, - "memberLocation": "1666:4:35", + "memberLocation": "1666:4:33", "memberName": "call", "nodeType": "MemberAccess", - "src": "1663:7:35", + "src": "1663:7:33", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5542, + "id": 5459, "isConstant": false, "isLValue": false, "isPure": false, @@ -68895,25 +67905,25 @@ "nodeType": "FunctionCallOptions", "options": [ { - "id": 5541, + "id": 5458, "name": "value", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5534, - "src": "1678:5:35", + "referencedDeclaration": 5451, + "src": "1678:5:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } } ], - "src": "1663:21:35", + "src": "1663:21:33", "typeDescriptions": { "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", "typeString": "function (bytes memory) payable returns (bool,bytes memory)" } }, - "id": 5547, + "id": 5464, "isConstant": false, "isLValue": false, "isPure": false, @@ -68922,7 +67932,7 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1663:35:35", + "src": "1663:35:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", @@ -68930,18 +67940,18 @@ } }, "nodeType": "VariableDeclarationStatement", - "src": "1644:54:35" + "src": "1644:54:33" }, { "expression": { "arguments": [ { - "id": 5550, + "id": 5467, "name": "success", "nodeType": "Identifier", "overloadedDeclarations": [], - "referencedDeclaration": 5538, - "src": "1716:7:35", + "referencedDeclaration": 5455, + "src": "1716:7:33", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" @@ -68949,14 +67959,14 @@ }, { "hexValue": "5472616e7366657248656c7065723a3a736166655472616e736665724554483a20455448207472616e73666572206661696c6564", - "id": 5551, + "id": 5468, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", - "src": "1725:54:35", + "src": "1725:54:33", "typeDescriptions": { "typeIdentifier": "t_stringliteral_43d7bec223ecf9eb06ea147e7d564bc71c2448662d62a4ea86ce71fc4518b350", "typeString": "literal_string \"TransferHelper::safeTransferETH: ETH transfer failed\"" @@ -68975,7 +67985,7 @@ "typeString": "literal_string \"TransferHelper::safeTransferETH: ETH transfer failed\"" } ], - "id": 5549, + "id": 5466, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ @@ -68983,13 +67993,13 @@ -18 ], "referencedDeclaration": -18, - "src": "1708:7:35", + "src": "1708:7:33", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, - "id": 5552, + "id": 5469, "isConstant": false, "isLValue": false, "isPure": false, @@ -68998,39 +68008,39 @@ "nameLocations": [], "names": [], "nodeType": "FunctionCall", - "src": "1708:72:35", + "src": "1708:72:33", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, - "id": 5553, + "id": 5470, "nodeType": "ExpressionStatement", - "src": "1708:72:35" + "src": "1708:72:33" } ] }, - "id": 5555, + "id": 5472, "implemented": true, "kind": "function", "modifiers": [], "name": "safeTransferETH", - "nameLocation": "1582:15:35", + "nameLocation": "1582:15:33", "nodeType": "FunctionDefinition", "parameters": { - "id": 5535, + "id": 5452, "nodeType": "ParameterList", "parameters": [ { "constant": false, - "id": 5532, + "id": 5449, "mutability": "mutable", "name": "to", - "nameLocation": "1606:2:35", + "nameLocation": "1606:2:33", "nodeType": "VariableDeclaration", - "scope": 5555, - "src": "1598:10:35", + "scope": 5472, + "src": "1598:10:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -69038,10 +68048,10 @@ "typeString": "address" }, "typeName": { - "id": 5531, + "id": 5448, "name": "address", "nodeType": "ElementaryTypeName", - "src": "1598:7:35", + "src": "1598:7:33", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", @@ -69052,13 +68062,13 @@ }, { "constant": false, - "id": 5534, + "id": 5451, "mutability": "mutable", "name": "value", - "nameLocation": "1618:5:35", + "nameLocation": "1618:5:33", "nodeType": "VariableDeclaration", - "scope": 5555, - "src": "1610:13:35", + "scope": 5472, + "src": "1610:13:33", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { @@ -69066,10 +68076,10 @@ "typeString": "uint256" }, "typeName": { - "id": 5533, + "id": 5450, "name": "uint256", "nodeType": "ElementaryTypeName", - "src": "1610:7:35", + "src": "1610:7:33", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" @@ -69078,30 +68088,30 @@ "visibility": "internal" } ], - "src": "1597:27:35" + "src": "1597:27:33" }, "returnParameters": { - "id": 5536, + "id": 5453, "nodeType": "ParameterList", "parameters": [], - "src": "1634:0:35" + "src": "1634:0:33" }, - "scope": 5556, - "src": "1573:214:35", + "scope": 5473, + "src": "1573:214:33", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], - "scope": 5557, - "src": "168:1621:35", + "scope": 5474, + "src": "168:1621:33", "usedErrors": [], "usedEvents": [] } ], - "src": "31:1758:35" + "src": "31:1758:33" }, - "id": 35 + "id": 33 } }, "contracts": { @@ -69447,7 +68457,7 @@ "upgradeToAndCall(address,bytes)": "4f1ef286" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy. A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing `UUPSUpgradeable` with a custom implementation of upgrades. The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"UPGRADE_INTERFACE_VERSION\":{\"details\":\"The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)` and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called, while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string. If the getter returns `\\\"5.0.0\\\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must be the empty byte string if no function should be called, making it impossible to invoke the `receive` function during an upgrade.\"},\"__self\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":\"UUPSUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy. A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing `UUPSUpgradeable` with a custom implementation of upgrades. The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"UPGRADE_INTERFACE_VERSION\":{\"details\":\"The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)` and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called, while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string. If the getter returns `\\\"5.0.0\\\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must be the empty byte string if no function should be called, making it impossible to invoke the `receive` function during an upgrade.\"},\"__self\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":\"UUPSUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -69765,16 +68775,16 @@ "supportsInterface(bytes4)": "01ffc9a7" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ```solidity bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ```solidity function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules} to enforce additional security measures for this role.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}]},\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/AccessControl.sol\":\"AccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xc1bebdee8943bd5e9ef1e0f2e63296aa1dd4171a66b9e74d0286220e891e1458\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928cf2f0042c606f3dcb21bd8a272573f462a215cd65285d2d6b407f31e9bd67\",\"dweb:/ipfs/QmWGxjckno6sfjHPX5naPnsfsyisgy4PJDf46eLw9umfpx\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x4d9a2b261b56a1e4a37bb038151dec98b952fed16de2bdfdda27e38e2b12b530\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f724110f7aeb6151af800ab8c12e6060b29bda9e013f0ccb331eb754d6a7cbf0\",\"dweb:/ipfs/QmUcjzCZpxtUPdEThtAzE1f9LvuJiUGZxTdH9N6bHrb5Cf\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ```solidity bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ```solidity function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it. We recommend using {AccessControlDefaultAdminRules} to enforce additional security measures for this role.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}]},\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[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\":{\"@openzeppelin/contracts/access/AccessControl.sol\":\"AccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x1a6b4f6b7798ab80929d491b89d5427a9b3338c0fd1acd0ba325f69c6f1646af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7bb7f346c12a14dc622bc105ce3c47202fbc89f4b153a28a63bb68193297330c\",\"dweb:/ipfs/QmagwF8P3bUBXwdo159ueEnY9dLSvEWwK24kk2op58egwG\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}", "storageLayout": { "storage": [ { - "astId": 717, + "astId": 718, "contract": "@openzeppelin/contracts/access/AccessControl.sol:AccessControl", "label": "_roles", "offset": 0, "slot": "0", - "type": "t_mapping(t_bytes32,t_struct(RoleData)712_storage)" + "type": "t_mapping(t_bytes32,t_struct(RoleData)713_storage)" } ], "types": { @@ -69800,19 +68810,19 @@ "numberOfBytes": "32", "value": "t_bool" }, - "t_mapping(t_bytes32,t_struct(RoleData)712_storage)": { + "t_mapping(t_bytes32,t_struct(RoleData)713_storage)": { "encoding": "mapping", "key": "t_bytes32", "label": "mapping(bytes32 => struct AccessControl.RoleData)", "numberOfBytes": "32", - "value": "t_struct(RoleData)712_storage" + "value": "t_struct(RoleData)713_storage" }, - "t_struct(RoleData)712_storage": { + "t_struct(RoleData)713_storage": { "encoding": "inplace", "label": "struct AccessControl.RoleData", "members": [ { - "astId": 709, + "astId": 710, "contract": "@openzeppelin/contracts/access/AccessControl.sol:AccessControl", "label": "hasRole", "offset": 0, @@ -69820,7 +68830,7 @@ "type": "t_mapping(t_address,t_bool)" }, { - "astId": 711, + "astId": 712, "contract": "@openzeppelin/contracts/access/AccessControl.sol:AccessControl", "label": "adminRole", "offset": 0, @@ -70057,7 +69067,7 @@ "revokeRole(bytes32,address)": "d547741f" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"External interface of AccessControl declared to support ERC-165 detection.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}]},\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/IAccessControl.sol\":\"IAccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x4d9a2b261b56a1e4a37bb038151dec98b952fed16de2bdfdda27e38e2b12b530\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f724110f7aeb6151af800ab8c12e6060b29bda9e013f0ccb331eb754d6a7cbf0\",\"dweb:/ipfs/QmUcjzCZpxtUPdEThtAzE1f9LvuJiUGZxTdH9N6bHrb5Cf\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"External interface of AccessControl declared to support ERC-165 detection.\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}]},\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/IAccessControl.sol\":\"IAccessControl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -70170,7 +69180,7 @@ "storageLayout": { "storage": [ { - "astId": 1078, + "astId": 1079, "contract": "@openzeppelin/contracts/access/Ownable.sol:Ownable", "label": "_owner", "offset": 0, @@ -70257,7 +69267,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":\"IERC1967\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":\"IERC1967\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -70303,7 +69313,7 @@ "proxiableUUID()": "52d1902d" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified proxy whose upgrades are fully controlled by the current implementation.\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":\"IERC1822Proxiable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified proxy whose upgrades are fully controlled by the current implementation.\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":\"IERC1822Proxiable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -70436,7 +69446,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-1155 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\",\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC1155Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC1155InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"idsLength\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"valuesLength\",\"type\":\"uint256\"}],\"name\":\"ERC1155InvalidArrayLength\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC1155InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC1155MissingApprovalForAll\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-1155 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-1155 tokens.\",\"errors\":{\"ERC1155InsufficientBalance(address,uint256,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC1155InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC1155InvalidArrayLength(uint256,uint256)\":[{\"details\":\"Indicates an array length mismatch between ids and values in a safeBatchTransferFrom operation. Used in batch transfers.\",\"params\":{\"idsLength\":\"Length of the array of token identifiers\",\"valuesLength\":\"Length of the array of token amounts\"}}],\"ERC1155InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC1155InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC1155InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC1155MissingApprovalForAll(address,address)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"owner\":\"Address of the current owner of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC1155Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -70551,7 +69561,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-20 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC20Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-20 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-20 tokens.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC20Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -70683,7 +69693,7 @@ }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-721 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC721Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721IncorrectOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721InsufficientApproval\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOperator\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ERC721InvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC721InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC721InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ERC721NonexistentToken\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Standard ERC-721 Errors Interface of the https://eips.ethereum.org/EIPS/eip-6093[ERC-6093] custom errors for ERC-721 tokens.\",\"errors\":{\"ERC721IncorrectOwner(address,uint256,address)\":[{\"details\":\"Indicates an error related to the ownership over a particular token. Used in transfers.\",\"params\":{\"owner\":\"Address of the current owner of a token.\",\"sender\":\"Address whose tokens are being transferred.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InsufficientApproval(address,uint256)\":[{\"details\":\"Indicates a failure with the `operator`\\u2019s approval. Used in transfers.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\",\"tokenId\":\"Identifier number of a token.\"}}],\"ERC721InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC721InvalidOperator(address)\":[{\"details\":\"Indicates a failure with the `operator` to be approved. Used in approvals.\",\"params\":{\"operator\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC721InvalidOwner(address)\":[{\"details\":\"Indicates that an address can't be an owner. For example, `address(0)` is a forbidden owner in ERC-20. Used in balance queries.\",\"params\":{\"owner\":\"Address of the current owner of a token.\"}}],\"ERC721InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC721InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC721NonexistentToken(uint256)\":[{\"details\":\"Indicates a `tokenId` whose `owner` is the zero address.\",\"params\":{\"tokenId\":\"Identifier number of a token.\"}}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":\"IERC721Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -70762,62 +69772,62 @@ "evm": { "bytecode": { "functionDebugData": { - "@_1410": { + "@_1411": { "entryPoint": null, - "id": 1410, + "id": 1411, "parameterSlots": 2, "returnSlots": 0 }, - "@_checkNonPayable_1716": { + "@_checkNonPayable_1717": { "entryPoint": 389, - "id": 1716, + "id": 1717, "parameterSlots": 0, "returnSlots": 0 }, - "@_revert_2871": { + "@_revert_2872": { "entryPoint": 517, - "id": 2871, + "id": 2872, "parameterSlots": 1, "returnSlots": 0 }, - "@_setImplementation_1496": { + "@_setImplementation_1497": { "entryPoint": 146, - "id": 1496, + "id": 1497, "parameterSlots": 1, "returnSlots": 0 }, - "@functionDelegateCall_2789": { + "@functionDelegateCall_2790": { "entryPoint": 270, - "id": 2789, + "id": 2790, "parameterSlots": 2, "returnSlots": 1 }, - "@getAddressSlot_2959": { + "@getAddressSlot_2960": { "entryPoint": null, - "id": 2959, + "id": 2960, "parameterSlots": 1, "returnSlots": 1 }, - "@upgradeToAndCall_1532": { + "@upgradeToAndCall_1533": { "entryPoint": 51, - "id": 1532, + "id": 1533, "parameterSlots": 2, "returnSlots": 0 }, - "@verifyCallResultFromTarget_2829": { + "@verifyCallResultFromTarget_2830": { "entryPoint": 422, - "id": 2829, + "id": 2830, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory": { - "entryPoint": 616, + "entryPoint": 615, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 822, + "entryPoint": 821, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -70829,13 +69839,13 @@ "returnSlots": 1 }, "copy_memory_to_memory_with_cleanup": { - "entryPoint": 580, + "entryPoint": 579, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "panic_error_0x41": { - "entryPoint": 558, + "entryPoint": 557, "id": null, "parameterSlots": 0, "returnSlots": 0 @@ -70844,30 +69854,30 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:1966:36", + "nativeSrc": "0:1966:34", "nodeType": "YulBlock", - "src": "0:1966:36", + "src": "0:1966:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "46:95:36", + "nativeSrc": "46:95:34", "nodeType": "YulBlock", - "src": "46:95:36", + "src": "46:95:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "63:1:36", + "nativeSrc": "63:1:34", "nodeType": "YulLiteral", - "src": "63:1:36", + "src": "63:1:34", "type": "", "value": "0" }, @@ -70875,154 +69885,154 @@ "arguments": [ { "kind": "number", - "nativeSrc": "70:3:36", + "nativeSrc": "70:3:34", "nodeType": "YulLiteral", - "src": "70:3:36", + "src": "70:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "75:10:36", + "nativeSrc": "75:10:34", "nodeType": "YulLiteral", - "src": "75:10:36", + "src": "75:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "66:3:36", + "nativeSrc": "66:3:34", "nodeType": "YulIdentifier", - "src": "66:3:36" + "src": "66:3:34" }, - "nativeSrc": "66:20:36", + "nativeSrc": "66:20:34", "nodeType": "YulFunctionCall", - "src": "66:20:36" + "src": "66:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "56:6:36", + "nativeSrc": "56:6:34", "nodeType": "YulIdentifier", - "src": "56:6:36" + "src": "56:6:34" }, - "nativeSrc": "56:31:36", + "nativeSrc": "56:31:34", "nodeType": "YulFunctionCall", - "src": "56:31:36" + "src": "56:31:34" }, - "nativeSrc": "56:31:36", + "nativeSrc": "56:31:34", "nodeType": "YulExpressionStatement", - "src": "56:31:36" + "src": "56:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "103:1:36", + "nativeSrc": "103:1:34", "nodeType": "YulLiteral", - "src": "103:1:36", + "src": "103:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "106:4:36", + "nativeSrc": "106:4:34", "nodeType": "YulLiteral", - "src": "106:4:36", + "src": "106:4:34", "type": "", "value": "0x41" } ], "functionName": { "name": "mstore", - "nativeSrc": "96:6:36", + "nativeSrc": "96:6:34", "nodeType": "YulIdentifier", - "src": "96:6:36" + "src": "96:6:34" }, - "nativeSrc": "96:15:36", + "nativeSrc": "96:15:34", "nodeType": "YulFunctionCall", - "src": "96:15:36" + "src": "96:15:34" }, - "nativeSrc": "96:15:36", + "nativeSrc": "96:15:34", "nodeType": "YulExpressionStatement", - "src": "96:15:36" + "src": "96:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "127:1:36", + "nativeSrc": "127:1:34", "nodeType": "YulLiteral", - "src": "127:1:36", + "src": "127:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "130:4:36", + "nativeSrc": "130:4:34", "nodeType": "YulLiteral", - "src": "130:4:36", + "src": "130:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "120:6:36", + "nativeSrc": "120:6:34", "nodeType": "YulIdentifier", - "src": "120:6:36" + "src": "120:6:34" }, - "nativeSrc": "120:15:36", + "nativeSrc": "120:15:34", "nodeType": "YulFunctionCall", - "src": "120:15:36" + "src": "120:15:34" }, - "nativeSrc": "120:15:36", + "nativeSrc": "120:15:34", "nodeType": "YulExpressionStatement", - "src": "120:15:36" + "src": "120:15:34" } ] }, "name": "panic_error_0x41", - "nativeSrc": "14:127:36", + "nativeSrc": "14:127:34", "nodeType": "YulFunctionDefinition", - "src": "14:127:36" + "src": "14:127:34" }, { "body": { - "nativeSrc": "212:184:36", + "nativeSrc": "212:184:34", "nodeType": "YulBlock", - "src": "212:184:36", + "src": "212:184:34", "statements": [ { - "nativeSrc": "222:10:36", + "nativeSrc": "222:10:34", "nodeType": "YulVariableDeclaration", - "src": "222:10:36", + "src": "222:10:34", "value": { "kind": "number", - "nativeSrc": "231:1:36", + "nativeSrc": "231:1:34", "nodeType": "YulLiteral", - "src": "231:1:36", + "src": "231:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "226:1:36", + "nativeSrc": "226:1:34", "nodeType": "YulTypedName", - "src": "226:1:36", + "src": "226:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "291:63:36", + "nativeSrc": "291:63:34", "nodeType": "YulBlock", - "src": "291:63:36", + "src": "291:63:34", "statements": [ { "expression": { @@ -71031,26 +70041,26 @@ "arguments": [ { "name": "dst", - "nativeSrc": "316:3:36", + "nativeSrc": "316:3:34", "nodeType": "YulIdentifier", - "src": "316:3:36" + "src": "316:3:34" }, { "name": "i", - "nativeSrc": "321:1:36", + "nativeSrc": "321:1:34", "nodeType": "YulIdentifier", - "src": "321:1:36" + "src": "321:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "312:3:36", + "nativeSrc": "312:3:34", "nodeType": "YulIdentifier", - "src": "312:3:36" + "src": "312:3:34" }, - "nativeSrc": "312:11:36", + "nativeSrc": "312:11:34", "nodeType": "YulFunctionCall", - "src": "312:11:36" + "src": "312:11:34" }, { "arguments": [ @@ -71058,52 +70068,52 @@ "arguments": [ { "name": "src", - "nativeSrc": "335:3:36", + "nativeSrc": "335:3:34", "nodeType": "YulIdentifier", - "src": "335:3:36" + "src": "335:3:34" }, { "name": "i", - "nativeSrc": "340:1:36", + "nativeSrc": "340:1:34", "nodeType": "YulIdentifier", - "src": "340:1:36" + "src": "340:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "331:3:36", + "nativeSrc": "331:3:34", "nodeType": "YulIdentifier", - "src": "331:3:36" + "src": "331:3:34" }, - "nativeSrc": "331:11:36", + "nativeSrc": "331:11:34", "nodeType": "YulFunctionCall", - "src": "331:11:36" + "src": "331:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "325:5:36", + "nativeSrc": "325:5:34", "nodeType": "YulIdentifier", - "src": "325:5:36" + "src": "325:5:34" }, - "nativeSrc": "325:18:36", + "nativeSrc": "325:18:34", "nodeType": "YulFunctionCall", - "src": "325:18:36" + "src": "325:18:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "305:6:36", + "nativeSrc": "305:6:34", "nodeType": "YulIdentifier", - "src": "305:6:36" + "src": "305:6:34" }, - "nativeSrc": "305:39:36", + "nativeSrc": "305:39:34", "nodeType": "YulFunctionCall", - "src": "305:39:36" + "src": "305:39:34" }, - "nativeSrc": "305:39:36", + "nativeSrc": "305:39:34", "nodeType": "YulExpressionStatement", - "src": "305:39:36" + "src": "305:39:34" } ] }, @@ -71111,83 +70121,83 @@ "arguments": [ { "name": "i", - "nativeSrc": "252:1:36", + "nativeSrc": "252:1:34", "nodeType": "YulIdentifier", - "src": "252:1:36" + "src": "252:1:34" }, { "name": "length", - "nativeSrc": "255:6:36", + "nativeSrc": "255:6:34", "nodeType": "YulIdentifier", - "src": "255:6:36" + "src": "255:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "249:2:36", + "nativeSrc": "249:2:34", "nodeType": "YulIdentifier", - "src": "249:2:36" + "src": "249:2:34" }, - "nativeSrc": "249:13:36", + "nativeSrc": "249:13:34", "nodeType": "YulFunctionCall", - "src": "249:13:36" + "src": "249:13:34" }, - "nativeSrc": "241:113:36", + "nativeSrc": "241:113:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "263:19:36", + "nativeSrc": "263:19:34", "nodeType": "YulBlock", - "src": "263:19:36", + "src": "263:19:34", "statements": [ { - "nativeSrc": "265:15:36", + "nativeSrc": "265:15:34", "nodeType": "YulAssignment", - "src": "265:15:36", + "src": "265:15:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "274:1:36", + "nativeSrc": "274:1:34", "nodeType": "YulIdentifier", - "src": "274:1:36" + "src": "274:1:34" }, { "kind": "number", - "nativeSrc": "277:2:36", + "nativeSrc": "277:2:34", "nodeType": "YulLiteral", - "src": "277:2:36", + "src": "277:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "270:3:36", + "nativeSrc": "270:3:34", "nodeType": "YulIdentifier", - "src": "270:3:36" + "src": "270:3:34" }, - "nativeSrc": "270:10:36", + "nativeSrc": "270:10:34", "nodeType": "YulFunctionCall", - "src": "270:10:36" + "src": "270:10:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "265:1:36", + "nativeSrc": "265:1:34", "nodeType": "YulIdentifier", - "src": "265:1:36" + "src": "265:1:34" } ] } ] }, "pre": { - "nativeSrc": "245:3:36", + "nativeSrc": "245:3:34", "nodeType": "YulBlock", - "src": "245:3:36", + "src": "245:3:34", "statements": [] }, - "src": "241:113:36" + "src": "241:113:34" }, { "expression": { @@ -71196,125 +70206,125 @@ "arguments": [ { "name": "dst", - "nativeSrc": "374:3:36", + "nativeSrc": "374:3:34", "nodeType": "YulIdentifier", - "src": "374:3:36" + "src": "374:3:34" }, { "name": "length", - "nativeSrc": "379:6:36", + "nativeSrc": "379:6:34", "nodeType": "YulIdentifier", - "src": "379:6:36" + "src": "379:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "370:3:36", + "nativeSrc": "370:3:34", "nodeType": "YulIdentifier", - "src": "370:3:36" + "src": "370:3:34" }, - "nativeSrc": "370:16:36", + "nativeSrc": "370:16:34", "nodeType": "YulFunctionCall", - "src": "370:16:36" + "src": "370:16:34" }, { "kind": "number", - "nativeSrc": "388:1:36", + "nativeSrc": "388:1:34", "nodeType": "YulLiteral", - "src": "388:1:36", + "src": "388:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "363:6:36", + "nativeSrc": "363:6:34", "nodeType": "YulIdentifier", - "src": "363:6:36" + "src": "363:6:34" }, - "nativeSrc": "363:27:36", + "nativeSrc": "363:27:34", "nodeType": "YulFunctionCall", - "src": "363:27:36" + "src": "363:27:34" }, - "nativeSrc": "363:27:36", + "nativeSrc": "363:27:34", "nodeType": "YulExpressionStatement", - "src": "363:27:36" + "src": "363:27:34" } ] }, "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "146:250:36", + "nativeSrc": "146:250:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "src", - "nativeSrc": "190:3:36", + "nativeSrc": "190:3:34", "nodeType": "YulTypedName", - "src": "190:3:36", + "src": "190:3:34", "type": "" }, { "name": "dst", - "nativeSrc": "195:3:36", + "nativeSrc": "195:3:34", "nodeType": "YulTypedName", - "src": "195:3:36", + "src": "195:3:34", "type": "" }, { "name": "length", - "nativeSrc": "200:6:36", + "nativeSrc": "200:6:34", "nodeType": "YulTypedName", - "src": "200:6:36", + "src": "200:6:34", "type": "" } ], - "src": "146:250:36" + "src": "146:250:34" }, { "body": { - "nativeSrc": "508:956:36", + "nativeSrc": "508:956:34", "nodeType": "YulBlock", - "src": "508:956:36", + "src": "508:956:34", "statements": [ { "body": { - "nativeSrc": "554:16:36", + "nativeSrc": "554:16:34", "nodeType": "YulBlock", - "src": "554:16:36", + "src": "554:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "563:1:36", + "nativeSrc": "563:1:34", "nodeType": "YulLiteral", - "src": "563:1:36", + "src": "563:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "566:1:36", + "nativeSrc": "566:1:34", "nodeType": "YulLiteral", - "src": "566:1:36", + "src": "566:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "556:6:36", + "nativeSrc": "556:6:34", "nodeType": "YulIdentifier", - "src": "556:6:36" + "src": "556:6:34" }, - "nativeSrc": "556:12:36", + "nativeSrc": "556:12:34", "nodeType": "YulFunctionCall", - "src": "556:12:36" + "src": "556:12:34" }, - "nativeSrc": "556:12:36", + "nativeSrc": "556:12:34", "nodeType": "YulExpressionStatement", - "src": "556:12:36" + "src": "556:12:34" } ] }, @@ -71324,122 +70334,122 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "529:7:36", + "nativeSrc": "529:7:34", "nodeType": "YulIdentifier", - "src": "529:7:36" + "src": "529:7:34" }, { "name": "headStart", - "nativeSrc": "538:9:36", + "nativeSrc": "538:9:34", "nodeType": "YulIdentifier", - "src": "538:9:36" + "src": "538:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "525:3:36", + "nativeSrc": "525:3:34", "nodeType": "YulIdentifier", - "src": "525:3:36" + "src": "525:3:34" }, - "nativeSrc": "525:23:36", + "nativeSrc": "525:23:34", "nodeType": "YulFunctionCall", - "src": "525:23:36" + "src": "525:23:34" }, { "kind": "number", - "nativeSrc": "550:2:36", + "nativeSrc": "550:2:34", "nodeType": "YulLiteral", - "src": "550:2:36", + "src": "550:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "521:3:36", + "nativeSrc": "521:3:34", "nodeType": "YulIdentifier", - "src": "521:3:36" + "src": "521:3:34" }, - "nativeSrc": "521:32:36", + "nativeSrc": "521:32:34", "nodeType": "YulFunctionCall", - "src": "521:32:36" + "src": "521:32:34" }, - "nativeSrc": "518:52:36", + "nativeSrc": "518:52:34", "nodeType": "YulIf", - "src": "518:52:36" + "src": "518:52:34" }, { - "nativeSrc": "579:29:36", + "nativeSrc": "579:29:34", "nodeType": "YulVariableDeclaration", - "src": "579:29:36", + "src": "579:29:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "598:9:36", + "nativeSrc": "598:9:34", "nodeType": "YulIdentifier", - "src": "598:9:36" + "src": "598:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "592:5:36", + "nativeSrc": "592:5:34", "nodeType": "YulIdentifier", - "src": "592:5:36" + "src": "592:5:34" }, - "nativeSrc": "592:16:36", + "nativeSrc": "592:16:34", "nodeType": "YulFunctionCall", - "src": "592:16:36" + "src": "592:16:34" }, "variables": [ { "name": "value", - "nativeSrc": "583:5:36", + "nativeSrc": "583:5:34", "nodeType": "YulTypedName", - "src": "583:5:36", + "src": "583:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "671:16:36", + "nativeSrc": "671:16:34", "nodeType": "YulBlock", - "src": "671:16:36", + "src": "671:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "680:1:36", + "nativeSrc": "680:1:34", "nodeType": "YulLiteral", - "src": "680:1:36", + "src": "680:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "683:1:36", + "nativeSrc": "683:1:34", "nodeType": "YulLiteral", - "src": "683:1:36", + "src": "683:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "673:6:36", + "nativeSrc": "673:6:34", "nodeType": "YulIdentifier", - "src": "673:6:36" + "src": "673:6:34" }, - "nativeSrc": "673:12:36", + "nativeSrc": "673:12:34", "nodeType": "YulFunctionCall", - "src": "673:12:36" + "src": "673:12:34" }, - "nativeSrc": "673:12:36", + "nativeSrc": "673:12:34", "nodeType": "YulExpressionStatement", - "src": "673:12:36" + "src": "673:12:34" } ] }, @@ -71449,17 +70459,17 @@ "arguments": [ { "name": "value", - "nativeSrc": "630:5:36", + "nativeSrc": "630:5:34", "nodeType": "YulIdentifier", - "src": "630:5:36" + "src": "630:5:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "641:5:36", + "nativeSrc": "641:5:34", "nodeType": "YulIdentifier", - "src": "641:5:36" + "src": "641:5:34" }, { "arguments": [ @@ -71467,263 +70477,263 @@ "arguments": [ { "kind": "number", - "nativeSrc": "656:3:36", + "nativeSrc": "656:3:34", "nodeType": "YulLiteral", - "src": "656:3:36", + "src": "656:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "661:1:36", + "nativeSrc": "661:1:34", "nodeType": "YulLiteral", - "src": "661:1:36", + "src": "661:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "652:3:36", + "nativeSrc": "652:3:34", "nodeType": "YulIdentifier", - "src": "652:3:36" + "src": "652:3:34" }, - "nativeSrc": "652:11:36", + "nativeSrc": "652:11:34", "nodeType": "YulFunctionCall", - "src": "652:11:36" + "src": "652:11:34" }, { "kind": "number", - "nativeSrc": "665:1:36", + "nativeSrc": "665:1:34", "nodeType": "YulLiteral", - "src": "665:1:36", + "src": "665:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "648:3:36", + "nativeSrc": "648:3:34", "nodeType": "YulIdentifier", - "src": "648:3:36" + "src": "648:3:34" }, - "nativeSrc": "648:19:36", + "nativeSrc": "648:19:34", "nodeType": "YulFunctionCall", - "src": "648:19:36" + "src": "648:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "637:3:36", + "nativeSrc": "637:3:34", "nodeType": "YulIdentifier", - "src": "637:3:36" + "src": "637:3:34" }, - "nativeSrc": "637:31:36", + "nativeSrc": "637:31:34", "nodeType": "YulFunctionCall", - "src": "637:31:36" + "src": "637:31:34" } ], "functionName": { "name": "eq", - "nativeSrc": "627:2:36", + "nativeSrc": "627:2:34", "nodeType": "YulIdentifier", - "src": "627:2:36" + "src": "627:2:34" }, - "nativeSrc": "627:42:36", + "nativeSrc": "627:42:34", "nodeType": "YulFunctionCall", - "src": "627:42:36" + "src": "627:42:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "620:6:36", + "nativeSrc": "620:6:34", "nodeType": "YulIdentifier", - "src": "620:6:36" + "src": "620:6:34" }, - "nativeSrc": "620:50:36", + "nativeSrc": "620:50:34", "nodeType": "YulFunctionCall", - "src": "620:50:36" + "src": "620:50:34" }, - "nativeSrc": "617:70:36", + "nativeSrc": "617:70:34", "nodeType": "YulIf", - "src": "617:70:36" + "src": "617:70:34" }, { - "nativeSrc": "696:15:36", + "nativeSrc": "696:15:34", "nodeType": "YulAssignment", - "src": "696:15:36", + "src": "696:15:34", "value": { "name": "value", - "nativeSrc": "706:5:36", + "nativeSrc": "706:5:34", "nodeType": "YulIdentifier", - "src": "706:5:36" + "src": "706:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "696:6:36", + "nativeSrc": "696:6:34", "nodeType": "YulIdentifier", - "src": "696:6:36" + "src": "696:6:34" } ] }, { - "nativeSrc": "720:39:36", + "nativeSrc": "720:39:34", "nodeType": "YulVariableDeclaration", - "src": "720:39:36", + "src": "720:39:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "744:9:36", + "nativeSrc": "744:9:34", "nodeType": "YulIdentifier", - "src": "744:9:36" + "src": "744:9:34" }, { "kind": "number", - "nativeSrc": "755:2:36", + "nativeSrc": "755:2:34", "nodeType": "YulLiteral", - "src": "755:2:36", + "src": "755:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "740:3:36", + "nativeSrc": "740:3:34", "nodeType": "YulIdentifier", - "src": "740:3:36" + "src": "740:3:34" }, - "nativeSrc": "740:18:36", + "nativeSrc": "740:18:34", "nodeType": "YulFunctionCall", - "src": "740:18:36" + "src": "740:18:34" } ], "functionName": { "name": "mload", - "nativeSrc": "734:5:36", + "nativeSrc": "734:5:34", "nodeType": "YulIdentifier", - "src": "734:5:36" + "src": "734:5:34" }, - "nativeSrc": "734:25:36", + "nativeSrc": "734:25:34", "nodeType": "YulFunctionCall", - "src": "734:25:36" + "src": "734:25:34" }, "variables": [ { "name": "offset", - "nativeSrc": "724:6:36", + "nativeSrc": "724:6:34", "nodeType": "YulTypedName", - "src": "724:6:36", + "src": "724:6:34", "type": "" } ] }, { - "nativeSrc": "768:28:36", + "nativeSrc": "768:28:34", "nodeType": "YulVariableDeclaration", - "src": "768:28:36", + "src": "768:28:34", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "786:2:36", + "nativeSrc": "786:2:34", "nodeType": "YulLiteral", - "src": "786:2:36", + "src": "786:2:34", "type": "", "value": "64" }, { "kind": "number", - "nativeSrc": "790:1:36", + "nativeSrc": "790:1:34", "nodeType": "YulLiteral", - "src": "790:1:36", + "src": "790:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "782:3:36", + "nativeSrc": "782:3:34", "nodeType": "YulIdentifier", - "src": "782:3:36" + "src": "782:3:34" }, - "nativeSrc": "782:10:36", + "nativeSrc": "782:10:34", "nodeType": "YulFunctionCall", - "src": "782:10:36" + "src": "782:10:34" }, { "kind": "number", - "nativeSrc": "794:1:36", + "nativeSrc": "794:1:34", "nodeType": "YulLiteral", - "src": "794:1:36", + "src": "794:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "778:3:36", + "nativeSrc": "778:3:34", "nodeType": "YulIdentifier", - "src": "778:3:36" + "src": "778:3:34" }, - "nativeSrc": "778:18:36", + "nativeSrc": "778:18:34", "nodeType": "YulFunctionCall", - "src": "778:18:36" + "src": "778:18:34" }, "variables": [ { "name": "_1", - "nativeSrc": "772:2:36", + "nativeSrc": "772:2:34", "nodeType": "YulTypedName", - "src": "772:2:36", + "src": "772:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "823:16:36", + "nativeSrc": "823:16:34", "nodeType": "YulBlock", - "src": "823:16:36", + "src": "823:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "832:1:36", + "nativeSrc": "832:1:34", "nodeType": "YulLiteral", - "src": "832:1:36", + "src": "832:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "835:1:36", + "nativeSrc": "835:1:34", "nodeType": "YulLiteral", - "src": "835:1:36", + "src": "835:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "825:6:36", + "nativeSrc": "825:6:34", "nodeType": "YulIdentifier", - "src": "825:6:36" + "src": "825:6:34" }, - "nativeSrc": "825:12:36", + "nativeSrc": "825:12:34", "nodeType": "YulFunctionCall", - "src": "825:12:36" + "src": "825:12:34" }, - "nativeSrc": "825:12:36", + "nativeSrc": "825:12:34", "nodeType": "YulExpressionStatement", - "src": "825:12:36" + "src": "825:12:34" } ] }, @@ -71731,109 +70741,109 @@ "arguments": [ { "name": "offset", - "nativeSrc": "811:6:36", + "nativeSrc": "811:6:34", "nodeType": "YulIdentifier", - "src": "811:6:36" + "src": "811:6:34" }, { "name": "_1", - "nativeSrc": "819:2:36", + "nativeSrc": "819:2:34", "nodeType": "YulIdentifier", - "src": "819:2:36" + "src": "819:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "808:2:36", + "nativeSrc": "808:2:34", "nodeType": "YulIdentifier", - "src": "808:2:36" + "src": "808:2:34" }, - "nativeSrc": "808:14:36", + "nativeSrc": "808:14:34", "nodeType": "YulFunctionCall", - "src": "808:14:36" + "src": "808:14:34" }, - "nativeSrc": "805:34:36", + "nativeSrc": "805:34:34", "nodeType": "YulIf", - "src": "805:34:36" + "src": "805:34:34" }, { - "nativeSrc": "848:32:36", + "nativeSrc": "848:32:34", "nodeType": "YulVariableDeclaration", - "src": "848:32:36", + "src": "848:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "862:9:36", + "nativeSrc": "862:9:34", "nodeType": "YulIdentifier", - "src": "862:9:36" + "src": "862:9:34" }, { "name": "offset", - "nativeSrc": "873:6:36", + "nativeSrc": "873:6:34", "nodeType": "YulIdentifier", - "src": "873:6:36" + "src": "873:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "858:3:36", + "nativeSrc": "858:3:34", "nodeType": "YulIdentifier", - "src": "858:3:36" + "src": "858:3:34" }, - "nativeSrc": "858:22:36", + "nativeSrc": "858:22:34", "nodeType": "YulFunctionCall", - "src": "858:22:36" + "src": "858:22:34" }, "variables": [ { "name": "_2", - "nativeSrc": "852:2:36", + "nativeSrc": "852:2:34", "nodeType": "YulTypedName", - "src": "852:2:36", + "src": "852:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "928:16:36", + "nativeSrc": "928:16:34", "nodeType": "YulBlock", - "src": "928:16:36", + "src": "928:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "937:1:36", + "nativeSrc": "937:1:34", "nodeType": "YulLiteral", - "src": "937:1:36", + "src": "937:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "940:1:36", + "nativeSrc": "940:1:34", "nodeType": "YulLiteral", - "src": "940:1:36", + "src": "940:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "930:6:36", + "nativeSrc": "930:6:34", "nodeType": "YulIdentifier", - "src": "930:6:36" + "src": "930:6:34" }, - "nativeSrc": "930:12:36", + "nativeSrc": "930:12:34", "nodeType": "YulFunctionCall", - "src": "930:12:36" + "src": "930:12:34" }, - "nativeSrc": "930:12:36", + "nativeSrc": "930:12:34", "nodeType": "YulExpressionStatement", - "src": "930:12:36" + "src": "930:12:34" } ] }, @@ -71845,116 +70855,116 @@ "arguments": [ { "name": "_2", - "nativeSrc": "907:2:36", + "nativeSrc": "907:2:34", "nodeType": "YulIdentifier", - "src": "907:2:36" + "src": "907:2:34" }, { "kind": "number", - "nativeSrc": "911:4:36", + "nativeSrc": "911:4:34", "nodeType": "YulLiteral", - "src": "911:4:36", + "src": "911:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "903:3:36", + "nativeSrc": "903:3:34", "nodeType": "YulIdentifier", - "src": "903:3:36" + "src": "903:3:34" }, - "nativeSrc": "903:13:36", + "nativeSrc": "903:13:34", "nodeType": "YulFunctionCall", - "src": "903:13:36" + "src": "903:13:34" }, { "name": "dataEnd", - "nativeSrc": "918:7:36", + "nativeSrc": "918:7:34", "nodeType": "YulIdentifier", - "src": "918:7:36" + "src": "918:7:34" } ], "functionName": { "name": "slt", - "nativeSrc": "899:3:36", + "nativeSrc": "899:3:34", "nodeType": "YulIdentifier", - "src": "899:3:36" + "src": "899:3:34" }, - "nativeSrc": "899:27:36", + "nativeSrc": "899:27:34", "nodeType": "YulFunctionCall", - "src": "899:27:36" + "src": "899:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "892:6:36", + "nativeSrc": "892:6:34", "nodeType": "YulIdentifier", - "src": "892:6:36" + "src": "892:6:34" }, - "nativeSrc": "892:35:36", + "nativeSrc": "892:35:34", "nodeType": "YulFunctionCall", - "src": "892:35:36" + "src": "892:35:34" }, - "nativeSrc": "889:55:36", + "nativeSrc": "889:55:34", "nodeType": "YulIf", - "src": "889:55:36" + "src": "889:55:34" }, { - "nativeSrc": "953:19:36", + "nativeSrc": "953:19:34", "nodeType": "YulVariableDeclaration", - "src": "953:19:36", + "src": "953:19:34", "value": { "arguments": [ { "name": "_2", - "nativeSrc": "969:2:36", + "nativeSrc": "969:2:34", "nodeType": "YulIdentifier", - "src": "969:2:36" + "src": "969:2:34" } ], "functionName": { "name": "mload", - "nativeSrc": "963:5:36", + "nativeSrc": "963:5:34", "nodeType": "YulIdentifier", - "src": "963:5:36" + "src": "963:5:34" }, - "nativeSrc": "963:9:36", + "nativeSrc": "963:9:34", "nodeType": "YulFunctionCall", - "src": "963:9:36" + "src": "963:9:34" }, "variables": [ { "name": "_3", - "nativeSrc": "957:2:36", + "nativeSrc": "957:2:34", "nodeType": "YulTypedName", - "src": "957:2:36", + "src": "957:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "995:22:36", + "nativeSrc": "995:22:34", "nodeType": "YulBlock", - "src": "995:22:36", + "src": "995:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "997:16:36", + "nativeSrc": "997:16:34", "nodeType": "YulIdentifier", - "src": "997:16:36" + "src": "997:16:34" }, - "nativeSrc": "997:18:36", + "nativeSrc": "997:18:34", "nodeType": "YulFunctionCall", - "src": "997:18:36" + "src": "997:18:34" }, - "nativeSrc": "997:18:36", + "nativeSrc": "997:18:34", "nodeType": "YulExpressionStatement", - "src": "997:18:36" + "src": "997:18:34" } ] }, @@ -71962,112 +70972,112 @@ "arguments": [ { "name": "_3", - "nativeSrc": "987:2:36", + "nativeSrc": "987:2:34", "nodeType": "YulIdentifier", - "src": "987:2:36" + "src": "987:2:34" }, { "name": "_1", - "nativeSrc": "991:2:36", + "nativeSrc": "991:2:34", "nodeType": "YulIdentifier", - "src": "991:2:36" + "src": "991:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "984:2:36", + "nativeSrc": "984:2:34", "nodeType": "YulIdentifier", - "src": "984:2:36" + "src": "984:2:34" }, - "nativeSrc": "984:10:36", + "nativeSrc": "984:10:34", "nodeType": "YulFunctionCall", - "src": "984:10:36" + "src": "984:10:34" }, - "nativeSrc": "981:36:36", + "nativeSrc": "981:36:34", "nodeType": "YulIf", - "src": "981:36:36" + "src": "981:36:34" }, { - "nativeSrc": "1026:17:36", + "nativeSrc": "1026:17:34", "nodeType": "YulVariableDeclaration", - "src": "1026:17:36", + "src": "1026:17:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1040:2:36", + "nativeSrc": "1040:2:34", "nodeType": "YulLiteral", - "src": "1040:2:36", + "src": "1040:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "1036:3:36", + "nativeSrc": "1036:3:34", "nodeType": "YulIdentifier", - "src": "1036:3:36" + "src": "1036:3:34" }, - "nativeSrc": "1036:7:36", + "nativeSrc": "1036:7:34", "nodeType": "YulFunctionCall", - "src": "1036:7:36" + "src": "1036:7:34" }, "variables": [ { "name": "_4", - "nativeSrc": "1030:2:36", + "nativeSrc": "1030:2:34", "nodeType": "YulTypedName", - "src": "1030:2:36", + "src": "1030:2:34", "type": "" } ] }, { - "nativeSrc": "1052:23:36", + "nativeSrc": "1052:23:34", "nodeType": "YulVariableDeclaration", - "src": "1052:23:36", + "src": "1052:23:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1072:2:36", + "nativeSrc": "1072:2:34", "nodeType": "YulLiteral", - "src": "1072:2:36", + "src": "1072:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "1066:5:36", + "nativeSrc": "1066:5:34", "nodeType": "YulIdentifier", - "src": "1066:5:36" + "src": "1066:5:34" }, - "nativeSrc": "1066:9:36", + "nativeSrc": "1066:9:34", "nodeType": "YulFunctionCall", - "src": "1066:9:36" + "src": "1066:9:34" }, "variables": [ { "name": "memPtr", - "nativeSrc": "1056:6:36", + "nativeSrc": "1056:6:34", "nodeType": "YulTypedName", - "src": "1056:6:36", + "src": "1056:6:34", "type": "" } ] }, { - "nativeSrc": "1084:71:36", + "nativeSrc": "1084:71:34", "nodeType": "YulVariableDeclaration", - "src": "1084:71:36", + "src": "1084:71:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "1106:6:36", + "nativeSrc": "1106:6:34", "nodeType": "YulIdentifier", - "src": "1106:6:36" + "src": "1106:6:34" }, { "arguments": [ @@ -72079,125 +71089,125 @@ "arguments": [ { "name": "_3", - "nativeSrc": "1130:2:36", + "nativeSrc": "1130:2:34", "nodeType": "YulIdentifier", - "src": "1130:2:36" + "src": "1130:2:34" }, { "kind": "number", - "nativeSrc": "1134:4:36", + "nativeSrc": "1134:4:34", "nodeType": "YulLiteral", - "src": "1134:4:36", + "src": "1134:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "1126:3:36", + "nativeSrc": "1126:3:34", "nodeType": "YulIdentifier", - "src": "1126:3:36" + "src": "1126:3:34" }, - "nativeSrc": "1126:13:36", + "nativeSrc": "1126:13:34", "nodeType": "YulFunctionCall", - "src": "1126:13:36" + "src": "1126:13:34" }, { "name": "_4", - "nativeSrc": "1141:2:36", + "nativeSrc": "1141:2:34", "nodeType": "YulIdentifier", - "src": "1141:2:36" + "src": "1141:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "1122:3:36", + "nativeSrc": "1122:3:34", "nodeType": "YulIdentifier", - "src": "1122:3:36" + "src": "1122:3:34" }, - "nativeSrc": "1122:22:36", + "nativeSrc": "1122:22:34", "nodeType": "YulFunctionCall", - "src": "1122:22:36" + "src": "1122:22:34" }, { "kind": "number", - "nativeSrc": "1146:2:36", + "nativeSrc": "1146:2:34", "nodeType": "YulLiteral", - "src": "1146:2:36", + "src": "1146:2:34", "type": "", "value": "63" } ], "functionName": { "name": "add", - "nativeSrc": "1118:3:36", + "nativeSrc": "1118:3:34", "nodeType": "YulIdentifier", - "src": "1118:3:36" + "src": "1118:3:34" }, - "nativeSrc": "1118:31:36", + "nativeSrc": "1118:31:34", "nodeType": "YulFunctionCall", - "src": "1118:31:36" + "src": "1118:31:34" }, { "name": "_4", - "nativeSrc": "1151:2:36", + "nativeSrc": "1151:2:34", "nodeType": "YulIdentifier", - "src": "1151:2:36" + "src": "1151:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "1114:3:36", + "nativeSrc": "1114:3:34", "nodeType": "YulIdentifier", - "src": "1114:3:36" + "src": "1114:3:34" }, - "nativeSrc": "1114:40:36", + "nativeSrc": "1114:40:34", "nodeType": "YulFunctionCall", - "src": "1114:40:36" + "src": "1114:40:34" } ], "functionName": { "name": "add", - "nativeSrc": "1102:3:36", + "nativeSrc": "1102:3:34", "nodeType": "YulIdentifier", - "src": "1102:3:36" + "src": "1102:3:34" }, - "nativeSrc": "1102:53:36", + "nativeSrc": "1102:53:34", "nodeType": "YulFunctionCall", - "src": "1102:53:36" + "src": "1102:53:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "1088:10:36", + "nativeSrc": "1088:10:34", "nodeType": "YulTypedName", - "src": "1088:10:36", + "src": "1088:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "1214:22:36", + "nativeSrc": "1214:22:34", "nodeType": "YulBlock", - "src": "1214:22:36", + "src": "1214:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "1216:16:36", + "nativeSrc": "1216:16:34", "nodeType": "YulIdentifier", - "src": "1216:16:36" + "src": "1216:16:34" }, - "nativeSrc": "1216:18:36", + "nativeSrc": "1216:18:34", "nodeType": "YulFunctionCall", - "src": "1216:18:36" + "src": "1216:18:34" }, - "nativeSrc": "1216:18:36", + "nativeSrc": "1216:18:34", "nodeType": "YulExpressionStatement", - "src": "1216:18:36" + "src": "1216:18:34" } ] }, @@ -72207,168 +71217,168 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "1173:10:36", + "nativeSrc": "1173:10:34", "nodeType": "YulIdentifier", - "src": "1173:10:36" + "src": "1173:10:34" }, { "name": "_1", - "nativeSrc": "1185:2:36", + "nativeSrc": "1185:2:34", "nodeType": "YulIdentifier", - "src": "1185:2:36" + "src": "1185:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1170:2:36", + "nativeSrc": "1170:2:34", "nodeType": "YulIdentifier", - "src": "1170:2:36" + "src": "1170:2:34" }, - "nativeSrc": "1170:18:36", + "nativeSrc": "1170:18:34", "nodeType": "YulFunctionCall", - "src": "1170:18:36" + "src": "1170:18:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "1193:10:36", + "nativeSrc": "1193:10:34", "nodeType": "YulIdentifier", - "src": "1193:10:36" + "src": "1193:10:34" }, { "name": "memPtr", - "nativeSrc": "1205:6:36", + "nativeSrc": "1205:6:34", "nodeType": "YulIdentifier", - "src": "1205:6:36" + "src": "1205:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "1190:2:36", + "nativeSrc": "1190:2:34", "nodeType": "YulIdentifier", - "src": "1190:2:36" + "src": "1190:2:34" }, - "nativeSrc": "1190:22:36", + "nativeSrc": "1190:22:34", "nodeType": "YulFunctionCall", - "src": "1190:22:36" + "src": "1190:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "1167:2:36", + "nativeSrc": "1167:2:34", "nodeType": "YulIdentifier", - "src": "1167:2:36" + "src": "1167:2:34" }, - "nativeSrc": "1167:46:36", + "nativeSrc": "1167:46:34", "nodeType": "YulFunctionCall", - "src": "1167:46:36" + "src": "1167:46:34" }, - "nativeSrc": "1164:72:36", + "nativeSrc": "1164:72:34", "nodeType": "YulIf", - "src": "1164:72:36" + "src": "1164:72:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1252:2:36", + "nativeSrc": "1252:2:34", "nodeType": "YulLiteral", - "src": "1252:2:36", + "src": "1252:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "1256:10:36", + "nativeSrc": "1256:10:34", "nodeType": "YulIdentifier", - "src": "1256:10:36" + "src": "1256:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1245:6:36", + "nativeSrc": "1245:6:34", "nodeType": "YulIdentifier", - "src": "1245:6:36" + "src": "1245:6:34" }, - "nativeSrc": "1245:22:36", + "nativeSrc": "1245:22:34", "nodeType": "YulFunctionCall", - "src": "1245:22:36" + "src": "1245:22:34" }, - "nativeSrc": "1245:22:36", + "nativeSrc": "1245:22:34", "nodeType": "YulExpressionStatement", - "src": "1245:22:36" + "src": "1245:22:34" }, { "expression": { "arguments": [ { "name": "memPtr", - "nativeSrc": "1283:6:36", + "nativeSrc": "1283:6:34", "nodeType": "YulIdentifier", - "src": "1283:6:36" + "src": "1283:6:34" }, { "name": "_3", - "nativeSrc": "1291:2:36", + "nativeSrc": "1291:2:34", "nodeType": "YulIdentifier", - "src": "1291:2:36" + "src": "1291:2:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1276:6:36", + "nativeSrc": "1276:6:34", "nodeType": "YulIdentifier", - "src": "1276:6:36" + "src": "1276:6:34" }, - "nativeSrc": "1276:18:36", + "nativeSrc": "1276:18:34", "nodeType": "YulFunctionCall", - "src": "1276:18:36" + "src": "1276:18:34" }, - "nativeSrc": "1276:18:36", + "nativeSrc": "1276:18:34", "nodeType": "YulExpressionStatement", - "src": "1276:18:36" + "src": "1276:18:34" }, { "body": { - "nativeSrc": "1340:16:36", + "nativeSrc": "1340:16:34", "nodeType": "YulBlock", - "src": "1340:16:36", + "src": "1340:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1349:1:36", + "nativeSrc": "1349:1:34", "nodeType": "YulLiteral", - "src": "1349:1:36", + "src": "1349:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1352:1:36", + "nativeSrc": "1352:1:34", "nodeType": "YulLiteral", - "src": "1352:1:36", + "src": "1352:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1342:6:36", + "nativeSrc": "1342:6:34", "nodeType": "YulIdentifier", - "src": "1342:6:36" + "src": "1342:6:34" }, - "nativeSrc": "1342:12:36", + "nativeSrc": "1342:12:34", "nodeType": "YulFunctionCall", - "src": "1342:12:36" + "src": "1342:12:34" }, - "nativeSrc": "1342:12:36", + "nativeSrc": "1342:12:34", "nodeType": "YulExpressionStatement", - "src": "1342:12:36" + "src": "1342:12:34" } ] }, @@ -72380,66 +71390,66 @@ "arguments": [ { "name": "_2", - "nativeSrc": "1317:2:36", + "nativeSrc": "1317:2:34", "nodeType": "YulIdentifier", - "src": "1317:2:36" + "src": "1317:2:34" }, { "name": "_3", - "nativeSrc": "1321:2:36", + "nativeSrc": "1321:2:34", "nodeType": "YulIdentifier", - "src": "1321:2:36" + "src": "1321:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "1313:3:36", + "nativeSrc": "1313:3:34", "nodeType": "YulIdentifier", - "src": "1313:3:36" + "src": "1313:3:34" }, - "nativeSrc": "1313:11:36", + "nativeSrc": "1313:11:34", "nodeType": "YulFunctionCall", - "src": "1313:11:36" + "src": "1313:11:34" }, { "kind": "number", - "nativeSrc": "1326:2:36", + "nativeSrc": "1326:2:34", "nodeType": "YulLiteral", - "src": "1326:2:36", + "src": "1326:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1309:3:36", + "nativeSrc": "1309:3:34", "nodeType": "YulIdentifier", - "src": "1309:3:36" + "src": "1309:3:34" }, - "nativeSrc": "1309:20:36", + "nativeSrc": "1309:20:34", "nodeType": "YulFunctionCall", - "src": "1309:20:36" + "src": "1309:20:34" }, { "name": "dataEnd", - "nativeSrc": "1331:7:36", + "nativeSrc": "1331:7:34", "nodeType": "YulIdentifier", - "src": "1331:7:36" + "src": "1331:7:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1306:2:36", + "nativeSrc": "1306:2:34", "nodeType": "YulIdentifier", - "src": "1306:2:36" + "src": "1306:2:34" }, - "nativeSrc": "1306:33:36", + "nativeSrc": "1306:33:34", "nodeType": "YulFunctionCall", - "src": "1306:33:36" + "src": "1306:33:34" }, - "nativeSrc": "1303:53:36", + "nativeSrc": "1303:53:34", "nodeType": "YulIf", - "src": "1303:53:36" + "src": "1303:53:34" }, { "expression": { @@ -72448,178 +71458,178 @@ "arguments": [ { "name": "_2", - "nativeSrc": "1404:2:36", + "nativeSrc": "1404:2:34", "nodeType": "YulIdentifier", - "src": "1404:2:36" + "src": "1404:2:34" }, { "kind": "number", - "nativeSrc": "1408:2:36", + "nativeSrc": "1408:2:34", "nodeType": "YulLiteral", - "src": "1408:2:36", + "src": "1408:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1400:3:36", + "nativeSrc": "1400:3:34", "nodeType": "YulIdentifier", - "src": "1400:3:36" + "src": "1400:3:34" }, - "nativeSrc": "1400:11:36", + "nativeSrc": "1400:11:34", "nodeType": "YulFunctionCall", - "src": "1400:11:36" + "src": "1400:11:34" }, { "arguments": [ { "name": "memPtr", - "nativeSrc": "1417:6:36", + "nativeSrc": "1417:6:34", "nodeType": "YulIdentifier", - "src": "1417:6:36" + "src": "1417:6:34" }, { "kind": "number", - "nativeSrc": "1425:2:36", + "nativeSrc": "1425:2:34", "nodeType": "YulLiteral", - "src": "1425:2:36", + "src": "1425:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1413:3:36", + "nativeSrc": "1413:3:34", "nodeType": "YulIdentifier", - "src": "1413:3:36" + "src": "1413:3:34" }, - "nativeSrc": "1413:15:36", + "nativeSrc": "1413:15:34", "nodeType": "YulFunctionCall", - "src": "1413:15:36" + "src": "1413:15:34" }, { "name": "_3", - "nativeSrc": "1430:2:36", + "nativeSrc": "1430:2:34", "nodeType": "YulIdentifier", - "src": "1430:2:36" + "src": "1430:2:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "1365:34:36", + "nativeSrc": "1365:34:34", "nodeType": "YulIdentifier", - "src": "1365:34:36" + "src": "1365:34:34" }, - "nativeSrc": "1365:68:36", + "nativeSrc": "1365:68:34", "nodeType": "YulFunctionCall", - "src": "1365:68:36" + "src": "1365:68:34" }, - "nativeSrc": "1365:68:36", + "nativeSrc": "1365:68:34", "nodeType": "YulExpressionStatement", - "src": "1365:68:36" + "src": "1365:68:34" }, { - "nativeSrc": "1442:16:36", + "nativeSrc": "1442:16:34", "nodeType": "YulAssignment", - "src": "1442:16:36", + "src": "1442:16:34", "value": { "name": "memPtr", - "nativeSrc": "1452:6:36", + "nativeSrc": "1452:6:34", "nodeType": "YulIdentifier", - "src": "1452:6:36" + "src": "1452:6:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "1442:6:36", + "nativeSrc": "1442:6:34", "nodeType": "YulIdentifier", - "src": "1442:6:36" + "src": "1442:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory", - "nativeSrc": "401:1063:36", + "nativeSrc": "401:1063:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "466:9:36", + "nativeSrc": "466:9:34", "nodeType": "YulTypedName", - "src": "466:9:36", + "src": "466:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "477:7:36", + "nativeSrc": "477:7:34", "nodeType": "YulTypedName", - "src": "477:7:36", + "src": "477:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "489:6:36", + "nativeSrc": "489:6:34", "nodeType": "YulTypedName", - "src": "489:6:36", + "src": "489:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "497:6:36", + "nativeSrc": "497:6:34", "nodeType": "YulTypedName", - "src": "497:6:36", + "src": "497:6:34", "type": "" } ], - "src": "401:1063:36" + "src": "401:1063:34" }, { "body": { - "nativeSrc": "1570:102:36", + "nativeSrc": "1570:102:34", "nodeType": "YulBlock", - "src": "1570:102:36", + "src": "1570:102:34", "statements": [ { - "nativeSrc": "1580:26:36", + "nativeSrc": "1580:26:34", "nodeType": "YulAssignment", - "src": "1580:26:36", + "src": "1580:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "1592:9:36", + "nativeSrc": "1592:9:34", "nodeType": "YulIdentifier", - "src": "1592:9:36" + "src": "1592:9:34" }, { "kind": "number", - "nativeSrc": "1603:2:36", + "nativeSrc": "1603:2:34", "nodeType": "YulLiteral", - "src": "1603:2:36", + "src": "1603:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1588:3:36", + "nativeSrc": "1588:3:34", "nodeType": "YulIdentifier", - "src": "1588:3:36" + "src": "1588:3:34" }, - "nativeSrc": "1588:18:36", + "nativeSrc": "1588:18:34", "nodeType": "YulFunctionCall", - "src": "1588:18:36" + "src": "1588:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "1580:4:36", + "nativeSrc": "1580:4:34", "nodeType": "YulIdentifier", - "src": "1580:4:36" + "src": "1580:4:34" } ] }, @@ -72628,17 +71638,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "1622:9:36", + "nativeSrc": "1622:9:34", "nodeType": "YulIdentifier", - "src": "1622:9:36" + "src": "1622:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "1637:6:36", + "nativeSrc": "1637:6:34", "nodeType": "YulIdentifier", - "src": "1637:6:36" + "src": "1637:6:34" }, { "arguments": [ @@ -72646,143 +71656,143 @@ "arguments": [ { "kind": "number", - "nativeSrc": "1653:3:36", + "nativeSrc": "1653:3:34", "nodeType": "YulLiteral", - "src": "1653:3:36", + "src": "1653:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "1658:1:36", + "nativeSrc": "1658:1:34", "nodeType": "YulLiteral", - "src": "1658:1:36", + "src": "1658:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "1649:3:36", + "nativeSrc": "1649:3:34", "nodeType": "YulIdentifier", - "src": "1649:3:36" + "src": "1649:3:34" }, - "nativeSrc": "1649:11:36", + "nativeSrc": "1649:11:34", "nodeType": "YulFunctionCall", - "src": "1649:11:36" + "src": "1649:11:34" }, { "kind": "number", - "nativeSrc": "1662:1:36", + "nativeSrc": "1662:1:34", "nodeType": "YulLiteral", - "src": "1662:1:36", + "src": "1662:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "1645:3:36", + "nativeSrc": "1645:3:34", "nodeType": "YulIdentifier", - "src": "1645:3:36" + "src": "1645:3:34" }, - "nativeSrc": "1645:19:36", + "nativeSrc": "1645:19:34", "nodeType": "YulFunctionCall", - "src": "1645:19:36" + "src": "1645:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "1633:3:36", + "nativeSrc": "1633:3:34", "nodeType": "YulIdentifier", - "src": "1633:3:36" + "src": "1633:3:34" }, - "nativeSrc": "1633:32:36", + "nativeSrc": "1633:32:34", "nodeType": "YulFunctionCall", - "src": "1633:32:36" + "src": "1633:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1615:6:36", + "nativeSrc": "1615:6:34", "nodeType": "YulIdentifier", - "src": "1615:6:36" + "src": "1615:6:34" }, - "nativeSrc": "1615:51:36", + "nativeSrc": "1615:51:34", "nodeType": "YulFunctionCall", - "src": "1615:51:36" + "src": "1615:51:34" }, - "nativeSrc": "1615:51:36", + "nativeSrc": "1615:51:34", "nodeType": "YulExpressionStatement", - "src": "1615:51:36" + "src": "1615:51:34" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nativeSrc": "1469:203:36", + "nativeSrc": "1469:203:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "1539:9:36", + "nativeSrc": "1539:9:34", "nodeType": "YulTypedName", - "src": "1539:9:36", + "src": "1539:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "1550:6:36", + "nativeSrc": "1550:6:34", "nodeType": "YulTypedName", - "src": "1550:6:36", + "src": "1550:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "1561:4:36", + "nativeSrc": "1561:4:34", "nodeType": "YulTypedName", - "src": "1561:4:36", + "src": "1561:4:34", "type": "" } ], - "src": "1469:203:36" + "src": "1469:203:34" }, { "body": { - "nativeSrc": "1814:150:36", + "nativeSrc": "1814:150:34", "nodeType": "YulBlock", - "src": "1814:150:36", + "src": "1814:150:34", "statements": [ { - "nativeSrc": "1824:27:36", + "nativeSrc": "1824:27:34", "nodeType": "YulVariableDeclaration", - "src": "1824:27:36", + "src": "1824:27:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "1844:6:36", + "nativeSrc": "1844:6:34", "nodeType": "YulIdentifier", - "src": "1844:6:36" + "src": "1844:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "1838:5:36", + "nativeSrc": "1838:5:34", "nodeType": "YulIdentifier", - "src": "1838:5:36" + "src": "1838:5:34" }, - "nativeSrc": "1838:13:36", + "nativeSrc": "1838:13:34", "nodeType": "YulFunctionCall", - "src": "1838:13:36" + "src": "1838:13:34" }, "variables": [ { "name": "length", - "nativeSrc": "1828:6:36", + "nativeSrc": "1828:6:34", "nodeType": "YulTypedName", - "src": "1828:6:36", + "src": "1828:6:34", "type": "" } ] @@ -72794,174 +71804,174 @@ "arguments": [ { "name": "value0", - "nativeSrc": "1899:6:36", + "nativeSrc": "1899:6:34", "nodeType": "YulIdentifier", - "src": "1899:6:36" + "src": "1899:6:34" }, { "kind": "number", - "nativeSrc": "1907:4:36", + "nativeSrc": "1907:4:34", "nodeType": "YulLiteral", - "src": "1907:4:36", + "src": "1907:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "1895:3:36", + "nativeSrc": "1895:3:34", "nodeType": "YulIdentifier", - "src": "1895:3:36" + "src": "1895:3:34" }, - "nativeSrc": "1895:17:36", + "nativeSrc": "1895:17:34", "nodeType": "YulFunctionCall", - "src": "1895:17:36" + "src": "1895:17:34" }, { "name": "pos", - "nativeSrc": "1914:3:36", + "nativeSrc": "1914:3:34", "nodeType": "YulIdentifier", - "src": "1914:3:36" + "src": "1914:3:34" }, { "name": "length", - "nativeSrc": "1919:6:36", + "nativeSrc": "1919:6:34", "nodeType": "YulIdentifier", - "src": "1919:6:36" + "src": "1919:6:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "1860:34:36", + "nativeSrc": "1860:34:34", "nodeType": "YulIdentifier", - "src": "1860:34:36" + "src": "1860:34:34" }, - "nativeSrc": "1860:66:36", + "nativeSrc": "1860:66:34", "nodeType": "YulFunctionCall", - "src": "1860:66:36" + "src": "1860:66:34" }, - "nativeSrc": "1860:66:36", + "nativeSrc": "1860:66:34", "nodeType": "YulExpressionStatement", - "src": "1860:66:36" + "src": "1860:66:34" }, { - "nativeSrc": "1935:23:36", + "nativeSrc": "1935:23:34", "nodeType": "YulAssignment", - "src": "1935:23:36", + "src": "1935:23:34", "value": { "arguments": [ { "name": "pos", - "nativeSrc": "1946:3:36", + "nativeSrc": "1946:3:34", "nodeType": "YulIdentifier", - "src": "1946:3:36" + "src": "1946:3:34" }, { "name": "length", - "nativeSrc": "1951:6:36", + "nativeSrc": "1951:6:34", "nodeType": "YulIdentifier", - "src": "1951:6:36" + "src": "1951:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "1942:3:36", + "nativeSrc": "1942:3:34", "nodeType": "YulIdentifier", - "src": "1942:3:36" + "src": "1942:3:34" }, - "nativeSrc": "1942:16:36", + "nativeSrc": "1942:16:34", "nodeType": "YulFunctionCall", - "src": "1942:16:36" + "src": "1942:16:34" }, "variableNames": [ { "name": "end", - "nativeSrc": "1935:3:36", + "nativeSrc": "1935:3:34", "nodeType": "YulIdentifier", - "src": "1935:3:36" + "src": "1935:3:34" } ] } ] }, "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "1677:287:36", + "nativeSrc": "1677:287:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", - "nativeSrc": "1790:3:36", + "nativeSrc": "1790:3:34", "nodeType": "YulTypedName", - "src": "1790:3:36", + "src": "1790:3:34", "type": "" }, { "name": "value0", - "nativeSrc": "1795:6:36", + "nativeSrc": "1795:6:34", "nodeType": "YulTypedName", - "src": "1795:6:36", + "src": "1795:6:34", "type": "" } ], "returnVariables": [ { "name": "end", - "nativeSrc": "1806:3:36", + "nativeSrc": "1806:3:34", "nodeType": "YulTypedName", - "src": "1806:3:36", + "src": "1806:3:34", "type": "" } ], - "src": "1677:287:36" + "src": "1677:287:34" } ] }, "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\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_decode_tuple_t_addresst_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := mload(headStart)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\n let offset := mload(add(headStart, 32))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(_2, 32), add(memPtr, 32), _3)\n value1 := memPtr\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 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}", - "id": 36, + "id": 34, "language": "Yul", "name": "#utility.yul" } ], "linkReferences": {}, - "object": "608060405260405161040a38038061040a83398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60aa806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212201d1e675cd71e57bb3f08113f3040612bee9b14a06a3515aeb6fc806b55a6323764736f6c63430008160033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x40A CODESIZE SUB DUP1 PUSH2 0x40A DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x22 SWAP2 PUSH2 0x268 JUMP JUMPDEST PUSH2 0x2C DUP3 DUP3 PUSH2 0x33 JUMP JUMPDEST POP POP PUSH2 0x352 JUMP JUMPDEST PUSH2 0x3C DUP3 PUSH2 0x92 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x86 JUMPI PUSH2 0x81 DUP3 DUP3 PUSH2 0x10E JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x8E PUSH2 0x185 JUMP JUMPDEST POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0xCD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x12B SWAP2 SWAP1 PUSH2 0x336 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x166 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 0x16B JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x17C DUP6 DUP4 DUP4 PUSH2 0x1A6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x1A4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1BB JUMPI PUSH2 0x1B6 DUP3 PUSH2 0x205 JUMP JUMPDEST PUSH2 0x1FE JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1D2 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1FB JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xC4 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x215 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x25F JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x247 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x292 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2AF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2C3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x2D5 JUMPI PUSH2 0x2D5 PUSH2 0x22E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x2FD JUMPI PUSH2 0x2FD PUSH2 0x22E JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x316 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x327 DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x244 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x348 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x244 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xAA DUP1 PUSH2 0x360 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0xA PUSH1 0xC JUMP JUMPDEST STOP JUMPDEST PUSH1 0x18 PUSH1 0x14 PUSH1 0x1A JUMP JUMPDEST PUSH1 0x51 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4C PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH1 0x6F JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SAR 0x1E PUSH8 0x5CD71E57BB3F0811 EXTCODEHASH ADDRESS BLOCKHASH PUSH2 0x2BEE SWAP12 EQ LOG0 PUSH11 0x3515AEB6FC806B55A63237 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", - "sourceMap": "600:1117:10:-:0;;;1081:133;;;;;;;;;;;;;;;;;;:::i;:::-;1155:52;1185:14;1201:5;1155:29;:52::i;:::-;1081:133;;600:1117;;2264:344:11;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:11;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;:::-;;2264:344;;:::o;2454:148::-;2573:18;:16;:18::i;:::-;2264:344;;:::o;1671:281::-;1748:17;-1:-1:-1;;;;;1748:29:11;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:11;;-1:-1:-1;;;;;1633:32:36;;1805:47:11;;;1615:51:36;1588:18;;1805:47:11;;;;;;;;1744:119;811:66;1872:73;;-1:-1:-1;;;;;;1872:73:11;-1:-1:-1;;;;;1872:73:11;;;;;;;;;;1671:281::o;3916:253:20:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:20;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4023:67:20;;-1:-1:-1;4023:67:20;-1:-1:-1;4107:55:20;4134:6;4023:67;;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:20:o;6113:122:11:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:11;;;;;;;;;;;6159:70;6113:122::o;4437:582:20:-;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:20;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:20;;-1:-1:-1;;;;;1633:32:36;;4933:24:20;;;1615:51:36;1588:18;;4933:24:20;1469:203:36;4853:119:20;-1:-1:-1;4992:10:20;4605:408;4437:582;;;;;:::o;5559:487::-;5690:17;;:21;5686:354;;5887:10;5881:17;5943:15;5930:10;5926:2;5922:19;5915:44;5686:354;6010:19;;-1:-1:-1;;;6010:19:20;;;;;;;;;;;14:127:36;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:250;231:1;241:113;255:6;252:1;249:13;241:113;;;331:11;;;325:18;312:11;;;305:39;277:2;270:10;241:113;;;-1:-1:-1;;388:1:36;370:16;;363:27;146:250::o;401:1063::-;489:6;497;550:2;538:9;529:7;525:23;521:32;518:52;;;566:1;563;556:12;518:52;592:16;;-1:-1:-1;;;;;637:31:36;;627:42;;617:70;;683:1;680;673:12;617:70;755:2;740:18;;734:25;706:5;;-1:-1:-1;;;;;;808:14:36;;;805:34;;;835:1;832;825:12;805:34;873:6;862:9;858:22;848:32;;918:7;911:4;907:2;903:13;899:27;889:55;;940:1;937;930:12;889:55;969:2;963:9;991:2;987;984:10;981:36;;;997:18;;:::i;:::-;1072:2;1066:9;1040:2;1126:13;;-1:-1:-1;;1122:22:36;;;1146:2;1118:31;1114:40;1102:53;;;1170:18;;;1190:22;;;1167:46;1164:72;;;1216:18;;:::i;:::-;1256:10;1252:2;1245:22;1291:2;1283:6;1276:18;1331:7;1326:2;1321;1317;1313:11;1309:20;1306:33;1303:53;;;1352:1;1349;1342:12;1303:53;1365:68;1430:2;1425;1417:6;1413:15;1408:2;1404;1400:11;1365:68;:::i;:::-;1452:6;1442:16;;;;;;;401:1063;;;;;:::o;1677:287::-;1806:3;1844:6;1838:13;1860:66;1919:6;1914:3;1907:4;1899:6;1895:17;1860:66;:::i;:::-;1942:16;;;;;1677:287;-1:-1:-1;;1677:287:36:o;:::-;600:1117:10;;;;;;" + "object": "608060405260405161040938038061040983398101604081905261002291610267565b61002c8282610033565b5050610351565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610335565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b80511561021457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025e578181015183820152602001610246565b50506000910152565b6000806040838503121561027a57600080fd5b82516001600160a01b038116811461029157600080fd5b60208401519092506001600160401b03808211156102ae57600080fd5b818501915085601f8301126102c257600080fd5b8151818111156102d4576102d461022d565b604051601f8201601f19908116603f011681019083821181831017156102fc576102fc61022d565b8160405282815288602084870101111561031557600080fd5b610326836020830160208801610243565b80955050505050509250929050565b60008251610347818460208701610243565b9190910192915050565b60aa8061035f6000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea264697066735822122060aeada43c964f1fbb27c2d9cbef9ca57ecc24f36b6aed0059d5371ade8a972f64736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH2 0x409 CODESIZE SUB DUP1 PUSH2 0x409 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x22 SWAP2 PUSH2 0x267 JUMP JUMPDEST PUSH2 0x2C DUP3 DUP3 PUSH2 0x33 JUMP JUMPDEST POP POP PUSH2 0x351 JUMP JUMPDEST PUSH2 0x3C DUP3 PUSH2 0x92 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x86 JUMPI PUSH2 0x81 DUP3 DUP3 PUSH2 0x10E JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x8E PUSH2 0x185 JUMP JUMPDEST POP POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0xCD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x12B SWAP2 SWAP1 PUSH2 0x335 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x166 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 0x16B JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH2 0x17C DUP6 DUP4 DUP4 PUSH2 0x1A6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x1A4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1BB JUMPI PUSH2 0x1B6 DUP3 PUSH2 0x205 JUMP JUMPDEST PUSH2 0x1FE JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1D2 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1FB JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0xC4 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x214 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x25E JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x246 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x27A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x291 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x20 DUP5 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2AE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH2 0x2D4 JUMPI PUSH2 0x2D4 PUSH2 0x22D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x2FC JUMPI PUSH2 0x2FC PUSH2 0x22D JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x326 DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH2 0x243 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x347 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x243 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xAA DUP1 PUSH2 0x35F PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0xA PUSH1 0xC JUMP JUMPDEST STOP JUMPDEST PUSH1 0x18 PUSH1 0x14 PUSH1 0x1A JUMP JUMPDEST PUSH1 0x51 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4C PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH1 0x6F JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH1 0xAE 0xAD LOG4 EXTCODECOPY SWAP7 0x4F 0x1F 0xBB 0x27 0xC2 0xD9 0xCB 0xEF SWAP13 0xA5 PUSH31 0xCC24F36B6AED0059D5371ADE8A972F64736F6C634300081600330000000000 ", + "sourceMap": "600:1117:10:-:0;;;1081:133;;;;;;;;;;;;;;;;;;:::i;:::-;1155:52;1185:14;1201:5;1155:29;:52::i;:::-;1081:133;;600:1117;;2264:344:11;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:11;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;:::-;;2264:344;;:::o;2454:148::-;2573:18;:16;:18::i;:::-;2264:344;;:::o;1671:281::-;1748:17;-1:-1:-1;;;;;1748:29:11;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:11;;-1:-1:-1;;;;;1633:32:34;;1805:47:11;;;1615:51:34;1588:18;;1805:47:11;;;;;;;;1744:119;811:66;1872:73;;-1:-1:-1;;;;;;1872:73:11;-1:-1:-1;;;;;1872:73:11;;;;;;;;;;1671:281::o;3916:253:20:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:20;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4023:67:20;;-1:-1:-1;4023:67:20;-1:-1:-1;4107:55:20;4134:6;4023:67;;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:20:o;6113:122:11:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:11;;;;;;;;;;;6159:70;6113:122::o;4437:582:20:-;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:20;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:20;;-1:-1:-1;;;;;1633:32:34;;4933:24:20;;;1615:51:34;1588:18;;4933:24:20;1469:203:34;4853:119:20;-1:-1:-1;4992:10:20;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:20;;;;;;;;;;;14:127:34;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:250;231:1;241:113;255:6;252:1;249:13;241:113;;;331:11;;;325:18;312:11;;;305:39;277:2;270:10;241:113;;;-1:-1:-1;;388:1:34;370:16;;363:27;146:250::o;401:1063::-;489:6;497;550:2;538:9;529:7;525:23;521:32;518:52;;;566:1;563;556:12;518:52;592:16;;-1:-1:-1;;;;;637:31:34;;627:42;;617:70;;683:1;680;673:12;617:70;755:2;740:18;;734:25;706:5;;-1:-1:-1;;;;;;808:14:34;;;805:34;;;835:1;832;825:12;805:34;873:6;862:9;858:22;848:32;;918:7;911:4;907:2;903:13;899:27;889:55;;940:1;937;930:12;889:55;969:2;963:9;991:2;987;984:10;981:36;;;997:18;;:::i;:::-;1072:2;1066:9;1040:2;1126:13;;-1:-1:-1;;1122:22:34;;;1146:2;1118:31;1114:40;1102:53;;;1170:18;;;1190:22;;;1167:46;1164:72;;;1216:18;;:::i;:::-;1256:10;1252:2;1245:22;1291:2;1283:6;1276:18;1331:7;1326:2;1321;1317;1313:11;1309:20;1306:33;1303:53;;;1352:1;1349;1342:12;1303:53;1365:68;1430:2;1425;1417:6;1413:15;1408:2;1404;1400:11;1365:68;:::i;:::-;1452:6;1442:16;;;;;;;401:1063;;;;;:::o;1677:287::-;1806:3;1844:6;1838:13;1860:66;1919:6;1914:3;1907:4;1899:6;1895:17;1860:66;:::i;:::-;1942:16;;;;;1677:287;-1:-1:-1;;1677:287:34:o;:::-;600:1117:10;;;;;;" }, "deployedBytecode": { "functionDebugData": { - "@_1752": { + "@_1753": { "entryPoint": null, - "id": 1752, + "id": 1753, "parameterSlots": 0, "returnSlots": 0 }, - "@_delegate_1728": { + "@_delegate_1729": { "entryPoint": 81, - "id": 1728, + "id": 1729, "parameterSlots": 1, "returnSlots": 0 }, - "@_fallback_1744": { + "@_fallback_1745": { "entryPoint": 12, - "id": 1744, + "id": 1745, "parameterSlots": 0, "returnSlots": 0 }, - "@_implementation_1422": { + "@_implementation_1423": { "entryPoint": 26, - "id": 1422, + "id": 1423, "parameterSlots": 0, "returnSlots": 1 }, - "@getAddressSlot_2959": { + "@getAddressSlot_2960": { "entryPoint": null, - "id": 2959, + "id": 2960, "parameterSlots": 1, "returnSlots": 1 }, - "@getImplementation_1469": { + "@getImplementation_1470": { "entryPoint": null, - "id": 1469, + "id": 1470, "parameterSlots": 0, "returnSlots": 1 } @@ -72969,13 +71979,13 @@ "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, - "object": "6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212201d1e675cd71e57bb3f08113f3040612bee9b14a06a3515aeb6fc806b55a6323764736f6c63430008160033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0xA PUSH1 0xC JUMP JUMPDEST STOP JUMPDEST PUSH1 0x18 PUSH1 0x14 PUSH1 0x1A JUMP JUMPDEST PUSH1 0x51 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4C PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH1 0x6F JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SAR 0x1E PUSH8 0x5CD71E57BB3F0811 EXTCODEHASH ADDRESS BLOCKHASH PUSH2 0x2BEE SWAP12 EQ LOG0 PUSH11 0x3515AEB6FC806B55A63237 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "object": "6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea264697066735822122060aeada43c964f1fbb27c2d9cbef9ca57ecc24f36b6aed0059d5371ade8a972f64736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0xA PUSH1 0xC JUMP JUMPDEST STOP JUMPDEST PUSH1 0x18 PUSH1 0x14 PUSH1 0x1A JUMP JUMPDEST PUSH1 0x51 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4C PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH1 0x6F JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH1 0xAE 0xAD LOG4 EXTCODECOPY SWAP7 0x4F 0x1F 0xBB 0x27 0xC2 0xD9 0xCB 0xEF SWAP13 0xA5 PUSH31 0xCC24F36B6AED0059D5371ADE8A972F64736F6C634300081600330000000000 ", "sourceMap": "600:1117:10:-:0;;;2649:11:12;:9;:11::i;:::-;600:1117:10;2323:83:12;2371:28;2381:17;:15;:17::i;:::-;2371:9;:28::i;:::-;2323:83::o;1583:132:10:-;1650:7;1676:32;811:66:11;1519:53;-1:-1:-1;;;;;1519:53:11;;1441:138;1676:32:10;1669:39;;1583:132;:::o;949:895:12:-;1287:14;1284:1;1281;1268:34;1501:1;1498;1482:14;1479:1;1463:14;1456:5;1443:60;1577:16;1574:1;1571;1556:38;1615:6;1682:66;;;;1797:16;1794:1;1787:27;1682:66;1717:16;1714:1;1707:27" }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an implementation address that can be changed. This address is stored in storage in the location specified by https://eips.ethereum.org/EIPS/eip-1967[ERC-1967], so that it doesn't conflict with the storage layout of the implementation behind the proxy.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}]},\"events\":{\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the upgradeable proxy with an initial implementation specified by `implementation`. If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor. Requirements: - If `data` is empty, `msg.value` must be zero.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":\"ERC1967Proxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an implementation address that can be changed. This address is stored in storage in the location specified by https://eips.ethereum.org/EIPS/eip-1967[ERC-1967], so that it doesn't conflict with the storage layout of the implementation behind the proxy.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}]},\"events\":{\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the upgradeable proxy with an initial implementation specified by `implementation`. If `_data` is nonempty, it's used as data in a delegate call to `implementation`. This will typically be an encoded function call, and allows initializing the storage of the proxy like a Solidity constructor. Requirements: - If `data` is empty, `msg.value` must be zero.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":\"ERC1967Proxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -73029,8 +72039,8 @@ "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e274eaccba5882a0af048d39959ca6e8cdf4933e54498c57fc57a9f23851c56b64736f6c63430008160033", - "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE2 PUSH21 0xEACCBA5882A0AF048D39959CA6E8CDF4933E54498C JUMPI 0xFC JUMPI 0xA9 CALLCODE CODESIZE MLOAD 0xC5 PUSH12 0x64736F6C6343000816003300 ", + "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209baa0f683dcc124e324ea3c0ab526cc62e34d6c5576b9108a0aa3731af9601ad64736f6c63430008160033", + "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0xAA 0xF PUSH9 0x3DCC124E324EA3C0AB MSTORE PUSH13 0xC62E34D6C5576B9108A0AA3731 0xAF SWAP7 ADD 0xAD PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", "sourceMap": "496:5741:11:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;496:5741:11;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { @@ -73038,13 +72048,13 @@ "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e274eaccba5882a0af048d39959ca6e8cdf4933e54498c57fc57a9f23851c56b64736f6c63430008160033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xE2 PUSH21 0xEACCBA5882A0AF048D39959CA6E8CDF4933E54498C JUMPI 0xFC JUMPI 0xA9 CALLCODE CODESIZE MLOAD 0xC5 PUSH12 0x64736F6C6343000816003300 ", + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209baa0f683dcc124e324ea3c0ab526cc62e34d6c5576b9108a0aa3731af9601ad64736f6c63430008160033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0xAA 0xF PUSH9 0x3DCC124E324EA3C0AB MSTORE PUSH13 0xC62E34D6C5576B9108A0AA3731 0xAF SWAP7 ADD 0xAD PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", "sourceMap": "496:5741:11:-:0;;;;;;;;" }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidBeacon\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"This library provides getters and event emitting update functions for https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.\",\"errors\":{\"ERC1967InvalidAdmin(address)\":[{\"details\":\"The `admin` of the proxy is invalid.\"}],\"ERC1967InvalidBeacon(address)\":[{\"details\":\"The `beacon` of the proxy is invalid.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}]},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ADMIN_SLOT\":{\"details\":\"Storage slot with the admin of the contract. This is the keccak-256 hash of \\\"eip1967.proxy.admin\\\" subtracted by 1.\"},\"BEACON_SLOT\":{\"details\":\"The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. This is the keccak-256 hash of \\\"eip1967.proxy.beacon\\\" subtracted by 1.\"},\"IMPLEMENTATION_SLOT\":{\"details\":\"Storage slot with the address of the current implementation. This is the keccak-256 hash of \\\"eip1967.proxy.implementation\\\" subtracted by 1.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":\"ERC1967Utils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidBeacon\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"This library provides getters and event emitting update functions for https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.\",\"errors\":{\"ERC1967InvalidAdmin(address)\":[{\"details\":\"The `admin` of the proxy is invalid.\"}],\"ERC1967InvalidBeacon(address)\":[{\"details\":\"The `beacon` of the proxy is invalid.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}]},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ADMIN_SLOT\":{\"details\":\"Storage slot with the admin of the contract. This is the keccak-256 hash of \\\"eip1967.proxy.admin\\\" subtracted by 1.\"},\"BEACON_SLOT\":{\"details\":\"The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. This is the keccak-256 hash of \\\"eip1967.proxy.beacon\\\" subtracted by 1.\"},\"IMPLEMENTATION_SLOT\":{\"details\":\"Storage slot with the address of the current implementation. This is the keccak-256 hash of \\\"eip1967.proxy.implementation\\\" subtracted by 1.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":\"ERC1967Utils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -73125,7 +72135,7 @@ "implementation()": "5c60da1b" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is the interface that {BeaconProxy} expects of its beacon.\",\"kind\":\"dev\",\"methods\":{\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {UpgradeableBeacon} will check that this address is a contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":\"IBeacon\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is the interface that {BeaconProxy} expects of its beacon.\",\"kind\":\"dev\",\"methods\":{\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {UpgradeableBeacon} will check that this address is a contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":\"IBeacon\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -73260,21 +72270,21 @@ "evm": { "bytecode": { "functionDebugData": { - "@_1120": { + "@_1121": { "entryPoint": null, - "id": 1120, + "id": 1121, "parameterSlots": 1, "returnSlots": 0 }, - "@_1786": { + "@_1787": { "entryPoint": null, - "id": 1786, + "id": 1787, "parameterSlots": 1, "returnSlots": 0 }, - "@_transferOwnership_1216": { + "@_transferOwnership_1217": { "entryPoint": 110, - "id": 1216, + "id": 1217, "parameterSlots": 1, "returnSlots": 0 }, @@ -73294,61 +72304,61 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:514:36", + "nativeSrc": "0:514:34", "nodeType": "YulBlock", - "src": "0:514:36", + "src": "0:514:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "95:209:36", + "nativeSrc": "95:209:34", "nodeType": "YulBlock", - "src": "95:209:36", + "src": "95:209:34", "statements": [ { "body": { - "nativeSrc": "141:16:36", + "nativeSrc": "141:16:34", "nodeType": "YulBlock", - "src": "141:16:36", + "src": "141:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "150:1:36", + "nativeSrc": "150:1:34", "nodeType": "YulLiteral", - "src": "150:1:36", + "src": "150:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "153:1:36", + "nativeSrc": "153:1:34", "nodeType": "YulLiteral", - "src": "153:1:36", + "src": "153:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "143:6:36", + "nativeSrc": "143:6:34", "nodeType": "YulIdentifier", - "src": "143:6:36" + "src": "143:6:34" }, - "nativeSrc": "143:12:36", + "nativeSrc": "143:12:34", "nodeType": "YulFunctionCall", - "src": "143:12:36" + "src": "143:12:34" }, - "nativeSrc": "143:12:36", + "nativeSrc": "143:12:34", "nodeType": "YulExpressionStatement", - "src": "143:12:36" + "src": "143:12:34" } ] }, @@ -73358,122 +72368,122 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "116:7:36", + "nativeSrc": "116:7:34", "nodeType": "YulIdentifier", - "src": "116:7:36" + "src": "116:7:34" }, { "name": "headStart", - "nativeSrc": "125:9:36", + "nativeSrc": "125:9:34", "nodeType": "YulIdentifier", - "src": "125:9:36" + "src": "125:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "112:3:36", + "nativeSrc": "112:3:34", "nodeType": "YulIdentifier", - "src": "112:3:36" + "src": "112:3:34" }, - "nativeSrc": "112:23:36", + "nativeSrc": "112:23:34", "nodeType": "YulFunctionCall", - "src": "112:23:36" + "src": "112:23:34" }, { "kind": "number", - "nativeSrc": "137:2:36", + "nativeSrc": "137:2:34", "nodeType": "YulLiteral", - "src": "137:2:36", + "src": "137:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "108:3:36", + "nativeSrc": "108:3:34", "nodeType": "YulIdentifier", - "src": "108:3:36" + "src": "108:3:34" }, - "nativeSrc": "108:32:36", + "nativeSrc": "108:32:34", "nodeType": "YulFunctionCall", - "src": "108:32:36" + "src": "108:32:34" }, - "nativeSrc": "105:52:36", + "nativeSrc": "105:52:34", "nodeType": "YulIf", - "src": "105:52:36" + "src": "105:52:34" }, { - "nativeSrc": "166:29:36", + "nativeSrc": "166:29:34", "nodeType": "YulVariableDeclaration", - "src": "166:29:36", + "src": "166:29:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "185:9:36", + "nativeSrc": "185:9:34", "nodeType": "YulIdentifier", - "src": "185:9:36" + "src": "185:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "179:5:36", + "nativeSrc": "179:5:34", "nodeType": "YulIdentifier", - "src": "179:5:36" + "src": "179:5:34" }, - "nativeSrc": "179:16:36", + "nativeSrc": "179:16:34", "nodeType": "YulFunctionCall", - "src": "179:16:36" + "src": "179:16:34" }, "variables": [ { "name": "value", - "nativeSrc": "170:5:36", + "nativeSrc": "170:5:34", "nodeType": "YulTypedName", - "src": "170:5:36", + "src": "170:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "258:16:36", + "nativeSrc": "258:16:34", "nodeType": "YulBlock", - "src": "258:16:36", + "src": "258:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "267:1:36", + "nativeSrc": "267:1:34", "nodeType": "YulLiteral", - "src": "267:1:36", + "src": "267:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "270:1:36", + "nativeSrc": "270:1:34", "nodeType": "YulLiteral", - "src": "270:1:36", + "src": "270:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "260:6:36", + "nativeSrc": "260:6:34", "nodeType": "YulIdentifier", - "src": "260:6:36" + "src": "260:6:34" }, - "nativeSrc": "260:12:36", + "nativeSrc": "260:12:34", "nodeType": "YulFunctionCall", - "src": "260:12:36" + "src": "260:12:34" }, - "nativeSrc": "260:12:36", + "nativeSrc": "260:12:34", "nodeType": "YulExpressionStatement", - "src": "260:12:36" + "src": "260:12:34" } ] }, @@ -73483,17 +72493,17 @@ "arguments": [ { "name": "value", - "nativeSrc": "217:5:36", + "nativeSrc": "217:5:34", "nodeType": "YulIdentifier", - "src": "217:5:36" + "src": "217:5:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "228:5:36", + "nativeSrc": "228:5:34", "nodeType": "YulIdentifier", - "src": "228:5:36" + "src": "228:5:34" }, { "arguments": [ @@ -73501,181 +72511,181 @@ "arguments": [ { "kind": "number", - "nativeSrc": "243:3:36", + "nativeSrc": "243:3:34", "nodeType": "YulLiteral", - "src": "243:3:36", + "src": "243:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "248:1:36", + "nativeSrc": "248:1:34", "nodeType": "YulLiteral", - "src": "248:1:36", + "src": "248:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "239:3:36", + "nativeSrc": "239:3:34", "nodeType": "YulIdentifier", - "src": "239:3:36" + "src": "239:3:34" }, - "nativeSrc": "239:11:36", + "nativeSrc": "239:11:34", "nodeType": "YulFunctionCall", - "src": "239:11:36" + "src": "239:11:34" }, { "kind": "number", - "nativeSrc": "252:1:36", + "nativeSrc": "252:1:34", "nodeType": "YulLiteral", - "src": "252:1:36", + "src": "252:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "235:3:36", + "nativeSrc": "235:3:34", "nodeType": "YulIdentifier", - "src": "235:3:36" + "src": "235:3:34" }, - "nativeSrc": "235:19:36", + "nativeSrc": "235:19:34", "nodeType": "YulFunctionCall", - "src": "235:19:36" + "src": "235:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "224:3:36", + "nativeSrc": "224:3:34", "nodeType": "YulIdentifier", - "src": "224:3:36" + "src": "224:3:34" }, - "nativeSrc": "224:31:36", + "nativeSrc": "224:31:34", "nodeType": "YulFunctionCall", - "src": "224:31:36" + "src": "224:31:34" } ], "functionName": { "name": "eq", - "nativeSrc": "214:2:36", + "nativeSrc": "214:2:34", "nodeType": "YulIdentifier", - "src": "214:2:36" + "src": "214:2:34" }, - "nativeSrc": "214:42:36", + "nativeSrc": "214:42:34", "nodeType": "YulFunctionCall", - "src": "214:42:36" + "src": "214:42:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "207:6:36", + "nativeSrc": "207:6:34", "nodeType": "YulIdentifier", - "src": "207:6:36" + "src": "207:6:34" }, - "nativeSrc": "207:50:36", + "nativeSrc": "207:50:34", "nodeType": "YulFunctionCall", - "src": "207:50:36" + "src": "207:50:34" }, - "nativeSrc": "204:70:36", + "nativeSrc": "204:70:34", "nodeType": "YulIf", - "src": "204:70:36" + "src": "204:70:34" }, { - "nativeSrc": "283:15:36", + "nativeSrc": "283:15:34", "nodeType": "YulAssignment", - "src": "283:15:36", + "src": "283:15:34", "value": { "name": "value", - "nativeSrc": "293:5:36", + "nativeSrc": "293:5:34", "nodeType": "YulIdentifier", - "src": "293:5:36" + "src": "293:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "283:6:36", + "nativeSrc": "283:6:34", "nodeType": "YulIdentifier", - "src": "283:6:36" + "src": "283:6:34" } ] } ] }, "name": "abi_decode_tuple_t_address_fromMemory", - "nativeSrc": "14:290:36", + "nativeSrc": "14:290:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "61:9:36", + "nativeSrc": "61:9:34", "nodeType": "YulTypedName", - "src": "61:9:36", + "src": "61:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "72:7:36", + "nativeSrc": "72:7:34", "nodeType": "YulTypedName", - "src": "72:7:36", + "src": "72:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "84:6:36", + "nativeSrc": "84:6:34", "nodeType": "YulTypedName", - "src": "84:6:36", + "src": "84:6:34", "type": "" } ], - "src": "14:290:36" + "src": "14:290:34" }, { "body": { - "nativeSrc": "410:102:36", + "nativeSrc": "410:102:34", "nodeType": "YulBlock", - "src": "410:102:36", + "src": "410:102:34", "statements": [ { - "nativeSrc": "420:26:36", + "nativeSrc": "420:26:34", "nodeType": "YulAssignment", - "src": "420:26:36", + "src": "420:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "432:9:36", + "nativeSrc": "432:9:34", "nodeType": "YulIdentifier", - "src": "432:9:36" + "src": "432:9:34" }, { "kind": "number", - "nativeSrc": "443:2:36", + "nativeSrc": "443:2:34", "nodeType": "YulLiteral", - "src": "443:2:36", + "src": "443:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "428:3:36", + "nativeSrc": "428:3:34", "nodeType": "YulIdentifier", - "src": "428:3:36" + "src": "428:3:34" }, - "nativeSrc": "428:18:36", + "nativeSrc": "428:18:34", "nodeType": "YulFunctionCall", - "src": "428:18:36" + "src": "428:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "420:4:36", + "nativeSrc": "420:4:34", "nodeType": "YulIdentifier", - "src": "420:4:36" + "src": "420:4:34" } ] }, @@ -73684,17 +72694,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "462:9:36", + "nativeSrc": "462:9:34", "nodeType": "YulIdentifier", - "src": "462:9:36" + "src": "462:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "477:6:36", + "nativeSrc": "477:6:34", "nodeType": "YulIdentifier", - "src": "477:6:36" + "src": "477:6:34" }, { "arguments": [ @@ -73702,168 +72712,168 @@ "arguments": [ { "kind": "number", - "nativeSrc": "493:3:36", + "nativeSrc": "493:3:34", "nodeType": "YulLiteral", - "src": "493:3:36", + "src": "493:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "498:1:36", + "nativeSrc": "498:1:34", "nodeType": "YulLiteral", - "src": "498:1:36", + "src": "498:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "489:3:36", + "nativeSrc": "489:3:34", "nodeType": "YulIdentifier", - "src": "489:3:36" + "src": "489:3:34" }, - "nativeSrc": "489:11:36", + "nativeSrc": "489:11:34", "nodeType": "YulFunctionCall", - "src": "489:11:36" + "src": "489:11:34" }, { "kind": "number", - "nativeSrc": "502:1:36", + "nativeSrc": "502:1:34", "nodeType": "YulLiteral", - "src": "502:1:36", + "src": "502:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "485:3:36", + "nativeSrc": "485:3:34", "nodeType": "YulIdentifier", - "src": "485:3:36" + "src": "485:3:34" }, - "nativeSrc": "485:19:36", + "nativeSrc": "485:19:34", "nodeType": "YulFunctionCall", - "src": "485:19:36" + "src": "485:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "473:3:36", + "nativeSrc": "473:3:34", "nodeType": "YulIdentifier", - "src": "473:3:36" + "src": "473:3:34" }, - "nativeSrc": "473:32:36", + "nativeSrc": "473:32:34", "nodeType": "YulFunctionCall", - "src": "473:32:36" + "src": "473:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "455:6:36", + "nativeSrc": "455:6:34", "nodeType": "YulIdentifier", - "src": "455:6:36" + "src": "455:6:34" }, - "nativeSrc": "455:51:36", + "nativeSrc": "455:51:34", "nodeType": "YulFunctionCall", - "src": "455:51:36" + "src": "455:51:34" }, - "nativeSrc": "455:51:36", + "nativeSrc": "455:51:34", "nodeType": "YulExpressionStatement", - "src": "455:51:36" + "src": "455:51:34" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nativeSrc": "309:203:36", + "nativeSrc": "309:203:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "379:9:36", + "nativeSrc": "379:9:34", "nodeType": "YulTypedName", - "src": "379:9:36", + "src": "379:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "390:6:36", + "nativeSrc": "390:6:34", "nodeType": "YulTypedName", - "src": "390:6:36", + "src": "390:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "401:4:36", + "nativeSrc": "401:4:34", "nodeType": "YulTypedName", - "src": "401:4:36", + "src": "401:4:34", "type": "" } ], - "src": "309:203:36" + "src": "309:203:34" } ] }, "contents": "{\n { }\n function abi_decode_tuple_t_address_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, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value0 := value\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}", - "id": 36, + "id": 34, "language": "Yul", "name": "#utility.yul" } ], "linkReferences": {}, - "object": "608060405234801561001057600080fd5b5060405161052438038061052483398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b610427806100fd6000396000f3fe60806040526004361061004a5760003560e01c8063715018a61461004f5780638da5cb5b146100665780639623609d14610093578063ad3cb1cc146100a6578063f2fde38b146100e4575b600080fd5b34801561005b57600080fd5b50610064610104565b005b34801561007257600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b6100646100a1366004610272565b610118565b3480156100b257600080fd5b506100d7604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161008a919061038e565b3480156100f057600080fd5b506100646100ff3660046103a8565b610187565b61010c6101ca565b61011660006101f7565b565b6101206101ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061015090869086906004016103c5565b6000604051808303818588803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b5050505050505050565b61018f6101ca565b6001600160a01b0381166101be57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6101c7816101f7565b50565b6000546001600160a01b031633146101165760405163118cdaa760e01b81523360048201526024016101b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101c757600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561028757600080fd5b833561029281610247565b925060208401356102a281610247565b9150604084013567ffffffffffffffff808211156102bf57600080fd5b818601915086601f8301126102d357600080fd5b8135818111156102e5576102e561025c565b604051601f8201601f19908116603f0116810190838211818310171561030d5761030d61025c565b8160405282815289602084870101111561032657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b8181101561036e57602081850181015186830182015201610352565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006103a16020830184610348565b9392505050565b6000602082840312156103ba57600080fd5b81356103a181610247565b6001600160a01b03831681526040602082018190526000906103e990830184610348565b94935050505056fea2646970667358221220eb1fa66adb4b3898256b517de04d577991ede6e6d368fb9e4e44955b32698f7764736f6c63430008160033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x524 CODESIZE SUB DUP1 PUSH2 0x524 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0xBE JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x5E JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x67 DUP2 PUSH2 0x6E JUMP JUMPDEST POP POP PUSH2 0xEE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x427 DUP1 PUSH2 0xFD PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0x9623609D EQ PUSH2 0x93 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xA6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xE4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0x104 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD 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 PUSH2 0x64 PUSH2 0xA1 CALLDATASIZE PUSH1 0x4 PUSH2 0x272 JUMP JUMPDEST PUSH2 0x118 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD7 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8A SWAP2 SWAP1 PUSH2 0x38E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0xFF CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x187 JUMP JUMPDEST PUSH2 0x10C PUSH2 0x1CA JUMP JUMPDEST PUSH2 0x116 PUSH1 0x0 PUSH2 0x1F7 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x120 PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x278F7943 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x4F1EF286 SWAP1 CALLVALUE SWAP1 PUSH2 0x150 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3C5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x169 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x17D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x18F PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1BE JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1C7 DUP2 PUSH2 0x1F7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x116 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x292 DUP2 PUSH2 0x247 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x2A2 DUP2 PUSH2 0x247 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x2E5 JUMPI PUSH2 0x2E5 PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x30D JUMPI PUSH2 0x30D PUSH2 0x25C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP10 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x36E JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x352 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3A1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x348 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x3A1 DUP2 PUSH2 0x247 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x3E9 SWAP1 DUP4 ADD DUP5 PUSH2 0x348 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB 0x1F 0xA6 PUSH11 0xDB4B3898256B517DE04D57 PUSH26 0x91EDE6E6D368FB9E4E44955B32698F7764736F6C634300081600 CALLER ", - "sourceMap": "502:1462:14:-:0;;;1329:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1371:12;-1:-1:-1;;;;;1273:26:6;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:6;;1350:1;1322:31;;;455:51:36;428:18;;1322:31:6;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;1225:187;1329:58:14;502:1462;;2912:187:6;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:6;;;-1:-1:-1;;;;;;3020:17:6;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:290:36:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:36;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:36:o;309:203::-;502:1462:14;;;;;;" + "object": "608060405234801561001057600080fd5b5060405161052438038061052483398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b610427806100fd6000396000f3fe60806040526004361061004a5760003560e01c8063715018a61461004f5780638da5cb5b146100665780639623609d14610093578063ad3cb1cc146100a6578063f2fde38b146100e4575b600080fd5b34801561005b57600080fd5b50610064610104565b005b34801561007257600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b6100646100a1366004610272565b610118565b3480156100b257600080fd5b506100d7604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161008a919061038e565b3480156100f057600080fd5b506100646100ff3660046103a8565b610187565b61010c6101ca565b61011660006101f7565b565b6101206101ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061015090869086906004016103c5565b6000604051808303818588803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b5050505050505050565b61018f6101ca565b6001600160a01b0381166101be57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6101c7816101f7565b50565b6000546001600160a01b031633146101165760405163118cdaa760e01b81523360048201526024016101b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101c757600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561028757600080fd5b833561029281610247565b925060208401356102a281610247565b9150604084013567ffffffffffffffff808211156102bf57600080fd5b818601915086601f8301126102d357600080fd5b8135818111156102e5576102e561025c565b604051601f8201601f19908116603f0116810190838211818310171561030d5761030d61025c565b8160405282815289602084870101111561032657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b8181101561036e57602081850181015186830182015201610352565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006103a16020830184610348565b9392505050565b6000602082840312156103ba57600080fd5b81356103a181610247565b6001600160a01b03831681526040602082018190526000906103e990830184610348565b94935050505056fea26469706673582212208a6ce113850d599b6d155e7b3b05f064f427b7543fdc28f5be16874766aa2e8564736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x524 CODESIZE SUB DUP1 PUSH2 0x524 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0xBE JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x5E JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x67 DUP2 PUSH2 0x6E JUMP JUMPDEST POP POP PUSH2 0xEE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x427 DUP1 PUSH2 0xFD PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0x9623609D EQ PUSH2 0x93 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xA6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xE4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0x104 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD 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 PUSH2 0x64 PUSH2 0xA1 CALLDATASIZE PUSH1 0x4 PUSH2 0x272 JUMP JUMPDEST PUSH2 0x118 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD7 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8A SWAP2 SWAP1 PUSH2 0x38E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0xFF CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x187 JUMP JUMPDEST PUSH2 0x10C PUSH2 0x1CA JUMP JUMPDEST PUSH2 0x116 PUSH1 0x0 PUSH2 0x1F7 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x120 PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x278F7943 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x4F1EF286 SWAP1 CALLVALUE SWAP1 PUSH2 0x150 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3C5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x169 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x17D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x18F PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1BE JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1C7 DUP2 PUSH2 0x1F7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x116 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x292 DUP2 PUSH2 0x247 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x2A2 DUP2 PUSH2 0x247 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x2E5 JUMPI PUSH2 0x2E5 PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x30D JUMPI PUSH2 0x30D PUSH2 0x25C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP10 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x36E JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x352 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3A1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x348 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x3A1 DUP2 PUSH2 0x247 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x3E9 SWAP1 DUP4 ADD DUP5 PUSH2 0x348 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 PUSH13 0xE113850D599B6D155E7B3B05F0 PUSH5 0xF427B7543F 0xDC 0x28 CREATE2 0xBE AND DUP8 SELFBALANCE PUSH7 0xAA2E8564736F6C PUSH4 0x43000816 STOP CALLER ", + "sourceMap": "502:1462:14:-:0;;;1329:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1371:12;-1:-1:-1;;;;;1273:26:6;;1269:95;;1322:31;;-1:-1:-1;;;1322:31:6;;1350:1;1322:31;;;455:51:34;428:18;;1322:31:6;;;;;;;1269:95;1373:32;1392:12;1373:18;:32::i;:::-;1225:187;1329:58:14;502:1462;;2912:187:6;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:6;;;-1:-1:-1;;;;;;3020:17:6;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;14:290:34:-;84:6;137:2;125:9;116:7;112:23;108:32;105:52;;;153:1;150;143:12;105:52;179:16;;-1:-1:-1;;;;;224:31:34;;214:42;;204:70;;270:1;267;260:12;204:70;293:5;14:290;-1:-1:-1;;;14:290:34:o;309:203::-;502:1462:14;;;;;;" }, "deployedBytecode": { "functionDebugData": { - "@UPGRADE_INTERFACE_VERSION_1776": { + "@UPGRADE_INTERFACE_VERSION_1777": { "entryPoint": null, - "id": 1776, + "id": 1777, "parameterSlots": 0, "returnSlots": 0 }, - "@_checkOwner_1154": { + "@_checkOwner_1155": { "entryPoint": 458, - "id": 1154, + "id": 1155, "parameterSlots": 0, "returnSlots": 0 }, - "@_msgSender_2884": { + "@_msgSender_2885": { "entryPoint": null, - "id": 2884, + "id": 2885, "parameterSlots": 0, "returnSlots": 1 }, - "@_transferOwnership_1216": { + "@_transferOwnership_1217": { "entryPoint": 503, - "id": 1216, + "id": 1217, "parameterSlots": 1, "returnSlots": 0 }, - "@owner_1137": { + "@owner_1138": { "entryPoint": null, - "id": 1137, + "id": 1138, "parameterSlots": 0, "returnSlots": 1 }, - "@renounceOwnership_1168": { + "@renounceOwnership_1169": { "entryPoint": 260, - "id": 1168, + "id": 1169, "parameterSlots": 0, "returnSlots": 0 }, - "@transferOwnership_1196": { + "@transferOwnership_1197": { "entryPoint": 391, - "id": 1196, + "id": 1197, "parameterSlots": 1, "returnSlots": 0 }, - "@upgradeAndCall_1810": { + "@upgradeAndCall_1811": { "entryPoint": 280, - "id": 1810, + "id": 1811, "parameterSlots": 3, "returnSlots": 0 }, @@ -73873,7 +72883,7 @@ "parameterSlots": 2, "returnSlots": 1 }, - "abi_decode_tuple_t_contract$_ITransparentUpgradeableProxy_$1833t_addresst_bytes_memory_ptr": { + "abi_decode_tuple_t_contract$_ITransparentUpgradeableProxy_$1834t_addresst_bytes_memory_ptr": { "entryPoint": 626, "id": null, "parameterSlots": 2, @@ -73919,59 +72929,59 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:3071:36", + "nativeSrc": "0:3071:34", "nodeType": "YulBlock", - "src": "0:3071:36", + "src": "0:3071:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "115:102:36", + "nativeSrc": "115:102:34", "nodeType": "YulBlock", - "src": "115:102:36", + "src": "115:102:34", "statements": [ { - "nativeSrc": "125:26:36", + "nativeSrc": "125:26:34", "nodeType": "YulAssignment", - "src": "125:26:36", + "src": "125:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "137:9:36", + "nativeSrc": "137:9:34", "nodeType": "YulIdentifier", - "src": "137:9:36" + "src": "137:9:34" }, { "kind": "number", - "nativeSrc": "148:2:36", + "nativeSrc": "148:2:34", "nodeType": "YulLiteral", - "src": "148:2:36", + "src": "148:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "133:3:36", + "nativeSrc": "133:3:34", "nodeType": "YulIdentifier", - "src": "133:3:36" + "src": "133:3:34" }, - "nativeSrc": "133:18:36", + "nativeSrc": "133:18:34", "nodeType": "YulFunctionCall", - "src": "133:18:36" + "src": "133:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "125:4:36", + "nativeSrc": "125:4:34", "nodeType": "YulIdentifier", - "src": "125:4:36" + "src": "125:4:34" } ] }, @@ -73980,17 +72990,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "167:9:36", + "nativeSrc": "167:9:34", "nodeType": "YulIdentifier", - "src": "167:9:36" + "src": "167:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "182:6:36", + "nativeSrc": "182:6:34", "nodeType": "YulIdentifier", - "src": "182:6:36" + "src": "182:6:34" }, { "arguments": [ @@ -73998,153 +73008,153 @@ "arguments": [ { "kind": "number", - "nativeSrc": "198:3:36", + "nativeSrc": "198:3:34", "nodeType": "YulLiteral", - "src": "198:3:36", + "src": "198:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "203:1:36", + "nativeSrc": "203:1:34", "nodeType": "YulLiteral", - "src": "203:1:36", + "src": "203:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "194:3:36", + "nativeSrc": "194:3:34", "nodeType": "YulIdentifier", - "src": "194:3:36" + "src": "194:3:34" }, - "nativeSrc": "194:11:36", + "nativeSrc": "194:11:34", "nodeType": "YulFunctionCall", - "src": "194:11:36" + "src": "194:11:34" }, { "kind": "number", - "nativeSrc": "207:1:36", + "nativeSrc": "207:1:34", "nodeType": "YulLiteral", - "src": "207:1:36", + "src": "207:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "190:3:36", + "nativeSrc": "190:3:34", "nodeType": "YulIdentifier", - "src": "190:3:36" + "src": "190:3:34" }, - "nativeSrc": "190:19:36", + "nativeSrc": "190:19:34", "nodeType": "YulFunctionCall", - "src": "190:19:36" + "src": "190:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "178:3:36", + "nativeSrc": "178:3:34", "nodeType": "YulIdentifier", - "src": "178:3:36" + "src": "178:3:34" }, - "nativeSrc": "178:32:36", + "nativeSrc": "178:32:34", "nodeType": "YulFunctionCall", - "src": "178:32:36" + "src": "178:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "160:6:36", + "nativeSrc": "160:6:34", "nodeType": "YulIdentifier", - "src": "160:6:36" + "src": "160:6:34" }, - "nativeSrc": "160:51:36", + "nativeSrc": "160:51:34", "nodeType": "YulFunctionCall", - "src": "160:51:36" + "src": "160:51:34" }, - "nativeSrc": "160:51:36", + "nativeSrc": "160:51:34", "nodeType": "YulExpressionStatement", - "src": "160:51:36" + "src": "160:51:34" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nativeSrc": "14:203:36", + "nativeSrc": "14:203:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "84:9:36", + "nativeSrc": "84:9:34", "nodeType": "YulTypedName", - "src": "84:9:36", + "src": "84:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "95:6:36", + "nativeSrc": "95:6:34", "nodeType": "YulTypedName", - "src": "95:6:36", + "src": "95:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "106:4:36", + "nativeSrc": "106:4:34", "nodeType": "YulTypedName", - "src": "106:4:36", + "src": "106:4:34", "type": "" } ], - "src": "14:203:36" + "src": "14:203:34" }, { "body": { - "nativeSrc": "297:86:36", + "nativeSrc": "297:86:34", "nodeType": "YulBlock", - "src": "297:86:36", + "src": "297:86:34", "statements": [ { "body": { - "nativeSrc": "361:16:36", + "nativeSrc": "361:16:34", "nodeType": "YulBlock", - "src": "361:16:36", + "src": "361:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "370:1:36", + "nativeSrc": "370:1:34", "nodeType": "YulLiteral", - "src": "370:1:36", + "src": "370:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "373:1:36", + "nativeSrc": "373:1:34", "nodeType": "YulLiteral", - "src": "373:1:36", + "src": "373:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "363:6:36", + "nativeSrc": "363:6:34", "nodeType": "YulIdentifier", - "src": "363:6:36" + "src": "363:6:34" }, - "nativeSrc": "363:12:36", + "nativeSrc": "363:12:34", "nodeType": "YulFunctionCall", - "src": "363:12:36" + "src": "363:12:34" }, - "nativeSrc": "363:12:36", + "nativeSrc": "363:12:34", "nodeType": "YulExpressionStatement", - "src": "363:12:36" + "src": "363:12:34" } ] }, @@ -74154,17 +73164,17 @@ "arguments": [ { "name": "value", - "nativeSrc": "320:5:36", + "nativeSrc": "320:5:34", "nodeType": "YulIdentifier", - "src": "320:5:36" + "src": "320:5:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "331:5:36", + "nativeSrc": "331:5:34", "nodeType": "YulIdentifier", - "src": "331:5:36" + "src": "331:5:34" }, { "arguments": [ @@ -74172,117 +73182,117 @@ "arguments": [ { "kind": "number", - "nativeSrc": "346:3:36", + "nativeSrc": "346:3:34", "nodeType": "YulLiteral", - "src": "346:3:36", + "src": "346:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "351:1:36", + "nativeSrc": "351:1:34", "nodeType": "YulLiteral", - "src": "351:1:36", + "src": "351:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "342:3:36", + "nativeSrc": "342:3:34", "nodeType": "YulIdentifier", - "src": "342:3:36" + "src": "342:3:34" }, - "nativeSrc": "342:11:36", + "nativeSrc": "342:11:34", "nodeType": "YulFunctionCall", - "src": "342:11:36" + "src": "342:11:34" }, { "kind": "number", - "nativeSrc": "355:1:36", + "nativeSrc": "355:1:34", "nodeType": "YulLiteral", - "src": "355:1:36", + "src": "355:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "338:3:36", + "nativeSrc": "338:3:34", "nodeType": "YulIdentifier", - "src": "338:3:36" + "src": "338:3:34" }, - "nativeSrc": "338:19:36", + "nativeSrc": "338:19:34", "nodeType": "YulFunctionCall", - "src": "338:19:36" + "src": "338:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "327:3:36", + "nativeSrc": "327:3:34", "nodeType": "YulIdentifier", - "src": "327:3:36" + "src": "327:3:34" }, - "nativeSrc": "327:31:36", + "nativeSrc": "327:31:34", "nodeType": "YulFunctionCall", - "src": "327:31:36" + "src": "327:31:34" } ], "functionName": { "name": "eq", - "nativeSrc": "317:2:36", + "nativeSrc": "317:2:34", "nodeType": "YulIdentifier", - "src": "317:2:36" + "src": "317:2:34" }, - "nativeSrc": "317:42:36", + "nativeSrc": "317:42:34", "nodeType": "YulFunctionCall", - "src": "317:42:36" + "src": "317:42:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "310:6:36", + "nativeSrc": "310:6:34", "nodeType": "YulIdentifier", - "src": "310:6:36" + "src": "310:6:34" }, - "nativeSrc": "310:50:36", + "nativeSrc": "310:50:34", "nodeType": "YulFunctionCall", - "src": "310:50:36" + "src": "310:50:34" }, - "nativeSrc": "307:70:36", + "nativeSrc": "307:70:34", "nodeType": "YulIf", - "src": "307:70:36" + "src": "307:70:34" } ] }, "name": "validator_revert_contract_ITransparentUpgradeableProxy", - "nativeSrc": "222:161:36", + "nativeSrc": "222:161:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "286:5:36", + "nativeSrc": "286:5:34", "nodeType": "YulTypedName", - "src": "286:5:36", + "src": "286:5:34", "type": "" } ], - "src": "222:161:36" + "src": "222:161:34" }, { "body": { - "nativeSrc": "420:95:36", + "nativeSrc": "420:95:34", "nodeType": "YulBlock", - "src": "420:95:36", + "src": "420:95:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "437:1:36", + "nativeSrc": "437:1:34", "nodeType": "YulLiteral", - "src": "437:1:36", + "src": "437:1:34", "type": "", "value": "0" }, @@ -74290,166 +73300,166 @@ "arguments": [ { "kind": "number", - "nativeSrc": "444:3:36", + "nativeSrc": "444:3:34", "nodeType": "YulLiteral", - "src": "444:3:36", + "src": "444:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "449:10:36", + "nativeSrc": "449:10:34", "nodeType": "YulLiteral", - "src": "449:10:36", + "src": "449:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "440:3:36", + "nativeSrc": "440:3:34", "nodeType": "YulIdentifier", - "src": "440:3:36" + "src": "440:3:34" }, - "nativeSrc": "440:20:36", + "nativeSrc": "440:20:34", "nodeType": "YulFunctionCall", - "src": "440:20:36" + "src": "440:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "430:6:36", + "nativeSrc": "430:6:34", "nodeType": "YulIdentifier", - "src": "430:6:36" + "src": "430:6:34" }, - "nativeSrc": "430:31:36", + "nativeSrc": "430:31:34", "nodeType": "YulFunctionCall", - "src": "430:31:36" + "src": "430:31:34" }, - "nativeSrc": "430:31:36", + "nativeSrc": "430:31:34", "nodeType": "YulExpressionStatement", - "src": "430:31:36" + "src": "430:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "477:1:36", + "nativeSrc": "477:1:34", "nodeType": "YulLiteral", - "src": "477:1:36", + "src": "477:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "480:4:36", + "nativeSrc": "480:4:34", "nodeType": "YulLiteral", - "src": "480:4:36", + "src": "480:4:34", "type": "", "value": "0x41" } ], "functionName": { "name": "mstore", - "nativeSrc": "470:6:36", + "nativeSrc": "470:6:34", "nodeType": "YulIdentifier", - "src": "470:6:36" + "src": "470:6:34" }, - "nativeSrc": "470:15:36", + "nativeSrc": "470:15:34", "nodeType": "YulFunctionCall", - "src": "470:15:36" + "src": "470:15:34" }, - "nativeSrc": "470:15:36", + "nativeSrc": "470:15:34", "nodeType": "YulExpressionStatement", - "src": "470:15:36" + "src": "470:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "501:1:36", + "nativeSrc": "501:1:34", "nodeType": "YulLiteral", - "src": "501:1:36", + "src": "501:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "504:4:36", + "nativeSrc": "504:4:34", "nodeType": "YulLiteral", - "src": "504:4:36", + "src": "504:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "494:6:36", + "nativeSrc": "494:6:34", "nodeType": "YulIdentifier", - "src": "494:6:36" + "src": "494:6:34" }, - "nativeSrc": "494:15:36", + "nativeSrc": "494:15:34", "nodeType": "YulFunctionCall", - "src": "494:15:36" + "src": "494:15:34" }, - "nativeSrc": "494:15:36", + "nativeSrc": "494:15:34", "nodeType": "YulExpressionStatement", - "src": "494:15:36" + "src": "494:15:34" } ] }, "name": "panic_error_0x41", - "nativeSrc": "388:127:36", + "nativeSrc": "388:127:34", "nodeType": "YulFunctionDefinition", - "src": "388:127:36" + "src": "388:127:34" }, { "body": { - "nativeSrc": "670:1144:36", + "nativeSrc": "670:1144:34", "nodeType": "YulBlock", - "src": "670:1144:36", + "src": "670:1144:34", "statements": [ { "body": { - "nativeSrc": "716:16:36", + "nativeSrc": "716:16:34", "nodeType": "YulBlock", - "src": "716:16:36", + "src": "716:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "725:1:36", + "nativeSrc": "725:1:34", "nodeType": "YulLiteral", - "src": "725:1:36", + "src": "725:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "728:1:36", + "nativeSrc": "728:1:34", "nodeType": "YulLiteral", - "src": "728:1:36", + "src": "728:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "718:6:36", + "nativeSrc": "718:6:34", "nodeType": "YulIdentifier", - "src": "718:6:36" + "src": "718:6:34" }, - "nativeSrc": "718:12:36", + "nativeSrc": "718:12:34", "nodeType": "YulFunctionCall", - "src": "718:12:36" + "src": "718:12:34" }, - "nativeSrc": "718:12:36", + "nativeSrc": "718:12:34", "nodeType": "YulExpressionStatement", - "src": "718:12:36" + "src": "718:12:34" } ] }, @@ -74459,79 +73469,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "691:7:36", + "nativeSrc": "691:7:34", "nodeType": "YulIdentifier", - "src": "691:7:36" + "src": "691:7:34" }, { "name": "headStart", - "nativeSrc": "700:9:36", + "nativeSrc": "700:9:34", "nodeType": "YulIdentifier", - "src": "700:9:36" + "src": "700:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "687:3:36", + "nativeSrc": "687:3:34", "nodeType": "YulIdentifier", - "src": "687:3:36" + "src": "687:3:34" }, - "nativeSrc": "687:23:36", + "nativeSrc": "687:23:34", "nodeType": "YulFunctionCall", - "src": "687:23:36" + "src": "687:23:34" }, { "kind": "number", - "nativeSrc": "712:2:36", + "nativeSrc": "712:2:34", "nodeType": "YulLiteral", - "src": "712:2:36", + "src": "712:2:34", "type": "", "value": "96" } ], "functionName": { "name": "slt", - "nativeSrc": "683:3:36", + "nativeSrc": "683:3:34", "nodeType": "YulIdentifier", - "src": "683:3:36" + "src": "683:3:34" }, - "nativeSrc": "683:32:36", + "nativeSrc": "683:32:34", "nodeType": "YulFunctionCall", - "src": "683:32:36" + "src": "683:32:34" }, - "nativeSrc": "680:52:36", + "nativeSrc": "680:52:34", "nodeType": "YulIf", - "src": "680:52:36" + "src": "680:52:34" }, { - "nativeSrc": "741:36:36", + "nativeSrc": "741:36:34", "nodeType": "YulVariableDeclaration", - "src": "741:36:36", + "src": "741:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "767:9:36", + "nativeSrc": "767:9:34", "nodeType": "YulIdentifier", - "src": "767:9:36" + "src": "767:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "754:12:36", + "nativeSrc": "754:12:34", "nodeType": "YulIdentifier", - "src": "754:12:36" + "src": "754:12:34" }, - "nativeSrc": "754:23:36", + "nativeSrc": "754:23:34", "nodeType": "YulFunctionCall", - "src": "754:23:36" + "src": "754:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "745:5:36", + "nativeSrc": "745:5:34", "nodeType": "YulTypedName", - "src": "745:5:36", + "src": "745:5:34", "type": "" } ] @@ -74541,94 +73551,94 @@ "arguments": [ { "name": "value", - "nativeSrc": "841:5:36", + "nativeSrc": "841:5:34", "nodeType": "YulIdentifier", - "src": "841:5:36" + "src": "841:5:34" } ], "functionName": { "name": "validator_revert_contract_ITransparentUpgradeableProxy", - "nativeSrc": "786:54:36", + "nativeSrc": "786:54:34", "nodeType": "YulIdentifier", - "src": "786:54:36" + "src": "786:54:34" }, - "nativeSrc": "786:61:36", + "nativeSrc": "786:61:34", "nodeType": "YulFunctionCall", - "src": "786:61:36" + "src": "786:61:34" }, - "nativeSrc": "786:61:36", + "nativeSrc": "786:61:34", "nodeType": "YulExpressionStatement", - "src": "786:61:36" + "src": "786:61:34" }, { - "nativeSrc": "856:15:36", + "nativeSrc": "856:15:34", "nodeType": "YulAssignment", - "src": "856:15:36", + "src": "856:15:34", "value": { "name": "value", - "nativeSrc": "866:5:36", + "nativeSrc": "866:5:34", "nodeType": "YulIdentifier", - "src": "866:5:36" + "src": "866:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "856:6:36", + "nativeSrc": "856:6:34", "nodeType": "YulIdentifier", - "src": "856:6:36" + "src": "856:6:34" } ] }, { - "nativeSrc": "880:47:36", + "nativeSrc": "880:47:34", "nodeType": "YulVariableDeclaration", - "src": "880:47:36", + "src": "880:47:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "912:9:36", + "nativeSrc": "912:9:34", "nodeType": "YulIdentifier", - "src": "912:9:36" + "src": "912:9:34" }, { "kind": "number", - "nativeSrc": "923:2:36", + "nativeSrc": "923:2:34", "nodeType": "YulLiteral", - "src": "923:2:36", + "src": "923:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "908:3:36", + "nativeSrc": "908:3:34", "nodeType": "YulIdentifier", - "src": "908:3:36" + "src": "908:3:34" }, - "nativeSrc": "908:18:36", + "nativeSrc": "908:18:34", "nodeType": "YulFunctionCall", - "src": "908:18:36" + "src": "908:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "895:12:36", + "nativeSrc": "895:12:34", "nodeType": "YulIdentifier", - "src": "895:12:36" + "src": "895:12:34" }, - "nativeSrc": "895:32:36", + "nativeSrc": "895:32:34", "nodeType": "YulFunctionCall", - "src": "895:32:36" + "src": "895:32:34" }, "variables": [ { "name": "value_1", - "nativeSrc": "884:7:36", + "nativeSrc": "884:7:34", "nodeType": "YulTypedName", - "src": "884:7:36", + "src": "884:7:34", "type": "" } ] @@ -74638,159 +73648,159 @@ "arguments": [ { "name": "value_1", - "nativeSrc": "991:7:36", + "nativeSrc": "991:7:34", "nodeType": "YulIdentifier", - "src": "991:7:36" + "src": "991:7:34" } ], "functionName": { "name": "validator_revert_contract_ITransparentUpgradeableProxy", - "nativeSrc": "936:54:36", + "nativeSrc": "936:54:34", "nodeType": "YulIdentifier", - "src": "936:54:36" + "src": "936:54:34" }, - "nativeSrc": "936:63:36", + "nativeSrc": "936:63:34", "nodeType": "YulFunctionCall", - "src": "936:63:36" + "src": "936:63:34" }, - "nativeSrc": "936:63:36", + "nativeSrc": "936:63:34", "nodeType": "YulExpressionStatement", - "src": "936:63:36" + "src": "936:63:34" }, { - "nativeSrc": "1008:17:36", + "nativeSrc": "1008:17:34", "nodeType": "YulAssignment", - "src": "1008:17:36", + "src": "1008:17:34", "value": { "name": "value_1", - "nativeSrc": "1018:7:36", + "nativeSrc": "1018:7:34", "nodeType": "YulIdentifier", - "src": "1018:7:36" + "src": "1018:7:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "1008:6:36", + "nativeSrc": "1008:6:34", "nodeType": "YulIdentifier", - "src": "1008:6:36" + "src": "1008:6:34" } ] }, { - "nativeSrc": "1034:46:36", + "nativeSrc": "1034:46:34", "nodeType": "YulVariableDeclaration", - "src": "1034:46:36", + "src": "1034:46:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "1065:9:36", + "nativeSrc": "1065:9:34", "nodeType": "YulIdentifier", - "src": "1065:9:36" + "src": "1065:9:34" }, { "kind": "number", - "nativeSrc": "1076:2:36", + "nativeSrc": "1076:2:34", "nodeType": "YulLiteral", - "src": "1076:2:36", + "src": "1076:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "1061:3:36", + "nativeSrc": "1061:3:34", "nodeType": "YulIdentifier", - "src": "1061:3:36" + "src": "1061:3:34" }, - "nativeSrc": "1061:18:36", + "nativeSrc": "1061:18:34", "nodeType": "YulFunctionCall", - "src": "1061:18:36" + "src": "1061:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "1048:12:36", + "nativeSrc": "1048:12:34", "nodeType": "YulIdentifier", - "src": "1048:12:36" + "src": "1048:12:34" }, - "nativeSrc": "1048:32:36", + "nativeSrc": "1048:32:34", "nodeType": "YulFunctionCall", - "src": "1048:32:36" + "src": "1048:32:34" }, "variables": [ { "name": "offset", - "nativeSrc": "1038:6:36", + "nativeSrc": "1038:6:34", "nodeType": "YulTypedName", - "src": "1038:6:36", + "src": "1038:6:34", "type": "" } ] }, { - "nativeSrc": "1089:28:36", + "nativeSrc": "1089:28:34", "nodeType": "YulVariableDeclaration", - "src": "1089:28:36", + "src": "1089:28:34", "value": { "kind": "number", - "nativeSrc": "1099:18:36", + "nativeSrc": "1099:18:34", "nodeType": "YulLiteral", - "src": "1099:18:36", + "src": "1099:18:34", "type": "", "value": "0xffffffffffffffff" }, "variables": [ { "name": "_1", - "nativeSrc": "1093:2:36", + "nativeSrc": "1093:2:34", "nodeType": "YulTypedName", - "src": "1093:2:36", + "src": "1093:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "1144:16:36", + "nativeSrc": "1144:16:34", "nodeType": "YulBlock", - "src": "1144:16:36", + "src": "1144:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1153:1:36", + "nativeSrc": "1153:1:34", "nodeType": "YulLiteral", - "src": "1153:1:36", + "src": "1153:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1156:1:36", + "nativeSrc": "1156:1:34", "nodeType": "YulLiteral", - "src": "1156:1:36", + "src": "1156:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1146:6:36", + "nativeSrc": "1146:6:34", "nodeType": "YulIdentifier", - "src": "1146:6:36" + "src": "1146:6:34" }, - "nativeSrc": "1146:12:36", + "nativeSrc": "1146:12:34", "nodeType": "YulFunctionCall", - "src": "1146:12:36" + "src": "1146:12:34" }, - "nativeSrc": "1146:12:36", + "nativeSrc": "1146:12:34", "nodeType": "YulExpressionStatement", - "src": "1146:12:36" + "src": "1146:12:34" } ] }, @@ -74798,109 +73808,109 @@ "arguments": [ { "name": "offset", - "nativeSrc": "1132:6:36", + "nativeSrc": "1132:6:34", "nodeType": "YulIdentifier", - "src": "1132:6:36" + "src": "1132:6:34" }, { "name": "_1", - "nativeSrc": "1140:2:36", + "nativeSrc": "1140:2:34", "nodeType": "YulIdentifier", - "src": "1140:2:36" + "src": "1140:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1129:2:36", + "nativeSrc": "1129:2:34", "nodeType": "YulIdentifier", - "src": "1129:2:36" + "src": "1129:2:34" }, - "nativeSrc": "1129:14:36", + "nativeSrc": "1129:14:34", "nodeType": "YulFunctionCall", - "src": "1129:14:36" + "src": "1129:14:34" }, - "nativeSrc": "1126:34:36", + "nativeSrc": "1126:34:34", "nodeType": "YulIf", - "src": "1126:34:36" + "src": "1126:34:34" }, { - "nativeSrc": "1169:32:36", + "nativeSrc": "1169:32:34", "nodeType": "YulVariableDeclaration", - "src": "1169:32:36", + "src": "1169:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "1183:9:36", + "nativeSrc": "1183:9:34", "nodeType": "YulIdentifier", - "src": "1183:9:36" + "src": "1183:9:34" }, { "name": "offset", - "nativeSrc": "1194:6:36", + "nativeSrc": "1194:6:34", "nodeType": "YulIdentifier", - "src": "1194:6:36" + "src": "1194:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "1179:3:36", + "nativeSrc": "1179:3:34", "nodeType": "YulIdentifier", - "src": "1179:3:36" + "src": "1179:3:34" }, - "nativeSrc": "1179:22:36", + "nativeSrc": "1179:22:34", "nodeType": "YulFunctionCall", - "src": "1179:22:36" + "src": "1179:22:34" }, "variables": [ { "name": "_2", - "nativeSrc": "1173:2:36", + "nativeSrc": "1173:2:34", "nodeType": "YulTypedName", - "src": "1173:2:36", + "src": "1173:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "1249:16:36", + "nativeSrc": "1249:16:34", "nodeType": "YulBlock", - "src": "1249:16:36", + "src": "1249:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1258:1:36", + "nativeSrc": "1258:1:34", "nodeType": "YulLiteral", - "src": "1258:1:36", + "src": "1258:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1261:1:36", + "nativeSrc": "1261:1:34", "nodeType": "YulLiteral", - "src": "1261:1:36", + "src": "1261:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1251:6:36", + "nativeSrc": "1251:6:34", "nodeType": "YulIdentifier", - "src": "1251:6:36" + "src": "1251:6:34" }, - "nativeSrc": "1251:12:36", + "nativeSrc": "1251:12:34", "nodeType": "YulFunctionCall", - "src": "1251:12:36" + "src": "1251:12:34" }, - "nativeSrc": "1251:12:36", + "nativeSrc": "1251:12:34", "nodeType": "YulExpressionStatement", - "src": "1251:12:36" + "src": "1251:12:34" } ] }, @@ -74912,116 +73922,116 @@ "arguments": [ { "name": "_2", - "nativeSrc": "1228:2:36", + "nativeSrc": "1228:2:34", "nodeType": "YulIdentifier", - "src": "1228:2:36" + "src": "1228:2:34" }, { "kind": "number", - "nativeSrc": "1232:4:36", + "nativeSrc": "1232:4:34", "nodeType": "YulLiteral", - "src": "1232:4:36", + "src": "1232:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "1224:3:36", + "nativeSrc": "1224:3:34", "nodeType": "YulIdentifier", - "src": "1224:3:36" + "src": "1224:3:34" }, - "nativeSrc": "1224:13:36", + "nativeSrc": "1224:13:34", "nodeType": "YulFunctionCall", - "src": "1224:13:36" + "src": "1224:13:34" }, { "name": "dataEnd", - "nativeSrc": "1239:7:36", + "nativeSrc": "1239:7:34", "nodeType": "YulIdentifier", - "src": "1239:7:36" + "src": "1239:7:34" } ], "functionName": { "name": "slt", - "nativeSrc": "1220:3:36", + "nativeSrc": "1220:3:34", "nodeType": "YulIdentifier", - "src": "1220:3:36" + "src": "1220:3:34" }, - "nativeSrc": "1220:27:36", + "nativeSrc": "1220:27:34", "nodeType": "YulFunctionCall", - "src": "1220:27:36" + "src": "1220:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "1213:6:36", + "nativeSrc": "1213:6:34", "nodeType": "YulIdentifier", - "src": "1213:6:36" + "src": "1213:6:34" }, - "nativeSrc": "1213:35:36", + "nativeSrc": "1213:35:34", "nodeType": "YulFunctionCall", - "src": "1213:35:36" + "src": "1213:35:34" }, - "nativeSrc": "1210:55:36", + "nativeSrc": "1210:55:34", "nodeType": "YulIf", - "src": "1210:55:36" + "src": "1210:55:34" }, { - "nativeSrc": "1274:26:36", + "nativeSrc": "1274:26:34", "nodeType": "YulVariableDeclaration", - "src": "1274:26:36", + "src": "1274:26:34", "value": { "arguments": [ { "name": "_2", - "nativeSrc": "1297:2:36", + "nativeSrc": "1297:2:34", "nodeType": "YulIdentifier", - "src": "1297:2:36" + "src": "1297:2:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "1284:12:36", + "nativeSrc": "1284:12:34", "nodeType": "YulIdentifier", - "src": "1284:12:36" + "src": "1284:12:34" }, - "nativeSrc": "1284:16:36", + "nativeSrc": "1284:16:34", "nodeType": "YulFunctionCall", - "src": "1284:16:36" + "src": "1284:16:34" }, "variables": [ { "name": "_3", - "nativeSrc": "1278:2:36", + "nativeSrc": "1278:2:34", "nodeType": "YulTypedName", - "src": "1278:2:36", + "src": "1278:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "1323:22:36", + "nativeSrc": "1323:22:34", "nodeType": "YulBlock", - "src": "1323:22:36", + "src": "1323:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "1325:16:36", + "nativeSrc": "1325:16:34", "nodeType": "YulIdentifier", - "src": "1325:16:36" + "src": "1325:16:34" }, - "nativeSrc": "1325:18:36", + "nativeSrc": "1325:18:34", "nodeType": "YulFunctionCall", - "src": "1325:18:36" + "src": "1325:18:34" }, - "nativeSrc": "1325:18:36", + "nativeSrc": "1325:18:34", "nodeType": "YulExpressionStatement", - "src": "1325:18:36" + "src": "1325:18:34" } ] }, @@ -75029,112 +74039,112 @@ "arguments": [ { "name": "_3", - "nativeSrc": "1315:2:36", + "nativeSrc": "1315:2:34", "nodeType": "YulIdentifier", - "src": "1315:2:36" + "src": "1315:2:34" }, { "name": "_1", - "nativeSrc": "1319:2:36", + "nativeSrc": "1319:2:34", "nodeType": "YulIdentifier", - "src": "1319:2:36" + "src": "1319:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1312:2:36", + "nativeSrc": "1312:2:34", "nodeType": "YulIdentifier", - "src": "1312:2:36" + "src": "1312:2:34" }, - "nativeSrc": "1312:10:36", + "nativeSrc": "1312:10:34", "nodeType": "YulFunctionCall", - "src": "1312:10:36" + "src": "1312:10:34" }, - "nativeSrc": "1309:36:36", + "nativeSrc": "1309:36:34", "nodeType": "YulIf", - "src": "1309:36:36" + "src": "1309:36:34" }, { - "nativeSrc": "1354:17:36", + "nativeSrc": "1354:17:34", "nodeType": "YulVariableDeclaration", - "src": "1354:17:36", + "src": "1354:17:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1368:2:36", + "nativeSrc": "1368:2:34", "nodeType": "YulLiteral", - "src": "1368:2:36", + "src": "1368:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "1364:3:36", + "nativeSrc": "1364:3:34", "nodeType": "YulIdentifier", - "src": "1364:3:36" + "src": "1364:3:34" }, - "nativeSrc": "1364:7:36", + "nativeSrc": "1364:7:34", "nodeType": "YulFunctionCall", - "src": "1364:7:36" + "src": "1364:7:34" }, "variables": [ { "name": "_4", - "nativeSrc": "1358:2:36", + "nativeSrc": "1358:2:34", "nodeType": "YulTypedName", - "src": "1358:2:36", + "src": "1358:2:34", "type": "" } ] }, { - "nativeSrc": "1380:23:36", + "nativeSrc": "1380:23:34", "nodeType": "YulVariableDeclaration", - "src": "1380:23:36", + "src": "1380:23:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1400:2:36", + "nativeSrc": "1400:2:34", "nodeType": "YulLiteral", - "src": "1400:2:36", + "src": "1400:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "1394:5:36", + "nativeSrc": "1394:5:34", "nodeType": "YulIdentifier", - "src": "1394:5:36" + "src": "1394:5:34" }, - "nativeSrc": "1394:9:36", + "nativeSrc": "1394:9:34", "nodeType": "YulFunctionCall", - "src": "1394:9:36" + "src": "1394:9:34" }, "variables": [ { "name": "memPtr", - "nativeSrc": "1384:6:36", + "nativeSrc": "1384:6:34", "nodeType": "YulTypedName", - "src": "1384:6:36", + "src": "1384:6:34", "type": "" } ] }, { - "nativeSrc": "1412:71:36", + "nativeSrc": "1412:71:34", "nodeType": "YulVariableDeclaration", - "src": "1412:71:36", + "src": "1412:71:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "1434:6:36", + "nativeSrc": "1434:6:34", "nodeType": "YulIdentifier", - "src": "1434:6:36" + "src": "1434:6:34" }, { "arguments": [ @@ -75146,125 +74156,125 @@ "arguments": [ { "name": "_3", - "nativeSrc": "1458:2:36", + "nativeSrc": "1458:2:34", "nodeType": "YulIdentifier", - "src": "1458:2:36" + "src": "1458:2:34" }, { "kind": "number", - "nativeSrc": "1462:4:36", + "nativeSrc": "1462:4:34", "nodeType": "YulLiteral", - "src": "1462:4:36", + "src": "1462:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "1454:3:36", + "nativeSrc": "1454:3:34", "nodeType": "YulIdentifier", - "src": "1454:3:36" + "src": "1454:3:34" }, - "nativeSrc": "1454:13:36", + "nativeSrc": "1454:13:34", "nodeType": "YulFunctionCall", - "src": "1454:13:36" + "src": "1454:13:34" }, { "name": "_4", - "nativeSrc": "1469:2:36", + "nativeSrc": "1469:2:34", "nodeType": "YulIdentifier", - "src": "1469:2:36" + "src": "1469:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "1450:3:36", + "nativeSrc": "1450:3:34", "nodeType": "YulIdentifier", - "src": "1450:3:36" + "src": "1450:3:34" }, - "nativeSrc": "1450:22:36", + "nativeSrc": "1450:22:34", "nodeType": "YulFunctionCall", - "src": "1450:22:36" + "src": "1450:22:34" }, { "kind": "number", - "nativeSrc": "1474:2:36", + "nativeSrc": "1474:2:34", "nodeType": "YulLiteral", - "src": "1474:2:36", + "src": "1474:2:34", "type": "", "value": "63" } ], "functionName": { "name": "add", - "nativeSrc": "1446:3:36", + "nativeSrc": "1446:3:34", "nodeType": "YulIdentifier", - "src": "1446:3:36" + "src": "1446:3:34" }, - "nativeSrc": "1446:31:36", + "nativeSrc": "1446:31:34", "nodeType": "YulFunctionCall", - "src": "1446:31:36" + "src": "1446:31:34" }, { "name": "_4", - "nativeSrc": "1479:2:36", + "nativeSrc": "1479:2:34", "nodeType": "YulIdentifier", - "src": "1479:2:36" + "src": "1479:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "1442:3:36", + "nativeSrc": "1442:3:34", "nodeType": "YulIdentifier", - "src": "1442:3:36" + "src": "1442:3:34" }, - "nativeSrc": "1442:40:36", + "nativeSrc": "1442:40:34", "nodeType": "YulFunctionCall", - "src": "1442:40:36" + "src": "1442:40:34" } ], "functionName": { "name": "add", - "nativeSrc": "1430:3:36", + "nativeSrc": "1430:3:34", "nodeType": "YulIdentifier", - "src": "1430:3:36" + "src": "1430:3:34" }, - "nativeSrc": "1430:53:36", + "nativeSrc": "1430:53:34", "nodeType": "YulFunctionCall", - "src": "1430:53:36" + "src": "1430:53:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "1416:10:36", + "nativeSrc": "1416:10:34", "nodeType": "YulTypedName", - "src": "1416:10:36", + "src": "1416:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "1542:22:36", + "nativeSrc": "1542:22:34", "nodeType": "YulBlock", - "src": "1542:22:36", + "src": "1542:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "1544:16:36", + "nativeSrc": "1544:16:34", "nodeType": "YulIdentifier", - "src": "1544:16:36" + "src": "1544:16:34" }, - "nativeSrc": "1544:18:36", + "nativeSrc": "1544:18:34", "nodeType": "YulFunctionCall", - "src": "1544:18:36" + "src": "1544:18:34" }, - "nativeSrc": "1544:18:36", + "nativeSrc": "1544:18:34", "nodeType": "YulExpressionStatement", - "src": "1544:18:36" + "src": "1544:18:34" } ] }, @@ -75274,168 +74284,168 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "1501:10:36", + "nativeSrc": "1501:10:34", "nodeType": "YulIdentifier", - "src": "1501:10:36" + "src": "1501:10:34" }, { "name": "_1", - "nativeSrc": "1513:2:36", + "nativeSrc": "1513:2:34", "nodeType": "YulIdentifier", - "src": "1513:2:36" + "src": "1513:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1498:2:36", + "nativeSrc": "1498:2:34", "nodeType": "YulIdentifier", - "src": "1498:2:36" + "src": "1498:2:34" }, - "nativeSrc": "1498:18:36", + "nativeSrc": "1498:18:34", "nodeType": "YulFunctionCall", - "src": "1498:18:36" + "src": "1498:18:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "1521:10:36", + "nativeSrc": "1521:10:34", "nodeType": "YulIdentifier", - "src": "1521:10:36" + "src": "1521:10:34" }, { "name": "memPtr", - "nativeSrc": "1533:6:36", + "nativeSrc": "1533:6:34", "nodeType": "YulIdentifier", - "src": "1533:6:36" + "src": "1533:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "1518:2:36", + "nativeSrc": "1518:2:34", "nodeType": "YulIdentifier", - "src": "1518:2:36" + "src": "1518:2:34" }, - "nativeSrc": "1518:22:36", + "nativeSrc": "1518:22:34", "nodeType": "YulFunctionCall", - "src": "1518:22:36" + "src": "1518:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "1495:2:36", + "nativeSrc": "1495:2:34", "nodeType": "YulIdentifier", - "src": "1495:2:36" + "src": "1495:2:34" }, - "nativeSrc": "1495:46:36", + "nativeSrc": "1495:46:34", "nodeType": "YulFunctionCall", - "src": "1495:46:36" + "src": "1495:46:34" }, - "nativeSrc": "1492:72:36", + "nativeSrc": "1492:72:34", "nodeType": "YulIf", - "src": "1492:72:36" + "src": "1492:72:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1580:2:36", + "nativeSrc": "1580:2:34", "nodeType": "YulLiteral", - "src": "1580:2:36", + "src": "1580:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "1584:10:36", + "nativeSrc": "1584:10:34", "nodeType": "YulIdentifier", - "src": "1584:10:36" + "src": "1584:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1573:6:36", + "nativeSrc": "1573:6:34", "nodeType": "YulIdentifier", - "src": "1573:6:36" + "src": "1573:6:34" }, - "nativeSrc": "1573:22:36", + "nativeSrc": "1573:22:34", "nodeType": "YulFunctionCall", - "src": "1573:22:36" + "src": "1573:22:34" }, - "nativeSrc": "1573:22:36", + "nativeSrc": "1573:22:34", "nodeType": "YulExpressionStatement", - "src": "1573:22:36" + "src": "1573:22:34" }, { "expression": { "arguments": [ { "name": "memPtr", - "nativeSrc": "1611:6:36", + "nativeSrc": "1611:6:34", "nodeType": "YulIdentifier", - "src": "1611:6:36" + "src": "1611:6:34" }, { "name": "_3", - "nativeSrc": "1619:2:36", + "nativeSrc": "1619:2:34", "nodeType": "YulIdentifier", - "src": "1619:2:36" + "src": "1619:2:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1604:6:36", + "nativeSrc": "1604:6:34", "nodeType": "YulIdentifier", - "src": "1604:6:36" + "src": "1604:6:34" }, - "nativeSrc": "1604:18:36", + "nativeSrc": "1604:18:34", "nodeType": "YulFunctionCall", - "src": "1604:18:36" + "src": "1604:18:34" }, - "nativeSrc": "1604:18:36", + "nativeSrc": "1604:18:34", "nodeType": "YulExpressionStatement", - "src": "1604:18:36" + "src": "1604:18:34" }, { "body": { - "nativeSrc": "1668:16:36", + "nativeSrc": "1668:16:34", "nodeType": "YulBlock", - "src": "1668:16:36", + "src": "1668:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1677:1:36", + "nativeSrc": "1677:1:34", "nodeType": "YulLiteral", - "src": "1677:1:36", + "src": "1677:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1680:1:36", + "nativeSrc": "1680:1:34", "nodeType": "YulLiteral", - "src": "1680:1:36", + "src": "1680:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1670:6:36", + "nativeSrc": "1670:6:34", "nodeType": "YulIdentifier", - "src": "1670:6:36" + "src": "1670:6:34" }, - "nativeSrc": "1670:12:36", + "nativeSrc": "1670:12:34", "nodeType": "YulFunctionCall", - "src": "1670:12:36" + "src": "1670:12:34" }, - "nativeSrc": "1670:12:36", + "nativeSrc": "1670:12:34", "nodeType": "YulExpressionStatement", - "src": "1670:12:36" + "src": "1670:12:34" } ] }, @@ -75447,66 +74457,66 @@ "arguments": [ { "name": "_2", - "nativeSrc": "1645:2:36", + "nativeSrc": "1645:2:34", "nodeType": "YulIdentifier", - "src": "1645:2:36" + "src": "1645:2:34" }, { "name": "_3", - "nativeSrc": "1649:2:36", + "nativeSrc": "1649:2:34", "nodeType": "YulIdentifier", - "src": "1649:2:36" + "src": "1649:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "1641:3:36", + "nativeSrc": "1641:3:34", "nodeType": "YulIdentifier", - "src": "1641:3:36" + "src": "1641:3:34" }, - "nativeSrc": "1641:11:36", + "nativeSrc": "1641:11:34", "nodeType": "YulFunctionCall", - "src": "1641:11:36" + "src": "1641:11:34" }, { "kind": "number", - "nativeSrc": "1654:2:36", + "nativeSrc": "1654:2:34", "nodeType": "YulLiteral", - "src": "1654:2:36", + "src": "1654:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1637:3:36", + "nativeSrc": "1637:3:34", "nodeType": "YulIdentifier", - "src": "1637:3:36" + "src": "1637:3:34" }, - "nativeSrc": "1637:20:36", + "nativeSrc": "1637:20:34", "nodeType": "YulFunctionCall", - "src": "1637:20:36" + "src": "1637:20:34" }, { "name": "dataEnd", - "nativeSrc": "1659:7:36", + "nativeSrc": "1659:7:34", "nodeType": "YulIdentifier", - "src": "1659:7:36" + "src": "1659:7:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1634:2:36", + "nativeSrc": "1634:2:34", "nodeType": "YulIdentifier", - "src": "1634:2:36" + "src": "1634:2:34" }, - "nativeSrc": "1634:33:36", + "nativeSrc": "1634:33:34", "nodeType": "YulFunctionCall", - "src": "1634:33:36" + "src": "1634:33:34" }, - "nativeSrc": "1631:53:36", + "nativeSrc": "1631:53:34", "nodeType": "YulIf", - "src": "1631:53:36" + "src": "1631:53:34" }, { "expression": { @@ -75515,76 +74525,76 @@ "arguments": [ { "name": "memPtr", - "nativeSrc": "1710:6:36", + "nativeSrc": "1710:6:34", "nodeType": "YulIdentifier", - "src": "1710:6:36" + "src": "1710:6:34" }, { "kind": "number", - "nativeSrc": "1718:2:36", + "nativeSrc": "1718:2:34", "nodeType": "YulLiteral", - "src": "1718:2:36", + "src": "1718:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1706:3:36", + "nativeSrc": "1706:3:34", "nodeType": "YulIdentifier", - "src": "1706:3:36" + "src": "1706:3:34" }, - "nativeSrc": "1706:15:36", + "nativeSrc": "1706:15:34", "nodeType": "YulFunctionCall", - "src": "1706:15:36" + "src": "1706:15:34" }, { "arguments": [ { "name": "_2", - "nativeSrc": "1727:2:36", + "nativeSrc": "1727:2:34", "nodeType": "YulIdentifier", - "src": "1727:2:36" + "src": "1727:2:34" }, { "kind": "number", - "nativeSrc": "1731:2:36", + "nativeSrc": "1731:2:34", "nodeType": "YulLiteral", - "src": "1731:2:36", + "src": "1731:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1723:3:36", + "nativeSrc": "1723:3:34", "nodeType": "YulIdentifier", - "src": "1723:3:36" + "src": "1723:3:34" }, - "nativeSrc": "1723:11:36", + "nativeSrc": "1723:11:34", "nodeType": "YulFunctionCall", - "src": "1723:11:36" + "src": "1723:11:34" }, { "name": "_3", - "nativeSrc": "1736:2:36", + "nativeSrc": "1736:2:34", "nodeType": "YulIdentifier", - "src": "1736:2:36" + "src": "1736:2:34" } ], "functionName": { "name": "calldatacopy", - "nativeSrc": "1693:12:36", + "nativeSrc": "1693:12:34", "nodeType": "YulIdentifier", - "src": "1693:12:36" + "src": "1693:12:34" }, - "nativeSrc": "1693:46:36", + "nativeSrc": "1693:46:34", "nodeType": "YulFunctionCall", - "src": "1693:46:36" + "src": "1693:46:34" }, - "nativeSrc": "1693:46:36", + "nativeSrc": "1693:46:34", "nodeType": "YulExpressionStatement", - "src": "1693:46:36" + "src": "1693:46:34" }, { "expression": { @@ -75595,169 +74605,169 @@ "arguments": [ { "name": "memPtr", - "nativeSrc": "1763:6:36", + "nativeSrc": "1763:6:34", "nodeType": "YulIdentifier", - "src": "1763:6:36" + "src": "1763:6:34" }, { "name": "_3", - "nativeSrc": "1771:2:36", + "nativeSrc": "1771:2:34", "nodeType": "YulIdentifier", - "src": "1771:2:36" + "src": "1771:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "1759:3:36", + "nativeSrc": "1759:3:34", "nodeType": "YulIdentifier", - "src": "1759:3:36" + "src": "1759:3:34" }, - "nativeSrc": "1759:15:36", + "nativeSrc": "1759:15:34", "nodeType": "YulFunctionCall", - "src": "1759:15:36" + "src": "1759:15:34" }, { "kind": "number", - "nativeSrc": "1776:2:36", + "nativeSrc": "1776:2:34", "nodeType": "YulLiteral", - "src": "1776:2:36", + "src": "1776:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1755:3:36", + "nativeSrc": "1755:3:34", "nodeType": "YulIdentifier", - "src": "1755:3:36" + "src": "1755:3:34" }, - "nativeSrc": "1755:24:36", + "nativeSrc": "1755:24:34", "nodeType": "YulFunctionCall", - "src": "1755:24:36" + "src": "1755:24:34" }, { "kind": "number", - "nativeSrc": "1781:1:36", + "nativeSrc": "1781:1:34", "nodeType": "YulLiteral", - "src": "1781:1:36", + "src": "1781:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "1748:6:36", + "nativeSrc": "1748:6:34", "nodeType": "YulIdentifier", - "src": "1748:6:36" + "src": "1748:6:34" }, - "nativeSrc": "1748:35:36", + "nativeSrc": "1748:35:34", "nodeType": "YulFunctionCall", - "src": "1748:35:36" + "src": "1748:35:34" }, - "nativeSrc": "1748:35:36", + "nativeSrc": "1748:35:34", "nodeType": "YulExpressionStatement", - "src": "1748:35:36" + "src": "1748:35:34" }, { - "nativeSrc": "1792:16:36", + "nativeSrc": "1792:16:34", "nodeType": "YulAssignment", - "src": "1792:16:36", + "src": "1792:16:34", "value": { "name": "memPtr", - "nativeSrc": "1802:6:36", + "nativeSrc": "1802:6:34", "nodeType": "YulIdentifier", - "src": "1802:6:36" + "src": "1802:6:34" }, "variableNames": [ { "name": "value2", - "nativeSrc": "1792:6:36", + "nativeSrc": "1792:6:34", "nodeType": "YulIdentifier", - "src": "1792:6:36" + "src": "1792:6:34" } ] } ] }, - "name": "abi_decode_tuple_t_contract$_ITransparentUpgradeableProxy_$1833t_addresst_bytes_memory_ptr", - "nativeSrc": "520:1294:36", + "name": "abi_decode_tuple_t_contract$_ITransparentUpgradeableProxy_$1834t_addresst_bytes_memory_ptr", + "nativeSrc": "520:1294:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "620:9:36", + "nativeSrc": "620:9:34", "nodeType": "YulTypedName", - "src": "620:9:36", + "src": "620:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "631:7:36", + "nativeSrc": "631:7:34", "nodeType": "YulTypedName", - "src": "631:7:36", + "src": "631:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "643:6:36", + "nativeSrc": "643:6:34", "nodeType": "YulTypedName", - "src": "643:6:36", + "src": "643:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "651:6:36", + "nativeSrc": "651:6:34", "nodeType": "YulTypedName", - "src": "651:6:36", + "src": "651:6:34", "type": "" }, { "name": "value2", - "nativeSrc": "659:6:36", + "nativeSrc": "659:6:34", "nodeType": "YulTypedName", - "src": "659:6:36", + "src": "659:6:34", "type": "" } ], - "src": "520:1294:36" + "src": "520:1294:34" }, { "body": { - "nativeSrc": "1869:373:36", + "nativeSrc": "1869:373:34", "nodeType": "YulBlock", - "src": "1869:373:36", + "src": "1869:373:34", "statements": [ { - "nativeSrc": "1879:26:36", + "nativeSrc": "1879:26:34", "nodeType": "YulVariableDeclaration", - "src": "1879:26:36", + "src": "1879:26:34", "value": { "arguments": [ { "name": "value", - "nativeSrc": "1899:5:36", + "nativeSrc": "1899:5:34", "nodeType": "YulIdentifier", - "src": "1899:5:36" + "src": "1899:5:34" } ], "functionName": { "name": "mload", - "nativeSrc": "1893:5:36", + "nativeSrc": "1893:5:34", "nodeType": "YulIdentifier", - "src": "1893:5:36" + "src": "1893:5:34" }, - "nativeSrc": "1893:12:36", + "nativeSrc": "1893:12:34", "nodeType": "YulFunctionCall", - "src": "1893:12:36" + "src": "1893:12:34" }, "variables": [ { "name": "length", - "nativeSrc": "1883:6:36", + "nativeSrc": "1883:6:34", "nodeType": "YulTypedName", - "src": "1883:6:36", + "src": "1883:6:34", "type": "" } ] @@ -75767,77 +74777,77 @@ "arguments": [ { "name": "pos", - "nativeSrc": "1921:3:36", + "nativeSrc": "1921:3:34", "nodeType": "YulIdentifier", - "src": "1921:3:36" + "src": "1921:3:34" }, { "name": "length", - "nativeSrc": "1926:6:36", + "nativeSrc": "1926:6:34", "nodeType": "YulIdentifier", - "src": "1926:6:36" + "src": "1926:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1914:6:36", + "nativeSrc": "1914:6:34", "nodeType": "YulIdentifier", - "src": "1914:6:36" + "src": "1914:6:34" }, - "nativeSrc": "1914:19:36", + "nativeSrc": "1914:19:34", "nodeType": "YulFunctionCall", - "src": "1914:19:36" + "src": "1914:19:34" }, - "nativeSrc": "1914:19:36", + "nativeSrc": "1914:19:34", "nodeType": "YulExpressionStatement", - "src": "1914:19:36" + "src": "1914:19:34" }, { - "nativeSrc": "1942:10:36", + "nativeSrc": "1942:10:34", "nodeType": "YulVariableDeclaration", - "src": "1942:10:36", + "src": "1942:10:34", "value": { "kind": "number", - "nativeSrc": "1951:1:36", + "nativeSrc": "1951:1:34", "nodeType": "YulLiteral", - "src": "1951:1:36", + "src": "1951:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "1946:1:36", + "nativeSrc": "1946:1:34", "nodeType": "YulTypedName", - "src": "1946:1:36", + "src": "1946:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "2013:110:36", + "nativeSrc": "2013:110:34", "nodeType": "YulBlock", - "src": "2013:110:36", + "src": "2013:110:34", "statements": [ { - "nativeSrc": "2027:14:36", + "nativeSrc": "2027:14:34", "nodeType": "YulVariableDeclaration", - "src": "2027:14:36", + "src": "2027:14:34", "value": { "kind": "number", - "nativeSrc": "2037:4:36", + "nativeSrc": "2037:4:34", "nodeType": "YulLiteral", - "src": "2037:4:36", + "src": "2037:4:34", "type": "", "value": "0x20" }, "variables": [ { "name": "_1", - "nativeSrc": "2031:2:36", + "nativeSrc": "2031:2:34", "nodeType": "YulTypedName", - "src": "2031:2:36", + "src": "2031:2:34", "type": "" } ] @@ -75851,43 +74861,43 @@ "arguments": [ { "name": "pos", - "nativeSrc": "2069:3:36", + "nativeSrc": "2069:3:34", "nodeType": "YulIdentifier", - "src": "2069:3:36" + "src": "2069:3:34" }, { "name": "i", - "nativeSrc": "2074:1:36", + "nativeSrc": "2074:1:34", "nodeType": "YulIdentifier", - "src": "2074:1:36" + "src": "2074:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "2065:3:36", + "nativeSrc": "2065:3:34", "nodeType": "YulIdentifier", - "src": "2065:3:36" + "src": "2065:3:34" }, - "nativeSrc": "2065:11:36", + "nativeSrc": "2065:11:34", "nodeType": "YulFunctionCall", - "src": "2065:11:36" + "src": "2065:11:34" }, { "name": "_1", - "nativeSrc": "2078:2:36", + "nativeSrc": "2078:2:34", "nodeType": "YulIdentifier", - "src": "2078:2:36" + "src": "2078:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "2061:3:36", + "nativeSrc": "2061:3:34", "nodeType": "YulIdentifier", - "src": "2061:3:36" + "src": "2061:3:34" }, - "nativeSrc": "2061:20:36", + "nativeSrc": "2061:20:34", "nodeType": "YulFunctionCall", - "src": "2061:20:36" + "src": "2061:20:34" }, { "arguments": [ @@ -75897,69 +74907,69 @@ "arguments": [ { "name": "value", - "nativeSrc": "2097:5:36", + "nativeSrc": "2097:5:34", "nodeType": "YulIdentifier", - "src": "2097:5:36" + "src": "2097:5:34" }, { "name": "i", - "nativeSrc": "2104:1:36", + "nativeSrc": "2104:1:34", "nodeType": "YulIdentifier", - "src": "2104:1:36" + "src": "2104:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "2093:3:36", + "nativeSrc": "2093:3:34", "nodeType": "YulIdentifier", - "src": "2093:3:36" + "src": "2093:3:34" }, - "nativeSrc": "2093:13:36", + "nativeSrc": "2093:13:34", "nodeType": "YulFunctionCall", - "src": "2093:13:36" + "src": "2093:13:34" }, { "name": "_1", - "nativeSrc": "2108:2:36", + "nativeSrc": "2108:2:34", "nodeType": "YulIdentifier", - "src": "2108:2:36" + "src": "2108:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "2089:3:36", + "nativeSrc": "2089:3:34", "nodeType": "YulIdentifier", - "src": "2089:3:36" + "src": "2089:3:34" }, - "nativeSrc": "2089:22:36", + "nativeSrc": "2089:22:34", "nodeType": "YulFunctionCall", - "src": "2089:22:36" + "src": "2089:22:34" } ], "functionName": { "name": "mload", - "nativeSrc": "2083:5:36", + "nativeSrc": "2083:5:34", "nodeType": "YulIdentifier", - "src": "2083:5:36" + "src": "2083:5:34" }, - "nativeSrc": "2083:29:36", + "nativeSrc": "2083:29:34", "nodeType": "YulFunctionCall", - "src": "2083:29:36" + "src": "2083:29:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2054:6:36", + "nativeSrc": "2054:6:34", "nodeType": "YulIdentifier", - "src": "2054:6:36" + "src": "2054:6:34" }, - "nativeSrc": "2054:59:36", + "nativeSrc": "2054:59:34", "nodeType": "YulFunctionCall", - "src": "2054:59:36" + "src": "2054:59:34" }, - "nativeSrc": "2054:59:36", + "nativeSrc": "2054:59:34", "nodeType": "YulExpressionStatement", - "src": "2054:59:36" + "src": "2054:59:34" } ] }, @@ -75967,83 +74977,83 @@ "arguments": [ { "name": "i", - "nativeSrc": "1972:1:36", + "nativeSrc": "1972:1:34", "nodeType": "YulIdentifier", - "src": "1972:1:36" + "src": "1972:1:34" }, { "name": "length", - "nativeSrc": "1975:6:36", + "nativeSrc": "1975:6:34", "nodeType": "YulIdentifier", - "src": "1975:6:36" + "src": "1975:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "1969:2:36", + "nativeSrc": "1969:2:34", "nodeType": "YulIdentifier", - "src": "1969:2:36" + "src": "1969:2:34" }, - "nativeSrc": "1969:13:36", + "nativeSrc": "1969:13:34", "nodeType": "YulFunctionCall", - "src": "1969:13:36" + "src": "1969:13:34" }, - "nativeSrc": "1961:162:36", + "nativeSrc": "1961:162:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "1983:21:36", + "nativeSrc": "1983:21:34", "nodeType": "YulBlock", - "src": "1983:21:36", + "src": "1983:21:34", "statements": [ { - "nativeSrc": "1985:17:36", + "nativeSrc": "1985:17:34", "nodeType": "YulAssignment", - "src": "1985:17:36", + "src": "1985:17:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "1994:1:36", + "nativeSrc": "1994:1:34", "nodeType": "YulIdentifier", - "src": "1994:1:36" + "src": "1994:1:34" }, { "kind": "number", - "nativeSrc": "1997:4:36", + "nativeSrc": "1997:4:34", "nodeType": "YulLiteral", - "src": "1997:4:36", + "src": "1997:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "1990:3:36", + "nativeSrc": "1990:3:34", "nodeType": "YulIdentifier", - "src": "1990:3:36" + "src": "1990:3:34" }, - "nativeSrc": "1990:12:36", + "nativeSrc": "1990:12:34", "nodeType": "YulFunctionCall", - "src": "1990:12:36" + "src": "1990:12:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "1985:1:36", + "nativeSrc": "1985:1:34", "nodeType": "YulIdentifier", - "src": "1985:1:36" + "src": "1985:1:34" } ] } ] }, "pre": { - "nativeSrc": "1965:3:36", + "nativeSrc": "1965:3:34", "nodeType": "YulBlock", - "src": "1965:3:36", + "src": "1965:3:34", "statements": [] }, - "src": "1961:162:36" + "src": "1961:162:34" }, { "expression": { @@ -76054,82 +75064,82 @@ "arguments": [ { "name": "pos", - "nativeSrc": "2147:3:36", + "nativeSrc": "2147:3:34", "nodeType": "YulIdentifier", - "src": "2147:3:36" + "src": "2147:3:34" }, { "name": "length", - "nativeSrc": "2152:6:36", + "nativeSrc": "2152:6:34", "nodeType": "YulIdentifier", - "src": "2152:6:36" + "src": "2152:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "2143:3:36", + "nativeSrc": "2143:3:34", "nodeType": "YulIdentifier", - "src": "2143:3:36" + "src": "2143:3:34" }, - "nativeSrc": "2143:16:36", + "nativeSrc": "2143:16:34", "nodeType": "YulFunctionCall", - "src": "2143:16:36" + "src": "2143:16:34" }, { "kind": "number", - "nativeSrc": "2161:4:36", + "nativeSrc": "2161:4:34", "nodeType": "YulLiteral", - "src": "2161:4:36", + "src": "2161:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "2139:3:36", + "nativeSrc": "2139:3:34", "nodeType": "YulIdentifier", - "src": "2139:3:36" + "src": "2139:3:34" }, - "nativeSrc": "2139:27:36", + "nativeSrc": "2139:27:34", "nodeType": "YulFunctionCall", - "src": "2139:27:36" + "src": "2139:27:34" }, { "kind": "number", - "nativeSrc": "2168:1:36", + "nativeSrc": "2168:1:34", "nodeType": "YulLiteral", - "src": "2168:1:36", + "src": "2168:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "2132:6:36", + "nativeSrc": "2132:6:34", "nodeType": "YulIdentifier", - "src": "2132:6:36" + "src": "2132:6:34" }, - "nativeSrc": "2132:38:36", + "nativeSrc": "2132:38:34", "nodeType": "YulFunctionCall", - "src": "2132:38:36" + "src": "2132:38:34" }, - "nativeSrc": "2132:38:36", + "nativeSrc": "2132:38:34", "nodeType": "YulExpressionStatement", - "src": "2132:38:36" + "src": "2132:38:34" }, { - "nativeSrc": "2179:57:36", + "nativeSrc": "2179:57:34", "nodeType": "YulAssignment", - "src": "2179:57:36", + "src": "2179:57:34", "value": { "arguments": [ { "arguments": [ { "name": "pos", - "nativeSrc": "2194:3:36", + "nativeSrc": "2194:3:34", "nodeType": "YulIdentifier", - "src": "2194:3:36" + "src": "2194:3:34" }, { "arguments": [ @@ -76137,306 +75147,306 @@ "arguments": [ { "name": "length", - "nativeSrc": "2207:6:36", + "nativeSrc": "2207:6:34", "nodeType": "YulIdentifier", - "src": "2207:6:36" + "src": "2207:6:34" }, { "kind": "number", - "nativeSrc": "2215:2:36", + "nativeSrc": "2215:2:34", "nodeType": "YulLiteral", - "src": "2215:2:36", + "src": "2215:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "2203:3:36", + "nativeSrc": "2203:3:34", "nodeType": "YulIdentifier", - "src": "2203:3:36" + "src": "2203:3:34" }, - "nativeSrc": "2203:15:36", + "nativeSrc": "2203:15:34", "nodeType": "YulFunctionCall", - "src": "2203:15:36" + "src": "2203:15:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "2224:2:36", + "nativeSrc": "2224:2:34", "nodeType": "YulLiteral", - "src": "2224:2:36", + "src": "2224:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "2220:3:36", + "nativeSrc": "2220:3:34", "nodeType": "YulIdentifier", - "src": "2220:3:36" + "src": "2220:3:34" }, - "nativeSrc": "2220:7:36", + "nativeSrc": "2220:7:34", "nodeType": "YulFunctionCall", - "src": "2220:7:36" + "src": "2220:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "2199:3:36", + "nativeSrc": "2199:3:34", "nodeType": "YulIdentifier", - "src": "2199:3:36" + "src": "2199:3:34" }, - "nativeSrc": "2199:29:36", + "nativeSrc": "2199:29:34", "nodeType": "YulFunctionCall", - "src": "2199:29:36" + "src": "2199:29:34" } ], "functionName": { "name": "add", - "nativeSrc": "2190:3:36", + "nativeSrc": "2190:3:34", "nodeType": "YulIdentifier", - "src": "2190:3:36" + "src": "2190:3:34" }, - "nativeSrc": "2190:39:36", + "nativeSrc": "2190:39:34", "nodeType": "YulFunctionCall", - "src": "2190:39:36" + "src": "2190:39:34" }, { "kind": "number", - "nativeSrc": "2231:4:36", + "nativeSrc": "2231:4:34", "nodeType": "YulLiteral", - "src": "2231:4:36", + "src": "2231:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "2186:3:36", + "nativeSrc": "2186:3:34", "nodeType": "YulIdentifier", - "src": "2186:3:36" + "src": "2186:3:34" }, - "nativeSrc": "2186:50:36", + "nativeSrc": "2186:50:34", "nodeType": "YulFunctionCall", - "src": "2186:50:36" + "src": "2186:50:34" }, "variableNames": [ { "name": "end", - "nativeSrc": "2179:3:36", + "nativeSrc": "2179:3:34", "nodeType": "YulIdentifier", - "src": "2179:3:36" + "src": "2179:3:34" } ] } ] }, "name": "abi_encode_string", - "nativeSrc": "1819:423:36", + "nativeSrc": "1819:423:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "1846:5:36", + "nativeSrc": "1846:5:34", "nodeType": "YulTypedName", - "src": "1846:5:36", + "src": "1846:5:34", "type": "" }, { "name": "pos", - "nativeSrc": "1853:3:36", + "nativeSrc": "1853:3:34", "nodeType": "YulTypedName", - "src": "1853:3:36", + "src": "1853:3:34", "type": "" } ], "returnVariables": [ { "name": "end", - "nativeSrc": "1861:3:36", + "nativeSrc": "1861:3:34", "nodeType": "YulTypedName", - "src": "1861:3:36", + "src": "1861:3:34", "type": "" } ], - "src": "1819:423:36" + "src": "1819:423:34" }, { "body": { - "nativeSrc": "2368:99:36", + "nativeSrc": "2368:99:34", "nodeType": "YulBlock", - "src": "2368:99:36", + "src": "2368:99:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "2385:9:36", + "nativeSrc": "2385:9:34", "nodeType": "YulIdentifier", - "src": "2385:9:36" + "src": "2385:9:34" }, { "kind": "number", - "nativeSrc": "2396:2:36", + "nativeSrc": "2396:2:34", "nodeType": "YulLiteral", - "src": "2396:2:36", + "src": "2396:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "2378:6:36", + "nativeSrc": "2378:6:34", "nodeType": "YulIdentifier", - "src": "2378:6:36" + "src": "2378:6:34" }, - "nativeSrc": "2378:21:36", + "nativeSrc": "2378:21:34", "nodeType": "YulFunctionCall", - "src": "2378:21:36" + "src": "2378:21:34" }, - "nativeSrc": "2378:21:36", + "nativeSrc": "2378:21:34", "nodeType": "YulExpressionStatement", - "src": "2378:21:36" + "src": "2378:21:34" }, { - "nativeSrc": "2408:53:36", + "nativeSrc": "2408:53:34", "nodeType": "YulAssignment", - "src": "2408:53:36", + "src": "2408:53:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "2434:6:36", + "nativeSrc": "2434:6:34", "nodeType": "YulIdentifier", - "src": "2434:6:36" + "src": "2434:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "2446:9:36", + "nativeSrc": "2446:9:34", "nodeType": "YulIdentifier", - "src": "2446:9:36" + "src": "2446:9:34" }, { "kind": "number", - "nativeSrc": "2457:2:36", + "nativeSrc": "2457:2:34", "nodeType": "YulLiteral", - "src": "2457:2:36", + "src": "2457:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "2442:3:36", + "nativeSrc": "2442:3:34", "nodeType": "YulIdentifier", - "src": "2442:3:36" + "src": "2442:3:34" }, - "nativeSrc": "2442:18:36", + "nativeSrc": "2442:18:34", "nodeType": "YulFunctionCall", - "src": "2442:18:36" + "src": "2442:18:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "2416:17:36", + "nativeSrc": "2416:17:34", "nodeType": "YulIdentifier", - "src": "2416:17:36" + "src": "2416:17:34" }, - "nativeSrc": "2416:45:36", + "nativeSrc": "2416:45:34", "nodeType": "YulFunctionCall", - "src": "2416:45:36" + "src": "2416:45:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "2408:4:36", + "nativeSrc": "2408:4:34", "nodeType": "YulIdentifier", - "src": "2408:4:36" + "src": "2408:4:34" } ] } ] }, "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "2247:220:36", + "nativeSrc": "2247:220:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "2337:9:36", + "nativeSrc": "2337:9:34", "nodeType": "YulTypedName", - "src": "2337:9:36", + "src": "2337:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "2348:6:36", + "nativeSrc": "2348:6:34", "nodeType": "YulTypedName", - "src": "2348:6:36", + "src": "2348:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "2359:4:36", + "nativeSrc": "2359:4:34", "nodeType": "YulTypedName", - "src": "2359:4:36", + "src": "2359:4:34", "type": "" } ], - "src": "2247:220:36" + "src": "2247:220:34" }, { "body": { - "nativeSrc": "2542:207:36", + "nativeSrc": "2542:207:34", "nodeType": "YulBlock", - "src": "2542:207:36", + "src": "2542:207:34", "statements": [ { "body": { - "nativeSrc": "2588:16:36", + "nativeSrc": "2588:16:34", "nodeType": "YulBlock", - "src": "2588:16:36", + "src": "2588:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2597:1:36", + "nativeSrc": "2597:1:34", "nodeType": "YulLiteral", - "src": "2597:1:36", + "src": "2597:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "2600:1:36", + "nativeSrc": "2600:1:34", "nodeType": "YulLiteral", - "src": "2600:1:36", + "src": "2600:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "2590:6:36", + "nativeSrc": "2590:6:34", "nodeType": "YulIdentifier", - "src": "2590:6:36" + "src": "2590:6:34" }, - "nativeSrc": "2590:12:36", + "nativeSrc": "2590:12:34", "nodeType": "YulFunctionCall", - "src": "2590:12:36" + "src": "2590:12:34" }, - "nativeSrc": "2590:12:36", + "nativeSrc": "2590:12:34", "nodeType": "YulExpressionStatement", - "src": "2590:12:36" + "src": "2590:12:34" } ] }, @@ -76446,79 +75456,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "2563:7:36", + "nativeSrc": "2563:7:34", "nodeType": "YulIdentifier", - "src": "2563:7:36" + "src": "2563:7:34" }, { "name": "headStart", - "nativeSrc": "2572:9:36", + "nativeSrc": "2572:9:34", "nodeType": "YulIdentifier", - "src": "2572:9:36" + "src": "2572:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "2559:3:36", + "nativeSrc": "2559:3:34", "nodeType": "YulIdentifier", - "src": "2559:3:36" + "src": "2559:3:34" }, - "nativeSrc": "2559:23:36", + "nativeSrc": "2559:23:34", "nodeType": "YulFunctionCall", - "src": "2559:23:36" + "src": "2559:23:34" }, { "kind": "number", - "nativeSrc": "2584:2:36", + "nativeSrc": "2584:2:34", "nodeType": "YulLiteral", - "src": "2584:2:36", + "src": "2584:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "2555:3:36", + "nativeSrc": "2555:3:34", "nodeType": "YulIdentifier", - "src": "2555:3:36" + "src": "2555:3:34" }, - "nativeSrc": "2555:32:36", + "nativeSrc": "2555:32:34", "nodeType": "YulFunctionCall", - "src": "2555:32:36" + "src": "2555:32:34" }, - "nativeSrc": "2552:52:36", + "nativeSrc": "2552:52:34", "nodeType": "YulIf", - "src": "2552:52:36" + "src": "2552:52:34" }, { - "nativeSrc": "2613:36:36", + "nativeSrc": "2613:36:34", "nodeType": "YulVariableDeclaration", - "src": "2613:36:36", + "src": "2613:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "2639:9:36", + "nativeSrc": "2639:9:34", "nodeType": "YulIdentifier", - "src": "2639:9:36" + "src": "2639:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "2626:12:36", + "nativeSrc": "2626:12:34", "nodeType": "YulIdentifier", - "src": "2626:12:36" + "src": "2626:12:34" }, - "nativeSrc": "2626:23:36", + "nativeSrc": "2626:23:34", "nodeType": "YulFunctionCall", - "src": "2626:23:36" + "src": "2626:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "2617:5:36", + "nativeSrc": "2617:5:34", "nodeType": "YulTypedName", - "src": "2617:5:36", + "src": "2617:5:34", "type": "" } ] @@ -76528,98 +75538,98 @@ "arguments": [ { "name": "value", - "nativeSrc": "2713:5:36", + "nativeSrc": "2713:5:34", "nodeType": "YulIdentifier", - "src": "2713:5:36" + "src": "2713:5:34" } ], "functionName": { "name": "validator_revert_contract_ITransparentUpgradeableProxy", - "nativeSrc": "2658:54:36", + "nativeSrc": "2658:54:34", "nodeType": "YulIdentifier", - "src": "2658:54:36" + "src": "2658:54:34" }, - "nativeSrc": "2658:61:36", + "nativeSrc": "2658:61:34", "nodeType": "YulFunctionCall", - "src": "2658:61:36" + "src": "2658:61:34" }, - "nativeSrc": "2658:61:36", + "nativeSrc": "2658:61:34", "nodeType": "YulExpressionStatement", - "src": "2658:61:36" + "src": "2658:61:34" }, { - "nativeSrc": "2728:15:36", + "nativeSrc": "2728:15:34", "nodeType": "YulAssignment", - "src": "2728:15:36", + "src": "2728:15:34", "value": { "name": "value", - "nativeSrc": "2738:5:36", + "nativeSrc": "2738:5:34", "nodeType": "YulIdentifier", - "src": "2738:5:36" + "src": "2738:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "2728:6:36", + "nativeSrc": "2728:6:34", "nodeType": "YulIdentifier", - "src": "2728:6:36" + "src": "2728:6:34" } ] } ] }, "name": "abi_decode_tuple_t_address", - "nativeSrc": "2472:277:36", + "nativeSrc": "2472:277:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "2508:9:36", + "nativeSrc": "2508:9:34", "nodeType": "YulTypedName", - "src": "2508:9:36", + "src": "2508:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "2519:7:36", + "nativeSrc": "2519:7:34", "nodeType": "YulTypedName", - "src": "2519:7:36", + "src": "2519:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "2531:6:36", + "nativeSrc": "2531:6:34", "nodeType": "YulTypedName", - "src": "2531:6:36", + "src": "2531:6:34", "type": "" } ], - "src": "2472:277:36" + "src": "2472:277:34" }, { "body": { - "nativeSrc": "2901:168:36", + "nativeSrc": "2901:168:34", "nodeType": "YulBlock", - "src": "2901:168:36", + "src": "2901:168:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "2918:9:36", + "nativeSrc": "2918:9:34", "nodeType": "YulIdentifier", - "src": "2918:9:36" + "src": "2918:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "2933:6:36", + "nativeSrc": "2933:6:34", "nodeType": "YulIdentifier", - "src": "2933:6:36" + "src": "2933:6:34" }, { "arguments": [ @@ -76627,75 +75637,75 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2949:3:36", + "nativeSrc": "2949:3:34", "nodeType": "YulLiteral", - "src": "2949:3:36", + "src": "2949:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "2954:1:36", + "nativeSrc": "2954:1:34", "nodeType": "YulLiteral", - "src": "2954:1:36", + "src": "2954:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "2945:3:36", + "nativeSrc": "2945:3:34", "nodeType": "YulIdentifier", - "src": "2945:3:36" + "src": "2945:3:34" }, - "nativeSrc": "2945:11:36", + "nativeSrc": "2945:11:34", "nodeType": "YulFunctionCall", - "src": "2945:11:36" + "src": "2945:11:34" }, { "kind": "number", - "nativeSrc": "2958:1:36", + "nativeSrc": "2958:1:34", "nodeType": "YulLiteral", - "src": "2958:1:36", + "src": "2958:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "2941:3:36", + "nativeSrc": "2941:3:34", "nodeType": "YulIdentifier", - "src": "2941:3:36" + "src": "2941:3:34" }, - "nativeSrc": "2941:19:36", + "nativeSrc": "2941:19:34", "nodeType": "YulFunctionCall", - "src": "2941:19:36" + "src": "2941:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "2929:3:36", + "nativeSrc": "2929:3:34", "nodeType": "YulIdentifier", - "src": "2929:3:36" + "src": "2929:3:34" }, - "nativeSrc": "2929:32:36", + "nativeSrc": "2929:32:34", "nodeType": "YulFunctionCall", - "src": "2929:32:36" + "src": "2929:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2911:6:36", + "nativeSrc": "2911:6:34", "nodeType": "YulIdentifier", - "src": "2911:6:36" + "src": "2911:6:34" }, - "nativeSrc": "2911:51:36", + "nativeSrc": "2911:51:34", "nodeType": "YulFunctionCall", - "src": "2911:51:36" + "src": "2911:51:34" }, - "nativeSrc": "2911:51:36", + "nativeSrc": "2911:51:34", "nodeType": "YulExpressionStatement", - "src": "2911:51:36" + "src": "2911:51:34" }, { "expression": { @@ -76704,163 +75714,163 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "2982:9:36", + "nativeSrc": "2982:9:34", "nodeType": "YulIdentifier", - "src": "2982:9:36" + "src": "2982:9:34" }, { "kind": "number", - "nativeSrc": "2993:2:36", + "nativeSrc": "2993:2:34", "nodeType": "YulLiteral", - "src": "2993:2:36", + "src": "2993:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "2978:3:36", + "nativeSrc": "2978:3:34", "nodeType": "YulIdentifier", - "src": "2978:3:36" + "src": "2978:3:34" }, - "nativeSrc": "2978:18:36", + "nativeSrc": "2978:18:34", "nodeType": "YulFunctionCall", - "src": "2978:18:36" + "src": "2978:18:34" }, { "kind": "number", - "nativeSrc": "2998:2:36", + "nativeSrc": "2998:2:34", "nodeType": "YulLiteral", - "src": "2998:2:36", + "src": "2998:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mstore", - "nativeSrc": "2971:6:36", + "nativeSrc": "2971:6:34", "nodeType": "YulIdentifier", - "src": "2971:6:36" + "src": "2971:6:34" }, - "nativeSrc": "2971:30:36", + "nativeSrc": "2971:30:34", "nodeType": "YulFunctionCall", - "src": "2971:30:36" + "src": "2971:30:34" }, - "nativeSrc": "2971:30:36", + "nativeSrc": "2971:30:34", "nodeType": "YulExpressionStatement", - "src": "2971:30:36" + "src": "2971:30:34" }, { - "nativeSrc": "3010:53:36", + "nativeSrc": "3010:53:34", "nodeType": "YulAssignment", - "src": "3010:53:36", + "src": "3010:53:34", "value": { "arguments": [ { "name": "value1", - "nativeSrc": "3036:6:36", + "nativeSrc": "3036:6:34", "nodeType": "YulIdentifier", - "src": "3036:6:36" + "src": "3036:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "3048:9:36", + "nativeSrc": "3048:9:34", "nodeType": "YulIdentifier", - "src": "3048:9:36" + "src": "3048:9:34" }, { "kind": "number", - "nativeSrc": "3059:2:36", + "nativeSrc": "3059:2:34", "nodeType": "YulLiteral", - "src": "3059:2:36", + "src": "3059:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "3044:3:36", + "nativeSrc": "3044:3:34", "nodeType": "YulIdentifier", - "src": "3044:3:36" + "src": "3044:3:34" }, - "nativeSrc": "3044:18:36", + "nativeSrc": "3044:18:34", "nodeType": "YulFunctionCall", - "src": "3044:18:36" + "src": "3044:18:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "3018:17:36", + "nativeSrc": "3018:17:34", "nodeType": "YulIdentifier", - "src": "3018:17:36" + "src": "3018:17:34" }, - "nativeSrc": "3018:45:36", + "nativeSrc": "3018:45:34", "nodeType": "YulFunctionCall", - "src": "3018:45:36" + "src": "3018:45:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "3010:4:36", + "nativeSrc": "3010:4:34", "nodeType": "YulIdentifier", - "src": "3010:4:36" + "src": "3010:4:34" } ] } ] }, "name": "abi_encode_tuple_t_address_t_bytes_memory_ptr__to_t_address_t_bytes_memory_ptr__fromStack_reversed", - "nativeSrc": "2754:315:36", + "nativeSrc": "2754:315:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "2862:9:36", + "nativeSrc": "2862:9:34", "nodeType": "YulTypedName", - "src": "2862:9:36", + "src": "2862:9:34", "type": "" }, { "name": "value1", - "nativeSrc": "2873:6:36", + "nativeSrc": "2873:6:34", "nodeType": "YulTypedName", - "src": "2873:6:36", + "src": "2873:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "2881:6:36", + "nativeSrc": "2881:6:34", "nodeType": "YulTypedName", - "src": "2881:6:36", + "src": "2881:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "2892:4:36", + "nativeSrc": "2892:4:34", "nodeType": "YulTypedName", - "src": "2892:4:36", + "src": "2892:4:34", "type": "" } ], - "src": "2754:315:36" + "src": "2754:315:34" } ] }, - "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 validator_revert_contract_ITransparentUpgradeableProxy(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_contract$_ITransparentUpgradeableProxy_$1833t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_ITransparentUpgradeableProxy(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_contract_ITransparentUpgradeableProxy(value_1)\n value1 := value_1\n let offset := calldataload(add(headStart, 64))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value2 := memPtr\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n let _1 := 0x20\n mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n }\n mstore(add(add(pos, length), 0x20), 0)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\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_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_ITransparentUpgradeableProxy(value)\n value0 := value\n }\n function abi_encode_tuple_t_address_t_bytes_memory_ptr__to_t_address_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), 64)\n tail := abi_encode_string(value1, add(headStart, 64))\n }\n}", - "id": 36, + "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 validator_revert_contract_ITransparentUpgradeableProxy(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_contract$_ITransparentUpgradeableProxy_$1834t_addresst_bytes_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_ITransparentUpgradeableProxy(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_contract_ITransparentUpgradeableProxy(value_1)\n value1 := value_1\n let offset := calldataload(add(headStart, 64))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value2 := memPtr\n }\n function abi_encode_string(value, pos) -> end\n {\n let length := mload(value)\n mstore(pos, length)\n let i := 0\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n let _1 := 0x20\n mstore(add(add(pos, i), _1), mload(add(add(value, i), _1)))\n }\n mstore(add(add(pos, length), 0x20), 0)\n end := add(add(pos, and(add(length, 31), not(31))), 0x20)\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_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_contract_ITransparentUpgradeableProxy(value)\n value0 := value\n }\n function abi_encode_tuple_t_address_t_bytes_memory_ptr__to_t_address_t_bytes_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), 64)\n tail := abi_encode_string(value1, add(headStart, 64))\n }\n}", + "id": 34, "language": "Yul", "name": "#utility.yul" } ], "immutableReferences": {}, "linkReferences": {}, - "object": "60806040526004361061004a5760003560e01c8063715018a61461004f5780638da5cb5b146100665780639623609d14610093578063ad3cb1cc146100a6578063f2fde38b146100e4575b600080fd5b34801561005b57600080fd5b50610064610104565b005b34801561007257600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b6100646100a1366004610272565b610118565b3480156100b257600080fd5b506100d7604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161008a919061038e565b3480156100f057600080fd5b506100646100ff3660046103a8565b610187565b61010c6101ca565b61011660006101f7565b565b6101206101ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061015090869086906004016103c5565b6000604051808303818588803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b5050505050505050565b61018f6101ca565b6001600160a01b0381166101be57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6101c7816101f7565b50565b6000546001600160a01b031633146101165760405163118cdaa760e01b81523360048201526024016101b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101c757600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561028757600080fd5b833561029281610247565b925060208401356102a281610247565b9150604084013567ffffffffffffffff808211156102bf57600080fd5b818601915086601f8301126102d357600080fd5b8135818111156102e5576102e561025c565b604051601f8201601f19908116603f0116810190838211818310171561030d5761030d61025c565b8160405282815289602084870101111561032657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b8181101561036e57602081850181015186830182015201610352565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006103a16020830184610348565b9392505050565b6000602082840312156103ba57600080fd5b81356103a181610247565b6001600160a01b03831681526040602082018190526000906103e990830184610348565b94935050505056fea2646970667358221220eb1fa66adb4b3898256b517de04d577991ede6e6d368fb9e4e44955b32698f7764736f6c63430008160033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0x9623609D EQ PUSH2 0x93 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xA6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xE4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0x104 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD 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 PUSH2 0x64 PUSH2 0xA1 CALLDATASIZE PUSH1 0x4 PUSH2 0x272 JUMP JUMPDEST PUSH2 0x118 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD7 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8A SWAP2 SWAP1 PUSH2 0x38E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0xFF CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x187 JUMP JUMPDEST PUSH2 0x10C PUSH2 0x1CA JUMP JUMPDEST PUSH2 0x116 PUSH1 0x0 PUSH2 0x1F7 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x120 PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x278F7943 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x4F1EF286 SWAP1 CALLVALUE SWAP1 PUSH2 0x150 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3C5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x169 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x17D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x18F PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1BE JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1C7 DUP2 PUSH2 0x1F7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x116 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x292 DUP2 PUSH2 0x247 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x2A2 DUP2 PUSH2 0x247 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x2E5 JUMPI PUSH2 0x2E5 PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x30D JUMPI PUSH2 0x30D PUSH2 0x25C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP10 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x36E JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x352 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3A1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x348 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x3A1 DUP2 PUSH2 0x247 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x3E9 SWAP1 DUP4 ADD DUP5 PUSH2 0x348 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB 0x1F 0xA6 PUSH11 0xDB4B3898256B517DE04D57 PUSH26 0x91EDE6E6D368FB9E4E44955B32698F7764736F6C634300081600 CALLER ", - "sourceMap": "502:1462:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2293:101:6;;;;;;;;;;;;;:::i;:::-;;1638:85;;;;;;;;;;-1:-1:-1;1684:7:6;1710:6;1638:85;;-1:-1:-1;;;;;1710:6:6;;;160:51:36;;148:2;133:18;1638:85:6;;;;;;;;1717:245:14;;;;;;:::i;:::-;;:::i;1187:58::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1187:58:14;;;;;;;;;;;;:::i;2543:215:6:-;;;;;;;;;;-1:-1:-1;2543:215:6;;;;;:::i;:::-;;:::i;2293:101::-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1717:245:14:-;1531:13:6;:11;:13::i;:::-;1893:62:14::1;::::0;-1:-1:-1;;;1893:62:14;;-1:-1:-1;;;;;1893:22:14;::::1;::::0;::::1;::::0;1923:9:::1;::::0;1893:62:::1;::::0;1934:14;;1950:4;;1893:62:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;1717:245:::0;;;:::o;2543:215:6:-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:6;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:6;;2700:1:::1;2672:31;::::0;::::1;160:51:36::0;133:18;;2672:31:6::1;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:6;735:10:21;1855:23:6;1851:101;;1901:40;;-1:-1:-1;;;1901:40:6;;735:10:21;1901:40:6;;;160:51:36;133:18;;1901:40:6;14:203:36;2912:187:6;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:6;;;-1:-1:-1;;;;;;3020:17:6;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;222:161:36:-;-1:-1:-1;;;;;327:31:36;;317:42;;307:70;;373:1;370;363:12;388:127;449:10;444:3;440:20;437:1;430:31;480:4;477:1;470:15;504:4;501:1;494:15;520:1294;643:6;651;659;712:2;700:9;691:7;687:23;683:32;680:52;;;728:1;725;718:12;680:52;767:9;754:23;786:61;841:5;786:61;:::i;:::-;866:5;-1:-1:-1;923:2:36;908:18;;895:32;936:63;895:32;936:63;:::i;:::-;1018:7;-1:-1:-1;1076:2:36;1061:18;;1048:32;1099:18;1129:14;;;1126:34;;;1156:1;1153;1146:12;1126:34;1194:6;1183:9;1179:22;1169:32;;1239:7;1232:4;1228:2;1224:13;1220:27;1210:55;;1261:1;1258;1251:12;1210:55;1297:2;1284:16;1319:2;1315;1312:10;1309:36;;;1325:18;;:::i;:::-;1400:2;1394:9;1368:2;1454:13;;-1:-1:-1;;1450:22:36;;;1474:2;1446:31;1442:40;1430:53;;;1498:18;;;1518:22;;;1495:46;1492:72;;;1544:18;;:::i;:::-;1584:10;1580:2;1573:22;1619:2;1611:6;1604:18;1659:7;1654:2;1649;1645;1641:11;1637:20;1634:33;1631:53;;;1680:1;1677;1670:12;1631:53;1736:2;1731;1727;1723:11;1718:2;1710:6;1706:15;1693:46;1781:1;1776:2;1771;1763:6;1759:15;1755:24;1748:35;1802:6;1792:16;;;;;;;520:1294;;;;;:::o;1819:423::-;1861:3;1899:5;1893:12;1926:6;1921:3;1914:19;1951:1;1961:162;1975:6;1972:1;1969:13;1961:162;;;2037:4;2093:13;;;2089:22;;2083:29;2065:11;;;2061:20;;2054:59;1990:12;1961:162;;;1965:3;2168:1;2161:4;2152:6;2147:3;2143:16;2139:27;2132:38;2231:4;2224:2;2220:7;2215:2;2207:6;2203:15;2199:29;2194:3;2190:39;2186:50;2179:57;;;1819:423;;;;:::o;2247:220::-;2396:2;2385:9;2378:21;2359:4;2416:45;2457:2;2446:9;2442:18;2434:6;2416:45;:::i;:::-;2408:53;2247:220;-1:-1:-1;;;2247:220:36:o;2472:277::-;2531:6;2584:2;2572:9;2563:7;2559:23;2555:32;2552:52;;;2600:1;2597;2590:12;2552:52;2639:9;2626:23;2658:61;2713:5;2658:61;:::i;2754:315::-;-1:-1:-1;;;;;2929:32:36;;2911:51;;2998:2;2993;2978:18;;2971:30;;;-1:-1:-1;;3018:45:36;;3044:18;;3036:6;3018:45;:::i;:::-;3010:53;2754:315;-1:-1:-1;;;;2754:315:36:o" + "object": "60806040526004361061004a5760003560e01c8063715018a61461004f5780638da5cb5b146100665780639623609d14610093578063ad3cb1cc146100a6578063f2fde38b146100e4575b600080fd5b34801561005b57600080fd5b50610064610104565b005b34801561007257600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b6100646100a1366004610272565b610118565b3480156100b257600080fd5b506100d7604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161008a919061038e565b3480156100f057600080fd5b506100646100ff3660046103a8565b610187565b61010c6101ca565b61011660006101f7565b565b6101206101ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061015090869086906004016103c5565b6000604051808303818588803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b5050505050505050565b61018f6101ca565b6001600160a01b0381166101be57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6101c7816101f7565b50565b6000546001600160a01b031633146101165760405163118cdaa760e01b81523360048201526024016101b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101c757600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561028757600080fd5b833561029281610247565b925060208401356102a281610247565b9150604084013567ffffffffffffffff808211156102bf57600080fd5b818601915086601f8301126102d357600080fd5b8135818111156102e5576102e561025c565b604051601f8201601f19908116603f0116810190838211818310171561030d5761030d61025c565b8160405282815289602084870101111561032657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b8181101561036e57602081850181015186830182015201610352565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006103a16020830184610348565b9392505050565b6000602082840312156103ba57600080fd5b81356103a181610247565b6001600160a01b03831681526040602082018190526000906103e990830184610348565b94935050505056fea26469706673582212208a6ce113850d599b6d155e7b3b05f064f427b7543fdc28f5be16874766aa2e8564736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0x9623609D EQ PUSH2 0x93 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xA6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xE4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0x104 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD 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 PUSH2 0x64 PUSH2 0xA1 CALLDATASIZE PUSH1 0x4 PUSH2 0x272 JUMP JUMPDEST PUSH2 0x118 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD7 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8A SWAP2 SWAP1 PUSH2 0x38E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0xFF CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x187 JUMP JUMPDEST PUSH2 0x10C PUSH2 0x1CA JUMP JUMPDEST PUSH2 0x116 PUSH1 0x0 PUSH2 0x1F7 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x120 PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x278F7943 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x4F1EF286 SWAP1 CALLVALUE SWAP1 PUSH2 0x150 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3C5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x169 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x17D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x18F PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1BE JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1C7 DUP2 PUSH2 0x1F7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x116 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x292 DUP2 PUSH2 0x247 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x2A2 DUP2 PUSH2 0x247 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x2E5 JUMPI PUSH2 0x2E5 PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x30D JUMPI PUSH2 0x30D PUSH2 0x25C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP10 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x36E JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x352 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3A1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x348 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x3A1 DUP2 PUSH2 0x247 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x3E9 SWAP1 DUP4 ADD DUP5 PUSH2 0x348 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 PUSH13 0xE113850D599B6D155E7B3B05F0 PUSH5 0xF427B7543F 0xDC 0x28 CREATE2 0xBE AND DUP8 SELFBALANCE PUSH7 0xAA2E8564736F6C PUSH4 0x43000816 STOP CALLER ", + "sourceMap": "502:1462:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2293:101:6;;;;;;;;;;;;;:::i;:::-;;1638:85;;;;;;;;;;-1:-1:-1;1684:7:6;1710:6;1638:85;;-1:-1:-1;;;;;1710:6:6;;;160:51:34;;148:2;133:18;1638:85:6;;;;;;;;1717:245:14;;;;;;:::i;:::-;;:::i;1187:58::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1187:58:14;;;;;;;;;;;;:::i;2543:215:6:-;;;;;;;;;;-1:-1:-1;2543:215:6;;;;;:::i;:::-;;:::i;2293:101::-;1531:13;:11;:13::i;:::-;2357:30:::1;2384:1;2357:18;:30::i;:::-;2293:101::o:0;1717:245:14:-;1531:13:6;:11;:13::i;:::-;1893:62:14::1;::::0;-1:-1:-1;;;1893:62:14;;-1:-1:-1;;;;;1893:22:14;::::1;::::0;::::1;::::0;1923:9:::1;::::0;1893:62:::1;::::0;1934:14;;1950:4;;1893:62:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;1717:245:::0;;;:::o;2543:215:6:-;1531:13;:11;:13::i;:::-;-1:-1:-1;;;;;2627:22:6;::::1;2623:91;;2672:31;::::0;-1:-1:-1;;;2672:31:6;;2700:1:::1;2672:31;::::0;::::1;160:51:34::0;133:18;;2672:31:6::1;;;;;;;;2623:91;2723:28;2742:8;2723:18;:28::i;:::-;2543:215:::0;:::o;1796:162::-;1684:7;1710:6;-1:-1:-1;;;;;1710:6:6;735:10:21;1855:23:6;1851:101;;1901:40;;-1:-1:-1;;;1901:40:6;;735:10:21;1901:40:6;;;160:51:34;133:18;;1901:40:6;14:203:34;2912:187:6;2985:16;3004:6;;-1:-1:-1;;;;;3020:17:6;;;-1:-1:-1;;;;;;3020:17:6;;;;;;3052:40;;3004:6;;;;;;;3052:40;;2985:16;3052:40;2975:124;2912:187;:::o;222:161:34:-;-1:-1:-1;;;;;327:31:34;;317:42;;307:70;;373:1;370;363:12;388:127;449:10;444:3;440:20;437:1;430:31;480:4;477:1;470:15;504:4;501:1;494:15;520:1294;643:6;651;659;712:2;700:9;691:7;687:23;683:32;680:52;;;728:1;725;718:12;680:52;767:9;754:23;786:61;841:5;786:61;:::i;:::-;866:5;-1:-1:-1;923:2:34;908:18;;895:32;936:63;895:32;936:63;:::i;:::-;1018:7;-1:-1:-1;1076:2:34;1061:18;;1048:32;1099:18;1129:14;;;1126:34;;;1156:1;1153;1146:12;1126:34;1194:6;1183:9;1179:22;1169:32;;1239:7;1232:4;1228:2;1224:13;1220:27;1210:55;;1261:1;1258;1251:12;1210:55;1297:2;1284:16;1319:2;1315;1312:10;1309:36;;;1325:18;;:::i;:::-;1400:2;1394:9;1368:2;1454:13;;-1:-1:-1;;1450:22:34;;;1474:2;1446:31;1442:40;1430:53;;;1498:18;;;1518:22;;;1495:46;1492:72;;;1544:18;;:::i;:::-;1584:10;1580:2;1573:22;1619:2;1611:6;1604:18;1659:7;1654:2;1649;1645;1641:11;1637:20;1634:33;1631:53;;;1680:1;1677;1670:12;1631:53;1736:2;1731;1727;1723:11;1718:2;1710:6;1706:15;1693:46;1781:1;1776:2;1771;1763:6;1759:15;1755:24;1748:35;1802:6;1792:16;;;;;;;520:1294;;;;;:::o;1819:423::-;1861:3;1899:5;1893:12;1926:6;1921:3;1914:19;1951:1;1961:162;1975:6;1972:1;1969:13;1961:162;;;2037:4;2093:13;;;2089:22;;2083:29;2065:11;;;2061:20;;2054:59;1990:12;1961:162;;;1965:3;2168:1;2161:4;2152:6;2147:3;2143:16;2139:27;2132:38;2231:4;2224:2;2220:7;2215:2;2207:6;2203:15;2199:29;2194:3;2190:39;2186:50;2179:57;;;1819:423;;;;:::o;2247:220::-;2396:2;2385:9;2378:21;2359:4;2416:45;2457:2;2446:9;2442:18;2434:6;2416:45;:::i;:::-;2408:53;2247:220;-1:-1:-1;;;2247:220:34:o;2472:277::-;2531:6;2584:2;2572:9;2563:7;2559:23;2555:32;2552:52;;;2600:1;2597;2590:12;2552:52;2639:9;2626:23;2658:61;2713:5;2658:61;:::i;2754:315::-;-1:-1:-1;;;;;2929:32:34;;2911:51;;2998:2;2993;2978:18;;2971:30;;;-1:-1:-1;;3018:45:34;;3044:18;;3036:6;3018:45;:::i;:::-;3010:53;2754:315;-1:-1:-1;;;;2754:315:34:o" }, "methodIdentifiers": { "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", @@ -76870,11 +75880,11 @@ "upgradeAndCall(address,address,bytes)": "9623609d" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ITransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Sets the initial owner who can perform upgrades.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeAndCall(address,address,bytes)\":{\"details\":\"Upgrades `proxy` to `implementation` and calls a function on the new implementation. See {TransparentUpgradeableProxy-_dispatchUpgradeToAndCall}. Requirements: - This contract must be the admin of `proxy`. - If `data` is empty, `msg.value` must be zero.\"}},\"stateVariables\":{\"UPGRADE_INTERFACE_VERSION\":{\"details\":\"The version of the upgrade interface of the contract. If this getter is missing, both `upgrade(address,address)` and `upgradeAndCall(address,address,bytes)` are present, and `upgrade` must be used if no function should be called, while `upgradeAndCall` will invoke the `receive` function if the third argument is the empty byte string. If the getter returns `\\\"5.0.0\\\"`, only `upgradeAndCall(address,address,bytes)` is present, and the third argument must be the empty byte string if no function should be called, making it impossible to invoke the `receive` function during an upgrade.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":\"ProxyAdmin\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract ITransparentUpgradeableProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Sets the initial owner who can perform upgrades.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeAndCall(address,address,bytes)\":{\"details\":\"Upgrades `proxy` to `implementation` and calls a function on the new implementation. See {TransparentUpgradeableProxy-_dispatchUpgradeToAndCall}. Requirements: - This contract must be the admin of `proxy`. - If `data` is empty, `msg.value` must be zero.\"}},\"stateVariables\":{\"UPGRADE_INTERFACE_VERSION\":{\"details\":\"The version of the upgrade interface of the contract. If this getter is missing, both `upgrade(address,address)` and `upgradeAndCall(address,address,bytes)` are present, and `upgrade` must be used if no function should be called, while `upgradeAndCall` will invoke the `receive` function if the third argument is the empty byte string. If the getter returns `\\\"5.0.0\\\"`, only `upgradeAndCall(address,address,bytes)` is present, and the third argument must be the empty byte string if no function should be called, making it impossible to invoke the `receive` function during an upgrade.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":\"ProxyAdmin\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", "storageLayout": { "storage": [ { - "astId": 1078, + "astId": 1079, "contract": "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol:ProxyAdmin", "label": "_owner", "offset": 0, @@ -76981,7 +75991,7 @@ "upgradeToAndCall(address,bytes)": "4f1ef286" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy} does not implement this interface directly, and its upgradeability mechanism is implemented by an internal dispatch mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not include them in the ABI so this interface must be used to interact with it.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"upgradeToAndCall(address,bytes)\":{\"details\":\"See {UUPSUpgradeable-upgradeToAndCall}\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":\"ITransparentUpgradeableProxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for {TransparentUpgradeableProxy}. In order to implement transparency, {TransparentUpgradeableProxy} does not implement this interface directly, and its upgradeability mechanism is implemented by an internal dispatch mechanism. The compiler is unaware that these functions are implemented by {TransparentUpgradeableProxy} and will not include them in the ABI so this interface must be used to interact with it.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"upgradeToAndCall(address,bytes)\":{\"details\":\"See {UUPSUpgradeable-upgradeToAndCall}\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":\"ITransparentUpgradeableProxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -77098,98 +76108,98 @@ "evm": { "bytecode": { "functionDebugData": { - "@_1410": { + "@_1411": { "entryPoint": null, - "id": 1410, + "id": 1411, "parameterSlots": 2, "returnSlots": 0 }, - "@_1874": { + "@_1875": { "entryPoint": null, - "id": 1874, + "id": 1875, "parameterSlots": 3, "returnSlots": 0 }, - "@_checkNonPayable_1716": { + "@_checkNonPayable_1717": { "entryPoint": 625, - "id": 1716, + "id": 1717, "parameterSlots": 0, "returnSlots": 0 }, - "@_proxyAdmin_1883": { + "@_proxyAdmin_1884": { "entryPoint": null, - "id": 1883, + "id": 1884, "parameterSlots": 0, "returnSlots": 1 }, - "@_revert_2871": { + "@_revert_2872": { "entryPoint": 828, - "id": 2871, + "id": 2872, "parameterSlots": 1, "returnSlots": 0 }, - "@_setAdmin_1580": { + "@_setAdmin_1581": { "entryPoint": 659, - "id": 1580, + "id": 1581, "parameterSlots": 1, "returnSlots": 0 }, - "@_setImplementation_1496": { + "@_setImplementation_1497": { "entryPoint": 372, - "id": 1496, + "id": 1497, "parameterSlots": 1, "returnSlots": 0 }, - "@changeAdmin_1599": { + "@changeAdmin_1600": { "entryPoint": 258, - "id": 1599, + "id": 1600, "parameterSlots": 1, "returnSlots": 0 }, - "@functionDelegateCall_2789": { + "@functionDelegateCall_2790": { "entryPoint": 500, - "id": 2789, + "id": 2790, "parameterSlots": 2, "returnSlots": 1 }, - "@getAddressSlot_2959": { + "@getAddressSlot_2960": { "entryPoint": null, - "id": 2959, + "id": 2960, "parameterSlots": 1, "returnSlots": 1 }, - "@getAdmin_1549": { + "@getAdmin_1550": { "entryPoint": null, - "id": 1549, + "id": 1550, "parameterSlots": 0, "returnSlots": 1 }, - "@upgradeToAndCall_1532": { + "@upgradeToAndCall_1533": { "entryPoint": 156, - "id": 1532, + "id": 1533, "parameterSlots": 2, "returnSlots": 0 }, - "@verifyCallResultFromTarget_2829": { + "@verifyCallResultFromTarget_2830": { "entryPoint": 726, - "id": 2829, + "id": 2830, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_address_fromMemory": { - "entryPoint": 884, + "entryPoint": 883, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory": { - "entryPoint": 973, + "entryPoint": 972, "id": null, "parameterSlots": 2, "returnSlots": 3 }, "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 1197, + "entryPoint": 1196, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -77207,13 +76217,13 @@ "returnSlots": 1 }, "copy_memory_to_memory_with_cleanup": { - "entryPoint": 935, + "entryPoint": 934, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "panic_error_0x41": { - "entryPoint": 913, + "entryPoint": 912, "id": null, "parameterSlots": 0, "returnSlots": 0 @@ -77222,93 +76232,93 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:2460:36", + "nativeSrc": "0:2460:34", "nodeType": "YulBlock", - "src": "0:2460:36", + "src": "0:2460:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "74:117:36", + "nativeSrc": "74:117:34", "nodeType": "YulBlock", - "src": "74:117:36", + "src": "74:117:34", "statements": [ { - "nativeSrc": "84:22:36", + "nativeSrc": "84:22:34", "nodeType": "YulAssignment", - "src": "84:22:36", + "src": "84:22:34", "value": { "arguments": [ { "name": "offset", - "nativeSrc": "99:6:36", + "nativeSrc": "99:6:34", "nodeType": "YulIdentifier", - "src": "99:6:36" + "src": "99:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "93:5:36", + "nativeSrc": "93:5:34", "nodeType": "YulIdentifier", - "src": "93:5:36" + "src": "93:5:34" }, - "nativeSrc": "93:13:36", + "nativeSrc": "93:13:34", "nodeType": "YulFunctionCall", - "src": "93:13:36" + "src": "93:13:34" }, "variableNames": [ { "name": "value", - "nativeSrc": "84:5:36", + "nativeSrc": "84:5:34", "nodeType": "YulIdentifier", - "src": "84:5:36" + "src": "84:5:34" } ] }, { "body": { - "nativeSrc": "169:16:36", + "nativeSrc": "169:16:34", "nodeType": "YulBlock", - "src": "169:16:36", + "src": "169:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "178:1:36", + "nativeSrc": "178:1:34", "nodeType": "YulLiteral", - "src": "178:1:36", + "src": "178:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "181:1:36", + "nativeSrc": "181:1:34", "nodeType": "YulLiteral", - "src": "181:1:36", + "src": "181:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "171:6:36", + "nativeSrc": "171:6:34", "nodeType": "YulIdentifier", - "src": "171:6:36" + "src": "171:6:34" }, - "nativeSrc": "171:12:36", + "nativeSrc": "171:12:34", "nodeType": "YulFunctionCall", - "src": "171:12:36" + "src": "171:12:34" }, - "nativeSrc": "171:12:36", + "nativeSrc": "171:12:34", "nodeType": "YulExpressionStatement", - "src": "171:12:36" + "src": "171:12:34" } ] }, @@ -77318,17 +76328,17 @@ "arguments": [ { "name": "value", - "nativeSrc": "128:5:36", + "nativeSrc": "128:5:34", "nodeType": "YulIdentifier", - "src": "128:5:36" + "src": "128:5:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "139:5:36", + "nativeSrc": "139:5:34", "nodeType": "YulIdentifier", - "src": "139:5:36" + "src": "139:5:34" }, { "arguments": [ @@ -77336,126 +76346,126 @@ "arguments": [ { "kind": "number", - "nativeSrc": "154:3:36", + "nativeSrc": "154:3:34", "nodeType": "YulLiteral", - "src": "154:3:36", + "src": "154:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "159:1:36", + "nativeSrc": "159:1:34", "nodeType": "YulLiteral", - "src": "159:1:36", + "src": "159:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "150:3:36", + "nativeSrc": "150:3:34", "nodeType": "YulIdentifier", - "src": "150:3:36" + "src": "150:3:34" }, - "nativeSrc": "150:11:36", + "nativeSrc": "150:11:34", "nodeType": "YulFunctionCall", - "src": "150:11:36" + "src": "150:11:34" }, { "kind": "number", - "nativeSrc": "163:1:36", + "nativeSrc": "163:1:34", "nodeType": "YulLiteral", - "src": "163:1:36", + "src": "163:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "146:3:36", + "nativeSrc": "146:3:34", "nodeType": "YulIdentifier", - "src": "146:3:36" + "src": "146:3:34" }, - "nativeSrc": "146:19:36", + "nativeSrc": "146:19:34", "nodeType": "YulFunctionCall", - "src": "146:19:36" + "src": "146:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "135:3:36", + "nativeSrc": "135:3:34", "nodeType": "YulIdentifier", - "src": "135:3:36" + "src": "135:3:34" }, - "nativeSrc": "135:31:36", + "nativeSrc": "135:31:34", "nodeType": "YulFunctionCall", - "src": "135:31:36" + "src": "135:31:34" } ], "functionName": { "name": "eq", - "nativeSrc": "125:2:36", + "nativeSrc": "125:2:34", "nodeType": "YulIdentifier", - "src": "125:2:36" + "src": "125:2:34" }, - "nativeSrc": "125:42:36", + "nativeSrc": "125:42:34", "nodeType": "YulFunctionCall", - "src": "125:42:36" + "src": "125:42:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "118:6:36", + "nativeSrc": "118:6:34", "nodeType": "YulIdentifier", - "src": "118:6:36" + "src": "118:6:34" }, - "nativeSrc": "118:50:36", + "nativeSrc": "118:50:34", "nodeType": "YulFunctionCall", - "src": "118:50:36" + "src": "118:50:34" }, - "nativeSrc": "115:70:36", + "nativeSrc": "115:70:34", "nodeType": "YulIf", - "src": "115:70:36" + "src": "115:70:34" } ] }, "name": "abi_decode_address_fromMemory", - "nativeSrc": "14:177:36", + "nativeSrc": "14:177:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "53:6:36", + "nativeSrc": "53:6:34", "nodeType": "YulTypedName", - "src": "53:6:36", + "src": "53:6:34", "type": "" } ], "returnVariables": [ { "name": "value", - "nativeSrc": "64:5:36", + "nativeSrc": "64:5:34", "nodeType": "YulTypedName", - "src": "64:5:36", + "src": "64:5:34", "type": "" } ], - "src": "14:177:36" + "src": "14:177:34" }, { "body": { - "nativeSrc": "228:95:36", + "nativeSrc": "228:95:34", "nodeType": "YulBlock", - "src": "228:95:36", + "src": "228:95:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "245:1:36", + "nativeSrc": "245:1:34", "nodeType": "YulLiteral", - "src": "245:1:36", + "src": "245:1:34", "type": "", "value": "0" }, @@ -77463,154 +76473,154 @@ "arguments": [ { "kind": "number", - "nativeSrc": "252:3:36", + "nativeSrc": "252:3:34", "nodeType": "YulLiteral", - "src": "252:3:36", + "src": "252:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "257:10:36", + "nativeSrc": "257:10:34", "nodeType": "YulLiteral", - "src": "257:10:36", + "src": "257:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "248:3:36", + "nativeSrc": "248:3:34", "nodeType": "YulIdentifier", - "src": "248:3:36" + "src": "248:3:34" }, - "nativeSrc": "248:20:36", + "nativeSrc": "248:20:34", "nodeType": "YulFunctionCall", - "src": "248:20:36" + "src": "248:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "238:6:36", + "nativeSrc": "238:6:34", "nodeType": "YulIdentifier", - "src": "238:6:36" + "src": "238:6:34" }, - "nativeSrc": "238:31:36", + "nativeSrc": "238:31:34", "nodeType": "YulFunctionCall", - "src": "238:31:36" + "src": "238:31:34" }, - "nativeSrc": "238:31:36", + "nativeSrc": "238:31:34", "nodeType": "YulExpressionStatement", - "src": "238:31:36" + "src": "238:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "285:1:36", + "nativeSrc": "285:1:34", "nodeType": "YulLiteral", - "src": "285:1:36", + "src": "285:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "288:4:36", + "nativeSrc": "288:4:34", "nodeType": "YulLiteral", - "src": "288:4:36", + "src": "288:4:34", "type": "", "value": "0x41" } ], "functionName": { "name": "mstore", - "nativeSrc": "278:6:36", + "nativeSrc": "278:6:34", "nodeType": "YulIdentifier", - "src": "278:6:36" + "src": "278:6:34" }, - "nativeSrc": "278:15:36", + "nativeSrc": "278:15:34", "nodeType": "YulFunctionCall", - "src": "278:15:36" + "src": "278:15:34" }, - "nativeSrc": "278:15:36", + "nativeSrc": "278:15:34", "nodeType": "YulExpressionStatement", - "src": "278:15:36" + "src": "278:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "309:1:36", + "nativeSrc": "309:1:34", "nodeType": "YulLiteral", - "src": "309:1:36", + "src": "309:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "312:4:36", + "nativeSrc": "312:4:34", "nodeType": "YulLiteral", - "src": "312:4:36", + "src": "312:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "302:6:36", + "nativeSrc": "302:6:34", "nodeType": "YulIdentifier", - "src": "302:6:36" + "src": "302:6:34" }, - "nativeSrc": "302:15:36", + "nativeSrc": "302:15:34", "nodeType": "YulFunctionCall", - "src": "302:15:36" + "src": "302:15:34" }, - "nativeSrc": "302:15:36", + "nativeSrc": "302:15:34", "nodeType": "YulExpressionStatement", - "src": "302:15:36" + "src": "302:15:34" } ] }, "name": "panic_error_0x41", - "nativeSrc": "196:127:36", + "nativeSrc": "196:127:34", "nodeType": "YulFunctionDefinition", - "src": "196:127:36" + "src": "196:127:34" }, { "body": { - "nativeSrc": "394:184:36", + "nativeSrc": "394:184:34", "nodeType": "YulBlock", - "src": "394:184:36", + "src": "394:184:34", "statements": [ { - "nativeSrc": "404:10:36", + "nativeSrc": "404:10:34", "nodeType": "YulVariableDeclaration", - "src": "404:10:36", + "src": "404:10:34", "value": { "kind": "number", - "nativeSrc": "413:1:36", + "nativeSrc": "413:1:34", "nodeType": "YulLiteral", - "src": "413:1:36", + "src": "413:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "408:1:36", + "nativeSrc": "408:1:34", "nodeType": "YulTypedName", - "src": "408:1:36", + "src": "408:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "473:63:36", + "nativeSrc": "473:63:34", "nodeType": "YulBlock", - "src": "473:63:36", + "src": "473:63:34", "statements": [ { "expression": { @@ -77619,26 +76629,26 @@ "arguments": [ { "name": "dst", - "nativeSrc": "498:3:36", + "nativeSrc": "498:3:34", "nodeType": "YulIdentifier", - "src": "498:3:36" + "src": "498:3:34" }, { "name": "i", - "nativeSrc": "503:1:36", + "nativeSrc": "503:1:34", "nodeType": "YulIdentifier", - "src": "503:1:36" + "src": "503:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "494:3:36", + "nativeSrc": "494:3:34", "nodeType": "YulIdentifier", - "src": "494:3:36" + "src": "494:3:34" }, - "nativeSrc": "494:11:36", + "nativeSrc": "494:11:34", "nodeType": "YulFunctionCall", - "src": "494:11:36" + "src": "494:11:34" }, { "arguments": [ @@ -77646,52 +76656,52 @@ "arguments": [ { "name": "src", - "nativeSrc": "517:3:36", + "nativeSrc": "517:3:34", "nodeType": "YulIdentifier", - "src": "517:3:36" + "src": "517:3:34" }, { "name": "i", - "nativeSrc": "522:1:36", + "nativeSrc": "522:1:34", "nodeType": "YulIdentifier", - "src": "522:1:36" + "src": "522:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "513:3:36", + "nativeSrc": "513:3:34", "nodeType": "YulIdentifier", - "src": "513:3:36" + "src": "513:3:34" }, - "nativeSrc": "513:11:36", + "nativeSrc": "513:11:34", "nodeType": "YulFunctionCall", - "src": "513:11:36" + "src": "513:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "507:5:36", + "nativeSrc": "507:5:34", "nodeType": "YulIdentifier", - "src": "507:5:36" + "src": "507:5:34" }, - "nativeSrc": "507:18:36", + "nativeSrc": "507:18:34", "nodeType": "YulFunctionCall", - "src": "507:18:36" + "src": "507:18:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "487:6:36", + "nativeSrc": "487:6:34", "nodeType": "YulIdentifier", - "src": "487:6:36" + "src": "487:6:34" }, - "nativeSrc": "487:39:36", + "nativeSrc": "487:39:34", "nodeType": "YulFunctionCall", - "src": "487:39:36" + "src": "487:39:34" }, - "nativeSrc": "487:39:36", + "nativeSrc": "487:39:34", "nodeType": "YulExpressionStatement", - "src": "487:39:36" + "src": "487:39:34" } ] }, @@ -77699,83 +76709,83 @@ "arguments": [ { "name": "i", - "nativeSrc": "434:1:36", + "nativeSrc": "434:1:34", "nodeType": "YulIdentifier", - "src": "434:1:36" + "src": "434:1:34" }, { "name": "length", - "nativeSrc": "437:6:36", + "nativeSrc": "437:6:34", "nodeType": "YulIdentifier", - "src": "437:6:36" + "src": "437:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "431:2:36", + "nativeSrc": "431:2:34", "nodeType": "YulIdentifier", - "src": "431:2:36" + "src": "431:2:34" }, - "nativeSrc": "431:13:36", + "nativeSrc": "431:13:34", "nodeType": "YulFunctionCall", - "src": "431:13:36" + "src": "431:13:34" }, - "nativeSrc": "423:113:36", + "nativeSrc": "423:113:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "445:19:36", + "nativeSrc": "445:19:34", "nodeType": "YulBlock", - "src": "445:19:36", + "src": "445:19:34", "statements": [ { - "nativeSrc": "447:15:36", + "nativeSrc": "447:15:34", "nodeType": "YulAssignment", - "src": "447:15:36", + "src": "447:15:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "456:1:36", + "nativeSrc": "456:1:34", "nodeType": "YulIdentifier", - "src": "456:1:36" + "src": "456:1:34" }, { "kind": "number", - "nativeSrc": "459:2:36", + "nativeSrc": "459:2:34", "nodeType": "YulLiteral", - "src": "459:2:36", + "src": "459:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "452:3:36", + "nativeSrc": "452:3:34", "nodeType": "YulIdentifier", - "src": "452:3:36" + "src": "452:3:34" }, - "nativeSrc": "452:10:36", + "nativeSrc": "452:10:34", "nodeType": "YulFunctionCall", - "src": "452:10:36" + "src": "452:10:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "447:1:36", + "nativeSrc": "447:1:34", "nodeType": "YulIdentifier", - "src": "447:1:36" + "src": "447:1:34" } ] } ] }, "pre": { - "nativeSrc": "427:3:36", + "nativeSrc": "427:3:34", "nodeType": "YulBlock", - "src": "427:3:36", + "src": "427:3:34", "statements": [] }, - "src": "423:113:36" + "src": "423:113:34" }, { "expression": { @@ -77784,125 +76794,125 @@ "arguments": [ { "name": "dst", - "nativeSrc": "556:3:36", + "nativeSrc": "556:3:34", "nodeType": "YulIdentifier", - "src": "556:3:36" + "src": "556:3:34" }, { "name": "length", - "nativeSrc": "561:6:36", + "nativeSrc": "561:6:34", "nodeType": "YulIdentifier", - "src": "561:6:36" + "src": "561:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "552:3:36", + "nativeSrc": "552:3:34", "nodeType": "YulIdentifier", - "src": "552:3:36" + "src": "552:3:34" }, - "nativeSrc": "552:16:36", + "nativeSrc": "552:16:34", "nodeType": "YulFunctionCall", - "src": "552:16:36" + "src": "552:16:34" }, { "kind": "number", - "nativeSrc": "570:1:36", + "nativeSrc": "570:1:34", "nodeType": "YulLiteral", - "src": "570:1:36", + "src": "570:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "545:6:36", + "nativeSrc": "545:6:34", "nodeType": "YulIdentifier", - "src": "545:6:36" + "src": "545:6:34" }, - "nativeSrc": "545:27:36", + "nativeSrc": "545:27:34", "nodeType": "YulFunctionCall", - "src": "545:27:36" + "src": "545:27:34" }, - "nativeSrc": "545:27:36", + "nativeSrc": "545:27:34", "nodeType": "YulExpressionStatement", - "src": "545:27:36" + "src": "545:27:34" } ] }, "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "328:250:36", + "nativeSrc": "328:250:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "src", - "nativeSrc": "372:3:36", + "nativeSrc": "372:3:34", "nodeType": "YulTypedName", - "src": "372:3:36", + "src": "372:3:34", "type": "" }, { "name": "dst", - "nativeSrc": "377:3:36", + "nativeSrc": "377:3:34", "nodeType": "YulTypedName", - "src": "377:3:36", + "src": "377:3:34", "type": "" }, { "name": "length", - "nativeSrc": "382:6:36", + "nativeSrc": "382:6:34", "nodeType": "YulTypedName", - "src": "382:6:36", + "src": "382:6:34", "type": "" } ], - "src": "328:250:36" + "src": "328:250:34" }, { "body": { - "nativeSrc": "707:942:36", + "nativeSrc": "707:942:34", "nodeType": "YulBlock", - "src": "707:942:36", + "src": "707:942:34", "statements": [ { "body": { - "nativeSrc": "753:16:36", + "nativeSrc": "753:16:34", "nodeType": "YulBlock", - "src": "753:16:36", + "src": "753:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "762:1:36", + "nativeSrc": "762:1:34", "nodeType": "YulLiteral", - "src": "762:1:36", + "src": "762:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "765:1:36", + "nativeSrc": "765:1:34", "nodeType": "YulLiteral", - "src": "765:1:36", + "src": "765:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "755:6:36", + "nativeSrc": "755:6:34", "nodeType": "YulIdentifier", - "src": "755:6:36" + "src": "755:6:34" }, - "nativeSrc": "755:12:36", + "nativeSrc": "755:12:34", "nodeType": "YulFunctionCall", - "src": "755:12:36" + "src": "755:12:34" }, - "nativeSrc": "755:12:36", + "nativeSrc": "755:12:34", "nodeType": "YulExpressionStatement", - "src": "755:12:36" + "src": "755:12:34" } ] }, @@ -77912,292 +76922,292 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "728:7:36", + "nativeSrc": "728:7:34", "nodeType": "YulIdentifier", - "src": "728:7:36" + "src": "728:7:34" }, { "name": "headStart", - "nativeSrc": "737:9:36", + "nativeSrc": "737:9:34", "nodeType": "YulIdentifier", - "src": "737:9:36" + "src": "737:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "724:3:36", + "nativeSrc": "724:3:34", "nodeType": "YulIdentifier", - "src": "724:3:36" + "src": "724:3:34" }, - "nativeSrc": "724:23:36", + "nativeSrc": "724:23:34", "nodeType": "YulFunctionCall", - "src": "724:23:36" + "src": "724:23:34" }, { "kind": "number", - "nativeSrc": "749:2:36", + "nativeSrc": "749:2:34", "nodeType": "YulLiteral", - "src": "749:2:36", + "src": "749:2:34", "type": "", "value": "96" } ], "functionName": { "name": "slt", - "nativeSrc": "720:3:36", + "nativeSrc": "720:3:34", "nodeType": "YulIdentifier", - "src": "720:3:36" + "src": "720:3:34" }, - "nativeSrc": "720:32:36", + "nativeSrc": "720:32:34", "nodeType": "YulFunctionCall", - "src": "720:32:36" + "src": "720:32:34" }, - "nativeSrc": "717:52:36", + "nativeSrc": "717:52:34", "nodeType": "YulIf", - "src": "717:52:36" + "src": "717:52:34" }, { - "nativeSrc": "778:50:36", + "nativeSrc": "778:50:34", "nodeType": "YulAssignment", - "src": "778:50:36", + "src": "778:50:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "818:9:36", + "nativeSrc": "818:9:34", "nodeType": "YulIdentifier", - "src": "818:9:36" + "src": "818:9:34" } ], "functionName": { "name": "abi_decode_address_fromMemory", - "nativeSrc": "788:29:36", + "nativeSrc": "788:29:34", "nodeType": "YulIdentifier", - "src": "788:29:36" + "src": "788:29:34" }, - "nativeSrc": "788:40:36", + "nativeSrc": "788:40:34", "nodeType": "YulFunctionCall", - "src": "788:40:36" + "src": "788:40:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "778:6:36", + "nativeSrc": "778:6:34", "nodeType": "YulIdentifier", - "src": "778:6:36" + "src": "778:6:34" } ] }, { - "nativeSrc": "837:59:36", + "nativeSrc": "837:59:34", "nodeType": "YulAssignment", - "src": "837:59:36", + "src": "837:59:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "881:9:36", + "nativeSrc": "881:9:34", "nodeType": "YulIdentifier", - "src": "881:9:36" + "src": "881:9:34" }, { "kind": "number", - "nativeSrc": "892:2:36", + "nativeSrc": "892:2:34", "nodeType": "YulLiteral", - "src": "892:2:36", + "src": "892:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "877:3:36", + "nativeSrc": "877:3:34", "nodeType": "YulIdentifier", - "src": "877:3:36" + "src": "877:3:34" }, - "nativeSrc": "877:18:36", + "nativeSrc": "877:18:34", "nodeType": "YulFunctionCall", - "src": "877:18:36" + "src": "877:18:34" } ], "functionName": { "name": "abi_decode_address_fromMemory", - "nativeSrc": "847:29:36", + "nativeSrc": "847:29:34", "nodeType": "YulIdentifier", - "src": "847:29:36" + "src": "847:29:34" }, - "nativeSrc": "847:49:36", + "nativeSrc": "847:49:34", "nodeType": "YulFunctionCall", - "src": "847:49:36" + "src": "847:49:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "837:6:36", + "nativeSrc": "837:6:34", "nodeType": "YulIdentifier", - "src": "837:6:36" + "src": "837:6:34" } ] }, { - "nativeSrc": "905:39:36", + "nativeSrc": "905:39:34", "nodeType": "YulVariableDeclaration", - "src": "905:39:36", + "src": "905:39:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "929:9:36", + "nativeSrc": "929:9:34", "nodeType": "YulIdentifier", - "src": "929:9:36" + "src": "929:9:34" }, { "kind": "number", - "nativeSrc": "940:2:36", + "nativeSrc": "940:2:34", "nodeType": "YulLiteral", - "src": "940:2:36", + "src": "940:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "925:3:36", + "nativeSrc": "925:3:34", "nodeType": "YulIdentifier", - "src": "925:3:36" + "src": "925:3:34" }, - "nativeSrc": "925:18:36", + "nativeSrc": "925:18:34", "nodeType": "YulFunctionCall", - "src": "925:18:36" + "src": "925:18:34" } ], "functionName": { "name": "mload", - "nativeSrc": "919:5:36", + "nativeSrc": "919:5:34", "nodeType": "YulIdentifier", - "src": "919:5:36" + "src": "919:5:34" }, - "nativeSrc": "919:25:36", + "nativeSrc": "919:25:34", "nodeType": "YulFunctionCall", - "src": "919:25:36" + "src": "919:25:34" }, "variables": [ { "name": "offset", - "nativeSrc": "909:6:36", + "nativeSrc": "909:6:34", "nodeType": "YulTypedName", - "src": "909:6:36", + "src": "909:6:34", "type": "" } ] }, { - "nativeSrc": "953:28:36", + "nativeSrc": "953:28:34", "nodeType": "YulVariableDeclaration", - "src": "953:28:36", + "src": "953:28:34", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "971:2:36", + "nativeSrc": "971:2:34", "nodeType": "YulLiteral", - "src": "971:2:36", + "src": "971:2:34", "type": "", "value": "64" }, { "kind": "number", - "nativeSrc": "975:1:36", + "nativeSrc": "975:1:34", "nodeType": "YulLiteral", - "src": "975:1:36", + "src": "975:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "967:3:36", + "nativeSrc": "967:3:34", "nodeType": "YulIdentifier", - "src": "967:3:36" + "src": "967:3:34" }, - "nativeSrc": "967:10:36", + "nativeSrc": "967:10:34", "nodeType": "YulFunctionCall", - "src": "967:10:36" + "src": "967:10:34" }, { "kind": "number", - "nativeSrc": "979:1:36", + "nativeSrc": "979:1:34", "nodeType": "YulLiteral", - "src": "979:1:36", + "src": "979:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "963:3:36", + "nativeSrc": "963:3:34", "nodeType": "YulIdentifier", - "src": "963:3:36" + "src": "963:3:34" }, - "nativeSrc": "963:18:36", + "nativeSrc": "963:18:34", "nodeType": "YulFunctionCall", - "src": "963:18:36" + "src": "963:18:34" }, "variables": [ { "name": "_1", - "nativeSrc": "957:2:36", + "nativeSrc": "957:2:34", "nodeType": "YulTypedName", - "src": "957:2:36", + "src": "957:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "1008:16:36", + "nativeSrc": "1008:16:34", "nodeType": "YulBlock", - "src": "1008:16:36", + "src": "1008:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1017:1:36", + "nativeSrc": "1017:1:34", "nodeType": "YulLiteral", - "src": "1017:1:36", + "src": "1017:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1020:1:36", + "nativeSrc": "1020:1:34", "nodeType": "YulLiteral", - "src": "1020:1:36", + "src": "1020:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1010:6:36", + "nativeSrc": "1010:6:34", "nodeType": "YulIdentifier", - "src": "1010:6:36" + "src": "1010:6:34" }, - "nativeSrc": "1010:12:36", + "nativeSrc": "1010:12:34", "nodeType": "YulFunctionCall", - "src": "1010:12:36" + "src": "1010:12:34" }, - "nativeSrc": "1010:12:36", + "nativeSrc": "1010:12:34", "nodeType": "YulExpressionStatement", - "src": "1010:12:36" + "src": "1010:12:34" } ] }, @@ -78205,109 +77215,109 @@ "arguments": [ { "name": "offset", - "nativeSrc": "996:6:36", + "nativeSrc": "996:6:34", "nodeType": "YulIdentifier", - "src": "996:6:36" + "src": "996:6:34" }, { "name": "_1", - "nativeSrc": "1004:2:36", + "nativeSrc": "1004:2:34", "nodeType": "YulIdentifier", - "src": "1004:2:36" + "src": "1004:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "993:2:36", + "nativeSrc": "993:2:34", "nodeType": "YulIdentifier", - "src": "993:2:36" + "src": "993:2:34" }, - "nativeSrc": "993:14:36", + "nativeSrc": "993:14:34", "nodeType": "YulFunctionCall", - "src": "993:14:36" + "src": "993:14:34" }, - "nativeSrc": "990:34:36", + "nativeSrc": "990:34:34", "nodeType": "YulIf", - "src": "990:34:36" + "src": "990:34:34" }, { - "nativeSrc": "1033:32:36", + "nativeSrc": "1033:32:34", "nodeType": "YulVariableDeclaration", - "src": "1033:32:36", + "src": "1033:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "1047:9:36", + "nativeSrc": "1047:9:34", "nodeType": "YulIdentifier", - "src": "1047:9:36" + "src": "1047:9:34" }, { "name": "offset", - "nativeSrc": "1058:6:36", + "nativeSrc": "1058:6:34", "nodeType": "YulIdentifier", - "src": "1058:6:36" + "src": "1058:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "1043:3:36", + "nativeSrc": "1043:3:34", "nodeType": "YulIdentifier", - "src": "1043:3:36" + "src": "1043:3:34" }, - "nativeSrc": "1043:22:36", + "nativeSrc": "1043:22:34", "nodeType": "YulFunctionCall", - "src": "1043:22:36" + "src": "1043:22:34" }, "variables": [ { "name": "_2", - "nativeSrc": "1037:2:36", + "nativeSrc": "1037:2:34", "nodeType": "YulTypedName", - "src": "1037:2:36", + "src": "1037:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "1113:16:36", + "nativeSrc": "1113:16:34", "nodeType": "YulBlock", - "src": "1113:16:36", + "src": "1113:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1122:1:36", + "nativeSrc": "1122:1:34", "nodeType": "YulLiteral", - "src": "1122:1:36", + "src": "1122:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1125:1:36", + "nativeSrc": "1125:1:34", "nodeType": "YulLiteral", - "src": "1125:1:36", + "src": "1125:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1115:6:36", + "nativeSrc": "1115:6:34", "nodeType": "YulIdentifier", - "src": "1115:6:36" + "src": "1115:6:34" }, - "nativeSrc": "1115:12:36", + "nativeSrc": "1115:12:34", "nodeType": "YulFunctionCall", - "src": "1115:12:36" + "src": "1115:12:34" }, - "nativeSrc": "1115:12:36", + "nativeSrc": "1115:12:34", "nodeType": "YulExpressionStatement", - "src": "1115:12:36" + "src": "1115:12:34" } ] }, @@ -78319,116 +77329,116 @@ "arguments": [ { "name": "_2", - "nativeSrc": "1092:2:36", + "nativeSrc": "1092:2:34", "nodeType": "YulIdentifier", - "src": "1092:2:36" + "src": "1092:2:34" }, { "kind": "number", - "nativeSrc": "1096:4:36", + "nativeSrc": "1096:4:34", "nodeType": "YulLiteral", - "src": "1096:4:36", + "src": "1096:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "1088:3:36", + "nativeSrc": "1088:3:34", "nodeType": "YulIdentifier", - "src": "1088:3:36" + "src": "1088:3:34" }, - "nativeSrc": "1088:13:36", + "nativeSrc": "1088:13:34", "nodeType": "YulFunctionCall", - "src": "1088:13:36" + "src": "1088:13:34" }, { "name": "dataEnd", - "nativeSrc": "1103:7:36", + "nativeSrc": "1103:7:34", "nodeType": "YulIdentifier", - "src": "1103:7:36" + "src": "1103:7:34" } ], "functionName": { "name": "slt", - "nativeSrc": "1084:3:36", + "nativeSrc": "1084:3:34", "nodeType": "YulIdentifier", - "src": "1084:3:36" + "src": "1084:3:34" }, - "nativeSrc": "1084:27:36", + "nativeSrc": "1084:27:34", "nodeType": "YulFunctionCall", - "src": "1084:27:36" + "src": "1084:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "1077:6:36", + "nativeSrc": "1077:6:34", "nodeType": "YulIdentifier", - "src": "1077:6:36" + "src": "1077:6:34" }, - "nativeSrc": "1077:35:36", + "nativeSrc": "1077:35:34", "nodeType": "YulFunctionCall", - "src": "1077:35:36" + "src": "1077:35:34" }, - "nativeSrc": "1074:55:36", + "nativeSrc": "1074:55:34", "nodeType": "YulIf", - "src": "1074:55:36" + "src": "1074:55:34" }, { - "nativeSrc": "1138:19:36", + "nativeSrc": "1138:19:34", "nodeType": "YulVariableDeclaration", - "src": "1138:19:36", + "src": "1138:19:34", "value": { "arguments": [ { "name": "_2", - "nativeSrc": "1154:2:36", + "nativeSrc": "1154:2:34", "nodeType": "YulIdentifier", - "src": "1154:2:36" + "src": "1154:2:34" } ], "functionName": { "name": "mload", - "nativeSrc": "1148:5:36", + "nativeSrc": "1148:5:34", "nodeType": "YulIdentifier", - "src": "1148:5:36" + "src": "1148:5:34" }, - "nativeSrc": "1148:9:36", + "nativeSrc": "1148:9:34", "nodeType": "YulFunctionCall", - "src": "1148:9:36" + "src": "1148:9:34" }, "variables": [ { "name": "_3", - "nativeSrc": "1142:2:36", + "nativeSrc": "1142:2:34", "nodeType": "YulTypedName", - "src": "1142:2:36", + "src": "1142:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "1180:22:36", + "nativeSrc": "1180:22:34", "nodeType": "YulBlock", - "src": "1180:22:36", + "src": "1180:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "1182:16:36", + "nativeSrc": "1182:16:34", "nodeType": "YulIdentifier", - "src": "1182:16:36" + "src": "1182:16:34" }, - "nativeSrc": "1182:18:36", + "nativeSrc": "1182:18:34", "nodeType": "YulFunctionCall", - "src": "1182:18:36" + "src": "1182:18:34" }, - "nativeSrc": "1182:18:36", + "nativeSrc": "1182:18:34", "nodeType": "YulExpressionStatement", - "src": "1182:18:36" + "src": "1182:18:34" } ] }, @@ -78436,112 +77446,112 @@ "arguments": [ { "name": "_3", - "nativeSrc": "1172:2:36", + "nativeSrc": "1172:2:34", "nodeType": "YulIdentifier", - "src": "1172:2:36" + "src": "1172:2:34" }, { "name": "_1", - "nativeSrc": "1176:2:36", + "nativeSrc": "1176:2:34", "nodeType": "YulIdentifier", - "src": "1176:2:36" + "src": "1176:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1169:2:36", + "nativeSrc": "1169:2:34", "nodeType": "YulIdentifier", - "src": "1169:2:36" + "src": "1169:2:34" }, - "nativeSrc": "1169:10:36", + "nativeSrc": "1169:10:34", "nodeType": "YulFunctionCall", - "src": "1169:10:36" + "src": "1169:10:34" }, - "nativeSrc": "1166:36:36", + "nativeSrc": "1166:36:34", "nodeType": "YulIf", - "src": "1166:36:36" + "src": "1166:36:34" }, { - "nativeSrc": "1211:17:36", + "nativeSrc": "1211:17:34", "nodeType": "YulVariableDeclaration", - "src": "1211:17:36", + "src": "1211:17:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1225:2:36", + "nativeSrc": "1225:2:34", "nodeType": "YulLiteral", - "src": "1225:2:36", + "src": "1225:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "1221:3:36", + "nativeSrc": "1221:3:34", "nodeType": "YulIdentifier", - "src": "1221:3:36" + "src": "1221:3:34" }, - "nativeSrc": "1221:7:36", + "nativeSrc": "1221:7:34", "nodeType": "YulFunctionCall", - "src": "1221:7:36" + "src": "1221:7:34" }, "variables": [ { "name": "_4", - "nativeSrc": "1215:2:36", + "nativeSrc": "1215:2:34", "nodeType": "YulTypedName", - "src": "1215:2:36", + "src": "1215:2:34", "type": "" } ] }, { - "nativeSrc": "1237:23:36", + "nativeSrc": "1237:23:34", "nodeType": "YulVariableDeclaration", - "src": "1237:23:36", + "src": "1237:23:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1257:2:36", + "nativeSrc": "1257:2:34", "nodeType": "YulLiteral", - "src": "1257:2:36", + "src": "1257:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "1251:5:36", + "nativeSrc": "1251:5:34", "nodeType": "YulIdentifier", - "src": "1251:5:36" + "src": "1251:5:34" }, - "nativeSrc": "1251:9:36", + "nativeSrc": "1251:9:34", "nodeType": "YulFunctionCall", - "src": "1251:9:36" + "src": "1251:9:34" }, "variables": [ { "name": "memPtr", - "nativeSrc": "1241:6:36", + "nativeSrc": "1241:6:34", "nodeType": "YulTypedName", - "src": "1241:6:36", + "src": "1241:6:34", "type": "" } ] }, { - "nativeSrc": "1269:71:36", + "nativeSrc": "1269:71:34", "nodeType": "YulVariableDeclaration", - "src": "1269:71:36", + "src": "1269:71:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "1291:6:36", + "nativeSrc": "1291:6:34", "nodeType": "YulIdentifier", - "src": "1291:6:36" + "src": "1291:6:34" }, { "arguments": [ @@ -78553,125 +77563,125 @@ "arguments": [ { "name": "_3", - "nativeSrc": "1315:2:36", + "nativeSrc": "1315:2:34", "nodeType": "YulIdentifier", - "src": "1315:2:36" + "src": "1315:2:34" }, { "kind": "number", - "nativeSrc": "1319:4:36", + "nativeSrc": "1319:4:34", "nodeType": "YulLiteral", - "src": "1319:4:36", + "src": "1319:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "1311:3:36", + "nativeSrc": "1311:3:34", "nodeType": "YulIdentifier", - "src": "1311:3:36" + "src": "1311:3:34" }, - "nativeSrc": "1311:13:36", + "nativeSrc": "1311:13:34", "nodeType": "YulFunctionCall", - "src": "1311:13:36" + "src": "1311:13:34" }, { "name": "_4", - "nativeSrc": "1326:2:36", + "nativeSrc": "1326:2:34", "nodeType": "YulIdentifier", - "src": "1326:2:36" + "src": "1326:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "1307:3:36", + "nativeSrc": "1307:3:34", "nodeType": "YulIdentifier", - "src": "1307:3:36" + "src": "1307:3:34" }, - "nativeSrc": "1307:22:36", + "nativeSrc": "1307:22:34", "nodeType": "YulFunctionCall", - "src": "1307:22:36" + "src": "1307:22:34" }, { "kind": "number", - "nativeSrc": "1331:2:36", + "nativeSrc": "1331:2:34", "nodeType": "YulLiteral", - "src": "1331:2:36", + "src": "1331:2:34", "type": "", "value": "63" } ], "functionName": { "name": "add", - "nativeSrc": "1303:3:36", + "nativeSrc": "1303:3:34", "nodeType": "YulIdentifier", - "src": "1303:3:36" + "src": "1303:3:34" }, - "nativeSrc": "1303:31:36", + "nativeSrc": "1303:31:34", "nodeType": "YulFunctionCall", - "src": "1303:31:36" + "src": "1303:31:34" }, { "name": "_4", - "nativeSrc": "1336:2:36", + "nativeSrc": "1336:2:34", "nodeType": "YulIdentifier", - "src": "1336:2:36" + "src": "1336:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "1299:3:36", + "nativeSrc": "1299:3:34", "nodeType": "YulIdentifier", - "src": "1299:3:36" + "src": "1299:3:34" }, - "nativeSrc": "1299:40:36", + "nativeSrc": "1299:40:34", "nodeType": "YulFunctionCall", - "src": "1299:40:36" + "src": "1299:40:34" } ], "functionName": { "name": "add", - "nativeSrc": "1287:3:36", + "nativeSrc": "1287:3:34", "nodeType": "YulIdentifier", - "src": "1287:3:36" + "src": "1287:3:34" }, - "nativeSrc": "1287:53:36", + "nativeSrc": "1287:53:34", "nodeType": "YulFunctionCall", - "src": "1287:53:36" + "src": "1287:53:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "1273:10:36", + "nativeSrc": "1273:10:34", "nodeType": "YulTypedName", - "src": "1273:10:36", + "src": "1273:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "1399:22:36", + "nativeSrc": "1399:22:34", "nodeType": "YulBlock", - "src": "1399:22:36", + "src": "1399:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "1401:16:36", + "nativeSrc": "1401:16:34", "nodeType": "YulIdentifier", - "src": "1401:16:36" + "src": "1401:16:34" }, - "nativeSrc": "1401:18:36", + "nativeSrc": "1401:18:34", "nodeType": "YulFunctionCall", - "src": "1401:18:36" + "src": "1401:18:34" }, - "nativeSrc": "1401:18:36", + "nativeSrc": "1401:18:34", "nodeType": "YulExpressionStatement", - "src": "1401:18:36" + "src": "1401:18:34" } ] }, @@ -78681,168 +77691,168 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "1358:10:36", + "nativeSrc": "1358:10:34", "nodeType": "YulIdentifier", - "src": "1358:10:36" + "src": "1358:10:34" }, { "name": "_1", - "nativeSrc": "1370:2:36", + "nativeSrc": "1370:2:34", "nodeType": "YulIdentifier", - "src": "1370:2:36" + "src": "1370:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1355:2:36", + "nativeSrc": "1355:2:34", "nodeType": "YulIdentifier", - "src": "1355:2:36" + "src": "1355:2:34" }, - "nativeSrc": "1355:18:36", + "nativeSrc": "1355:18:34", "nodeType": "YulFunctionCall", - "src": "1355:18:36" + "src": "1355:18:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "1378:10:36", + "nativeSrc": "1378:10:34", "nodeType": "YulIdentifier", - "src": "1378:10:36" + "src": "1378:10:34" }, { "name": "memPtr", - "nativeSrc": "1390:6:36", + "nativeSrc": "1390:6:34", "nodeType": "YulIdentifier", - "src": "1390:6:36" + "src": "1390:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "1375:2:36", + "nativeSrc": "1375:2:34", "nodeType": "YulIdentifier", - "src": "1375:2:36" + "src": "1375:2:34" }, - "nativeSrc": "1375:22:36", + "nativeSrc": "1375:22:34", "nodeType": "YulFunctionCall", - "src": "1375:22:36" + "src": "1375:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "1352:2:36", + "nativeSrc": "1352:2:34", "nodeType": "YulIdentifier", - "src": "1352:2:36" + "src": "1352:2:34" }, - "nativeSrc": "1352:46:36", + "nativeSrc": "1352:46:34", "nodeType": "YulFunctionCall", - "src": "1352:46:36" + "src": "1352:46:34" }, - "nativeSrc": "1349:72:36", + "nativeSrc": "1349:72:34", "nodeType": "YulIf", - "src": "1349:72:36" + "src": "1349:72:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1437:2:36", + "nativeSrc": "1437:2:34", "nodeType": "YulLiteral", - "src": "1437:2:36", + "src": "1437:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "1441:10:36", + "nativeSrc": "1441:10:34", "nodeType": "YulIdentifier", - "src": "1441:10:36" + "src": "1441:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1430:6:36", + "nativeSrc": "1430:6:34", "nodeType": "YulIdentifier", - "src": "1430:6:36" + "src": "1430:6:34" }, - "nativeSrc": "1430:22:36", + "nativeSrc": "1430:22:34", "nodeType": "YulFunctionCall", - "src": "1430:22:36" + "src": "1430:22:34" }, - "nativeSrc": "1430:22:36", + "nativeSrc": "1430:22:34", "nodeType": "YulExpressionStatement", - "src": "1430:22:36" + "src": "1430:22:34" }, { "expression": { "arguments": [ { "name": "memPtr", - "nativeSrc": "1468:6:36", + "nativeSrc": "1468:6:34", "nodeType": "YulIdentifier", - "src": "1468:6:36" + "src": "1468:6:34" }, { "name": "_3", - "nativeSrc": "1476:2:36", + "nativeSrc": "1476:2:34", "nodeType": "YulIdentifier", - "src": "1476:2:36" + "src": "1476:2:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1461:6:36", + "nativeSrc": "1461:6:34", "nodeType": "YulIdentifier", - "src": "1461:6:36" + "src": "1461:6:34" }, - "nativeSrc": "1461:18:36", + "nativeSrc": "1461:18:34", "nodeType": "YulFunctionCall", - "src": "1461:18:36" + "src": "1461:18:34" }, - "nativeSrc": "1461:18:36", + "nativeSrc": "1461:18:34", "nodeType": "YulExpressionStatement", - "src": "1461:18:36" + "src": "1461:18:34" }, { "body": { - "nativeSrc": "1525:16:36", + "nativeSrc": "1525:16:34", "nodeType": "YulBlock", - "src": "1525:16:36", + "src": "1525:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1534:1:36", + "nativeSrc": "1534:1:34", "nodeType": "YulLiteral", - "src": "1534:1:36", + "src": "1534:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1537:1:36", + "nativeSrc": "1537:1:34", "nodeType": "YulLiteral", - "src": "1537:1:36", + "src": "1537:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1527:6:36", + "nativeSrc": "1527:6:34", "nodeType": "YulIdentifier", - "src": "1527:6:36" + "src": "1527:6:34" }, - "nativeSrc": "1527:12:36", + "nativeSrc": "1527:12:34", "nodeType": "YulFunctionCall", - "src": "1527:12:36" + "src": "1527:12:34" }, - "nativeSrc": "1527:12:36", + "nativeSrc": "1527:12:34", "nodeType": "YulExpressionStatement", - "src": "1527:12:36" + "src": "1527:12:34" } ] }, @@ -78854,66 +77864,66 @@ "arguments": [ { "name": "_2", - "nativeSrc": "1502:2:36", + "nativeSrc": "1502:2:34", "nodeType": "YulIdentifier", - "src": "1502:2:36" + "src": "1502:2:34" }, { "name": "_3", - "nativeSrc": "1506:2:36", + "nativeSrc": "1506:2:34", "nodeType": "YulIdentifier", - "src": "1506:2:36" + "src": "1506:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "1498:3:36", + "nativeSrc": "1498:3:34", "nodeType": "YulIdentifier", - "src": "1498:3:36" + "src": "1498:3:34" }, - "nativeSrc": "1498:11:36", + "nativeSrc": "1498:11:34", "nodeType": "YulFunctionCall", - "src": "1498:11:36" + "src": "1498:11:34" }, { "kind": "number", - "nativeSrc": "1511:2:36", + "nativeSrc": "1511:2:34", "nodeType": "YulLiteral", - "src": "1511:2:36", + "src": "1511:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1494:3:36", + "nativeSrc": "1494:3:34", "nodeType": "YulIdentifier", - "src": "1494:3:36" + "src": "1494:3:34" }, - "nativeSrc": "1494:20:36", + "nativeSrc": "1494:20:34", "nodeType": "YulFunctionCall", - "src": "1494:20:36" + "src": "1494:20:34" }, { "name": "dataEnd", - "nativeSrc": "1516:7:36", + "nativeSrc": "1516:7:34", "nodeType": "YulIdentifier", - "src": "1516:7:36" + "src": "1516:7:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1491:2:36", + "nativeSrc": "1491:2:34", "nodeType": "YulIdentifier", - "src": "1491:2:36" + "src": "1491:2:34" }, - "nativeSrc": "1491:33:36", + "nativeSrc": "1491:33:34", "nodeType": "YulFunctionCall", - "src": "1491:33:36" + "src": "1491:33:34" }, - "nativeSrc": "1488:53:36", + "nativeSrc": "1488:53:34", "nodeType": "YulIf", - "src": "1488:53:36" + "src": "1488:53:34" }, { "expression": { @@ -78922,185 +77932,185 @@ "arguments": [ { "name": "_2", - "nativeSrc": "1589:2:36", + "nativeSrc": "1589:2:34", "nodeType": "YulIdentifier", - "src": "1589:2:36" + "src": "1589:2:34" }, { "kind": "number", - "nativeSrc": "1593:2:36", + "nativeSrc": "1593:2:34", "nodeType": "YulLiteral", - "src": "1593:2:36", + "src": "1593:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1585:3:36", + "nativeSrc": "1585:3:34", "nodeType": "YulIdentifier", - "src": "1585:3:36" + "src": "1585:3:34" }, - "nativeSrc": "1585:11:36", + "nativeSrc": "1585:11:34", "nodeType": "YulFunctionCall", - "src": "1585:11:36" + "src": "1585:11:34" }, { "arguments": [ { "name": "memPtr", - "nativeSrc": "1602:6:36", + "nativeSrc": "1602:6:34", "nodeType": "YulIdentifier", - "src": "1602:6:36" + "src": "1602:6:34" }, { "kind": "number", - "nativeSrc": "1610:2:36", + "nativeSrc": "1610:2:34", "nodeType": "YulLiteral", - "src": "1610:2:36", + "src": "1610:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1598:3:36", + "nativeSrc": "1598:3:34", "nodeType": "YulIdentifier", - "src": "1598:3:36" + "src": "1598:3:34" }, - "nativeSrc": "1598:15:36", + "nativeSrc": "1598:15:34", "nodeType": "YulFunctionCall", - "src": "1598:15:36" + "src": "1598:15:34" }, { "name": "_3", - "nativeSrc": "1615:2:36", + "nativeSrc": "1615:2:34", "nodeType": "YulIdentifier", - "src": "1615:2:36" + "src": "1615:2:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "1550:34:36", + "nativeSrc": "1550:34:34", "nodeType": "YulIdentifier", - "src": "1550:34:36" + "src": "1550:34:34" }, - "nativeSrc": "1550:68:36", + "nativeSrc": "1550:68:34", "nodeType": "YulFunctionCall", - "src": "1550:68:36" + "src": "1550:68:34" }, - "nativeSrc": "1550:68:36", + "nativeSrc": "1550:68:34", "nodeType": "YulExpressionStatement", - "src": "1550:68:36" + "src": "1550:68:34" }, { - "nativeSrc": "1627:16:36", + "nativeSrc": "1627:16:34", "nodeType": "YulAssignment", - "src": "1627:16:36", + "src": "1627:16:34", "value": { "name": "memPtr", - "nativeSrc": "1637:6:36", + "nativeSrc": "1637:6:34", "nodeType": "YulIdentifier", - "src": "1637:6:36" + "src": "1637:6:34" }, "variableNames": [ { "name": "value2", - "nativeSrc": "1627:6:36", + "nativeSrc": "1627:6:34", "nodeType": "YulIdentifier", - "src": "1627:6:36" + "src": "1627:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory", - "nativeSrc": "583:1066:36", + "nativeSrc": "583:1066:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "657:9:36", + "nativeSrc": "657:9:34", "nodeType": "YulTypedName", - "src": "657:9:36", + "src": "657:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "668:7:36", + "nativeSrc": "668:7:34", "nodeType": "YulTypedName", - "src": "668:7:36", + "src": "668:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "680:6:36", + "nativeSrc": "680:6:34", "nodeType": "YulTypedName", - "src": "680:6:36", + "src": "680:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "688:6:36", + "nativeSrc": "688:6:34", "nodeType": "YulTypedName", - "src": "688:6:36", + "src": "688:6:34", "type": "" }, { "name": "value2", - "nativeSrc": "696:6:36", + "nativeSrc": "696:6:34", "nodeType": "YulTypedName", - "src": "696:6:36", + "src": "696:6:34", "type": "" } ], - "src": "583:1066:36" + "src": "583:1066:34" }, { "body": { - "nativeSrc": "1755:102:36", + "nativeSrc": "1755:102:34", "nodeType": "YulBlock", - "src": "1755:102:36", + "src": "1755:102:34", "statements": [ { - "nativeSrc": "1765:26:36", + "nativeSrc": "1765:26:34", "nodeType": "YulAssignment", - "src": "1765:26:36", + "src": "1765:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "1777:9:36", + "nativeSrc": "1777:9:34", "nodeType": "YulIdentifier", - "src": "1777:9:36" + "src": "1777:9:34" }, { "kind": "number", - "nativeSrc": "1788:2:36", + "nativeSrc": "1788:2:34", "nodeType": "YulLiteral", - "src": "1788:2:36", + "src": "1788:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1773:3:36", + "nativeSrc": "1773:3:34", "nodeType": "YulIdentifier", - "src": "1773:3:36" + "src": "1773:3:34" }, - "nativeSrc": "1773:18:36", + "nativeSrc": "1773:18:34", "nodeType": "YulFunctionCall", - "src": "1773:18:36" + "src": "1773:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "1765:4:36", + "nativeSrc": "1765:4:34", "nodeType": "YulIdentifier", - "src": "1765:4:36" + "src": "1765:4:34" } ] }, @@ -79109,17 +78119,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "1807:9:36", + "nativeSrc": "1807:9:34", "nodeType": "YulIdentifier", - "src": "1807:9:36" + "src": "1807:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "1822:6:36", + "nativeSrc": "1822:6:34", "nodeType": "YulIdentifier", - "src": "1822:6:36" + "src": "1822:6:34" }, { "arguments": [ @@ -79127,214 +78137,214 @@ "arguments": [ { "kind": "number", - "nativeSrc": "1838:3:36", + "nativeSrc": "1838:3:34", "nodeType": "YulLiteral", - "src": "1838:3:36", + "src": "1838:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "1843:1:36", + "nativeSrc": "1843:1:34", "nodeType": "YulLiteral", - "src": "1843:1:36", + "src": "1843:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "1834:3:36", + "nativeSrc": "1834:3:34", "nodeType": "YulIdentifier", - "src": "1834:3:36" + "src": "1834:3:34" }, - "nativeSrc": "1834:11:36", + "nativeSrc": "1834:11:34", "nodeType": "YulFunctionCall", - "src": "1834:11:36" + "src": "1834:11:34" }, { "kind": "number", - "nativeSrc": "1847:1:36", + "nativeSrc": "1847:1:34", "nodeType": "YulLiteral", - "src": "1847:1:36", + "src": "1847:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "1830:3:36", + "nativeSrc": "1830:3:34", "nodeType": "YulIdentifier", - "src": "1830:3:36" + "src": "1830:3:34" }, - "nativeSrc": "1830:19:36", + "nativeSrc": "1830:19:34", "nodeType": "YulFunctionCall", - "src": "1830:19:36" + "src": "1830:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "1818:3:36", + "nativeSrc": "1818:3:34", "nodeType": "YulIdentifier", - "src": "1818:3:36" + "src": "1818:3:34" }, - "nativeSrc": "1818:32:36", + "nativeSrc": "1818:32:34", "nodeType": "YulFunctionCall", - "src": "1818:32:36" + "src": "1818:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1800:6:36", + "nativeSrc": "1800:6:34", "nodeType": "YulIdentifier", - "src": "1800:6:36" + "src": "1800:6:34" }, - "nativeSrc": "1800:51:36", + "nativeSrc": "1800:51:34", "nodeType": "YulFunctionCall", - "src": "1800:51:36" + "src": "1800:51:34" }, - "nativeSrc": "1800:51:36", + "nativeSrc": "1800:51:34", "nodeType": "YulExpressionStatement", - "src": "1800:51:36" + "src": "1800:51:34" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nativeSrc": "1654:203:36", + "nativeSrc": "1654:203:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "1724:9:36", + "nativeSrc": "1724:9:34", "nodeType": "YulTypedName", - "src": "1724:9:36", + "src": "1724:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "1735:6:36", + "nativeSrc": "1735:6:34", "nodeType": "YulTypedName", - "src": "1735:6:36", + "src": "1735:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "1746:4:36", + "nativeSrc": "1746:4:34", "nodeType": "YulTypedName", - "src": "1746:4:36", + "src": "1746:4:34", "type": "" } ], - "src": "1654:203:36" + "src": "1654:203:34" }, { "body": { - "nativeSrc": "1991:175:36", + "nativeSrc": "1991:175:34", "nodeType": "YulBlock", - "src": "1991:175:36", + "src": "1991:175:34", "statements": [ { - "nativeSrc": "2001:26:36", + "nativeSrc": "2001:26:34", "nodeType": "YulAssignment", - "src": "2001:26:36", + "src": "2001:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "2013:9:36", + "nativeSrc": "2013:9:34", "nodeType": "YulIdentifier", - "src": "2013:9:36" + "src": "2013:9:34" }, { "kind": "number", - "nativeSrc": "2024:2:36", + "nativeSrc": "2024:2:34", "nodeType": "YulLiteral", - "src": "2024:2:36", + "src": "2024:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "2009:3:36", + "nativeSrc": "2009:3:34", "nodeType": "YulIdentifier", - "src": "2009:3:36" + "src": "2009:3:34" }, - "nativeSrc": "2009:18:36", + "nativeSrc": "2009:18:34", "nodeType": "YulFunctionCall", - "src": "2009:18:36" + "src": "2009:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "2001:4:36", + "nativeSrc": "2001:4:34", "nodeType": "YulIdentifier", - "src": "2001:4:36" + "src": "2001:4:34" } ] }, { - "nativeSrc": "2036:29:36", + "nativeSrc": "2036:29:34", "nodeType": "YulVariableDeclaration", - "src": "2036:29:36", + "src": "2036:29:34", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "2054:3:36", + "nativeSrc": "2054:3:34", "nodeType": "YulLiteral", - "src": "2054:3:36", + "src": "2054:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "2059:1:36", + "nativeSrc": "2059:1:34", "nodeType": "YulLiteral", - "src": "2059:1:36", + "src": "2059:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "2050:3:36", + "nativeSrc": "2050:3:34", "nodeType": "YulIdentifier", - "src": "2050:3:36" + "src": "2050:3:34" }, - "nativeSrc": "2050:11:36", + "nativeSrc": "2050:11:34", "nodeType": "YulFunctionCall", - "src": "2050:11:36" + "src": "2050:11:34" }, { "kind": "number", - "nativeSrc": "2063:1:36", + "nativeSrc": "2063:1:34", "nodeType": "YulLiteral", - "src": "2063:1:36", + "src": "2063:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "2046:3:36", + "nativeSrc": "2046:3:34", "nodeType": "YulIdentifier", - "src": "2046:3:36" + "src": "2046:3:34" }, - "nativeSrc": "2046:19:36", + "nativeSrc": "2046:19:34", "nodeType": "YulFunctionCall", - "src": "2046:19:36" + "src": "2046:19:34" }, "variables": [ { "name": "_1", - "nativeSrc": "2040:2:36", + "nativeSrc": "2040:2:34", "nodeType": "YulTypedName", - "src": "2040:2:36", + "src": "2040:2:34", "type": "" } ] @@ -79344,49 +78354,49 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "2081:9:36", + "nativeSrc": "2081:9:34", "nodeType": "YulIdentifier", - "src": "2081:9:36" + "src": "2081:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "2096:6:36", + "nativeSrc": "2096:6:34", "nodeType": "YulIdentifier", - "src": "2096:6:36" + "src": "2096:6:34" }, { "name": "_1", - "nativeSrc": "2104:2:36", + "nativeSrc": "2104:2:34", "nodeType": "YulIdentifier", - "src": "2104:2:36" + "src": "2104:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "2092:3:36", + "nativeSrc": "2092:3:34", "nodeType": "YulIdentifier", - "src": "2092:3:36" + "src": "2092:3:34" }, - "nativeSrc": "2092:15:36", + "nativeSrc": "2092:15:34", "nodeType": "YulFunctionCall", - "src": "2092:15:36" + "src": "2092:15:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2074:6:36", + "nativeSrc": "2074:6:34", "nodeType": "YulIdentifier", - "src": "2074:6:36" + "src": "2074:6:34" }, - "nativeSrc": "2074:34:36", + "nativeSrc": "2074:34:34", "nodeType": "YulFunctionCall", - "src": "2074:34:36" + "src": "2074:34:34" }, - "nativeSrc": "2074:34:36", + "nativeSrc": "2074:34:34", "nodeType": "YulExpressionStatement", - "src": "2074:34:36" + "src": "2074:34:34" }, { "expression": { @@ -79395,143 +78405,143 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "2128:9:36", + "nativeSrc": "2128:9:34", "nodeType": "YulIdentifier", - "src": "2128:9:36" + "src": "2128:9:34" }, { "kind": "number", - "nativeSrc": "2139:2:36", + "nativeSrc": "2139:2:34", "nodeType": "YulLiteral", - "src": "2139:2:36", + "src": "2139:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "2124:3:36", + "nativeSrc": "2124:3:34", "nodeType": "YulIdentifier", - "src": "2124:3:36" + "src": "2124:3:34" }, - "nativeSrc": "2124:18:36", + "nativeSrc": "2124:18:34", "nodeType": "YulFunctionCall", - "src": "2124:18:36" + "src": "2124:18:34" }, { "arguments": [ { "name": "value1", - "nativeSrc": "2148:6:36", + "nativeSrc": "2148:6:34", "nodeType": "YulIdentifier", - "src": "2148:6:36" + "src": "2148:6:34" }, { "name": "_1", - "nativeSrc": "2156:2:36", + "nativeSrc": "2156:2:34", "nodeType": "YulIdentifier", - "src": "2156:2:36" + "src": "2156:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "2144:3:36", + "nativeSrc": "2144:3:34", "nodeType": "YulIdentifier", - "src": "2144:3:36" + "src": "2144:3:34" }, - "nativeSrc": "2144:15:36", + "nativeSrc": "2144:15:34", "nodeType": "YulFunctionCall", - "src": "2144:15:36" + "src": "2144:15:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2117:6:36", + "nativeSrc": "2117:6:34", "nodeType": "YulIdentifier", - "src": "2117:6:36" + "src": "2117:6:34" }, - "nativeSrc": "2117:43:36", + "nativeSrc": "2117:43:34", "nodeType": "YulFunctionCall", - "src": "2117:43:36" + "src": "2117:43:34" }, - "nativeSrc": "2117:43:36", + "nativeSrc": "2117:43:34", "nodeType": "YulExpressionStatement", - "src": "2117:43:36" + "src": "2117:43:34" } ] }, "name": "abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed", - "nativeSrc": "1862:304:36", + "nativeSrc": "1862:304:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "1952:9:36", + "nativeSrc": "1952:9:34", "nodeType": "YulTypedName", - "src": "1952:9:36", + "src": "1952:9:34", "type": "" }, { "name": "value1", - "nativeSrc": "1963:6:36", + "nativeSrc": "1963:6:34", "nodeType": "YulTypedName", - "src": "1963:6:36", + "src": "1963:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "1971:6:36", + "nativeSrc": "1971:6:34", "nodeType": "YulTypedName", - "src": "1971:6:36", + "src": "1971:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "1982:4:36", + "nativeSrc": "1982:4:34", "nodeType": "YulTypedName", - "src": "1982:4:36", + "src": "1982:4:34", "type": "" } ], - "src": "1862:304:36" + "src": "1862:304:34" }, { "body": { - "nativeSrc": "2308:150:36", + "nativeSrc": "2308:150:34", "nodeType": "YulBlock", - "src": "2308:150:36", + "src": "2308:150:34", "statements": [ { - "nativeSrc": "2318:27:36", + "nativeSrc": "2318:27:34", "nodeType": "YulVariableDeclaration", - "src": "2318:27:36", + "src": "2318:27:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "2338:6:36", + "nativeSrc": "2338:6:34", "nodeType": "YulIdentifier", - "src": "2338:6:36" + "src": "2338:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "2332:5:36", + "nativeSrc": "2332:5:34", "nodeType": "YulIdentifier", - "src": "2332:5:36" + "src": "2332:5:34" }, - "nativeSrc": "2332:13:36", + "nativeSrc": "2332:13:34", "nodeType": "YulFunctionCall", - "src": "2332:13:36" + "src": "2332:13:34" }, "variables": [ { "name": "length", - "nativeSrc": "2322:6:36", + "nativeSrc": "2322:6:34", "nodeType": "YulTypedName", - "src": "2322:6:36", + "src": "2322:6:34", "type": "" } ] @@ -79543,239 +78553,239 @@ "arguments": [ { "name": "value0", - "nativeSrc": "2393:6:36", + "nativeSrc": "2393:6:34", "nodeType": "YulIdentifier", - "src": "2393:6:36" + "src": "2393:6:34" }, { "kind": "number", - "nativeSrc": "2401:4:36", + "nativeSrc": "2401:4:34", "nodeType": "YulLiteral", - "src": "2401:4:36", + "src": "2401:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "2389:3:36", + "nativeSrc": "2389:3:34", "nodeType": "YulIdentifier", - "src": "2389:3:36" + "src": "2389:3:34" }, - "nativeSrc": "2389:17:36", + "nativeSrc": "2389:17:34", "nodeType": "YulFunctionCall", - "src": "2389:17:36" + "src": "2389:17:34" }, { "name": "pos", - "nativeSrc": "2408:3:36", + "nativeSrc": "2408:3:34", "nodeType": "YulIdentifier", - "src": "2408:3:36" + "src": "2408:3:34" }, { "name": "length", - "nativeSrc": "2413:6:36", + "nativeSrc": "2413:6:34", "nodeType": "YulIdentifier", - "src": "2413:6:36" + "src": "2413:6:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "2354:34:36", + "nativeSrc": "2354:34:34", "nodeType": "YulIdentifier", - "src": "2354:34:36" + "src": "2354:34:34" }, - "nativeSrc": "2354:66:36", + "nativeSrc": "2354:66:34", "nodeType": "YulFunctionCall", - "src": "2354:66:36" + "src": "2354:66:34" }, - "nativeSrc": "2354:66:36", + "nativeSrc": "2354:66:34", "nodeType": "YulExpressionStatement", - "src": "2354:66:36" + "src": "2354:66:34" }, { - "nativeSrc": "2429:23:36", + "nativeSrc": "2429:23:34", "nodeType": "YulAssignment", - "src": "2429:23:36", + "src": "2429:23:34", "value": { "arguments": [ { "name": "pos", - "nativeSrc": "2440:3:36", + "nativeSrc": "2440:3:34", "nodeType": "YulIdentifier", - "src": "2440:3:36" + "src": "2440:3:34" }, { "name": "length", - "nativeSrc": "2445:6:36", + "nativeSrc": "2445:6:34", "nodeType": "YulIdentifier", - "src": "2445:6:36" + "src": "2445:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "2436:3:36", + "nativeSrc": "2436:3:34", "nodeType": "YulIdentifier", - "src": "2436:3:36" + "src": "2436:3:34" }, - "nativeSrc": "2436:16:36", + "nativeSrc": "2436:16:34", "nodeType": "YulFunctionCall", - "src": "2436:16:36" + "src": "2436:16:34" }, "variableNames": [ { "name": "end", - "nativeSrc": "2429:3:36", + "nativeSrc": "2429:3:34", "nodeType": "YulIdentifier", - "src": "2429:3:36" + "src": "2429:3:34" } ] } ] }, "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "2171:287:36", + "nativeSrc": "2171:287:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", - "nativeSrc": "2284:3:36", + "nativeSrc": "2284:3:34", "nodeType": "YulTypedName", - "src": "2284:3:36", + "src": "2284:3:34", "type": "" }, { "name": "value0", - "nativeSrc": "2289:6:36", + "nativeSrc": "2289:6:34", "nodeType": "YulTypedName", - "src": "2289:6:36", + "src": "2289:6:34", "type": "" } ], "returnVariables": [ { "name": "end", - "nativeSrc": "2300:3:36", + "nativeSrc": "2300:3:34", "nodeType": "YulTypedName", - "src": "2300:3:36", + "src": "2300:3:34", "type": "" } ], - "src": "2171:287:36" + "src": "2171:287:34" } ] }, "contents": "{\n { }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\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_decode_tuple_t_addresst_addresst_bytes_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address_fromMemory(headStart)\n value1 := abi_decode_address_fromMemory(add(headStart, 32))\n let offset := mload(add(headStart, 64))\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := mload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(_2, 32), add(memPtr, 32), _3)\n value2 := memPtr\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 abi_encode_tuple_t_address_t_address__to_t_address_t_address__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\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}", - "id": 36, + "id": 34, "language": "Yul", "name": "#utility.yul" } ], "linkReferences": {}, - "object": "60a060405260405162000eb138038062000eb18339810160408190526200002691620003cd565b82816200003482826200009c565b505081604051620000459062000366565b6001600160a01b039091168152602001604051809103906000f08015801562000072573d6000803e3d6000fd5b506001600160a01b0316608052620000936200008d60805190565b62000102565b505050620004cb565b620000a78262000174565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115620000f457620000ef8282620001f4565b505050565b620000fe62000271565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6200014460008051602062000e91833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a1620001718162000293565b50565b806001600160a01b03163b600003620001b057604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080846001600160a01b031684604051620002139190620004ad565b600060405180830381855af49150503d806000811462000250576040519150601f19603f3d011682016040523d82523d6000602084013e62000255565b606091505b50909250905062000268858383620002d6565b95945050505050565b3415620002915760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b038116620002bf57604051633173bdd160e11b815260006004820152602401620001a7565b8060008051602062000e91833981519152620001d3565b606082620002ef57620002e9826200033c565b62000335565b81511580156200030757506001600160a01b0384163b155b156200033257604051639996b31560e01b81526001600160a01b0385166004820152602401620001a7565b50805b9392505050565b8051156200034d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b610524806200096d83390190565b80516001600160a01b03811681146200038c57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620003c4578181015183820152602001620003aa565b50506000910152565b600080600060608486031215620003e357600080fd5b620003ee8462000374565b9250620003fe6020850162000374565b60408501519092506001600160401b03808211156200041c57600080fd5b818601915086601f8301126200043157600080fd5b81518181111562000446576200044662000391565b604051601f8201601f19908116603f0116810190838211818310171562000471576200047162000391565b816040528281528960208487010111156200048b57600080fd5b6200049e836020830160208801620003a7565b80955050505050509250925092565b60008251620004c1818460208701620003a7565b9190910192915050565b608051610487620004e66000396000601001526104876000f3fe608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007b576000356001600160e01b03191663278f794360e11b14610071576040516334ad5dbb60e21b815260040160405180910390fd5b610079610083565b565b6100796100b2565b6000806100933660048184610312565b8101906100a09190610352565b915091506100ae82826100c2565b5050565b6100796100bd61011d565b610155565b6100cb82610179565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156101155761011082826101f5565b505050565b6100ae61026b565b60006101507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015610174573d6000f35b3d6000fd5b806001600160a01b03163b6000036101b457604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516102129190610422565b600060405180830381855af49150503d806000811461024d576040519150601f19603f3d011682016040523d82523d6000602084013e610252565b606091505b509150915061026285838361028a565b95945050505050565b34156100795760405163b398979f60e01b815260040160405180910390fd5b60608261029f5761029a826102e9565b6102e2565b81511580156102b657506001600160a01b0384163b155b156102df57604051639996b31560e01b81526001600160a01b03851660048201526024016101ab565b50805b9392505050565b8051156102f95780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b6000808585111561032257600080fd5b8386111561032f57600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561036557600080fd5b82356001600160a01b038116811461037c57600080fd5b9150602083013567ffffffffffffffff8082111561039957600080fd5b818501915085601f8301126103ad57600080fd5b8135818111156103bf576103bf61033c565b604051601f8201601f19908116603f011681019083821181831017156103e7576103e761033c565b8160405282815288602084870101111561040057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156104435760208186018101518583015201610429565b50600092019182525091905056fea26469706673582212206199468d135d4672649dadf8ba5d9316c98893455913a2d8a5f7522fdf5bbb0e64736f6c63430008160033608060405234801561001057600080fd5b5060405161052438038061052483398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b610427806100fd6000396000f3fe60806040526004361061004a5760003560e01c8063715018a61461004f5780638da5cb5b146100665780639623609d14610093578063ad3cb1cc146100a6578063f2fde38b146100e4575b600080fd5b34801561005b57600080fd5b50610064610104565b005b34801561007257600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b6100646100a1366004610272565b610118565b3480156100b257600080fd5b506100d7604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161008a919061038e565b3480156100f057600080fd5b506100646100ff3660046103a8565b610187565b61010c6101ca565b61011660006101f7565b565b6101206101ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061015090869086906004016103c5565b6000604051808303818588803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b5050505050505050565b61018f6101ca565b6001600160a01b0381166101be57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6101c7816101f7565b50565b6000546001600160a01b031633146101165760405163118cdaa760e01b81523360048201526024016101b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101c757600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561028757600080fd5b833561029281610247565b925060208401356102a281610247565b9150604084013567ffffffffffffffff808211156102bf57600080fd5b818601915086601f8301126102d357600080fd5b8135818111156102e5576102e561025c565b604051601f8201601f19908116603f0116810190838211818310171561030d5761030d61025c565b8160405282815289602084870101111561032657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b8181101561036e57602081850181015186830182015201610352565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006103a16020830184610348565b9392505050565b6000602082840312156103ba57600080fd5b81356103a181610247565b6001600160a01b03831681526040602082018190526000906103e990830184610348565b94935050505056fea2646970667358221220eb1fa66adb4b3898256b517de04d577991ede6e6d368fb9e4e44955b32698f7764736f6c63430008160033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", - "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH3 0xEB1 CODESIZE SUB DUP1 PUSH3 0xEB1 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x26 SWAP2 PUSH3 0x3CD JUMP JUMPDEST DUP3 DUP2 PUSH3 0x34 DUP3 DUP3 PUSH3 0x9C JUMP JUMPDEST POP POP DUP2 PUSH1 0x40 MLOAD PUSH3 0x45 SWAP1 PUSH3 0x366 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x80 MSTORE PUSH3 0x93 PUSH3 0x8D PUSH1 0x80 MLOAD SWAP1 JUMP JUMPDEST PUSH3 0x102 JUMP JUMPDEST POP POP POP PUSH3 0x4CB JUMP JUMPDEST PUSH3 0xA7 DUP3 PUSH3 0x174 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH3 0xF4 JUMPI PUSH3 0xEF DUP3 DUP3 PUSH3 0x1F4 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH3 0xFE PUSH3 0x271 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH32 0x7E644D79422F17C01E4894B5F4F588D331EBFA28653D42AE832DC59E38C9798F PUSH3 0x144 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0xE91 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP5 AND PUSH1 0x20 DUP4 ADD MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH3 0x171 DUP2 PUSH3 0x293 JUMP JUMPDEST POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH3 0x1B0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH3 0x213 SWAP2 SWAP1 PUSH3 0x4AD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH3 0x250 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 PUSH3 0x255 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH3 0x268 DUP6 DUP4 DUP4 PUSH3 0x2D6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH3 0x291 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH3 0x2BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x3173BDD1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH3 0x1A7 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0xE91 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH3 0x1D3 JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH3 0x2EF JUMPI PUSH3 0x2E9 DUP3 PUSH3 0x33C JUMP JUMPDEST PUSH3 0x335 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH3 0x307 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH3 0x332 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH3 0x1A7 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH3 0x34D JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x524 DUP1 PUSH3 0x96D DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x38C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x3C4 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH3 0x3AA JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x3E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x3EE DUP5 PUSH3 0x374 JUMP JUMPDEST SWAP3 POP PUSH3 0x3FE PUSH1 0x20 DUP6 ADD PUSH3 0x374 JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x41C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH3 0x446 JUMPI PUSH3 0x446 PUSH3 0x391 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x471 JUMPI PUSH3 0x471 PUSH3 0x391 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP10 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH3 0x48B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x49E DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH3 0x3A7 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH3 0x4C1 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH3 0x3A7 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x487 PUSH3 0x4E6 PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH1 0x10 ADD MSTORE PUSH2 0x487 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH2 0xC PUSH2 0xE JUMP JUMPDEST STOP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0x7B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0x278F7943 PUSH1 0xE1 SHL EQ PUSH2 0x71 JUMPI PUSH1 0x40 MLOAD PUSH4 0x34AD5DBB PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x79 PUSH2 0x83 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x79 PUSH2 0xB2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x93 CALLDATASIZE PUSH1 0x4 DUP2 DUP5 PUSH2 0x312 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x352 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xAE DUP3 DUP3 PUSH2 0xC2 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x79 PUSH2 0xBD PUSH2 0x11D JUMP JUMPDEST PUSH2 0x155 JUMP JUMPDEST PUSH2 0xCB DUP3 PUSH2 0x179 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x115 JUMPI PUSH2 0x110 DUP3 DUP3 PUSH2 0x1F5 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xAE PUSH2 0x26B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x150 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x174 JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1B4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x422 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x24D 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 0x252 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x262 DUP6 DUP4 DUP4 PUSH2 0x28A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x79 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x29F JUMPI PUSH2 0x29A DUP3 PUSH2 0x2E9 JUMP JUMPDEST PUSH2 0x2E2 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x2B6 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2DF JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1AB JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x2F9 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP6 DUP6 GT ISZERO PUSH2 0x322 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP7 GT ISZERO PUSH2 0x32F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP3 ADD SWAP4 SWAP2 SWAP1 SWAP3 SUB SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x365 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x37C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x399 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x3BF JUMPI PUSH2 0x3BF PUSH2 0x33C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x3E7 JUMPI PUSH2 0x3E7 PUSH2 0x33C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x400 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x443 JUMPI PUSH1 0x20 DUP2 DUP7 ADD DUP2 ADD MLOAD DUP6 DUP4 ADD MSTORE ADD PUSH2 0x429 JUMP JUMPDEST POP PUSH1 0x0 SWAP3 ADD SWAP2 DUP3 MSTORE POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH2 0x9946 DUP14 SGT 0x5D CHAINID PUSH19 0x649DADF8BA5D9316C98893455913A2D8A5F752 0x2F 0xDF JUMPDEST 0xBB 0xE PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0x524 CODESIZE SUB DUP1 PUSH2 0x524 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0xBE JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x5E JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x67 DUP2 PUSH2 0x6E JUMP JUMPDEST POP POP PUSH2 0xEE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x427 DUP1 PUSH2 0xFD PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0x9623609D EQ PUSH2 0x93 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xA6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xE4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0x104 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD 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 PUSH2 0x64 PUSH2 0xA1 CALLDATASIZE PUSH1 0x4 PUSH2 0x272 JUMP JUMPDEST PUSH2 0x118 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD7 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8A SWAP2 SWAP1 PUSH2 0x38E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0xFF CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x187 JUMP JUMPDEST PUSH2 0x10C PUSH2 0x1CA JUMP JUMPDEST PUSH2 0x116 PUSH1 0x0 PUSH2 0x1F7 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x120 PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x278F7943 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x4F1EF286 SWAP1 CALLVALUE SWAP1 PUSH2 0x150 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3C5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x169 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x17D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x18F PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1BE JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1C7 DUP2 PUSH2 0x1F7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x116 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x292 DUP2 PUSH2 0x247 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x2A2 DUP2 PUSH2 0x247 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x2E5 JUMPI PUSH2 0x2E5 PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x30D JUMPI PUSH2 0x30D PUSH2 0x25C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP10 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x36E JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x352 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3A1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x348 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x3A1 DUP2 PUSH2 0x247 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x3E9 SWAP1 DUP4 ADD DUP5 PUSH2 0x348 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xEB 0x1F 0xA6 PUSH11 0xDB4B3898256B517DE04D57 PUSH26 0x91EDE6E6D368FB9E4E44955B32698F7764736F6C634300081600 CALLER 0xB5 BALANCE 0x27 PUSH9 0x4A568B3173AE13B9F8 0xA6 ADD PUSH15 0x243E63B6E8EE1178D6A717850B5D61 SUB ", - "sourceMap": "4314:2231:15:-:0;;;5157:296;;;;;;;;;;;;;;;;;;:::i;:::-;5248:6;5256:5;1155:52:10;5248:6:15;5256:5;1155:29:10;:52::i;:::-;1081:133;;5305:12:15::1;5290:28;;;;;:::i;:::-;-1:-1:-1::0;;;;;1818:32:36;;;1800:51;;1788:2;1773:18;5290:28:15::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;;;5273:46:15::1;;::::0;5407:39:::1;5432:13;5600:6:::0;;;5520:93;5432:13:::1;5407:24;:39::i;:::-;5157:296:::0;;;4314:2231;;2264:344:11;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:11;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;:::-;;2264:344;;:::o;2454:148::-;2573:18;:16;:18::i;:::-;2264:344;;:::o;3827:142::-;3890:43;3912:10;-1:-1:-1;;;;;;;;;;;3356:44:11;-1:-1:-1;;;;;3356:44:11;;3287:120;3912:10;3890:43;;;-1:-1:-1;;;;;2092:15:36;;;2074:34;;2144:15;;;2139:2;2124:18;;2117:43;2009:18;3890:43:11;;;;;;;3943:19;3953:8;3943:9;:19::i;:::-;3827:142;:::o;1671:281::-;1748:17;-1:-1:-1;;;;;1748:29:11;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:11;;-1:-1:-1;;;;;1818:32:36;;1805:47:11;;;1800:51:36;1773:18;;1805:47:11;;;;;;;;1744:119;1928:17;811:66;1872:47;:73;;-1:-1:-1;;;;;;1872:73:11;-1:-1:-1;;;;;1872:73:11;;;;;;;;;;-1:-1:-1;1671:281:11:o;3916:253:20:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:20;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4023:67:20;;-1:-1:-1;4023:67:20;-1:-1:-1;4107:55:20;4134:6;4023:67;;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:20:o;6113:122:11:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:11;;;;;;;;;;;6159:70;6113:122::o;3490:217::-;-1:-1:-1;;;;;3549:22:11;;3545:91;;3594:31;;-1:-1:-1;;;3594:31:11;;3622:1;3594:31;;;1800:51:36;1773:18;;3594:31:11;1654:203:36;3545:91:11;3692:8;-1:-1:-1;;;;;;;;;;;3645:38:11;1899:163:23:o;4437:582:20:-;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:20;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:20;;-1:-1:-1;;;;;1818:32:36;;4933:24:20;;;1800:51:36;1773:18;;4933:24:20;1654:203:36;4853:119:20;-1:-1:-1;4992:10:20;4605:408;4437:582;;;;;:::o;5559:487::-;5690:17;;:21;5686:354;;5887:10;5881:17;5943:15;5930:10;5926:2;5922:19;5915:44;5686:354;6010:19;;-1:-1:-1;;;6010:19:20;;;;;;;;;;;4314:2231:15;;;;;;;;:::o;14:177:36:-;93:13;;-1:-1:-1;;;;;135:31:36;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:127::-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:250;413:1;423:113;437:6;434:1;431:13;423:113;;;513:11;;;507:18;494:11;;;487:39;459:2;452:10;423:113;;;-1:-1:-1;;570:1:36;552:16;;545:27;328:250::o;583:1066::-;680:6;688;696;749:2;737:9;728:7;724:23;720:32;717:52;;;765:1;762;755:12;717:52;788:40;818:9;788:40;:::i;:::-;778:50;;847:49;892:2;881:9;877:18;847:49;:::i;:::-;940:2;925:18;;919:25;837:59;;-1:-1:-1;;;;;;993:14:36;;;990:34;;;1020:1;1017;1010:12;990:34;1058:6;1047:9;1043:22;1033:32;;1103:7;1096:4;1092:2;1088:13;1084:27;1074:55;;1125:1;1122;1115:12;1074:55;1154:2;1148:9;1176:2;1172;1169:10;1166:36;;;1182:18;;:::i;:::-;1257:2;1251:9;1225:2;1311:13;;-1:-1:-1;;1307:22:36;;;1331:2;1303:31;1299:40;1287:53;;;1355:18;;;1375:22;;;1352:46;1349:72;;;1401:18;;:::i;:::-;1441:10;1437:2;1430:22;1476:2;1468:6;1461:18;1516:7;1511:2;1506;1502;1498:11;1494:20;1491:33;1488:53;;;1537:1;1534;1527:12;1488:53;1550:68;1615:2;1610;1602:6;1598:15;1593:2;1589;1585:11;1550:68;:::i;:::-;1637:6;1627:16;;;;;;;583:1066;;;;;:::o;2171:287::-;2300:3;2338:6;2332:13;2354:66;2413:6;2408:3;2401:4;2393:6;2389:17;2354:66;:::i;:::-;2436:16;;;;;2171:287;-1:-1:-1;;2171:287:36:o;:::-;4314:2231:15;;;;;;;;;;;;" + "object": "60a060405260405162000eaf38038062000eaf8339810160408190526200002691620003cc565b82816200003482826200009c565b505081604051620000459062000365565b6001600160a01b039091168152602001604051809103906000f08015801562000072573d6000803e3d6000fd5b506001600160a01b0316608052620000936200008d60805190565b62000102565b505050620004ca565b620000a78262000174565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115620000f457620000ef8282620001f4565b505050565b620000fe62000271565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6200014460008051602062000e8f833981519152546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a1620001718162000293565b50565b806001600160a01b03163b600003620001b057604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b6060600080846001600160a01b031684604051620002139190620004ac565b600060405180830381855af49150503d806000811462000250576040519150601f19603f3d011682016040523d82523d6000602084013e62000255565b606091505b50909250905062000268858383620002d6565b95945050505050565b3415620002915760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b038116620002bf57604051633173bdd160e11b815260006004820152602401620001a7565b8060008051602062000e8f833981519152620001d3565b606082620002ef57620002e9826200033c565b62000335565b81511580156200030757506001600160a01b0384163b155b156200033257604051639996b31560e01b81526001600160a01b0385166004820152602401620001a7565b50805b9392505050565b8051156200034c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b610524806200096b83390190565b80516001600160a01b03811681146200038b57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620003c3578181015183820152602001620003a9565b50506000910152565b600080600060608486031215620003e257600080fd5b620003ed8462000373565b9250620003fd6020850162000373565b60408501519092506001600160401b03808211156200041b57600080fd5b818601915086601f8301126200043057600080fd5b81518181111562000445576200044562000390565b604051601f8201601f19908116603f0116810190838211818310171562000470576200047062000390565b816040528281528960208487010111156200048a57600080fd5b6200049d836020830160208801620003a6565b80955050505050509250925092565b60008251620004c0818460208701620003a6565b9190910192915050565b608051610486620004e56000396000601001526104866000f3fe608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007b576000356001600160e01b03191663278f794360e11b14610071576040516334ad5dbb60e21b815260040160405180910390fd5b610079610083565b565b6100796100b2565b6000806100933660048184610311565b8101906100a09190610351565b915091506100ae82826100c2565b5050565b6100796100bd61011d565b610155565b6100cb82610179565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156101155761011082826101f5565b505050565b6100ae61026b565b60006101507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015610174573d6000f35b3d6000fd5b806001600160a01b03163b6000036101b457604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516102129190610421565b600060405180830381855af49150503d806000811461024d576040519150601f19603f3d011682016040523d82523d6000602084013e610252565b606091505b509150915061026285838361028a565b95945050505050565b34156100795760405163b398979f60e01b815260040160405180910390fd5b60608261029f5761029a826102e9565b6102e2565b81511580156102b657506001600160a01b0384163b155b156102df57604051639996b31560e01b81526001600160a01b03851660048201526024016101ab565b50805b9392505050565b8051156102f857805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b6000808585111561032157600080fd5b8386111561032e57600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561036457600080fd5b82356001600160a01b038116811461037b57600080fd5b9150602083013567ffffffffffffffff8082111561039857600080fd5b818501915085601f8301126103ac57600080fd5b8135818111156103be576103be61033b565b604051601f8201601f19908116603f011681019083821181831017156103e6576103e661033b565b816040528281528860208487010111156103ff57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156104425760208186018101518583015201610428565b50600092019182525091905056fea26469706673582212204163813624e55dd48f6d9c66863abeb4c7c09bcf6f620ec3055960611a277f4564736f6c63430008160033608060405234801561001057600080fd5b5060405161052438038061052483398101604081905261002f916100be565b806001600160a01b03811661005e57604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100678161006e565b50506100ee565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156100d057600080fd5b81516001600160a01b03811681146100e757600080fd5b9392505050565b610427806100fd6000396000f3fe60806040526004361061004a5760003560e01c8063715018a61461004f5780638da5cb5b146100665780639623609d14610093578063ad3cb1cc146100a6578063f2fde38b146100e4575b600080fd5b34801561005b57600080fd5b50610064610104565b005b34801561007257600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b6100646100a1366004610272565b610118565b3480156100b257600080fd5b506100d7604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161008a919061038e565b3480156100f057600080fd5b506100646100ff3660046103a8565b610187565b61010c6101ca565b61011660006101f7565b565b6101206101ca565b60405163278f794360e11b81526001600160a01b03841690634f1ef28690349061015090869086906004016103c5565b6000604051808303818588803b15801561016957600080fd5b505af115801561017d573d6000803e3d6000fd5b5050505050505050565b61018f6101ca565b6001600160a01b0381166101be57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6101c7816101f7565b50565b6000546001600160a01b031633146101165760405163118cdaa760e01b81523360048201526024016101b5565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101c757600080fd5b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561028757600080fd5b833561029281610247565b925060208401356102a281610247565b9150604084013567ffffffffffffffff808211156102bf57600080fd5b818601915086601f8301126102d357600080fd5b8135818111156102e5576102e561025c565b604051601f8201601f19908116603f0116810190838211818310171561030d5761030d61025c565b8160405282815289602084870101111561032657600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000815180845260005b8181101561036e57602081850181015186830182015201610352565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006103a16020830184610348565b9392505050565b6000602082840312156103ba57600080fd5b81356103a181610247565b6001600160a01b03831681526040602082018190526000906103e990830184610348565b94935050505056fea26469706673582212208a6ce113850d599b6d155e7b3b05f064f427b7543fdc28f5be16874766aa2e8564736f6c63430008160033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103", + "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH3 0xEAF CODESIZE SUB DUP1 PUSH3 0xEAF DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x26 SWAP2 PUSH3 0x3CC JUMP JUMPDEST DUP3 DUP2 PUSH3 0x34 DUP3 DUP3 PUSH3 0x9C JUMP JUMPDEST POP POP DUP2 PUSH1 0x40 MLOAD PUSH3 0x45 SWAP1 PUSH3 0x365 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 PUSH1 0x0 CREATE DUP1 ISZERO DUP1 ISZERO PUSH3 0x72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x80 MSTORE PUSH3 0x93 PUSH3 0x8D PUSH1 0x80 MLOAD SWAP1 JUMP JUMPDEST PUSH3 0x102 JUMP JUMPDEST POP POP POP PUSH3 0x4CA JUMP JUMPDEST PUSH3 0xA7 DUP3 PUSH3 0x174 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH3 0xF4 JUMPI PUSH3 0xEF DUP3 DUP3 PUSH3 0x1F4 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH3 0xFE PUSH3 0x271 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH32 0x7E644D79422F17C01E4894B5F4F588D331EBFA28653D42AE832DC59E38C9798F PUSH3 0x144 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0xE8F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND DUP2 MSTORE SWAP2 DUP5 AND PUSH1 0x20 DUP4 ADD MSTORE ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH3 0x171 DUP2 PUSH3 0x293 JUMP JUMPDEST POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH3 0x1B0 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH3 0x213 SWAP2 SWAP1 PUSH3 0x4AC JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH3 0x250 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 PUSH3 0x255 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP1 SWAP3 POP SWAP1 POP PUSH3 0x268 DUP6 DUP4 DUP4 PUSH3 0x2D6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH3 0x291 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH3 0x2BF JUMPI PUSH1 0x40 MLOAD PUSH4 0x3173BDD1 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH3 0x1A7 JUMP JUMPDEST DUP1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0xE8F DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH3 0x1D3 JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH3 0x2EF JUMPI PUSH3 0x2E9 DUP3 PUSH3 0x33C JUMP JUMPDEST PUSH3 0x335 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH3 0x307 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH3 0x332 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH3 0x1A7 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH3 0x34C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x524 DUP1 PUSH3 0x96B DUP4 CODECOPY ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x38B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x3C3 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH3 0x3A9 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x3E2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x3ED DUP5 PUSH3 0x373 JUMP JUMPDEST SWAP3 POP PUSH3 0x3FD PUSH1 0x20 DUP6 ADD PUSH3 0x373 JUMP JUMPDEST PUSH1 0x40 DUP6 ADD MLOAD SWAP1 SWAP3 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x41B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x430 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP2 DUP2 GT ISZERO PUSH3 0x445 JUMPI PUSH3 0x445 PUSH3 0x390 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x470 JUMPI PUSH3 0x470 PUSH3 0x390 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP10 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH3 0x48A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x49D DUP4 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP9 ADD PUSH3 0x3A6 JUMP JUMPDEST DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH3 0x4C0 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH3 0x3A6 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x486 PUSH3 0x4E5 PUSH1 0x0 CODECOPY PUSH1 0x0 PUSH1 0x10 ADD MSTORE PUSH2 0x486 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH2 0xC PUSH2 0xE JUMP JUMPDEST STOP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0x7B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0x278F7943 PUSH1 0xE1 SHL EQ PUSH2 0x71 JUMPI PUSH1 0x40 MLOAD PUSH4 0x34AD5DBB PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x79 PUSH2 0x83 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x79 PUSH2 0xB2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x93 CALLDATASIZE PUSH1 0x4 DUP2 DUP5 PUSH2 0x311 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x351 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xAE DUP3 DUP3 PUSH2 0xC2 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x79 PUSH2 0xBD PUSH2 0x11D JUMP JUMPDEST PUSH2 0x155 JUMP JUMPDEST PUSH2 0xCB DUP3 PUSH2 0x179 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x115 JUMPI PUSH2 0x110 DUP3 DUP3 PUSH2 0x1F5 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xAE PUSH2 0x26B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x150 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x174 JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1B4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x421 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x24D 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 0x252 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x262 DUP6 DUP4 DUP4 PUSH2 0x28A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x79 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x29F JUMPI PUSH2 0x29A DUP3 PUSH2 0x2E9 JUMP JUMPDEST PUSH2 0x2E2 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x2B6 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2DF JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1AB JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x2F8 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP6 DUP6 GT ISZERO PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP7 GT ISZERO PUSH2 0x32E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP3 ADD SWAP4 SWAP2 SWAP1 SWAP3 SUB SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x364 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x37B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x398 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x3BE JUMPI PUSH2 0x3BE PUSH2 0x33B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x3E6 JUMPI PUSH2 0x3E6 PUSH2 0x33B JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x3FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x442 JUMPI PUSH1 0x20 DUP2 DUP7 ADD DUP2 ADD MLOAD DUP6 DUP4 ADD MSTORE ADD PUSH2 0x428 JUMP JUMPDEST POP PUSH1 0x0 SWAP3 ADD SWAP2 DUP3 MSTORE POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE PUSH4 0x813624E5 0x5D 0xD4 DUP16 PUSH14 0x9C66863ABEB4C7C09BCF6F620EC3 SDIV MSIZE PUSH1 0x61 BYTE 0x27 PUSH32 0x4564736F6C63430008160033608060405234801561001057600080FD5B506040 MLOAD PUSH2 0x524 CODESIZE SUB DUP1 PUSH2 0x524 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH2 0x2F SWAP2 PUSH2 0xBE JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x5E JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x67 DUP2 PUSH2 0x6E JUMP JUMPDEST POP POP PUSH2 0xEE JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xD0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xE7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0x427 DUP1 PUSH2 0xFD PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x4A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x715018A6 EQ PUSH2 0x4F JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x66 JUMPI DUP1 PUSH4 0x9623609D EQ PUSH2 0x93 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0xA6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0xE4 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0x104 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x72 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD 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 PUSH2 0x64 PUSH2 0xA1 CALLDATASIZE PUSH1 0x4 PUSH2 0x272 JUMP JUMPDEST PUSH2 0x118 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xD7 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x8A SWAP2 SWAP1 PUSH2 0x38E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xF0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x64 PUSH2 0xFF CALLDATASIZE PUSH1 0x4 PUSH2 0x3A8 JUMP JUMPDEST PUSH2 0x187 JUMP JUMPDEST PUSH2 0x10C PUSH2 0x1CA JUMP JUMPDEST PUSH2 0x116 PUSH1 0x0 PUSH2 0x1F7 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x120 PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x278F7943 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 PUSH4 0x4F1EF286 SWAP1 CALLVALUE SWAP1 PUSH2 0x150 SWAP1 DUP7 SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x3C5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP9 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x169 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS CALL ISZERO DUP1 ISZERO PUSH2 0x17D JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x18F PUSH2 0x1CA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1BE JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1C7 DUP2 PUSH2 0x1F7 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x116 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1B5 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP4 AND DUP2 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP2 SWAP1 SWAP3 AND SWAP3 DUP4 SWAP2 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP2 SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x287 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x292 DUP2 PUSH2 0x247 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH2 0x2A2 DUP2 PUSH2 0x247 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x2BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP7 ADD SWAP2 POP DUP7 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x2E5 JUMPI PUSH2 0x2E5 PUSH2 0x25C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x30D JUMPI PUSH2 0x30D PUSH2 0x25C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP10 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x36E JUMPI PUSH1 0x20 DUP2 DUP6 ADD DUP2 ADD MLOAD DUP7 DUP4 ADD DUP3 ADD MSTORE ADD PUSH2 0x352 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x20 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x20 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x3A1 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x348 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x3BA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x3A1 DUP2 PUSH2 0x247 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND DUP2 MSTORE PUSH1 0x40 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP1 PUSH2 0x3E9 SWAP1 DUP4 ADD DUP5 PUSH2 0x348 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP11 PUSH13 0xE113850D599B6D155E7B3B05F0 PUSH5 0xF427B7543F 0xDC 0x28 CREATE2 0xBE AND DUP8 SELFBALANCE PUSH7 0xAA2E8564736F6C PUSH4 0x43000816 STOP CALLER 0xB5 BALANCE 0x27 PUSH9 0x4A568B3173AE13B9F8 0xA6 ADD PUSH15 0x243E63B6E8EE1178D6A717850B5D61 SUB ", + "sourceMap": "4314:2231:15:-:0;;;5157:296;;;;;;;;;;;;;;;;;;:::i;:::-;5248:6;5256:5;1155:52:10;5248:6:15;5256:5;1155:29:10;:52::i;:::-;1081:133;;5305:12:15::1;5290:28;;;;;:::i;:::-;-1:-1:-1::0;;;;;1818:32:34;;;1800:51;;1788:2;1773:18;5290:28:15::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;;;5273:46:15::1;;::::0;5407:39:::1;5432:13;5600:6:::0;;;5520:93;5432:13:::1;5407:24;:39::i;:::-;5157:296:::0;;;4314:2231;;2264:344:11;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:11;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;:::-;;2264:344;;:::o;2454:148::-;2573:18;:16;:18::i;:::-;2264:344;;:::o;3827:142::-;3890:43;3912:10;-1:-1:-1;;;;;;;;;;;3356:44:11;-1:-1:-1;;;;;3356:44:11;;3287:120;3912:10;3890:43;;;-1:-1:-1;;;;;2092:15:34;;;2074:34;;2144:15;;;2139:2;2124:18;;2117:43;2009:18;3890:43:11;;;;;;;3943:19;3953:8;3943:9;:19::i;:::-;3827:142;:::o;1671:281::-;1748:17;-1:-1:-1;;;;;1748:29:11;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:11;;-1:-1:-1;;;;;1818:32:34;;1805:47:11;;;1800:51:34;1773:18;;1805:47:11;;;;;;;;1744:119;1928:17;811:66;1872:47;:73;;-1:-1:-1;;;;;;1872:73:11;-1:-1:-1;;;;;1872:73:11;;;;;;;;;;-1:-1:-1;1671:281:11:o;3916:253:20:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:20;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4023:67:20;;-1:-1:-1;4023:67:20;-1:-1:-1;4107:55:20;4134:6;4023:67;;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:20:o;6113:122:11:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:11;;;;;;;;;;;6159:70;6113:122::o;3490:217::-;-1:-1:-1;;;;;3549:22:11;;3545:91;;3594:31;;-1:-1:-1;;;3594:31:11;;3622:1;3594:31;;;1800:51:34;1773:18;;3594:31:11;1654:203:34;3545:91:11;3692:8;-1:-1:-1;;;;;;;;;;;3645:38:11;1899:163:23:o;4437:582:20:-;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:20;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:20;;-1:-1:-1;;;;;1818:32:34;;4933:24:20;;;1800:51:34;1773:18;;4933:24:20;1654:203:34;4853:119:20;-1:-1:-1;4992:10:20;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:20;;;;;;;;;;;4314:2231:15;;;;;;;;:::o;14:177:34:-;93:13;;-1:-1:-1;;;;;135:31:34;;125:42;;115:70;;181:1;178;171:12;115:70;14:177;;;:::o;196:127::-;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:250;413:1;423:113;437:6;434:1;431:13;423:113;;;513:11;;;507:18;494:11;;;487:39;459:2;452:10;423:113;;;-1:-1:-1;;570:1:34;552:16;;545:27;328:250::o;583:1066::-;680:6;688;696;749:2;737:9;728:7;724:23;720:32;717:52;;;765:1;762;755:12;717:52;788:40;818:9;788:40;:::i;:::-;778:50;;847:49;892:2;881:9;877:18;847:49;:::i;:::-;940:2;925:18;;919:25;837:59;;-1:-1:-1;;;;;;993:14:34;;;990:34;;;1020:1;1017;1010:12;990:34;1058:6;1047:9;1043:22;1033:32;;1103:7;1096:4;1092:2;1088:13;1084:27;1074:55;;1125:1;1122;1115:12;1074:55;1154:2;1148:9;1176:2;1172;1169:10;1166:36;;;1182:18;;:::i;:::-;1257:2;1251:9;1225:2;1311:13;;-1:-1:-1;;1307:22:34;;;1331:2;1303:31;1299:40;1287:53;;;1355:18;;;1375:22;;;1352:46;1349:72;;;1401:18;;:::i;:::-;1441:10;1437:2;1430:22;1476:2;1468:6;1461:18;1516:7;1511:2;1506;1502;1498:11;1494:20;1491:33;1488:53;;;1537:1;1534;1527:12;1488:53;1550:68;1615:2;1610;1602:6;1598:15;1593:2;1589;1585:11;1550:68;:::i;:::-;1637:6;1627:16;;;;;;;583:1066;;;;;:::o;2171:287::-;2300:3;2338:6;2332:13;2354:66;2413:6;2408:3;2401:4;2393:6;2389:17;2354:66;:::i;:::-;2436:16;;;;;2171:287;-1:-1:-1;;2171:287:34:o;:::-;4314:2231:15;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": { - "@_1752": { + "@_1753": { "entryPoint": null, - "id": 1752, + "id": 1753, "parameterSlots": 0, "returnSlots": 0 }, - "@_checkNonPayable_1716": { + "@_checkNonPayable_1717": { "entryPoint": 619, - "id": 1716, + "id": 1717, "parameterSlots": 0, "returnSlots": 0 }, - "@_delegate_1728": { + "@_delegate_1729": { "entryPoint": 341, - "id": 1728, + "id": 1729, "parameterSlots": 1, "returnSlots": 0 }, - "@_dispatchUpgradeToAndCall_1946": { + "@_dispatchUpgradeToAndCall_1947": { "entryPoint": 131, - "id": 1946, + "id": 1947, "parameterSlots": 0, "returnSlots": 0 }, - "@_fallback_1744": { + "@_fallback_1745": { "entryPoint": 178, - "id": 1744, + "id": 1745, "parameterSlots": 0, "returnSlots": 0 }, - "@_fallback_1917": { + "@_fallback_1918": { "entryPoint": 14, - "id": 1917, + "id": 1918, "parameterSlots": 0, "returnSlots": 0 }, - "@_implementation_1422": { + "@_implementation_1423": { "entryPoint": 285, - "id": 1422, + "id": 1423, "parameterSlots": 0, "returnSlots": 1 }, - "@_proxyAdmin_1883": { + "@_proxyAdmin_1884": { "entryPoint": null, - "id": 1883, + "id": 1884, "parameterSlots": 0, "returnSlots": 1 }, - "@_revert_2871": { + "@_revert_2872": { "entryPoint": 745, - "id": 2871, + "id": 2872, "parameterSlots": 1, "returnSlots": 0 }, - "@_setImplementation_1496": { + "@_setImplementation_1497": { "entryPoint": 377, - "id": 1496, + "id": 1497, "parameterSlots": 1, "returnSlots": 0 }, - "@functionDelegateCall_2789": { + "@functionDelegateCall_2790": { "entryPoint": 501, - "id": 2789, + "id": 2790, "parameterSlots": 2, "returnSlots": 1 }, - "@getAddressSlot_2959": { + "@getAddressSlot_2960": { "entryPoint": null, - "id": 2959, + "id": 2960, "parameterSlots": 1, "returnSlots": 1 }, - "@getImplementation_1469": { + "@getImplementation_1470": { "entryPoint": null, - "id": 1469, + "id": 1470, "parameterSlots": 0, "returnSlots": 1 }, - "@upgradeToAndCall_1532": { + "@upgradeToAndCall_1533": { "entryPoint": 194, - "id": 1532, + "id": 1533, "parameterSlots": 2, "returnSlots": 0 }, - "@verifyCallResultFromTarget_2829": { + "@verifyCallResultFromTarget_2830": { "entryPoint": 650, - "id": 2829, + "id": 2830, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_tuple_t_address_payablet_bytes_memory_ptr": { - "entryPoint": 850, + "entryPoint": 849, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 1058, + "entryPoint": 1057, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -79787,13 +78797,13 @@ "returnSlots": 1 }, "calldata_array_index_range_access_t_bytes_calldata_ptr": { - "entryPoint": 786, + "entryPoint": 785, "id": null, "parameterSlots": 4, "returnSlots": 2 }, "panic_error_0x41": { - "entryPoint": 828, + "entryPoint": 827, "id": null, "parameterSlots": 0, "returnSlots": 0 @@ -79802,61 +78812,61 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:2212:36", + "nativeSrc": "0:2212:34", "nodeType": "YulBlock", - "src": "0:2212:36", + "src": "0:2212:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "144:201:36", + "nativeSrc": "144:201:34", "nodeType": "YulBlock", - "src": "144:201:36", + "src": "144:201:34", "statements": [ { "body": { - "nativeSrc": "182:16:36", + "nativeSrc": "182:16:34", "nodeType": "YulBlock", - "src": "182:16:36", + "src": "182:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "191:1:36", + "nativeSrc": "191:1:34", "nodeType": "YulLiteral", - "src": "191:1:36", + "src": "191:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "194:1:36", + "nativeSrc": "194:1:34", "nodeType": "YulLiteral", - "src": "194:1:36", + "src": "194:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "184:6:36", + "nativeSrc": "184:6:34", "nodeType": "YulIdentifier", - "src": "184:6:36" + "src": "184:6:34" }, - "nativeSrc": "184:12:36", + "nativeSrc": "184:12:34", "nodeType": "YulFunctionCall", - "src": "184:12:36" + "src": "184:12:34" }, - "nativeSrc": "184:12:36", + "nativeSrc": "184:12:34", "nodeType": "YulExpressionStatement", - "src": "184:12:36" + "src": "184:12:34" } ] }, @@ -79864,70 +78874,70 @@ "arguments": [ { "name": "startIndex", - "nativeSrc": "160:10:36", + "nativeSrc": "160:10:34", "nodeType": "YulIdentifier", - "src": "160:10:36" + "src": "160:10:34" }, { "name": "endIndex", - "nativeSrc": "172:8:36", + "nativeSrc": "172:8:34", "nodeType": "YulIdentifier", - "src": "172:8:36" + "src": "172:8:34" } ], "functionName": { "name": "gt", - "nativeSrc": "157:2:36", + "nativeSrc": "157:2:34", "nodeType": "YulIdentifier", - "src": "157:2:36" + "src": "157:2:34" }, - "nativeSrc": "157:24:36", + "nativeSrc": "157:24:34", "nodeType": "YulFunctionCall", - "src": "157:24:36" + "src": "157:24:34" }, - "nativeSrc": "154:44:36", + "nativeSrc": "154:44:34", "nodeType": "YulIf", - "src": "154:44:36" + "src": "154:44:34" }, { "body": { - "nativeSrc": "231:16:36", + "nativeSrc": "231:16:34", "nodeType": "YulBlock", - "src": "231:16:36", + "src": "231:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "240:1:36", + "nativeSrc": "240:1:34", "nodeType": "YulLiteral", - "src": "240:1:36", + "src": "240:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "243:1:36", + "nativeSrc": "243:1:34", "nodeType": "YulLiteral", - "src": "243:1:36", + "src": "243:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "233:6:36", + "nativeSrc": "233:6:34", "nodeType": "YulIdentifier", - "src": "233:6:36" + "src": "233:6:34" }, - "nativeSrc": "233:12:36", + "nativeSrc": "233:12:34", "nodeType": "YulFunctionCall", - "src": "233:12:36" + "src": "233:12:34" }, - "nativeSrc": "233:12:36", + "nativeSrc": "233:12:34", "nodeType": "YulExpressionStatement", - "src": "233:12:36" + "src": "233:12:34" } ] }, @@ -79935,174 +78945,174 @@ "arguments": [ { "name": "endIndex", - "nativeSrc": "213:8:36", + "nativeSrc": "213:8:34", "nodeType": "YulIdentifier", - "src": "213:8:36" + "src": "213:8:34" }, { "name": "length", - "nativeSrc": "223:6:36", + "nativeSrc": "223:6:34", "nodeType": "YulIdentifier", - "src": "223:6:36" + "src": "223:6:34" } ], "functionName": { "name": "gt", - "nativeSrc": "210:2:36", + "nativeSrc": "210:2:34", "nodeType": "YulIdentifier", - "src": "210:2:36" + "src": "210:2:34" }, - "nativeSrc": "210:20:36", + "nativeSrc": "210:20:34", "nodeType": "YulFunctionCall", - "src": "210:20:36" + "src": "210:20:34" }, - "nativeSrc": "207:40:36", + "nativeSrc": "207:40:34", "nodeType": "YulIf", - "src": "207:40:36" + "src": "207:40:34" }, { - "nativeSrc": "256:36:36", + "nativeSrc": "256:36:34", "nodeType": "YulAssignment", - "src": "256:36:36", + "src": "256:36:34", "value": { "arguments": [ { "name": "offset", - "nativeSrc": "273:6:36", + "nativeSrc": "273:6:34", "nodeType": "YulIdentifier", - "src": "273:6:36" + "src": "273:6:34" }, { "name": "startIndex", - "nativeSrc": "281:10:36", + "nativeSrc": "281:10:34", "nodeType": "YulIdentifier", - "src": "281:10:36" + "src": "281:10:34" } ], "functionName": { "name": "add", - "nativeSrc": "269:3:36", + "nativeSrc": "269:3:34", "nodeType": "YulIdentifier", - "src": "269:3:36" + "src": "269:3:34" }, - "nativeSrc": "269:23:36", + "nativeSrc": "269:23:34", "nodeType": "YulFunctionCall", - "src": "269:23:36" + "src": "269:23:34" }, "variableNames": [ { "name": "offsetOut", - "nativeSrc": "256:9:36", + "nativeSrc": "256:9:34", "nodeType": "YulIdentifier", - "src": "256:9:36" + "src": "256:9:34" } ] }, { - "nativeSrc": "301:38:36", + "nativeSrc": "301:38:34", "nodeType": "YulAssignment", - "src": "301:38:36", + "src": "301:38:34", "value": { "arguments": [ { "name": "endIndex", - "nativeSrc": "318:8:36", + "nativeSrc": "318:8:34", "nodeType": "YulIdentifier", - "src": "318:8:36" + "src": "318:8:34" }, { "name": "startIndex", - "nativeSrc": "328:10:36", + "nativeSrc": "328:10:34", "nodeType": "YulIdentifier", - "src": "328:10:36" + "src": "328:10:34" } ], "functionName": { "name": "sub", - "nativeSrc": "314:3:36", + "nativeSrc": "314:3:34", "nodeType": "YulIdentifier", - "src": "314:3:36" + "src": "314:3:34" }, - "nativeSrc": "314:25:36", + "nativeSrc": "314:25:34", "nodeType": "YulFunctionCall", - "src": "314:25:36" + "src": "314:25:34" }, "variableNames": [ { "name": "lengthOut", - "nativeSrc": "301:9:36", + "nativeSrc": "301:9:34", "nodeType": "YulIdentifier", - "src": "301:9:36" + "src": "301:9:34" } ] } ] }, "name": "calldata_array_index_range_access_t_bytes_calldata_ptr", - "nativeSrc": "14:331:36", + "nativeSrc": "14:331:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "78:6:36", + "nativeSrc": "78:6:34", "nodeType": "YulTypedName", - "src": "78:6:36", + "src": "78:6:34", "type": "" }, { "name": "length", - "nativeSrc": "86:6:36", + "nativeSrc": "86:6:34", "nodeType": "YulTypedName", - "src": "86:6:36", + "src": "86:6:34", "type": "" }, { "name": "startIndex", - "nativeSrc": "94:10:36", + "nativeSrc": "94:10:34", "nodeType": "YulTypedName", - "src": "94:10:36", + "src": "94:10:34", "type": "" }, { "name": "endIndex", - "nativeSrc": "106:8:36", + "nativeSrc": "106:8:34", "nodeType": "YulTypedName", - "src": "106:8:36", + "src": "106:8:34", "type": "" } ], "returnVariables": [ { "name": "offsetOut", - "nativeSrc": "119:9:36", + "nativeSrc": "119:9:34", "nodeType": "YulTypedName", - "src": "119:9:36", + "src": "119:9:34", "type": "" }, { "name": "lengthOut", - "nativeSrc": "130:9:36", + "nativeSrc": "130:9:34", "nodeType": "YulTypedName", - "src": "130:9:36", + "src": "130:9:34", "type": "" } ], - "src": "14:331:36" + "src": "14:331:34" }, { "body": { - "nativeSrc": "382:95:36", + "nativeSrc": "382:95:34", "nodeType": "YulBlock", - "src": "382:95:36", + "src": "382:95:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "399:1:36", + "nativeSrc": "399:1:34", "nodeType": "YulLiteral", - "src": "399:1:36", + "src": "399:1:34", "type": "", "value": "0" }, @@ -80110,166 +79120,166 @@ "arguments": [ { "kind": "number", - "nativeSrc": "406:3:36", + "nativeSrc": "406:3:34", "nodeType": "YulLiteral", - "src": "406:3:36", + "src": "406:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "411:10:36", + "nativeSrc": "411:10:34", "nodeType": "YulLiteral", - "src": "411:10:36", + "src": "411:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "402:3:36", + "nativeSrc": "402:3:34", "nodeType": "YulIdentifier", - "src": "402:3:36" + "src": "402:3:34" }, - "nativeSrc": "402:20:36", + "nativeSrc": "402:20:34", "nodeType": "YulFunctionCall", - "src": "402:20:36" + "src": "402:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "392:6:36", + "nativeSrc": "392:6:34", "nodeType": "YulIdentifier", - "src": "392:6:36" + "src": "392:6:34" }, - "nativeSrc": "392:31:36", + "nativeSrc": "392:31:34", "nodeType": "YulFunctionCall", - "src": "392:31:36" + "src": "392:31:34" }, - "nativeSrc": "392:31:36", + "nativeSrc": "392:31:34", "nodeType": "YulExpressionStatement", - "src": "392:31:36" + "src": "392:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "439:1:36", + "nativeSrc": "439:1:34", "nodeType": "YulLiteral", - "src": "439:1:36", + "src": "439:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "442:4:36", + "nativeSrc": "442:4:34", "nodeType": "YulLiteral", - "src": "442:4:36", + "src": "442:4:34", "type": "", "value": "0x41" } ], "functionName": { "name": "mstore", - "nativeSrc": "432:6:36", + "nativeSrc": "432:6:34", "nodeType": "YulIdentifier", - "src": "432:6:36" + "src": "432:6:34" }, - "nativeSrc": "432:15:36", + "nativeSrc": "432:15:34", "nodeType": "YulFunctionCall", - "src": "432:15:36" + "src": "432:15:34" }, - "nativeSrc": "432:15:36", + "nativeSrc": "432:15:34", "nodeType": "YulExpressionStatement", - "src": "432:15:36" + "src": "432:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "463:1:36", + "nativeSrc": "463:1:34", "nodeType": "YulLiteral", - "src": "463:1:36", + "src": "463:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "466:4:36", + "nativeSrc": "466:4:34", "nodeType": "YulLiteral", - "src": "466:4:36", + "src": "466:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "456:6:36", + "nativeSrc": "456:6:34", "nodeType": "YulIdentifier", - "src": "456:6:36" + "src": "456:6:34" }, - "nativeSrc": "456:15:36", + "nativeSrc": "456:15:34", "nodeType": "YulFunctionCall", - "src": "456:15:36" + "src": "456:15:34" }, - "nativeSrc": "456:15:36", + "nativeSrc": "456:15:34", "nodeType": "YulExpressionStatement", - "src": "456:15:36" + "src": "456:15:34" } ] }, "name": "panic_error_0x41", - "nativeSrc": "350:127:36", + "nativeSrc": "350:127:34", "nodeType": "YulFunctionDefinition", - "src": "350:127:36" + "src": "350:127:34" }, { "body": { - "nativeSrc": "586:999:36", + "nativeSrc": "586:999:34", "nodeType": "YulBlock", - "src": "586:999:36", + "src": "586:999:34", "statements": [ { "body": { - "nativeSrc": "632:16:36", + "nativeSrc": "632:16:34", "nodeType": "YulBlock", - "src": "632:16:36", + "src": "632:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "641:1:36", + "nativeSrc": "641:1:34", "nodeType": "YulLiteral", - "src": "641:1:36", + "src": "641:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "644:1:36", + "nativeSrc": "644:1:34", "nodeType": "YulLiteral", - "src": "644:1:36", + "src": "644:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "634:6:36", + "nativeSrc": "634:6:34", "nodeType": "YulIdentifier", - "src": "634:6:36" + "src": "634:6:34" }, - "nativeSrc": "634:12:36", + "nativeSrc": "634:12:34", "nodeType": "YulFunctionCall", - "src": "634:12:36" + "src": "634:12:34" }, - "nativeSrc": "634:12:36", + "nativeSrc": "634:12:34", "nodeType": "YulExpressionStatement", - "src": "634:12:36" + "src": "634:12:34" } ] }, @@ -80279,122 +79289,122 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "607:7:36", + "nativeSrc": "607:7:34", "nodeType": "YulIdentifier", - "src": "607:7:36" + "src": "607:7:34" }, { "name": "headStart", - "nativeSrc": "616:9:36", + "nativeSrc": "616:9:34", "nodeType": "YulIdentifier", - "src": "616:9:36" + "src": "616:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "603:3:36", + "nativeSrc": "603:3:34", "nodeType": "YulIdentifier", - "src": "603:3:36" + "src": "603:3:34" }, - "nativeSrc": "603:23:36", + "nativeSrc": "603:23:34", "nodeType": "YulFunctionCall", - "src": "603:23:36" + "src": "603:23:34" }, { "kind": "number", - "nativeSrc": "628:2:36", + "nativeSrc": "628:2:34", "nodeType": "YulLiteral", - "src": "628:2:36", + "src": "628:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "599:3:36", + "nativeSrc": "599:3:34", "nodeType": "YulIdentifier", - "src": "599:3:36" + "src": "599:3:34" }, - "nativeSrc": "599:32:36", + "nativeSrc": "599:32:34", "nodeType": "YulFunctionCall", - "src": "599:32:36" + "src": "599:32:34" }, - "nativeSrc": "596:52:36", + "nativeSrc": "596:52:34", "nodeType": "YulIf", - "src": "596:52:36" + "src": "596:52:34" }, { - "nativeSrc": "657:36:36", + "nativeSrc": "657:36:34", "nodeType": "YulVariableDeclaration", - "src": "657:36:36", + "src": "657:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "683:9:36", + "nativeSrc": "683:9:34", "nodeType": "YulIdentifier", - "src": "683:9:36" + "src": "683:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "670:12:36", + "nativeSrc": "670:12:34", "nodeType": "YulIdentifier", - "src": "670:12:36" + "src": "670:12:34" }, - "nativeSrc": "670:23:36", + "nativeSrc": "670:23:34", "nodeType": "YulFunctionCall", - "src": "670:23:36" + "src": "670:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "661:5:36", + "nativeSrc": "661:5:34", "nodeType": "YulTypedName", - "src": "661:5:36", + "src": "661:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "756:16:36", + "nativeSrc": "756:16:34", "nodeType": "YulBlock", - "src": "756:16:36", + "src": "756:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "765:1:36", + "nativeSrc": "765:1:34", "nodeType": "YulLiteral", - "src": "765:1:36", + "src": "765:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "768:1:36", + "nativeSrc": "768:1:34", "nodeType": "YulLiteral", - "src": "768:1:36", + "src": "768:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "758:6:36", + "nativeSrc": "758:6:34", "nodeType": "YulIdentifier", - "src": "758:6:36" + "src": "758:6:34" }, - "nativeSrc": "758:12:36", + "nativeSrc": "758:12:34", "nodeType": "YulFunctionCall", - "src": "758:12:36" + "src": "758:12:34" }, - "nativeSrc": "758:12:36", + "nativeSrc": "758:12:34", "nodeType": "YulExpressionStatement", - "src": "758:12:36" + "src": "758:12:34" } ] }, @@ -80404,17 +79414,17 @@ "arguments": [ { "name": "value", - "nativeSrc": "715:5:36", + "nativeSrc": "715:5:34", "nodeType": "YulIdentifier", - "src": "715:5:36" + "src": "715:5:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "726:5:36", + "nativeSrc": "726:5:34", "nodeType": "YulIdentifier", - "src": "726:5:36" + "src": "726:5:34" }, { "arguments": [ @@ -80422,221 +79432,221 @@ "arguments": [ { "kind": "number", - "nativeSrc": "741:3:36", + "nativeSrc": "741:3:34", "nodeType": "YulLiteral", - "src": "741:3:36", + "src": "741:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "746:1:36", + "nativeSrc": "746:1:34", "nodeType": "YulLiteral", - "src": "746:1:36", + "src": "746:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "737:3:36", + "nativeSrc": "737:3:34", "nodeType": "YulIdentifier", - "src": "737:3:36" + "src": "737:3:34" }, - "nativeSrc": "737:11:36", + "nativeSrc": "737:11:34", "nodeType": "YulFunctionCall", - "src": "737:11:36" + "src": "737:11:34" }, { "kind": "number", - "nativeSrc": "750:1:36", + "nativeSrc": "750:1:34", "nodeType": "YulLiteral", - "src": "750:1:36", + "src": "750:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "733:3:36", + "nativeSrc": "733:3:34", "nodeType": "YulIdentifier", - "src": "733:3:36" + "src": "733:3:34" }, - "nativeSrc": "733:19:36", + "nativeSrc": "733:19:34", "nodeType": "YulFunctionCall", - "src": "733:19:36" + "src": "733:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "722:3:36", + "nativeSrc": "722:3:34", "nodeType": "YulIdentifier", - "src": "722:3:36" + "src": "722:3:34" }, - "nativeSrc": "722:31:36", + "nativeSrc": "722:31:34", "nodeType": "YulFunctionCall", - "src": "722:31:36" + "src": "722:31:34" } ], "functionName": { "name": "eq", - "nativeSrc": "712:2:36", + "nativeSrc": "712:2:34", "nodeType": "YulIdentifier", - "src": "712:2:36" + "src": "712:2:34" }, - "nativeSrc": "712:42:36", + "nativeSrc": "712:42:34", "nodeType": "YulFunctionCall", - "src": "712:42:36" + "src": "712:42:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "705:6:36", + "nativeSrc": "705:6:34", "nodeType": "YulIdentifier", - "src": "705:6:36" + "src": "705:6:34" }, - "nativeSrc": "705:50:36", + "nativeSrc": "705:50:34", "nodeType": "YulFunctionCall", - "src": "705:50:36" + "src": "705:50:34" }, - "nativeSrc": "702:70:36", + "nativeSrc": "702:70:34", "nodeType": "YulIf", - "src": "702:70:36" + "src": "702:70:34" }, { - "nativeSrc": "781:15:36", + "nativeSrc": "781:15:34", "nodeType": "YulAssignment", - "src": "781:15:36", + "src": "781:15:34", "value": { "name": "value", - "nativeSrc": "791:5:36", + "nativeSrc": "791:5:34", "nodeType": "YulIdentifier", - "src": "791:5:36" + "src": "791:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "781:6:36", + "nativeSrc": "781:6:34", "nodeType": "YulIdentifier", - "src": "781:6:36" + "src": "781:6:34" } ] }, { - "nativeSrc": "805:46:36", + "nativeSrc": "805:46:34", "nodeType": "YulVariableDeclaration", - "src": "805:46:36", + "src": "805:46:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "836:9:36", + "nativeSrc": "836:9:34", "nodeType": "YulIdentifier", - "src": "836:9:36" + "src": "836:9:34" }, { "kind": "number", - "nativeSrc": "847:2:36", + "nativeSrc": "847:2:34", "nodeType": "YulLiteral", - "src": "847:2:36", + "src": "847:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "832:3:36", + "nativeSrc": "832:3:34", "nodeType": "YulIdentifier", - "src": "832:3:36" + "src": "832:3:34" }, - "nativeSrc": "832:18:36", + "nativeSrc": "832:18:34", "nodeType": "YulFunctionCall", - "src": "832:18:36" + "src": "832:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "819:12:36", + "nativeSrc": "819:12:34", "nodeType": "YulIdentifier", - "src": "819:12:36" + "src": "819:12:34" }, - "nativeSrc": "819:32:36", + "nativeSrc": "819:32:34", "nodeType": "YulFunctionCall", - "src": "819:32:36" + "src": "819:32:34" }, "variables": [ { "name": "offset", - "nativeSrc": "809:6:36", + "nativeSrc": "809:6:34", "nodeType": "YulTypedName", - "src": "809:6:36", + "src": "809:6:34", "type": "" } ] }, { - "nativeSrc": "860:28:36", + "nativeSrc": "860:28:34", "nodeType": "YulVariableDeclaration", - "src": "860:28:36", + "src": "860:28:34", "value": { "kind": "number", - "nativeSrc": "870:18:36", + "nativeSrc": "870:18:34", "nodeType": "YulLiteral", - "src": "870:18:36", + "src": "870:18:34", "type": "", "value": "0xffffffffffffffff" }, "variables": [ { "name": "_1", - "nativeSrc": "864:2:36", + "nativeSrc": "864:2:34", "nodeType": "YulTypedName", - "src": "864:2:36", + "src": "864:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "915:16:36", + "nativeSrc": "915:16:34", "nodeType": "YulBlock", - "src": "915:16:36", + "src": "915:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "924:1:36", + "nativeSrc": "924:1:34", "nodeType": "YulLiteral", - "src": "924:1:36", + "src": "924:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "927:1:36", + "nativeSrc": "927:1:34", "nodeType": "YulLiteral", - "src": "927:1:36", + "src": "927:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "917:6:36", + "nativeSrc": "917:6:34", "nodeType": "YulIdentifier", - "src": "917:6:36" + "src": "917:6:34" }, - "nativeSrc": "917:12:36", + "nativeSrc": "917:12:34", "nodeType": "YulFunctionCall", - "src": "917:12:36" + "src": "917:12:34" }, - "nativeSrc": "917:12:36", + "nativeSrc": "917:12:34", "nodeType": "YulExpressionStatement", - "src": "917:12:36" + "src": "917:12:34" } ] }, @@ -80644,109 +79654,109 @@ "arguments": [ { "name": "offset", - "nativeSrc": "903:6:36", + "nativeSrc": "903:6:34", "nodeType": "YulIdentifier", - "src": "903:6:36" + "src": "903:6:34" }, { "name": "_1", - "nativeSrc": "911:2:36", + "nativeSrc": "911:2:34", "nodeType": "YulIdentifier", - "src": "911:2:36" + "src": "911:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "900:2:36", + "nativeSrc": "900:2:34", "nodeType": "YulIdentifier", - "src": "900:2:36" + "src": "900:2:34" }, - "nativeSrc": "900:14:36", + "nativeSrc": "900:14:34", "nodeType": "YulFunctionCall", - "src": "900:14:36" + "src": "900:14:34" }, - "nativeSrc": "897:34:36", + "nativeSrc": "897:34:34", "nodeType": "YulIf", - "src": "897:34:36" + "src": "897:34:34" }, { - "nativeSrc": "940:32:36", + "nativeSrc": "940:32:34", "nodeType": "YulVariableDeclaration", - "src": "940:32:36", + "src": "940:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "954:9:36", + "nativeSrc": "954:9:34", "nodeType": "YulIdentifier", - "src": "954:9:36" + "src": "954:9:34" }, { "name": "offset", - "nativeSrc": "965:6:36", + "nativeSrc": "965:6:34", "nodeType": "YulIdentifier", - "src": "965:6:36" + "src": "965:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "950:3:36", + "nativeSrc": "950:3:34", "nodeType": "YulIdentifier", - "src": "950:3:36" + "src": "950:3:34" }, - "nativeSrc": "950:22:36", + "nativeSrc": "950:22:34", "nodeType": "YulFunctionCall", - "src": "950:22:36" + "src": "950:22:34" }, "variables": [ { "name": "_2", - "nativeSrc": "944:2:36", + "nativeSrc": "944:2:34", "nodeType": "YulTypedName", - "src": "944:2:36", + "src": "944:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "1020:16:36", + "nativeSrc": "1020:16:34", "nodeType": "YulBlock", - "src": "1020:16:36", + "src": "1020:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1029:1:36", + "nativeSrc": "1029:1:34", "nodeType": "YulLiteral", - "src": "1029:1:36", + "src": "1029:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1032:1:36", + "nativeSrc": "1032:1:34", "nodeType": "YulLiteral", - "src": "1032:1:36", + "src": "1032:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1022:6:36", + "nativeSrc": "1022:6:34", "nodeType": "YulIdentifier", - "src": "1022:6:36" + "src": "1022:6:34" }, - "nativeSrc": "1022:12:36", + "nativeSrc": "1022:12:34", "nodeType": "YulFunctionCall", - "src": "1022:12:36" + "src": "1022:12:34" }, - "nativeSrc": "1022:12:36", + "nativeSrc": "1022:12:34", "nodeType": "YulExpressionStatement", - "src": "1022:12:36" + "src": "1022:12:34" } ] }, @@ -80758,116 +79768,116 @@ "arguments": [ { "name": "_2", - "nativeSrc": "999:2:36", + "nativeSrc": "999:2:34", "nodeType": "YulIdentifier", - "src": "999:2:36" + "src": "999:2:34" }, { "kind": "number", - "nativeSrc": "1003:4:36", + "nativeSrc": "1003:4:34", "nodeType": "YulLiteral", - "src": "1003:4:36", + "src": "1003:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "995:3:36", + "nativeSrc": "995:3:34", "nodeType": "YulIdentifier", - "src": "995:3:36" + "src": "995:3:34" }, - "nativeSrc": "995:13:36", + "nativeSrc": "995:13:34", "nodeType": "YulFunctionCall", - "src": "995:13:36" + "src": "995:13:34" }, { "name": "dataEnd", - "nativeSrc": "1010:7:36", + "nativeSrc": "1010:7:34", "nodeType": "YulIdentifier", - "src": "1010:7:36" + "src": "1010:7:34" } ], "functionName": { "name": "slt", - "nativeSrc": "991:3:36", + "nativeSrc": "991:3:34", "nodeType": "YulIdentifier", - "src": "991:3:36" + "src": "991:3:34" }, - "nativeSrc": "991:27:36", + "nativeSrc": "991:27:34", "nodeType": "YulFunctionCall", - "src": "991:27:36" + "src": "991:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "984:6:36", + "nativeSrc": "984:6:34", "nodeType": "YulIdentifier", - "src": "984:6:36" + "src": "984:6:34" }, - "nativeSrc": "984:35:36", + "nativeSrc": "984:35:34", "nodeType": "YulFunctionCall", - "src": "984:35:36" + "src": "984:35:34" }, - "nativeSrc": "981:55:36", + "nativeSrc": "981:55:34", "nodeType": "YulIf", - "src": "981:55:36" + "src": "981:55:34" }, { - "nativeSrc": "1045:26:36", + "nativeSrc": "1045:26:34", "nodeType": "YulVariableDeclaration", - "src": "1045:26:36", + "src": "1045:26:34", "value": { "arguments": [ { "name": "_2", - "nativeSrc": "1068:2:36", + "nativeSrc": "1068:2:34", "nodeType": "YulIdentifier", - "src": "1068:2:36" + "src": "1068:2:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "1055:12:36", + "nativeSrc": "1055:12:34", "nodeType": "YulIdentifier", - "src": "1055:12:36" + "src": "1055:12:34" }, - "nativeSrc": "1055:16:36", + "nativeSrc": "1055:16:34", "nodeType": "YulFunctionCall", - "src": "1055:16:36" + "src": "1055:16:34" }, "variables": [ { "name": "_3", - "nativeSrc": "1049:2:36", + "nativeSrc": "1049:2:34", "nodeType": "YulTypedName", - "src": "1049:2:36", + "src": "1049:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "1094:22:36", + "nativeSrc": "1094:22:34", "nodeType": "YulBlock", - "src": "1094:22:36", + "src": "1094:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "1096:16:36", + "nativeSrc": "1096:16:34", "nodeType": "YulIdentifier", - "src": "1096:16:36" + "src": "1096:16:34" }, - "nativeSrc": "1096:18:36", + "nativeSrc": "1096:18:34", "nodeType": "YulFunctionCall", - "src": "1096:18:36" + "src": "1096:18:34" }, - "nativeSrc": "1096:18:36", + "nativeSrc": "1096:18:34", "nodeType": "YulExpressionStatement", - "src": "1096:18:36" + "src": "1096:18:34" } ] }, @@ -80875,112 +79885,112 @@ "arguments": [ { "name": "_3", - "nativeSrc": "1086:2:36", + "nativeSrc": "1086:2:34", "nodeType": "YulIdentifier", - "src": "1086:2:36" + "src": "1086:2:34" }, { "name": "_1", - "nativeSrc": "1090:2:36", + "nativeSrc": "1090:2:34", "nodeType": "YulIdentifier", - "src": "1090:2:36" + "src": "1090:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1083:2:36", + "nativeSrc": "1083:2:34", "nodeType": "YulIdentifier", - "src": "1083:2:36" + "src": "1083:2:34" }, - "nativeSrc": "1083:10:36", + "nativeSrc": "1083:10:34", "nodeType": "YulFunctionCall", - "src": "1083:10:36" + "src": "1083:10:34" }, - "nativeSrc": "1080:36:36", + "nativeSrc": "1080:36:34", "nodeType": "YulIf", - "src": "1080:36:36" + "src": "1080:36:34" }, { - "nativeSrc": "1125:17:36", + "nativeSrc": "1125:17:34", "nodeType": "YulVariableDeclaration", - "src": "1125:17:36", + "src": "1125:17:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1139:2:36", + "nativeSrc": "1139:2:34", "nodeType": "YulLiteral", - "src": "1139:2:36", + "src": "1139:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "1135:3:36", + "nativeSrc": "1135:3:34", "nodeType": "YulIdentifier", - "src": "1135:3:36" + "src": "1135:3:34" }, - "nativeSrc": "1135:7:36", + "nativeSrc": "1135:7:34", "nodeType": "YulFunctionCall", - "src": "1135:7:36" + "src": "1135:7:34" }, "variables": [ { "name": "_4", - "nativeSrc": "1129:2:36", + "nativeSrc": "1129:2:34", "nodeType": "YulTypedName", - "src": "1129:2:36", + "src": "1129:2:34", "type": "" } ] }, { - "nativeSrc": "1151:23:36", + "nativeSrc": "1151:23:34", "nodeType": "YulVariableDeclaration", - "src": "1151:23:36", + "src": "1151:23:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1171:2:36", + "nativeSrc": "1171:2:34", "nodeType": "YulLiteral", - "src": "1171:2:36", + "src": "1171:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "1165:5:36", + "nativeSrc": "1165:5:34", "nodeType": "YulIdentifier", - "src": "1165:5:36" + "src": "1165:5:34" }, - "nativeSrc": "1165:9:36", + "nativeSrc": "1165:9:34", "nodeType": "YulFunctionCall", - "src": "1165:9:36" + "src": "1165:9:34" }, "variables": [ { "name": "memPtr", - "nativeSrc": "1155:6:36", + "nativeSrc": "1155:6:34", "nodeType": "YulTypedName", - "src": "1155:6:36", + "src": "1155:6:34", "type": "" } ] }, { - "nativeSrc": "1183:71:36", + "nativeSrc": "1183:71:34", "nodeType": "YulVariableDeclaration", - "src": "1183:71:36", + "src": "1183:71:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "1205:6:36", + "nativeSrc": "1205:6:34", "nodeType": "YulIdentifier", - "src": "1205:6:36" + "src": "1205:6:34" }, { "arguments": [ @@ -80992,125 +80002,125 @@ "arguments": [ { "name": "_3", - "nativeSrc": "1229:2:36", + "nativeSrc": "1229:2:34", "nodeType": "YulIdentifier", - "src": "1229:2:36" + "src": "1229:2:34" }, { "kind": "number", - "nativeSrc": "1233:4:36", + "nativeSrc": "1233:4:34", "nodeType": "YulLiteral", - "src": "1233:4:36", + "src": "1233:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "1225:3:36", + "nativeSrc": "1225:3:34", "nodeType": "YulIdentifier", - "src": "1225:3:36" + "src": "1225:3:34" }, - "nativeSrc": "1225:13:36", + "nativeSrc": "1225:13:34", "nodeType": "YulFunctionCall", - "src": "1225:13:36" + "src": "1225:13:34" }, { "name": "_4", - "nativeSrc": "1240:2:36", + "nativeSrc": "1240:2:34", "nodeType": "YulIdentifier", - "src": "1240:2:36" + "src": "1240:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "1221:3:36", + "nativeSrc": "1221:3:34", "nodeType": "YulIdentifier", - "src": "1221:3:36" + "src": "1221:3:34" }, - "nativeSrc": "1221:22:36", + "nativeSrc": "1221:22:34", "nodeType": "YulFunctionCall", - "src": "1221:22:36" + "src": "1221:22:34" }, { "kind": "number", - "nativeSrc": "1245:2:36", + "nativeSrc": "1245:2:34", "nodeType": "YulLiteral", - "src": "1245:2:36", + "src": "1245:2:34", "type": "", "value": "63" } ], "functionName": { "name": "add", - "nativeSrc": "1217:3:36", + "nativeSrc": "1217:3:34", "nodeType": "YulIdentifier", - "src": "1217:3:36" + "src": "1217:3:34" }, - "nativeSrc": "1217:31:36", + "nativeSrc": "1217:31:34", "nodeType": "YulFunctionCall", - "src": "1217:31:36" + "src": "1217:31:34" }, { "name": "_4", - "nativeSrc": "1250:2:36", + "nativeSrc": "1250:2:34", "nodeType": "YulIdentifier", - "src": "1250:2:36" + "src": "1250:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "1213:3:36", + "nativeSrc": "1213:3:34", "nodeType": "YulIdentifier", - "src": "1213:3:36" + "src": "1213:3:34" }, - "nativeSrc": "1213:40:36", + "nativeSrc": "1213:40:34", "nodeType": "YulFunctionCall", - "src": "1213:40:36" + "src": "1213:40:34" } ], "functionName": { "name": "add", - "nativeSrc": "1201:3:36", + "nativeSrc": "1201:3:34", "nodeType": "YulIdentifier", - "src": "1201:3:36" + "src": "1201:3:34" }, - "nativeSrc": "1201:53:36", + "nativeSrc": "1201:53:34", "nodeType": "YulFunctionCall", - "src": "1201:53:36" + "src": "1201:53:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "1187:10:36", + "nativeSrc": "1187:10:34", "nodeType": "YulTypedName", - "src": "1187:10:36", + "src": "1187:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "1313:22:36", + "nativeSrc": "1313:22:34", "nodeType": "YulBlock", - "src": "1313:22:36", + "src": "1313:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "1315:16:36", + "nativeSrc": "1315:16:34", "nodeType": "YulIdentifier", - "src": "1315:16:36" + "src": "1315:16:34" }, - "nativeSrc": "1315:18:36", + "nativeSrc": "1315:18:34", "nodeType": "YulFunctionCall", - "src": "1315:18:36" + "src": "1315:18:34" }, - "nativeSrc": "1315:18:36", + "nativeSrc": "1315:18:34", "nodeType": "YulExpressionStatement", - "src": "1315:18:36" + "src": "1315:18:34" } ] }, @@ -81120,168 +80130,168 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "1272:10:36", + "nativeSrc": "1272:10:34", "nodeType": "YulIdentifier", - "src": "1272:10:36" + "src": "1272:10:34" }, { "name": "_1", - "nativeSrc": "1284:2:36", + "nativeSrc": "1284:2:34", "nodeType": "YulIdentifier", - "src": "1284:2:36" + "src": "1284:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1269:2:36", + "nativeSrc": "1269:2:34", "nodeType": "YulIdentifier", - "src": "1269:2:36" + "src": "1269:2:34" }, - "nativeSrc": "1269:18:36", + "nativeSrc": "1269:18:34", "nodeType": "YulFunctionCall", - "src": "1269:18:36" + "src": "1269:18:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "1292:10:36", + "nativeSrc": "1292:10:34", "nodeType": "YulIdentifier", - "src": "1292:10:36" + "src": "1292:10:34" }, { "name": "memPtr", - "nativeSrc": "1304:6:36", + "nativeSrc": "1304:6:34", "nodeType": "YulIdentifier", - "src": "1304:6:36" + "src": "1304:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "1289:2:36", + "nativeSrc": "1289:2:34", "nodeType": "YulIdentifier", - "src": "1289:2:36" + "src": "1289:2:34" }, - "nativeSrc": "1289:22:36", + "nativeSrc": "1289:22:34", "nodeType": "YulFunctionCall", - "src": "1289:22:36" + "src": "1289:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "1266:2:36", + "nativeSrc": "1266:2:34", "nodeType": "YulIdentifier", - "src": "1266:2:36" + "src": "1266:2:34" }, - "nativeSrc": "1266:46:36", + "nativeSrc": "1266:46:34", "nodeType": "YulFunctionCall", - "src": "1266:46:36" + "src": "1266:46:34" }, - "nativeSrc": "1263:72:36", + "nativeSrc": "1263:72:34", "nodeType": "YulIf", - "src": "1263:72:36" + "src": "1263:72:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1351:2:36", + "nativeSrc": "1351:2:34", "nodeType": "YulLiteral", - "src": "1351:2:36", + "src": "1351:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "1355:10:36", + "nativeSrc": "1355:10:34", "nodeType": "YulIdentifier", - "src": "1355:10:36" + "src": "1355:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1344:6:36", + "nativeSrc": "1344:6:34", "nodeType": "YulIdentifier", - "src": "1344:6:36" + "src": "1344:6:34" }, - "nativeSrc": "1344:22:36", + "nativeSrc": "1344:22:34", "nodeType": "YulFunctionCall", - "src": "1344:22:36" + "src": "1344:22:34" }, - "nativeSrc": "1344:22:36", + "nativeSrc": "1344:22:34", "nodeType": "YulExpressionStatement", - "src": "1344:22:36" + "src": "1344:22:34" }, { "expression": { "arguments": [ { "name": "memPtr", - "nativeSrc": "1382:6:36", + "nativeSrc": "1382:6:34", "nodeType": "YulIdentifier", - "src": "1382:6:36" + "src": "1382:6:34" }, { "name": "_3", - "nativeSrc": "1390:2:36", + "nativeSrc": "1390:2:34", "nodeType": "YulIdentifier", - "src": "1390:2:36" + "src": "1390:2:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1375:6:36", + "nativeSrc": "1375:6:34", "nodeType": "YulIdentifier", - "src": "1375:6:36" + "src": "1375:6:34" }, - "nativeSrc": "1375:18:36", + "nativeSrc": "1375:18:34", "nodeType": "YulFunctionCall", - "src": "1375:18:36" + "src": "1375:18:34" }, - "nativeSrc": "1375:18:36", + "nativeSrc": "1375:18:34", "nodeType": "YulExpressionStatement", - "src": "1375:18:36" + "src": "1375:18:34" }, { "body": { - "nativeSrc": "1439:16:36", + "nativeSrc": "1439:16:34", "nodeType": "YulBlock", - "src": "1439:16:36", + "src": "1439:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1448:1:36", + "nativeSrc": "1448:1:34", "nodeType": "YulLiteral", - "src": "1448:1:36", + "src": "1448:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1451:1:36", + "nativeSrc": "1451:1:34", "nodeType": "YulLiteral", - "src": "1451:1:36", + "src": "1451:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1441:6:36", + "nativeSrc": "1441:6:34", "nodeType": "YulIdentifier", - "src": "1441:6:36" + "src": "1441:6:34" }, - "nativeSrc": "1441:12:36", + "nativeSrc": "1441:12:34", "nodeType": "YulFunctionCall", - "src": "1441:12:36" + "src": "1441:12:34" }, - "nativeSrc": "1441:12:36", + "nativeSrc": "1441:12:34", "nodeType": "YulExpressionStatement", - "src": "1441:12:36" + "src": "1441:12:34" } ] }, @@ -81293,66 +80303,66 @@ "arguments": [ { "name": "_2", - "nativeSrc": "1416:2:36", + "nativeSrc": "1416:2:34", "nodeType": "YulIdentifier", - "src": "1416:2:36" + "src": "1416:2:34" }, { "name": "_3", - "nativeSrc": "1420:2:36", + "nativeSrc": "1420:2:34", "nodeType": "YulIdentifier", - "src": "1420:2:36" + "src": "1420:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "1412:3:36", + "nativeSrc": "1412:3:34", "nodeType": "YulIdentifier", - "src": "1412:3:36" + "src": "1412:3:34" }, - "nativeSrc": "1412:11:36", + "nativeSrc": "1412:11:34", "nodeType": "YulFunctionCall", - "src": "1412:11:36" + "src": "1412:11:34" }, { "kind": "number", - "nativeSrc": "1425:2:36", + "nativeSrc": "1425:2:34", "nodeType": "YulLiteral", - "src": "1425:2:36", + "src": "1425:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1408:3:36", + "nativeSrc": "1408:3:34", "nodeType": "YulIdentifier", - "src": "1408:3:36" + "src": "1408:3:34" }, - "nativeSrc": "1408:20:36", + "nativeSrc": "1408:20:34", "nodeType": "YulFunctionCall", - "src": "1408:20:36" + "src": "1408:20:34" }, { "name": "dataEnd", - "nativeSrc": "1430:7:36", + "nativeSrc": "1430:7:34", "nodeType": "YulIdentifier", - "src": "1430:7:36" + "src": "1430:7:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1405:2:36", + "nativeSrc": "1405:2:34", "nodeType": "YulIdentifier", - "src": "1405:2:36" + "src": "1405:2:34" }, - "nativeSrc": "1405:33:36", + "nativeSrc": "1405:33:34", "nodeType": "YulFunctionCall", - "src": "1405:33:36" + "src": "1405:33:34" }, - "nativeSrc": "1402:53:36", + "nativeSrc": "1402:53:34", "nodeType": "YulIf", - "src": "1402:53:36" + "src": "1402:53:34" }, { "expression": { @@ -81361,76 +80371,76 @@ "arguments": [ { "name": "memPtr", - "nativeSrc": "1481:6:36", + "nativeSrc": "1481:6:34", "nodeType": "YulIdentifier", - "src": "1481:6:36" + "src": "1481:6:34" }, { "kind": "number", - "nativeSrc": "1489:2:36", + "nativeSrc": "1489:2:34", "nodeType": "YulLiteral", - "src": "1489:2:36", + "src": "1489:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1477:3:36", + "nativeSrc": "1477:3:34", "nodeType": "YulIdentifier", - "src": "1477:3:36" + "src": "1477:3:34" }, - "nativeSrc": "1477:15:36", + "nativeSrc": "1477:15:34", "nodeType": "YulFunctionCall", - "src": "1477:15:36" + "src": "1477:15:34" }, { "arguments": [ { "name": "_2", - "nativeSrc": "1498:2:36", + "nativeSrc": "1498:2:34", "nodeType": "YulIdentifier", - "src": "1498:2:36" + "src": "1498:2:34" }, { "kind": "number", - "nativeSrc": "1502:2:36", + "nativeSrc": "1502:2:34", "nodeType": "YulLiteral", - "src": "1502:2:36", + "src": "1502:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1494:3:36", + "nativeSrc": "1494:3:34", "nodeType": "YulIdentifier", - "src": "1494:3:36" + "src": "1494:3:34" }, - "nativeSrc": "1494:11:36", + "nativeSrc": "1494:11:34", "nodeType": "YulFunctionCall", - "src": "1494:11:36" + "src": "1494:11:34" }, { "name": "_3", - "nativeSrc": "1507:2:36", + "nativeSrc": "1507:2:34", "nodeType": "YulIdentifier", - "src": "1507:2:36" + "src": "1507:2:34" } ], "functionName": { "name": "calldatacopy", - "nativeSrc": "1464:12:36", + "nativeSrc": "1464:12:34", "nodeType": "YulIdentifier", - "src": "1464:12:36" + "src": "1464:12:34" }, - "nativeSrc": "1464:46:36", + "nativeSrc": "1464:46:34", "nodeType": "YulFunctionCall", - "src": "1464:46:36" + "src": "1464:46:34" }, - "nativeSrc": "1464:46:36", + "nativeSrc": "1464:46:34", "nodeType": "YulExpressionStatement", - "src": "1464:46:36" + "src": "1464:46:34" }, { "expression": { @@ -81441,170 +80451,170 @@ "arguments": [ { "name": "memPtr", - "nativeSrc": "1534:6:36", + "nativeSrc": "1534:6:34", "nodeType": "YulIdentifier", - "src": "1534:6:36" + "src": "1534:6:34" }, { "name": "_3", - "nativeSrc": "1542:2:36", + "nativeSrc": "1542:2:34", "nodeType": "YulIdentifier", - "src": "1542:2:36" + "src": "1542:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "1530:3:36", + "nativeSrc": "1530:3:34", "nodeType": "YulIdentifier", - "src": "1530:3:36" + "src": "1530:3:34" }, - "nativeSrc": "1530:15:36", + "nativeSrc": "1530:15:34", "nodeType": "YulFunctionCall", - "src": "1530:15:36" + "src": "1530:15:34" }, { "kind": "number", - "nativeSrc": "1547:2:36", + "nativeSrc": "1547:2:34", "nodeType": "YulLiteral", - "src": "1547:2:36", + "src": "1547:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1526:3:36", + "nativeSrc": "1526:3:34", "nodeType": "YulIdentifier", - "src": "1526:3:36" + "src": "1526:3:34" }, - "nativeSrc": "1526:24:36", + "nativeSrc": "1526:24:34", "nodeType": "YulFunctionCall", - "src": "1526:24:36" + "src": "1526:24:34" }, { "kind": "number", - "nativeSrc": "1552:1:36", + "nativeSrc": "1552:1:34", "nodeType": "YulLiteral", - "src": "1552:1:36", + "src": "1552:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "1519:6:36", + "nativeSrc": "1519:6:34", "nodeType": "YulIdentifier", - "src": "1519:6:36" + "src": "1519:6:34" }, - "nativeSrc": "1519:35:36", + "nativeSrc": "1519:35:34", "nodeType": "YulFunctionCall", - "src": "1519:35:36" + "src": "1519:35:34" }, - "nativeSrc": "1519:35:36", + "nativeSrc": "1519:35:34", "nodeType": "YulExpressionStatement", - "src": "1519:35:36" + "src": "1519:35:34" }, { - "nativeSrc": "1563:16:36", + "nativeSrc": "1563:16:34", "nodeType": "YulAssignment", - "src": "1563:16:36", + "src": "1563:16:34", "value": { "name": "memPtr", - "nativeSrc": "1573:6:36", + "nativeSrc": "1573:6:34", "nodeType": "YulIdentifier", - "src": "1573:6:36" + "src": "1573:6:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "1563:6:36", + "nativeSrc": "1563:6:34", "nodeType": "YulIdentifier", - "src": "1563:6:36" + "src": "1563:6:34" } ] } ] }, "name": "abi_decode_tuple_t_address_payablet_bytes_memory_ptr", - "nativeSrc": "482:1103:36", + "nativeSrc": "482:1103:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "544:9:36", + "nativeSrc": "544:9:34", "nodeType": "YulTypedName", - "src": "544:9:36", + "src": "544:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "555:7:36", + "nativeSrc": "555:7:34", "nodeType": "YulTypedName", - "src": "555:7:36", + "src": "555:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "567:6:36", + "nativeSrc": "567:6:34", "nodeType": "YulTypedName", - "src": "567:6:36", + "src": "567:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "575:6:36", + "nativeSrc": "575:6:34", "nodeType": "YulTypedName", - "src": "575:6:36", + "src": "575:6:34", "type": "" } ], - "src": "482:1103:36" + "src": "482:1103:34" }, { "body": { - "nativeSrc": "1691:102:36", + "nativeSrc": "1691:102:34", "nodeType": "YulBlock", - "src": "1691:102:36", + "src": "1691:102:34", "statements": [ { - "nativeSrc": "1701:26:36", + "nativeSrc": "1701:26:34", "nodeType": "YulAssignment", - "src": "1701:26:36", + "src": "1701:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "1713:9:36", + "nativeSrc": "1713:9:34", "nodeType": "YulIdentifier", - "src": "1713:9:36" + "src": "1713:9:34" }, { "kind": "number", - "nativeSrc": "1724:2:36", + "nativeSrc": "1724:2:34", "nodeType": "YulLiteral", - "src": "1724:2:36", + "src": "1724:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1709:3:36", + "nativeSrc": "1709:3:34", "nodeType": "YulIdentifier", - "src": "1709:3:36" + "src": "1709:3:34" }, - "nativeSrc": "1709:18:36", + "nativeSrc": "1709:18:34", "nodeType": "YulFunctionCall", - "src": "1709:18:36" + "src": "1709:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "1701:4:36", + "nativeSrc": "1701:4:34", "nodeType": "YulIdentifier", - "src": "1701:4:36" + "src": "1701:4:34" } ] }, @@ -81613,17 +80623,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "1743:9:36", + "nativeSrc": "1743:9:34", "nodeType": "YulIdentifier", - "src": "1743:9:36" + "src": "1743:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "1758:6:36", + "nativeSrc": "1758:6:34", "nodeType": "YulIdentifier", - "src": "1758:6:36" + "src": "1758:6:34" }, { "arguments": [ @@ -81631,174 +80641,174 @@ "arguments": [ { "kind": "number", - "nativeSrc": "1774:3:36", + "nativeSrc": "1774:3:34", "nodeType": "YulLiteral", - "src": "1774:3:36", + "src": "1774:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "1779:1:36", + "nativeSrc": "1779:1:34", "nodeType": "YulLiteral", - "src": "1779:1:36", + "src": "1779:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "1770:3:36", + "nativeSrc": "1770:3:34", "nodeType": "YulIdentifier", - "src": "1770:3:36" + "src": "1770:3:34" }, - "nativeSrc": "1770:11:36", + "nativeSrc": "1770:11:34", "nodeType": "YulFunctionCall", - "src": "1770:11:36" + "src": "1770:11:34" }, { "kind": "number", - "nativeSrc": "1783:1:36", + "nativeSrc": "1783:1:34", "nodeType": "YulLiteral", - "src": "1783:1:36", + "src": "1783:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "1766:3:36", + "nativeSrc": "1766:3:34", "nodeType": "YulIdentifier", - "src": "1766:3:36" + "src": "1766:3:34" }, - "nativeSrc": "1766:19:36", + "nativeSrc": "1766:19:34", "nodeType": "YulFunctionCall", - "src": "1766:19:36" + "src": "1766:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "1754:3:36", + "nativeSrc": "1754:3:34", "nodeType": "YulIdentifier", - "src": "1754:3:36" + "src": "1754:3:34" }, - "nativeSrc": "1754:32:36", + "nativeSrc": "1754:32:34", "nodeType": "YulFunctionCall", - "src": "1754:32:36" + "src": "1754:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1736:6:36", + "nativeSrc": "1736:6:34", "nodeType": "YulIdentifier", - "src": "1736:6:36" + "src": "1736:6:34" }, - "nativeSrc": "1736:51:36", + "nativeSrc": "1736:51:34", "nodeType": "YulFunctionCall", - "src": "1736:51:36" + "src": "1736:51:34" }, - "nativeSrc": "1736:51:36", + "nativeSrc": "1736:51:34", "nodeType": "YulExpressionStatement", - "src": "1736:51:36" + "src": "1736:51:34" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nativeSrc": "1590:203:36", + "nativeSrc": "1590:203:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "1660:9:36", + "nativeSrc": "1660:9:34", "nodeType": "YulTypedName", - "src": "1660:9:36", + "src": "1660:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "1671:6:36", + "nativeSrc": "1671:6:34", "nodeType": "YulTypedName", - "src": "1671:6:36", + "src": "1671:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "1682:4:36", + "nativeSrc": "1682:4:34", "nodeType": "YulTypedName", - "src": "1682:4:36", + "src": "1682:4:34", "type": "" } ], - "src": "1590:203:36" + "src": "1590:203:34" }, { "body": { - "nativeSrc": "1935:275:36", + "nativeSrc": "1935:275:34", "nodeType": "YulBlock", - "src": "1935:275:36", + "src": "1935:275:34", "statements": [ { - "nativeSrc": "1945:27:36", + "nativeSrc": "1945:27:34", "nodeType": "YulVariableDeclaration", - "src": "1945:27:36", + "src": "1945:27:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "1965:6:36", + "nativeSrc": "1965:6:34", "nodeType": "YulIdentifier", - "src": "1965:6:36" + "src": "1965:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "1959:5:36", + "nativeSrc": "1959:5:34", "nodeType": "YulIdentifier", - "src": "1959:5:36" + "src": "1959:5:34" }, - "nativeSrc": "1959:13:36", + "nativeSrc": "1959:13:34", "nodeType": "YulFunctionCall", - "src": "1959:13:36" + "src": "1959:13:34" }, "variables": [ { "name": "length", - "nativeSrc": "1949:6:36", + "nativeSrc": "1949:6:34", "nodeType": "YulTypedName", - "src": "1949:6:36", + "src": "1949:6:34", "type": "" } ] }, { - "nativeSrc": "1981:10:36", + "nativeSrc": "1981:10:34", "nodeType": "YulVariableDeclaration", - "src": "1981:10:36", + "src": "1981:10:34", "value": { "kind": "number", - "nativeSrc": "1990:1:36", + "nativeSrc": "1990:1:34", "nodeType": "YulLiteral", - "src": "1990:1:36", + "src": "1990:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "1985:1:36", + "nativeSrc": "1985:1:34", "nodeType": "YulTypedName", - "src": "1985:1:36", + "src": "1985:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "2052:77:36", + "nativeSrc": "2052:77:34", "nodeType": "YulBlock", - "src": "2052:77:36", + "src": "2052:77:34", "statements": [ { "expression": { @@ -81807,26 +80817,26 @@ "arguments": [ { "name": "pos", - "nativeSrc": "2077:3:36", + "nativeSrc": "2077:3:34", "nodeType": "YulIdentifier", - "src": "2077:3:36" + "src": "2077:3:34" }, { "name": "i", - "nativeSrc": "2082:1:36", + "nativeSrc": "2082:1:34", "nodeType": "YulIdentifier", - "src": "2082:1:36" + "src": "2082:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "2073:3:36", + "nativeSrc": "2073:3:34", "nodeType": "YulIdentifier", - "src": "2073:3:36" + "src": "2073:3:34" }, - "nativeSrc": "2073:11:36", + "nativeSrc": "2073:11:34", "nodeType": "YulFunctionCall", - "src": "2073:11:36" + "src": "2073:11:34" }, { "arguments": [ @@ -81836,71 +80846,71 @@ "arguments": [ { "name": "value0", - "nativeSrc": "2100:6:36", + "nativeSrc": "2100:6:34", "nodeType": "YulIdentifier", - "src": "2100:6:36" + "src": "2100:6:34" }, { "name": "i", - "nativeSrc": "2108:1:36", + "nativeSrc": "2108:1:34", "nodeType": "YulIdentifier", - "src": "2108:1:36" + "src": "2108:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "2096:3:36", + "nativeSrc": "2096:3:34", "nodeType": "YulIdentifier", - "src": "2096:3:36" + "src": "2096:3:34" }, - "nativeSrc": "2096:14:36", + "nativeSrc": "2096:14:34", "nodeType": "YulFunctionCall", - "src": "2096:14:36" + "src": "2096:14:34" }, { "kind": "number", - "nativeSrc": "2112:4:36", + "nativeSrc": "2112:4:34", "nodeType": "YulLiteral", - "src": "2112:4:36", + "src": "2112:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "2092:3:36", + "nativeSrc": "2092:3:34", "nodeType": "YulIdentifier", - "src": "2092:3:36" + "src": "2092:3:34" }, - "nativeSrc": "2092:25:36", + "nativeSrc": "2092:25:34", "nodeType": "YulFunctionCall", - "src": "2092:25:36" + "src": "2092:25:34" } ], "functionName": { "name": "mload", - "nativeSrc": "2086:5:36", + "nativeSrc": "2086:5:34", "nodeType": "YulIdentifier", - "src": "2086:5:36" + "src": "2086:5:34" }, - "nativeSrc": "2086:32:36", + "nativeSrc": "2086:32:34", "nodeType": "YulFunctionCall", - "src": "2086:32:36" + "src": "2086:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2066:6:36", + "nativeSrc": "2066:6:34", "nodeType": "YulIdentifier", - "src": "2066:6:36" + "src": "2066:6:34" }, - "nativeSrc": "2066:53:36", + "nativeSrc": "2066:53:34", "nodeType": "YulFunctionCall", - "src": "2066:53:36" + "src": "2066:53:34" }, - "nativeSrc": "2066:53:36", + "nativeSrc": "2066:53:34", "nodeType": "YulExpressionStatement", - "src": "2066:53:36" + "src": "2066:53:34" } ] }, @@ -81908,119 +80918,119 @@ "arguments": [ { "name": "i", - "nativeSrc": "2011:1:36", + "nativeSrc": "2011:1:34", "nodeType": "YulIdentifier", - "src": "2011:1:36" + "src": "2011:1:34" }, { "name": "length", - "nativeSrc": "2014:6:36", + "nativeSrc": "2014:6:34", "nodeType": "YulIdentifier", - "src": "2014:6:36" + "src": "2014:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "2008:2:36", + "nativeSrc": "2008:2:34", "nodeType": "YulIdentifier", - "src": "2008:2:36" + "src": "2008:2:34" }, - "nativeSrc": "2008:13:36", + "nativeSrc": "2008:13:34", "nodeType": "YulFunctionCall", - "src": "2008:13:36" + "src": "2008:13:34" }, - "nativeSrc": "2000:129:36", + "nativeSrc": "2000:129:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "2022:21:36", + "nativeSrc": "2022:21:34", "nodeType": "YulBlock", - "src": "2022:21:36", + "src": "2022:21:34", "statements": [ { - "nativeSrc": "2024:17:36", + "nativeSrc": "2024:17:34", "nodeType": "YulAssignment", - "src": "2024:17:36", + "src": "2024:17:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "2033:1:36", + "nativeSrc": "2033:1:34", "nodeType": "YulIdentifier", - "src": "2033:1:36" + "src": "2033:1:34" }, { "kind": "number", - "nativeSrc": "2036:4:36", + "nativeSrc": "2036:4:34", "nodeType": "YulLiteral", - "src": "2036:4:36", + "src": "2036:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "2029:3:36", + "nativeSrc": "2029:3:34", "nodeType": "YulIdentifier", - "src": "2029:3:36" + "src": "2029:3:34" }, - "nativeSrc": "2029:12:36", + "nativeSrc": "2029:12:34", "nodeType": "YulFunctionCall", - "src": "2029:12:36" + "src": "2029:12:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "2024:1:36", + "nativeSrc": "2024:1:34", "nodeType": "YulIdentifier", - "src": "2024:1:36" + "src": "2024:1:34" } ] } ] }, "pre": { - "nativeSrc": "2004:3:36", + "nativeSrc": "2004:3:34", "nodeType": "YulBlock", - "src": "2004:3:36", + "src": "2004:3:34", "statements": [] }, - "src": "2000:129:36" + "src": "2000:129:34" }, { - "nativeSrc": "2138:26:36", + "nativeSrc": "2138:26:34", "nodeType": "YulVariableDeclaration", - "src": "2138:26:36", + "src": "2138:26:34", "value": { "arguments": [ { "name": "pos", - "nativeSrc": "2152:3:36", + "nativeSrc": "2152:3:34", "nodeType": "YulIdentifier", - "src": "2152:3:36" + "src": "2152:3:34" }, { "name": "length", - "nativeSrc": "2157:6:36", + "nativeSrc": "2157:6:34", "nodeType": "YulIdentifier", - "src": "2157:6:36" + "src": "2157:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "2148:3:36", + "nativeSrc": "2148:3:34", "nodeType": "YulIdentifier", - "src": "2148:3:36" + "src": "2148:3:34" }, - "nativeSrc": "2148:16:36", + "nativeSrc": "2148:16:34", "nodeType": "YulFunctionCall", - "src": "2148:16:36" + "src": "2148:16:34" }, "variables": [ { "name": "_1", - "nativeSrc": "2142:2:36", + "nativeSrc": "2142:2:34", "nodeType": "YulTypedName", - "src": "2142:2:36", + "src": "2142:2:34", "type": "" } ] @@ -82030,94 +81040,94 @@ "arguments": [ { "name": "_1", - "nativeSrc": "2180:2:36", + "nativeSrc": "2180:2:34", "nodeType": "YulIdentifier", - "src": "2180:2:36" + "src": "2180:2:34" }, { "kind": "number", - "nativeSrc": "2184:1:36", + "nativeSrc": "2184:1:34", "nodeType": "YulLiteral", - "src": "2184:1:36", + "src": "2184:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "2173:6:36", + "nativeSrc": "2173:6:34", "nodeType": "YulIdentifier", - "src": "2173:6:36" + "src": "2173:6:34" }, - "nativeSrc": "2173:13:36", + "nativeSrc": "2173:13:34", "nodeType": "YulFunctionCall", - "src": "2173:13:36" + "src": "2173:13:34" }, - "nativeSrc": "2173:13:36", + "nativeSrc": "2173:13:34", "nodeType": "YulExpressionStatement", - "src": "2173:13:36" + "src": "2173:13:34" }, { - "nativeSrc": "2195:9:36", + "nativeSrc": "2195:9:34", "nodeType": "YulAssignment", - "src": "2195:9:36", + "src": "2195:9:34", "value": { "name": "_1", - "nativeSrc": "2202:2:36", + "nativeSrc": "2202:2:34", "nodeType": "YulIdentifier", - "src": "2202:2:36" + "src": "2202:2:34" }, "variableNames": [ { "name": "end", - "nativeSrc": "2195:3:36", + "nativeSrc": "2195:3:34", "nodeType": "YulIdentifier", - "src": "2195:3:36" + "src": "2195:3:34" } ] } ] }, "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "1798:412:36", + "nativeSrc": "1798:412:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", - "nativeSrc": "1911:3:36", + "nativeSrc": "1911:3:34", "nodeType": "YulTypedName", - "src": "1911:3:36", + "src": "1911:3:34", "type": "" }, { "name": "value0", - "nativeSrc": "1916:6:36", + "nativeSrc": "1916:6:34", "nodeType": "YulTypedName", - "src": "1916:6:36", + "src": "1916:6:34", "type": "" } ], "returnVariables": [ { "name": "end", - "nativeSrc": "1927:3:36", + "nativeSrc": "1927:3:34", "nodeType": "YulTypedName", - "src": "1927:3:36", + "src": "1927:3:34", "type": "" } ], - "src": "1798:412:36" + "src": "1798:412:34" } ] }, "contents": "{\n { }\n function calldata_array_index_range_access_t_bytes_calldata_ptr(offset, length, startIndex, endIndex) -> offsetOut, lengthOut\n {\n if gt(startIndex, endIndex) { revert(0, 0) }\n if gt(endIndex, length) { revert(0, 0) }\n offsetOut := add(offset, startIndex)\n lengthOut := sub(endIndex, startIndex)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_tuple_t_address_payablet_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 let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if iszero(slt(add(_2, 0x1f), dataEnd)) { revert(0, 0) }\n let _3 := calldataload(_2)\n if gt(_3, _1) { panic_error_0x41() }\n let _4 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_3, 0x1f), _4), 63), _4))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _3)\n if gt(add(add(_2, _3), 32), dataEnd) { revert(0, 0) }\n calldatacopy(add(memPtr, 32), add(_2, 32), _3)\n mstore(add(add(memPtr, _3), 32), 0)\n value1 := memPtr\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 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 let i := 0\n for { } lt(i, length) { i := add(i, 0x20) }\n {\n mstore(add(pos, i), mload(add(add(value0, i), 0x20)))\n }\n let _1 := add(pos, length)\n mstore(_1, 0)\n end := _1\n }\n}", - "id": 36, + "id": 34, "language": "Yul", "name": "#utility.yul" } ], "immutableReferences": { - "1838": [ + "1839": [ { "length": 32, "start": 16 @@ -82125,13 +81135,13 @@ ] }, "linkReferences": {}, - "object": "608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007b576000356001600160e01b03191663278f794360e11b14610071576040516334ad5dbb60e21b815260040160405180910390fd5b610079610083565b565b6100796100b2565b6000806100933660048184610312565b8101906100a09190610352565b915091506100ae82826100c2565b5050565b6100796100bd61011d565b610155565b6100cb82610179565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156101155761011082826101f5565b505050565b6100ae61026b565b60006101507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015610174573d6000f35b3d6000fd5b806001600160a01b03163b6000036101b457604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516102129190610422565b600060405180830381855af49150503d806000811461024d576040519150601f19603f3d011682016040523d82523d6000602084013e610252565b606091505b509150915061026285838361028a565b95945050505050565b34156100795760405163b398979f60e01b815260040160405180910390fd5b60608261029f5761029a826102e9565b6102e2565b81511580156102b657506001600160a01b0384163b155b156102df57604051639996b31560e01b81526001600160a01b03851660048201526024016101ab565b50805b9392505050565b8051156102f95780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b6000808585111561032257600080fd5b8386111561032f57600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561036557600080fd5b82356001600160a01b038116811461037c57600080fd5b9150602083013567ffffffffffffffff8082111561039957600080fd5b818501915085601f8301126103ad57600080fd5b8135818111156103bf576103bf61033c565b604051601f8201601f19908116603f011681019083821181831017156103e7576103e761033c565b8160405282815288602084870101111561040057600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156104435760208186018101518583015201610429565b50600092019182525091905056fea26469706673582212206199468d135d4672649dadf8ba5d9316c98893455913a2d8a5f7522fdf5bbb0e64736f6c63430008160033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH2 0xC PUSH2 0xE JUMP JUMPDEST STOP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0x7B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0x278F7943 PUSH1 0xE1 SHL EQ PUSH2 0x71 JUMPI PUSH1 0x40 MLOAD PUSH4 0x34AD5DBB PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x79 PUSH2 0x83 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x79 PUSH2 0xB2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x93 CALLDATASIZE PUSH1 0x4 DUP2 DUP5 PUSH2 0x312 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x352 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xAE DUP3 DUP3 PUSH2 0xC2 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x79 PUSH2 0xBD PUSH2 0x11D JUMP JUMPDEST PUSH2 0x155 JUMP JUMPDEST PUSH2 0xCB DUP3 PUSH2 0x179 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x115 JUMPI PUSH2 0x110 DUP3 DUP3 PUSH2 0x1F5 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xAE PUSH2 0x26B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x150 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x174 JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1B4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x422 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x24D 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 0x252 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x262 DUP6 DUP4 DUP4 PUSH2 0x28A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x79 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x29F JUMPI PUSH2 0x29A DUP3 PUSH2 0x2E9 JUMP JUMPDEST PUSH2 0x2E2 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x2B6 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2DF JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1AB JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x2F9 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP6 DUP6 GT ISZERO PUSH2 0x322 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP7 GT ISZERO PUSH2 0x32F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP3 ADD SWAP4 SWAP2 SWAP1 SWAP3 SUB SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x365 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x37C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x399 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x3BF JUMPI PUSH2 0x3BF PUSH2 0x33C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x3E7 JUMPI PUSH2 0x3E7 PUSH2 0x33C JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x400 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x443 JUMPI PUSH1 0x20 DUP2 DUP7 ADD DUP2 ADD MLOAD DUP6 DUP4 ADD MSTORE ADD PUSH2 0x429 JUMP JUMPDEST POP PUSH1 0x0 SWAP3 ADD SWAP2 DUP3 MSTORE POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH2 0x9946 DUP14 SGT 0x5D CHAINID PUSH19 0x649DADF8BA5D9316C98893455913A2D8A5F752 0x2F 0xDF JUMPDEST 0xBB 0xE PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", - "sourceMap": "4314:2231:15:-:0;;;2649:11:12;:9;:11::i;:::-;4314:2231:15;5755:369;5600:6;-1:-1:-1;;;;;5816:27:15;:10;:27;5812:306;;5863:7;;-1:-1:-1;;;;;;5863:7:15;-1:-1:-1;;;5863:65:15;5859:201;;5955:24;;-1:-1:-1;;;5955:24:15;;;;;;;;;;;5859:201;6018:27;:25;:27::i;:::-;5755:369::o;5812:306::-;6090:17;:15;:17::i;6326:217::-;6382:25;;6441:12;:8;6450:1;6441:8;6382:25;6441:12;:::i;:::-;6430:42;;;;;;;:::i;:::-;6381:91;;;;6482:54;6512:17;6531:4;6482:29;:54::i;:::-;6371:172;;6326:217::o;2323:83:12:-;2371:28;2381:17;:15;:17::i;:::-;2371:9;:28::i;2264:344:11:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:11;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;:::-;;6371:172:15;;6326:217::o;2454:148:11:-;2573:18;:16;:18::i;1583:132:10:-;1650:7;1676:32;811:66:11;1519:53;-1:-1:-1;;;;;1519:53:11;;1441:138;1676:32:10;1669:39;;1583:132;:::o;949:895:12:-;1287:14;1284:1;1281;1268:34;1501:1;1498;1482:14;1479:1;1463:14;1456:5;1443:60;1577:16;1574:1;1571;1556:38;1615:6;1682:66;;;;1797:16;1794:1;1787:27;1682:66;1717:16;1714:1;1707:27;1671:281:11;1748:17;-1:-1:-1;;;;;1748:29:11;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:11;;-1:-1:-1;;;;;1754:32:36;;1805:47:11;;;1736:51:36;1709:18;;1805:47:11;;;;;;;;1744:119;811:66;1872:73;;-1:-1:-1;;;;;;1872:73:11;-1:-1:-1;;;;;1872:73:11;;;;;;;;;;1671:281::o;3916:253:20:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:20;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:20:o;6113:122:11:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:11;;;;;;;;;;;4437:582:20;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:20;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:20;;-1:-1:-1;;;;;1754:32:36;;4933:24:20;;;1736:51:36;1709:18;;4933:24:20;1590:203:36;4853:119:20;-1:-1:-1;4992:10:20;4605:408;4437:582;;;;;:::o;5559:487::-;5690:17;;:21;5686:354;;5887:10;5881:17;5943:15;5930:10;5926:2;5922:19;5915:44;5686:354;6010:19;;-1:-1:-1;;;6010:19:20;;;;;;;;;;;14:331:36;119:9;130;172:8;160:10;157:24;154:44;;;194:1;191;184:12;154:44;223:6;213:8;210:20;207:40;;;243:1;240;233:12;207:40;-1:-1:-1;;269:23:36;;;314:25;;;;;-1:-1:-1;14:331:36:o;350:127::-;411:10;406:3;402:20;399:1;392:31;442:4;439:1;432:15;466:4;463:1;456:15;482:1103;567:6;575;628:2;616:9;607:7;603:23;599:32;596:52;;;644:1;641;634:12;596:52;670:23;;-1:-1:-1;;;;;722:31:36;;712:42;;702:70;;768:1;765;758:12;702:70;791:5;-1:-1:-1;847:2:36;832:18;;819:32;870:18;900:14;;;897:34;;;927:1;924;917:12;897:34;965:6;954:9;950:22;940:32;;1010:7;1003:4;999:2;995:13;991:27;981:55;;1032:1;1029;1022:12;981:55;1068:2;1055:16;1090:2;1086;1083:10;1080:36;;;1096:18;;:::i;:::-;1171:2;1165:9;1139:2;1225:13;;-1:-1:-1;;1221:22:36;;;1245:2;1217:31;1213:40;1201:53;;;1269:18;;;1289:22;;;1266:46;1263:72;;;1315:18;;:::i;:::-;1355:10;1351:2;1344:22;1390:2;1382:6;1375:18;1430:7;1425:2;1420;1416;1412:11;1408:20;1405:33;1402:53;;;1451:1;1448;1441:12;1402:53;1507:2;1502;1498;1494:11;1489:2;1481:6;1477:15;1464:46;1552:1;1547:2;1542;1534:6;1530:15;1526:24;1519:35;1573:6;1563:16;;;;;;;482:1103;;;;;:::o;1798:412::-;1927:3;1965:6;1959:13;1990:1;2000:129;2014:6;2011:1;2008:13;2000:129;;;2112:4;2096:14;;;2092:25;;2086:32;2073:11;;;2066:53;2029:12;2000:129;;;-1:-1:-1;2184:1:36;2148:16;;2173:13;;;-1:-1:-1;2148:16:36;1798:412;-1:-1:-1;1798:412:36:o" + "object": "608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007b576000356001600160e01b03191663278f794360e11b14610071576040516334ad5dbb60e21b815260040160405180910390fd5b610079610083565b565b6100796100b2565b6000806100933660048184610311565b8101906100a09190610351565b915091506100ae82826100c2565b5050565b6100796100bd61011d565b610155565b6100cb82610179565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156101155761011082826101f5565b505050565b6100ae61026b565b60006101507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015610174573d6000f35b3d6000fd5b806001600160a01b03163b6000036101b457604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516102129190610421565b600060405180830381855af49150503d806000811461024d576040519150601f19603f3d011682016040523d82523d6000602084013e610252565b606091505b509150915061026285838361028a565b95945050505050565b34156100795760405163b398979f60e01b815260040160405180910390fd5b60608261029f5761029a826102e9565b6102e2565b81511580156102b657506001600160a01b0384163b155b156102df57604051639996b31560e01b81526001600160a01b03851660048201526024016101ab565b50805b9392505050565b8051156102f857805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b6000808585111561032157600080fd5b8386111561032e57600080fd5b5050820193919092039150565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561036457600080fd5b82356001600160a01b038116811461037b57600080fd5b9150602083013567ffffffffffffffff8082111561039857600080fd5b818501915085601f8301126103ac57600080fd5b8135818111156103be576103be61033b565b604051601f8201601f19908116603f011681019083821181831017156103e6576103e661033b565b816040528281528860208487010111156103ff57600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000825160005b818110156104425760208186018101518583015201610428565b50600092019182525091905056fea26469706673582212204163813624e55dd48f6d9c66863abeb4c7c09bcf6f620ec3055960611a277f4564736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH2 0xC PUSH2 0xE JUMP JUMPDEST STOP JUMPDEST PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER SUB PUSH2 0x7B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT AND PUSH4 0x278F7943 PUSH1 0xE1 SHL EQ PUSH2 0x71 JUMPI PUSH1 0x40 MLOAD PUSH4 0x34AD5DBB PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x79 PUSH2 0x83 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x79 PUSH2 0xB2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x93 CALLDATASIZE PUSH1 0x4 DUP2 DUP5 PUSH2 0x311 JUMP JUMPDEST DUP2 ADD SWAP1 PUSH2 0xA0 SWAP2 SWAP1 PUSH2 0x351 JUMP JUMPDEST SWAP2 POP SWAP2 POP PUSH2 0xAE DUP3 DUP3 PUSH2 0xC2 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x79 PUSH2 0xBD PUSH2 0x11D JUMP JUMPDEST PUSH2 0x155 JUMP JUMPDEST PUSH2 0xCB DUP3 PUSH2 0x179 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x115 JUMPI PUSH2 0x110 DUP3 DUP3 PUSH2 0x1F5 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0xAE PUSH2 0x26B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x150 PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST CALLDATASIZE PUSH1 0x0 DUP1 CALLDATACOPY PUSH1 0x0 DUP1 CALLDATASIZE PUSH1 0x0 DUP5 GAS DELEGATECALL RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY DUP1 DUP1 ISZERO PUSH2 0x174 JUMPI RETURNDATASIZE PUSH1 0x0 RETURN JUMPDEST RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1B4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0x360894A13BA1A3210667C828492DB98DCA3E2076CC3735A920A3CA505D382BBC DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x421 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x24D 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 0x252 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x262 DUP6 DUP4 DUP4 PUSH2 0x28A JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x79 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x29F JUMPI PUSH2 0x29A DUP3 PUSH2 0x2E9 JUMP JUMPDEST PUSH2 0x2E2 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x2B6 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2DF JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x1AB JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x2F8 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 DUP6 DUP6 GT ISZERO PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP7 GT ISZERO PUSH2 0x32E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP POP DUP3 ADD SWAP4 SWAP2 SWAP1 SWAP3 SUB SWAP2 POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x364 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x37B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x398 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 DUP6 ADD SWAP2 POP DUP6 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x3AC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD DUP2 DUP2 GT ISZERO PUSH2 0x3BE JUMPI PUSH2 0x3BE PUSH2 0x33B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP4 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x3E6 JUMPI PUSH2 0x3E6 PUSH2 0x33B JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP3 DUP2 MSTORE DUP9 PUSH1 0x20 DUP5 DUP8 ADD ADD GT ISZERO PUSH2 0x3FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE DUP1 SWAP6 POP POP POP POP POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x442 JUMPI PUSH1 0x20 DUP2 DUP7 ADD DUP2 ADD MLOAD DUP6 DUP4 ADD MSTORE ADD PUSH2 0x428 JUMP JUMPDEST POP PUSH1 0x0 SWAP3 ADD SWAP2 DUP3 MSTORE POP SWAP2 SWAP1 POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 COINBASE PUSH4 0x813624E5 0x5D 0xD4 DUP16 PUSH14 0x9C66863ABEB4C7C09BCF6F620EC3 SDIV MSIZE PUSH1 0x61 BYTE 0x27 PUSH32 0x4564736F6C634300081600330000000000000000000000000000000000000000 ", + "sourceMap": "4314:2231:15:-:0;;;2649:11:12;:9;:11::i;:::-;4314:2231:15;5755:369;5600:6;-1:-1:-1;;;;;5816:27:15;:10;:27;5812:306;;5863:7;;-1:-1:-1;;;;;;5863:7:15;-1:-1:-1;;;5863:65:15;5859:201;;5955:24;;-1:-1:-1;;;5955:24:15;;;;;;;;;;;5859:201;6018:27;:25;:27::i;:::-;5755:369::o;5812:306::-;6090:17;:15;:17::i;6326:217::-;6382:25;;6441:12;:8;6450:1;6441:8;6382:25;6441:12;:::i;:::-;6430:42;;;;;;;:::i;:::-;6381:91;;;;6482:54;6512:17;6531:4;6482:29;:54::i;:::-;6371:172;;6326:217::o;2323:83:12:-;2371:28;2381:17;:15;:17::i;:::-;2371:9;:28::i;2264:344:11:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:11;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;:::-;;6371:172:15;;6326:217::o;2454:148:11:-;2573:18;:16;:18::i;1583:132:10:-;1650:7;1676:32;811:66:11;1519:53;-1:-1:-1;;;;;1519:53:11;;1441:138;1676:32:10;1669:39;;1583:132;:::o;949:895:12:-;1287:14;1284:1;1281;1268:34;1501:1;1498;1482:14;1479:1;1463:14;1456:5;1443:60;1577:16;1574:1;1571;1556:38;1615:6;1682:66;;;;1797:16;1794:1;1787:27;1682:66;1717:16;1714:1;1707:27;1671:281:11;1748:17;-1:-1:-1;;;;;1748:29:11;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:11;;-1:-1:-1;;;;;1754:32:34;;1805:47:11;;;1736:51:34;1709:18;;1805:47:11;;;;;;;;1744:119;811:66;1872:73;;-1:-1:-1;;;;;;1872:73:11;-1:-1:-1;;;;;1872:73:11;;;;;;;;;;1671:281::o;3916:253:20:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:20;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:20:o;6113:122:11:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:11;;;;;;;;;;;4437:582:20;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:20;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:20;;-1:-1:-1;;;;;1754:32:34;;4933:24:20;;;1736:51:34;1709:18;;4933:24:20;1590:203:34;4853:119:20;-1:-1:-1;4992:10:20;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:20;;;;;;;;;;;14:331:34;119:9;130;172:8;160:10;157:24;154:44;;;194:1;191;184:12;154:44;223:6;213:8;210:20;207:40;;;243:1;240;233:12;207:40;-1:-1:-1;;269:23:34;;;314:25;;;;;-1:-1:-1;14:331:34:o;350:127::-;411:10;406:3;402:20;399:1;392:31;442:4;439:1;432:15;466:4;463:1;456:15;482:1103;567:6;575;628:2;616:9;607:7;603:23;599:32;596:52;;;644:1;641;634:12;596:52;670:23;;-1:-1:-1;;;;;722:31:34;;712:42;;702:70;;768:1;765;758:12;702:70;791:5;-1:-1:-1;847:2:34;832:18;;819:32;870:18;900:14;;;897:34;;;927:1;924;917:12;897:34;965:6;954:9;950:22;940:32;;1010:7;1003:4;999:2;995:13;991:27;981:55;;1032:1;1029;1022:12;981:55;1068:2;1055:16;1090:2;1086;1083:10;1080:36;;;1096:18;;:::i;:::-;1171:2;1165:9;1139:2;1225:13;;-1:-1:-1;;1221:22:34;;;1245:2;1217:31;1213:40;1201:53;;;1269:18;;;1289:22;;;1266:46;1263:72;;;1315:18;;:::i;:::-;1355:10;1351:2;1344:22;1390:2;1382:6;1375:18;1430:7;1425:2;1420;1416;1412:11;1408:20;1405:33;1402:53;;;1451:1;1448;1441:12;1402:53;1507:2;1502;1498;1494:11;1489:2;1481:6;1477:15;1464:46;1552:1;1547:2;1542;1534:6;1530:15;1526:24;1519:35;1573:6;1563:16;;;;;;;482:1103;;;;;:::o;1798:412::-;1927:3;1965:6;1959:13;1990:1;2000:129;2014:6;2011:1;2008:13;2000:129;;;2112:4;2096:14;;;2092:25;;2086:32;2073:11;;;2066:53;2029:12;2000:129;;;-1:-1:-1;2184:1:34;2148:16;;2173:13;;;-1:-1:-1;2148:16:34;1798:412;-1:-1:-1;1798:412:34:o" }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_logic\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProxyDeniedAdminAccess\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"This contract implements a proxy that is upgradeable through an associated {ProxyAdmin} instance. To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector clashing], which can potentially be used in an attack, this contract uses the https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two things that go hand in hand: 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if that call matches the {ITransparentUpgradeableProxy-upgradeToAndCall} function exposed by the proxy itself. 2. If the admin calls the proxy, it can call the `upgradeToAndCall` function but any other call won't be forwarded to the implementation. If the admin tries to call a function on the implementation it will fail with an error indicating the proxy admin cannot fallback to the target implementation. These properties mean that the admin account can only be used for upgrading the proxy, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to call a function from the proxy implementation. For this reason, the proxy deploys an instance of {ProxyAdmin} and allows upgrades only if they come through it. You should think of the `ProxyAdmin` instance as the administrative interface of the proxy, including the ability to change who can trigger upgrades by transferring ownership. NOTE: The real interface of this proxy is that defined in `ITransparentUpgradeableProxy`. This contract does not inherit from that interface, and instead `upgradeToAndCall` is implicitly implemented using a custom dispatch mechanism in `_fallback`. Consequently, the compiler will not produce an ABI for this contract. This is necessary to fully implement transparency without decoding reverts caused by selector clashes between the proxy and the implementation. NOTE: This proxy does not inherit from {Context} deliberately. The {ProxyAdmin} of this contract won't send a meta-transaction in any way, and any other meta-transaction setup should be made in the implementation contract. IMPORTANT: This contract avoids unnecessary storage reads by setting the admin only during construction as an immutable variable, preventing any changes thereafter. However, the admin slot defined in ERC-1967 can still be overwritten by the implementation logic pointed to by this proxy. In such cases, the contract may end up in an undesirable state where the admin slot is different from the actual admin. Relying on the value of the admin slot is generally fine if the implementation is trusted. WARNING: It is not recommended to extend this contract to add additional external functions. If you do so, the compiler will not check that there are no selector conflicts, due to the note above. A selector clash between any new function and the functions declared in {ITransparentUpgradeableProxy} will be resolved in favor of the new one. This could render the `upgradeToAndCall` function inaccessible, preventing upgradeability and compromising transparency.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidAdmin(address)\":[{\"details\":\"The `admin` of the proxy is invalid.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"ProxyDeniedAdminAccess()\":[{\"details\":\"The proxy caller is the current admin, and can't fallback to the proxy target.\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes an upgradeable proxy managed by an instance of a {ProxyAdmin} with an `initialOwner`, backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":\"TransparentUpgradeableProxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_logic\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"stateMutability\":\"payable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ProxyDeniedAdminAccess\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"devdoc\":{\"details\":\"This contract implements a proxy that is upgradeable through an associated {ProxyAdmin} instance. To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector clashing], which can potentially be used in an attack, this contract uses the https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two things that go hand in hand: 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if that call matches the {ITransparentUpgradeableProxy-upgradeToAndCall} function exposed by the proxy itself. 2. If the admin calls the proxy, it can call the `upgradeToAndCall` function but any other call won't be forwarded to the implementation. If the admin tries to call a function on the implementation it will fail with an error indicating the proxy admin cannot fallback to the target implementation. These properties mean that the admin account can only be used for upgrading the proxy, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due to sudden errors when trying to call a function from the proxy implementation. For this reason, the proxy deploys an instance of {ProxyAdmin} and allows upgrades only if they come through it. You should think of the `ProxyAdmin` instance as the administrative interface of the proxy, including the ability to change who can trigger upgrades by transferring ownership. NOTE: The real interface of this proxy is that defined in `ITransparentUpgradeableProxy`. This contract does not inherit from that interface, and instead `upgradeToAndCall` is implicitly implemented using a custom dispatch mechanism in `_fallback`. Consequently, the compiler will not produce an ABI for this contract. This is necessary to fully implement transparency without decoding reverts caused by selector clashes between the proxy and the implementation. NOTE: This proxy does not inherit from {Context} deliberately. The {ProxyAdmin} of this contract won't send a meta-transaction in any way, and any other meta-transaction setup should be made in the implementation contract. IMPORTANT: This contract avoids unnecessary storage reads by setting the admin only during construction as an immutable variable, preventing any changes thereafter. However, the admin slot defined in ERC-1967 can still be overwritten by the implementation logic pointed to by this proxy. In such cases, the contract may end up in an undesirable state where the admin slot is different from the actual admin. Relying on the value of the admin slot is generally fine if the implementation is trusted. WARNING: It is not recommended to extend this contract to add additional external functions. If you do so, the compiler will not check that there are no selector conflicts, due to the note above. A selector clash between any new function and the functions declared in {ITransparentUpgradeableProxy} will be resolved in favor of the new one. This could render the `upgradeToAndCall` function inaccessible, preventing upgradeability and compromising transparency.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidAdmin(address)\":[{\"details\":\"The `admin` of the proxy is invalid.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"ProxyDeniedAdminAccess()\":[{\"details\":\"The proxy caller is the current admin, and can't fallback to the proxy target.\"}]},\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes an upgradeable proxy managed by an instance of a {ProxyAdmin} with an `initialOwner`, backed by the implementation at `_logic`, and optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":\"TransparentUpgradeableProxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol\":{\"keccak256\":\"0xa3066ff86b94128a9d3956a63a0511fa1aae41bd455772ab587b32ff322acb2e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bf7b192fd82acf6187970c80548f624b1b9c80425b62fa49e7fdb538a52de049\",\"dweb:/ipfs/QmWXG1YCde1tqDYTbNwjkZDWVgPEjzaQGSDqWkyKLzaNua\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol\":{\"keccak256\":\"0x46f86003755f50eff00a7c5aaf493ae62e024142b8aec4493a313851d3c14872\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://462c770cb667cc75ab22df5a29c50873b24b267274edf87ac5cfe0112bf4c3f7\",\"dweb:/ipfs/QmTfKk32AkQ2yyYZCYJ44V69EM5t9ryBFC6bRF7FVMHXvj\"]},\"@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol\":{\"keccak256\":\"0x92579f452fe663595a898cbac85d80bb3868a6c9f034f19ba7fbebdfa3b65a4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d07a888cd4a26c7077a30dd99e9ac30fbe2752bfb37e58c65f06a3b192079ef3\",\"dweb:/ipfs/QmZCQY4FC4ynBv9dha4BBWM1vYxTUJPBdFBS4HEFe6XzVB\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -82480,11 +81490,11 @@ "transferFrom(address,address,uint256)": "23b872dd" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC-20 applications.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. Both values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a\",\"dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implementation of the {IERC20} interface. This implementation is agnostic to the way tokens are created. This means that a supply mechanism has to be added in a derived contract using {_mint}. TIP: For a detailed writeup see our guide https://forum.openzeppelin.com/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. The default value of {decimals} is 18. To change this, you should override this function so it returns a different value. We have followed general OpenZeppelin Contracts guidelines: functions revert instead returning `false` on failure. This behavior is nonetheless conventional and does not conflict with the expectations of ERC-20 applications.\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. Both values are immutable: they can only be set once during construction.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x86b7b71a6aedefdad89b607378eeab1dcc5389b9ea7d17346d08af01d7190994\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dc2db8d94a21eac8efe03adf574c419b08536409b416057a2b5b95cb772c43c\",\"dweb:/ipfs/QmZfqJCKVU1ScuX2A7s8WZdQEaikwJbDH5JBrBdKTUT4Gu\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}", "storageLayout": { "storage": [ { - "astId": 1970, + "astId": 1971, "contract": "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20", "label": "_balances", "offset": 0, @@ -82492,7 +81502,7 @@ "type": "t_mapping(t_address,t_uint256)" }, { - "astId": 1976, + "astId": 1977, "contract": "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20", "label": "_allowances", "offset": 0, @@ -82500,7 +81510,7 @@ "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))" }, { - "astId": 1978, + "astId": 1979, "contract": "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20", "label": "_totalSupply", "offset": 0, @@ -82508,7 +81518,7 @@ "type": "t_uint256" }, { - "astId": 1980, + "astId": 1981, "contract": "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20", "label": "_name", "offset": 0, @@ -82516,7 +81526,7 @@ "type": "t_string_storage" }, { - "astId": 1982, + "astId": 1983, "contract": "@openzeppelin/contracts/token/ERC20/ERC20.sol:ERC20", "label": "_symbol", "offset": 0, @@ -82772,7 +81782,7 @@ "transferFrom(address,address,uint256)": "23b872dd" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-20 standard as defined in the ERC.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC-20 standard as defined in the ERC.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -83154,11 +82164,11 @@ "transferFrom(address,address,uint256)": "23b872dd" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {ERC20} that allows token holders to destroy both their own tokens and those that they have an allowance for, in a way that can be recognized off-chain (via event analysis).\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Destroys a `value` amount of tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys a `value` amount of tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `value`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":\"ERC20Burnable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a\",\"dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x2659248df25e34000ed214b3dc8da2160bc39874c992b477d9e2b1b3283dc073\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c345af1b0e7ea28d1216d6a04ab28f5534a5229b9edf9ca3cd0e84950ae58d26\",\"dweb:/ipfs/QmY63jtSrYpLRe8Gj1ep2vMDCKxGNNG3hnNVKBVnrs2nmA\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extension of {ERC20} that allows token holders to destroy both their own tokens and those that they have an allowance for, in a way that can be recognized off-chain (via event analysis).\",\"errors\":{\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"burn(uint256)\":{\"details\":\"Destroys a `value` amount of tokens from the caller. See {ERC20-_burn}.\"},\"burnFrom(address,uint256)\":{\"details\":\"Destroys a `value` amount of tokens from `account`, deducting from the caller's allowance. See {ERC20-_burn} and {ERC20-allowance}. Requirements: - the caller must have allowance for ``accounts``'s tokens of at least `value`.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":\"ERC20Burnable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x86b7b71a6aedefdad89b607378eeab1dcc5389b9ea7d17346d08af01d7190994\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dc2db8d94a21eac8efe03adf574c419b08536409b416057a2b5b95cb772c43c\",\"dweb:/ipfs/QmZfqJCKVU1ScuX2A7s8WZdQEaikwJbDH5JBrBdKTUT4Gu\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x2659248df25e34000ed214b3dc8da2160bc39874c992b477d9e2b1b3283dc073\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c345af1b0e7ea28d1216d6a04ab28f5534a5229b9edf9ca3cd0e84950ae58d26\",\"dweb:/ipfs/QmY63jtSrYpLRe8Gj1ep2vMDCKxGNNG3hnNVKBVnrs2nmA\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}", "storageLayout": { "storage": [ { - "astId": 1970, + "astId": 1971, "contract": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol:ERC20Burnable", "label": "_balances", "offset": 0, @@ -83166,7 +82176,7 @@ "type": "t_mapping(t_address,t_uint256)" }, { - "astId": 1976, + "astId": 1977, "contract": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol:ERC20Burnable", "label": "_allowances", "offset": 0, @@ -83174,7 +82184,7 @@ "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))" }, { - "astId": 1978, + "astId": 1979, "contract": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol:ERC20Burnable", "label": "_totalSupply", "offset": 0, @@ -83182,7 +82192,7 @@ "type": "t_uint256" }, { - "astId": 1980, + "astId": 1981, "contract": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol:ERC20Burnable", "label": "_name", "offset": 0, @@ -83190,7 +82200,7 @@ "type": "t_string_storage" }, { - "astId": 1982, + "astId": 1983, "contract": "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol:ERC20Burnable", "label": "_symbol", "offset": 0, @@ -83488,7 +82498,7 @@ "transferFrom(address,address,uint256)": "23b872dd" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC-20 standard.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface for the optional metadata functions from the ERC-20 standard.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through {transferFrom}. This is zero by default. This value changes when {approve} or {transferFrom} are called.\"},\"approve(address,uint256)\":{\"details\":\"Sets a `value` amount of tokens as the allowance of `spender` over the caller's tokens. Returns a boolean value indicating whether the operation succeeded. IMPORTANT: Beware that changing an allowance with this method brings the risk that someone may use both the old and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"decimals()\":{\"details\":\"Returns the decimals places of the token.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from the caller's account to `to`. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Moves a `value` amount of tokens from `from` to `to` using the allowance mechanism. `value` is then deducted from the caller's allowance. Returns a boolean value indicating whether the operation succeeded. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -83515,22 +82525,22 @@ "functionDebugData": {}, "generatedSources": [], "linkReferences": {}, - "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205965a49a4005a86ed954ab6e57bfedc675ff3c6b372d5d68bd315532662a642c64736f6c63430008160033", - "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MSIZE PUSH6 0xA49A4005A86E 0xD9 SLOAD 0xAB PUSH15 0x57BFEDC675FF3C6B372D5D68BD3155 ORIGIN PUSH7 0x2A642C64736F6C PUSH4 0x43000816 STOP CALLER ", - "sourceMap": "233:5815:20:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;233:5815:20;;;;;;;;;;;;;;;;;" + "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f0a467a10c04721c0fddc955e88d253117cad803d69d1e92bde08fd95759797764736f6c63430008160033", + "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CREATE LOG4 PUSH8 0xA10C04721C0FDDC9 SSTORE 0xE8 DUP14 0x25 BALANCE OR 0xCA 0xD8 SUB 0xD6 SWAP14 0x1E SWAP3 0xBD 0xE0 DUP16 0xD9 JUMPI MSIZE PUSH26 0x7764736F6C634300081600330000000000000000000000000000 ", + "sourceMap": "233:5762:20:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;233:5762:20;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, "generatedSources": [], "immutableReferences": {}, "linkReferences": {}, - "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205965a49a4005a86ed954ab6e57bfedc675ff3c6b372d5d68bd315532662a642c64736f6c63430008160033", - "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 MSIZE PUSH6 0xA49A4005A86E 0xD9 SLOAD 0xAB PUSH15 0x57BFEDC675FF3C6B372D5D68BD3155 ORIGIN PUSH7 0x2A642C64736F6C PUSH4 0x43000816 STOP CALLER ", - "sourceMap": "233:5815:20:-:0;;;;;;;;" + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f0a467a10c04721c0fddc955e88d253117cad803d69d1e92bde08fd95759797764736f6c63430008160033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CREATE LOG4 PUSH8 0xA10C04721C0FDDC9 SSTORE 0xE8 DUP14 0x25 BALANCE OR 0xCA 0xD8 SUB 0xD6 SWAP14 0x1E SWAP3 0xBD 0xE0 DUP16 0xD9 JUMPI MSIZE PUSH26 0x7764736F6C634300081600330000000000000000000000000000 ", + "sourceMap": "233:5762:20:-:0;;;;;;;;" }, "methodIdentifiers": {} }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -83710,7 +82720,7 @@ "supportsInterface(bytes4)": "01ffc9a7" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"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\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"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\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -83762,7 +82772,7 @@ "supportsInterface(bytes4)": "01ffc9a7" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"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\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"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\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -84496,7 +83506,7 @@ "type": "address" } ], - "name": "registerAgentWithProposal", + "name": "registerAgentWithService", "outputs": [], "stateMutability": "nonpayable", "type": "function" @@ -84655,9 +83665,9 @@ "evm": { "bytecode": { "functionDebugData": { - "@_3177": { + "@_3178": { "entryPoint": null, - "id": 3177, + "id": 3178, "parameterSlots": 0, "returnSlots": 0 }, @@ -84689,59 +83699,59 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:216:36", + "nativeSrc": "0:216:34", "nodeType": "YulBlock", - "src": "0:216:36", + "src": "0:216:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "113:101:36", + "nativeSrc": "113:101:34", "nodeType": "YulBlock", - "src": "113:101:36", + "src": "113:101:34", "statements": [ { - "nativeSrc": "123:26:36", + "nativeSrc": "123:26:34", "nodeType": "YulAssignment", - "src": "123:26:36", + "src": "123:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "135:9:36", + "nativeSrc": "135:9:34", "nodeType": "YulIdentifier", - "src": "135:9:36" + "src": "135:9:34" }, { "kind": "number", - "nativeSrc": "146:2:36", + "nativeSrc": "146:2:34", "nodeType": "YulLiteral", - "src": "146:2:36", + "src": "146:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "131:3:36", + "nativeSrc": "131:3:34", "nodeType": "YulIdentifier", - "src": "131:3:36" + "src": "131:3:34" }, - "nativeSrc": "131:18:36", + "nativeSrc": "131:18:34", "nodeType": "YulFunctionCall", - "src": "131:18:36" + "src": "131:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "123:4:36", + "nativeSrc": "123:4:34", "nodeType": "YulIdentifier", - "src": "123:4:36" + "src": "123:4:34" } ] }, @@ -84750,17 +83760,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "165:9:36", + "nativeSrc": "165:9:34", "nodeType": "YulIdentifier", - "src": "165:9:36" + "src": "165:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "180:6:36", + "nativeSrc": "180:6:34", "nodeType": "YulIdentifier", - "src": "180:6:36" + "src": "180:6:34" }, { "arguments": [ @@ -84768,120 +83778,120 @@ "arguments": [ { "kind": "number", - "nativeSrc": "196:2:36", + "nativeSrc": "196:2:34", "nodeType": "YulLiteral", - "src": "196:2:36", + "src": "196:2:34", "type": "", "value": "64" }, { "kind": "number", - "nativeSrc": "200:1:36", + "nativeSrc": "200:1:34", "nodeType": "YulLiteral", - "src": "200:1:36", + "src": "200:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "192:3:36", + "nativeSrc": "192:3:34", "nodeType": "YulIdentifier", - "src": "192:3:36" + "src": "192:3:34" }, - "nativeSrc": "192:10:36", + "nativeSrc": "192:10:34", "nodeType": "YulFunctionCall", - "src": "192:10:36" + "src": "192:10:34" }, { "kind": "number", - "nativeSrc": "204:1:36", + "nativeSrc": "204:1:34", "nodeType": "YulLiteral", - "src": "204:1:36", + "src": "204:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "188:3:36", + "nativeSrc": "188:3:34", "nodeType": "YulIdentifier", - "src": "188:3:36" + "src": "188:3:34" }, - "nativeSrc": "188:18:36", + "nativeSrc": "188:18:34", "nodeType": "YulFunctionCall", - "src": "188:18:36" + "src": "188:18:34" } ], "functionName": { "name": "and", - "nativeSrc": "176:3:36", + "nativeSrc": "176:3:34", "nodeType": "YulIdentifier", - "src": "176:3:36" + "src": "176:3:34" }, - "nativeSrc": "176:31:36", + "nativeSrc": "176:31:34", "nodeType": "YulFunctionCall", - "src": "176:31:36" + "src": "176:31:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "158:6:36", + "nativeSrc": "158:6:34", "nodeType": "YulIdentifier", - "src": "158:6:36" + "src": "158:6:34" }, - "nativeSrc": "158:50:36", + "nativeSrc": "158:50:34", "nodeType": "YulFunctionCall", - "src": "158:50:36" + "src": "158:50:34" }, - "nativeSrc": "158:50:36", + "nativeSrc": "158:50:34", "nodeType": "YulExpressionStatement", - "src": "158:50:36" + "src": "158:50:34" } ] }, "name": "abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed", - "nativeSrc": "14:200:36", + "nativeSrc": "14:200:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "82:9:36", + "nativeSrc": "82:9:34", "nodeType": "YulTypedName", - "src": "82:9:36", + "src": "82:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "93:6:36", + "nativeSrc": "93:6:34", "nodeType": "YulTypedName", - "src": "93:6:36", + "src": "93:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "104:4:36", + "nativeSrc": "104:4:34", "nodeType": "YulTypedName", - "src": "104:4:36", + "src": "104:4:34", "type": "" } ], - "src": "14:200:36" + "src": "14:200:34" } ] }, "contents": "{\n { }\n function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n }\n}", - "id": 36, + "id": 34, "language": "Yul", "name": "#utility.yul" } ], "linkReferences": {}, - "object": "60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb162000104600039600081816118f0015281816119190152611a5a0152612eb16000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b1461018657806309b6d8a7146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d4565b610544565b6040516101b89695949392919061223d565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f5565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ac565b610736565b6101e16102353660046124e5565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612548565b6108a8565b34801561027b57600080fd5b506101f961028a366004612565565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612591565b610bd9565b3480156102d057600080fd5b506102e46102df366004612565565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612591565b610d9d565b34801561034d57600080fd5b506101e161035c366004612548565b610ecf565b34801561036d57600080fd5b506101f961037c366004612548565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612548565b611035565b6040516101b89190612606565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612682565b34801561043157600080fd5b506101e1610440366004612695565b611207565b34801561045157600080fd5b506101e1610460366004612548565b61130e565b34801561047157600080fd5b506104856104803660046121d4565b611380565b6040516101b89190612700565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612548565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612548565b61153a565b34801561051e57600080fd5b5061053261052d366004612548565b611578565b6040516101b896959493929190612768565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bc565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f6565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612682565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612842565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5c83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f6565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b5565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612994565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a7565b6001600160a01b038616600090815260036020526040902060040154610b3491906129ba565b610b3e9190612994565b610b4891906129d1565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f6565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f3565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a72565b506001600160a01b0384166000908152600360205260409020600101610e858382612a72565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b31565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612186565b610fc7600183016000612186565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bc565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bc565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f3565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612682565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612842565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bc565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bc565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bc565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a72565b50600181016116fd8582612a72565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b31565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a72565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b56565b60405180910390a26005805490600061189783612b90565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5c833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba9565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5c8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba9565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc2565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612682565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612842565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c66565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612682565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c83565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d48565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8b565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3f565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612192906127bc565b6000825580601f106121a2575050565b601f01602090049060005260206000209081019061157591905b808211156121d057600081556001016121bc565b5090565b6000602082840312156121e657600080fd5b5035919050565b60005b838110156122085781810151838201526020016121f0565b50506000910152565b600081518084526122298160208601602086016121ed565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225f60c0840189612211565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d4576122d461229c565b60405290565b60405160a081016001600160401b03811182821017156122d4576122d461229c565b604051608081016001600160401b03811182821017156122d4576122d461229c565b604051606081016001600160401b03811182821017156122d4576122d461229c565b604051601f8201601f191681016001600160401b03811182821017156123685761236861229c565b604052919050565b60006001600160401b038211156123895761238961229c565b50601f01601f191660200190565b60006123aa6123a584612370565b612340565b90508281528383830111156123be57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e657600080fd5b61215683833560208501612397565b60008060008060008060c0878903121561240e57600080fd5b863561241981612287565b955060208701356001600160401b038082111561243557600080fd5b6124418a838b016123d5565b9650604089013591508082111561245757600080fd5b6124638a838b016123d5565b9550606089013591508082111561247957600080fd5b5061248689828a016123d5565b9350506080870135915060a087013561249e81612287565b809150509295509295509295565b600080604083850312156124bf57600080fd5b82356124ca81612287565b915060208301356124da81612287565b809150509250929050565b600080604083850312156124f857600080fd5b823561250381612287565b915060208301356001600160401b0381111561251e57600080fd5b8301601f8101851361252f57600080fd5b61253e85823560208401612397565b9150509250929050565b60006020828403121561255a57600080fd5b813561215681612287565b6000806040838503121561257857600080fd5b823561258381612287565b946020939093013593505050565b6000806000606084860312156125a657600080fd5b83356125b181612287565b925060208401356001600160401b03808211156125cd57600080fd5b6125d9878388016123d5565b935060408601359150808211156125ef57600080fd5b506125fc868287016123d5565b9150509250925092565b602081526000825160c0602084015261262260e0840182612211565b90506020840151601f1984830301604085015261263f8282612211565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612211565b600080600080608085870312156126ab57600080fd5b84356126b681612287565b935060208501356001600160401b038111156126d157600080fd5b6126dd878288016123d5565b9350506040850135915060608501356126f581612287565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272f60e0850182612211565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277b60c0830189612211565b828103602084015261278d8189612211565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127d057607f821691505b6020821081036127f057634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283d57600080fd5b919050565b60006020828403121561285457600080fd5b6121568261282d565b600082601f83011261286e57600080fd5b815161287c6123a582612370565b81815284602083860101111561289157600080fd5b6128a28260208301602087016121ed565b949350505050565b805161283d81612287565b6000602082840312156128c757600080fd5b81516001600160401b03808211156128de57600080fd5b9083019060c082860312156128f257600080fd5b6128fa6122b2565b82518281111561290957600080fd5b6129158782860161285d565b82525060208301518281111561292a57600080fd5b6129368782860161285d565b602083015250612948604084016128aa565b6040820152612959606084016128aa565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297e565b81810381811115610bbf57610bbf61297e565b8082028115828204841417610bbf57610bbf61297e565b6000826129ee57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a535750805b601f850160051c820191505b8181101561072e57828155600101612a5f565b81516001600160401b03811115612a8b57612a8b61229c565b612a9f81612a9984546127bc565b84612a2a565b602080601f831160018114612ad45760008415612abc5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0357888601518255948401946001909101908401612ae4565b5085821015612b215787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b446040830185612211565b82810360208401526120d68185612211565b848152608060208201526000612b6f6080830186612211565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba257612ba261297e565b5060010190565b600060208284031215612bbb57600080fd5b5051919050565b600060208284031215612bd457600080fd5b81516001600160401b0380821115612beb57600080fd5b9083019060a08286031215612bff57600080fd5b612c076122da565b8251612c1281612287565b8152602083015182811115612c2657600080fd5b612c328782860161285d565b6020830152506040830151604082015260608301516060820152612c586080840161282d565b608082015295945050505050565b600060208284031215612c7857600080fd5b815161215681612287565b600060208284031215612c9557600080fd5b81516001600160401b0380821115612cac57600080fd5b9083019060808286031215612cc057600080fd5b612cc86122fc565b825182811115612cd757600080fd5b612ce38782860161285d565b825250602083015182811115612cf857600080fd5b612d048782860161285d565b602083015250604083015182811115612d1c57600080fd5b612d288782860161285d565b604083015250612d3a6060840161282d565b606082015295945050505050565b606081526000612d5b6060830186612211565b8281036020840152612d6d8186612211565b90508281036040840152612d818185612211565b9695505050505050565b600060208284031215612d9d57600080fd5b81516001600160401b0380821115612db457600080fd5b9083019060608286031215612dc857600080fd5b612dd061231e565b825182811115612ddf57600080fd5b612deb8782860161285d565b825250602083015182811115612e0057600080fd5b612e0c8782860161285d565b602083015250604083015182811115612e2457600080fd5b612e308782860161285d565b60408301525095945050505050565b60008251612e518184602087016121ed565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c6dc0e94a614dd50e9378ddd58ca325a82f9f97158cc4a88aeddddc585efe7c364736f6c63430008160033", - "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x2EB1 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x18F0 ADD MSTORE DUP2 DUP2 PUSH2 0x1919 ADD MSTORE PUSH2 0x1A5A ADD MSTORE PUSH2 0x2EB1 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x181 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x97A6278E GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xB2D78069 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD7071B1F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD7071B1F EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0xDCA60776 EQ PUSH2 0x4D2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4F2 JUMPI DUP1 PUSH4 0xFD66091E EQ PUSH2 0x512 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xB2D78069 EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0xC7F758A8 EQ PUSH2 0x465 JUMPI DUP1 PUSH4 0xCBCF252A EQ PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x97A6278E EQ PUSH2 0x341 JUMPI DUP1 PUSH4 0x9C89A0E2 EQ PUSH2 0x361 JUMPI DUP1 PUSH4 0x9E498F16 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0xAAC9F15A EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x3E7 JUMPI DUP1 PUSH4 0xAEBFD80E EQ PUSH2 0x425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x7216FE48 GT PUSH2 0x118 JUMPI DUP1 PUSH4 0x7216FE48 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0x7B5C219D EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x96A45139 EQ PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0x70370A81 EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x28F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x13CF08B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x9B6D8A7 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x2AB09D14 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x485CC955 EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x23A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D4 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x223D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0x23F5 JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x24AC JUMP JUMPDEST PUSH2 0x736 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x24E5 JUMP JUMPDEST PUSH2 0x86C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x88B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x8A8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x28A CALLDATASIZE PUSH1 0x4 PUSH2 0x2565 JUMP JUMPDEST PUSH2 0xA07 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0xBC5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x2BF CALLDATASIZE PUSH1 0x4 PUSH2 0x2591 JUMP JUMPDEST PUSH2 0xBD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E4 PUSH2 0x2DF CALLDATASIZE PUSH1 0x4 PUSH2 0x2565 JUMP JUMPDEST PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x309 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x33C CALLDATASIZE PUSH1 0x4 PUSH2 0x2591 JUMP JUMPDEST PUSH2 0xD9D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x35C CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0xECF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DA PUSH2 0x3D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2606 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x418 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2682 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x440 CALLDATASIZE PUSH1 0x4 PUSH2 0x2695 JUMP JUMPDEST PUSH2 0x1207 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x451 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x460 CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x130E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x485 PUSH2 0x480 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D4 JUMP JUMPDEST PUSH2 0x1380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2700 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x4CD CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x14C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x50D CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x153A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x532 PUSH2 0x52D CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2768 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 SWAP2 PUSH2 0x570 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x59C SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP2 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 POP PUSH1 0xFF AND DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x65E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x68E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6AB 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 0x6CF SWAP2 SWAP1 PUSH2 0x2842 JUMP JUMPDEST PUSH2 0x714 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x722 DUP7 DUP7 DUP7 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x72E DUP7 DUP5 DUP5 DUP5 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x740 PUSH2 0x18A3 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x767 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x783 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x791 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x7AF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x7D9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x7E2 CALLER PUSH2 0x18CC JUMP JUMPDEST PUSH2 0x7EA PUSH2 0x18DD JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP3 DUP10 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR DUP2 SSTORE PUSH1 0x5 SSTORE DUP4 ISZERO PUSH2 0x863 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x874 PUSH2 0x18E5 JUMP JUMPDEST PUSH2 0x87D DUP3 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x887 DUP3 DUP3 PUSH2 0x1992 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x895 PUSH2 0x1A4F JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x8E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F6 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5564F8AD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xAAC9F15A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x92F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x957 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x28B5 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x995 JUMPI POP PUSH2 0x980 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x9E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F74206F776E6572206F72206167656E74206F776E65720000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x9FE DUP3 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x20 ADD MLOAD DUP5 PUSH1 0x40 ADD MLOAD DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x887 DUP3 PUSH2 0x1A98 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865205461736B526567697374727920636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x64 DUP3 GT ISZERO PUSH2 0xAB5 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0xAE1 SWAP1 DUP5 SWAP1 PUSH2 0x2994 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP3 PUSH2 0xB0E PUSH1 0x1 DUP4 PUSH2 0x29A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH2 0xB34 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0xB3E SWAP2 SWAP1 PUSH2 0x2994 JUMP JUMPDEST PUSH2 0xB48 SWAP2 SWAP1 PUSH2 0x29D1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP4 SWAP1 SSTORE MLOAD SWAP1 SWAP2 PUSH32 0xFC577563F1B9A0461E24ABEF1E1FCC0D33D3D881F20B5DF6DDA59DE4AAE2C821 SWAP2 PUSH2 0xB99 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBCD PUSH2 0x1BEF JUMP JUMPDEST PUSH2 0xBD7 PUSH1 0x0 PUSH2 0x1C21 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0xC15 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F6 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 DUP4 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP2 DUP5 SWAP2 AND CALLER EQ PUSH2 0xC68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND SWAP2 AND EQ PUSH2 0xCD1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0xCFB PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2186 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP5 SWAP2 AND CALLER EQ PUSH2 0xDDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xE3D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xE5F DUP5 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD PUSH2 0xE85 DUP4 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x244B747F2AC491B7662C44209B5F6110934A8725F40D2BD91805F9D919A78B10 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xEC1 SWAP3 SWAP2 SWAP1 PUSH2 0x2B31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP2 AND CALLER EQ PUSH2 0xF0D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xF6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD AND PUSH2 0xF96 DUP4 PUSH2 0x1C92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0xFB9 DUP3 DUP3 PUSH2 0x2186 JUMP JUMPDEST PUSH2 0xFC7 PUSH1 0x1 DUP4 ADD PUSH1 0x0 PUSH2 0x2186 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP3 SWAP1 DUP7 AND SWAP2 PUSH32 0x4CE8B3FE8E0BF47A6FEFBECDFD7C799755CEDE6061655521B10FC2E4B1FCC6B3 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1080 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD SWAP1 SWAP2 SWAP1 DUP3 SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH2 0x10B7 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10E3 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1130 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1105 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1130 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1113 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1149 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1175 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11C2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1197 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11C2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11A5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x3 DUP4 ADD SLOAD AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP6 SWAP2 AND CALLER EQ PUSH2 0x1245 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1275 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1292 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 0x12B6 SWAP2 SWAP1 PUSH2 0x2842 JUMP JUMPDEST PUSH2 0x12FB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1307 DUP6 DUP6 DUP6 DUP6 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1316 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x135E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x13CD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x1409 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1435 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1482 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1457 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1482 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1465 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14D0 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1518 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x156C JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1C21 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP2 SWAP1 PUSH2 0x1593 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x15BF SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x160C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x160C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x15EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1621 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x164D SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x169A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x166F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x169A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x167D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP5 SWAP3 SWAP1 SWAP2 AND SWAP3 POP SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 PUSH2 0x16EE DUP7 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0x16FD DUP6 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP2 DUP11 AND SWAP2 SWAP1 SWAP3 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP4 ADD DUP5 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x2A562EFB52E7CEC209321F57200606311256DA6D2A1B19D44DB7837A3209DE28 SWAP1 PUSH2 0x176B SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH2 0x2B31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP8 DUP2 MSTORE DUP4 DUP6 ADD DUP8 SWAP1 MSTORE DUP6 DUP4 AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x5 SLOAD PUSH1 0x80 DUP6 ADD DUP2 SWAP1 MSTORE PUSH1 0x1 PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x4 SWAP1 SWAP4 MSTORE SWAP5 SWAP1 SWAP5 KECCAK256 DUP4 MLOAD DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR DUP3 SSTORE SWAP3 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP3 ADD SWAP1 PUSH2 0x17F3 SWAP1 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x40 DUP3 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x3 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND OR SWAP1 SSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x4 DUP5 ADD SSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD MLOAD PUSH1 0x5 SWAP3 DUP4 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE SWAP1 SLOAD SWAP1 MLOAD SWAP2 DUP8 AND SWAP2 PUSH32 0xA6E87A4BA187A506BB81720F5FBD241C879EC33DF712DE8C1BFCCC354DBE450F SWAP2 PUSH2 0x187F SWAP2 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH2 0x2B56 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x5 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x1897 DUP4 PUSH2 0x2B90 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0xBBF JUMP JUMPDEST PUSH2 0x18D4 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1DA0 JUMP JUMPDEST PUSH2 0xBD7 PUSH2 0x1D7B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x196C JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1960 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1575 PUSH2 0x1BEF JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x19EC JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x19E9 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2BA9 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1A14 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x1A45 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 PUSH2 0x1DA8 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2AB09D14 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 0x1AEC 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 0x1B10 SWAP2 SWAP1 PUSH2 0x2BA9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1B8F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2BC2 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x1BB8 JUMPI POP DUP1 PUSH1 0x80 ADD MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x1BC3 JUMPI POP PUSH2 0x1BE7 JUMP JUMPDEST PUSH2 0x1BD0 DUP2 PUSH1 0x20 ADD MLOAD PUSH2 0x1DFE JUMP JUMPDEST PUSH2 0x1BE5 DUP5 DUP3 PUSH1 0x20 ADD MLOAD DUP4 PUSH1 0x40 ADD MLOAD PUSH1 0x0 PUSH2 0x177B JUMP JUMPDEST POP JUMPDEST PUSH1 0x1 ADD PUSH2 0x1B15 JUMP JUMPDEST CALLER PUSH2 0x1BF8 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 SLOAD DUP2 LT ISZERO PUSH2 0x887 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP2 AND EQ DUP1 ISZERO PUSH2 0x1CD9 JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x1D73 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0x1D08 PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2186 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST PUSH1 0x1 ADD PUSH2 0x1C95 JUMP JUMPDEST PUSH2 0x1D83 PUSH2 0x1FEA JUMP JUMPDEST PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1542 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1DB1 DUP3 PUSH2 0x2004 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1DF6 JUMPI PUSH2 0xC23 DUP3 DUP3 PUSH2 0x2069 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1E2E SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E4B 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 0x1E6F SWAP2 SWAP1 PUSH2 0x2842 JUMP JUMPDEST PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xCBCF252A 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 0x1EC7 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 0x1EEB SWAP2 SWAP1 PUSH2 0x2C66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3CA3AC5F PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 POP DUP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x794758BE SWAP1 PUSH2 0x1F1F SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F3C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1F64 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2C83 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD SWAP1 MLOAD PUSH4 0x3BD5F621 PUSH1 0xE2 SHL DUP2 MSTORE SWAP5 SWAP6 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP4 PUSH4 0xEF57D884 SWAP4 PUSH2 0x1FA3 SWAP4 SWAP3 SWAP2 PUSH1 0x4 ADD PUSH2 0x2D48 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1FC2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1307 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D8B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF4 PUSH2 0x18A3 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x203A JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x2086 SWAP2 SWAP1 PUSH2 0x2E3F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x20C1 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 0x20C6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x20D6 DUP6 DUP4 DUP4 PUSH2 0x20FE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x2113 JUMPI PUSH2 0x210E DUP3 PUSH2 0x215D JUMP JUMPDEST PUSH2 0x2156 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x212A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2153 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x216D JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP1 SLOAD PUSH2 0x2192 SWAP1 PUSH2 0x27BC JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x21A2 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1575 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x21D0 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x21BC JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x21E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2208 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x21F0 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x2229 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x21ED JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP10 AND DUP4 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x225F PUSH1 0xC0 DUP5 ADD DUP10 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD SWAP8 SWAP1 SWAP8 MSTORE SWAP5 SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xA0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x80 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x2368 JUMPI PUSH2 0x2368 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x2389 JUMPI PUSH2 0x2389 PUSH2 0x229C JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23AA PUSH2 0x23A5 DUP5 PUSH2 0x2370 JUMP JUMPDEST PUSH2 0x2340 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x23BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x23E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x2397 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x240E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x2419 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2435 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2441 DUP11 DUP4 DUP12 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2463 DUP11 DUP4 DUP12 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2479 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2486 DUP10 DUP3 DUP11 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x249E DUP2 PUSH2 0x2287 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x24CA DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x24DA DUP2 PUSH2 0x2287 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2503 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x251E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x252F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x253E DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x2397 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x255A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2156 DUP2 PUSH2 0x2287 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2578 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2583 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x25A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x25B1 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x25CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x25D9 DUP8 DUP4 DUP9 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x25EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25FC DUP7 DUP3 DUP8 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2622 PUSH1 0xE0 DUP5 ADD DUP3 PUSH2 0x2211 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP5 DUP4 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x263F DUP3 DUP3 PUSH2 0x2211 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x60 DUP7 ADD MSTORE DUP1 PUSH1 0x60 DUP8 ADD MLOAD AND PUSH1 0x80 DUP7 ADD MSTORE POP POP PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2156 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x26AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x26B6 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26DD DUP8 DUP3 DUP9 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x26F5 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP5 MLOAD AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0xC0 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x272F PUSH1 0xE0 DUP6 ADD DUP3 PUSH2 0x2211 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP2 PUSH1 0x60 DUP7 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xA0 DUP6 ADD MLOAD ISZERO ISZERO PUSH1 0xC0 DUP6 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x277B PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x2211 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x278D DUP2 DUP10 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND PUSH1 0x40 DUP6 ADD MSTORE SWAP6 SWAP1 SWAP7 AND PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x27D0 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x27F0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x18 SWAP1 DUP3 ADD MSTORE PUSH32 0x4167656E7420616C726561647920726567697374657265640000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x283D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2854 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP3 PUSH2 0x282D JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x286E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x287C PUSH2 0x23A5 DUP3 PUSH2 0x2370 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x2891 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28A2 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x21ED JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH2 0x283D DUP2 PUSH2 0x2287 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x28DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x28F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28FA PUSH2 0x22B2 JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2909 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2915 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x292A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2936 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x2948 PUSH1 0x40 DUP5 ADD PUSH2 0x28AA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2959 PUSH1 0x60 DUP5 ADD PUSH2 0x28AA JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297E JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297E JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297E JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x29EE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865206F776E6572206F6620746865206167656E74000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2A53 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2A5F JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2A8B JUMPI PUSH2 0x2A8B PUSH2 0x229C JUMP JUMPDEST PUSH2 0x2A9F DUP2 PUSH2 0x2A99 DUP5 SLOAD PUSH2 0x27BC JUMP JUMPDEST DUP5 PUSH2 0x2A2A JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2AD4 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2ABC JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2B03 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2AE4 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x2B21 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2B44 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2211 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x20D6 DUP2 DUP6 PUSH2 0x2211 JUMP JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2B6F PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2BA2 JUMPI PUSH2 0x2BA2 PUSH2 0x297E JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BBB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2BEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xA0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2BFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C07 PUSH2 0x22DA JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2C12 DUP2 PUSH2 0x2287 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2C26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C32 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x2C58 PUSH1 0x80 DUP5 ADD PUSH2 0x282D JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2156 DUP2 PUSH2 0x2287 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2CAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x80 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2CC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CC8 PUSH2 0x22FC JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CE3 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D04 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2D1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D28 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH2 0x2D3A PUSH1 0x60 DUP5 ADD PUSH2 0x282D JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2D5B PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2211 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2D6D DUP2 DUP7 PUSH2 0x2211 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x2D81 DUP2 DUP6 PUSH2 0x2211 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x60 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2DC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DD0 PUSH2 0x231E JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DEB DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E0C DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E30 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2E51 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x21ED JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220C6 0xDC 0xE SWAP5 0xA6 EQ 0xDD POP 0xE9 CALLDATACOPY DUP14 0xDD PC 0xCA ORIGIN GAS DUP3 0xF9 0xF9 PUSH18 0x58CC4A88AEDDDDC585EFE7C364736F6C6343 STOP ADDMOD AND STOP CALLER ", - "sourceMap": "961:13135:26:-:0;;;1171:4:2;1128:48;;1762:53:26;;;;;;;;;-1:-1:-1;1786:22:26;:20;:22::i;:::-;961:13135;;7709:422:1;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:1;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:1;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:1;-1:-1:-1;;;;;8033:33:1;;;;;8085:29;;158:50:36;;;8085:29:1;;146:2:36;131:18;8085:29:1;;;;;;;7979:146;7758:373;7709:422::o;14:200:36:-;961:13135:26;;;;;;;;;;;;;;;;;;;;;;" + "object": "60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb062000104600039600081816118f0015281816119190152611a5a0152612eb06000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033", + "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x2EB0 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x18F0 ADD MSTORE DUP2 DUP2 PUSH2 0x1919 ADD MSTORE PUSH2 0x1A5A ADD MSTORE PUSH2 0x2EB0 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x181 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x97A6278E GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xB2D78069 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD7071B1F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD7071B1F EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0xDCA60776 EQ PUSH2 0x4D2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4F2 JUMPI DUP1 PUSH4 0xFD66091E EQ PUSH2 0x512 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xB2D78069 EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0xC7F758A8 EQ PUSH2 0x465 JUMPI DUP1 PUSH4 0xCBCF252A EQ PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x97A6278E EQ PUSH2 0x341 JUMPI DUP1 PUSH4 0x9C89A0E2 EQ PUSH2 0x361 JUMPI DUP1 PUSH4 0x9E498F16 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0xAAC9F15A EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x3E7 JUMPI DUP1 PUSH4 0xAEBFD80E EQ PUSH2 0x425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x7216FE48 GT PUSH2 0x118 JUMPI DUP1 PUSH4 0x7216FE48 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0x7B5C219D EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x96A45139 EQ PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0x70370A81 EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x28F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x13CF08B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x270BAAA8 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x2AB09D14 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x485CC955 EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x23A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D3 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x223C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0x23F4 JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x24AB JUMP JUMPDEST PUSH2 0x736 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x24E4 JUMP JUMPDEST PUSH2 0x86C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x88B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x8A8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x28A CALLDATASIZE PUSH1 0x4 PUSH2 0x2564 JUMP JUMPDEST PUSH2 0xA07 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0xBC5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x2BF CALLDATASIZE PUSH1 0x4 PUSH2 0x2590 JUMP JUMPDEST PUSH2 0xBD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E4 PUSH2 0x2DF CALLDATASIZE PUSH1 0x4 PUSH2 0x2564 JUMP JUMPDEST PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x309 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x33C CALLDATASIZE PUSH1 0x4 PUSH2 0x2590 JUMP JUMPDEST PUSH2 0xD9D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x35C CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0xECF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DA PUSH2 0x3D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2605 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x418 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2681 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x440 CALLDATASIZE PUSH1 0x4 PUSH2 0x2694 JUMP JUMPDEST PUSH2 0x1207 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x451 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x460 CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x130E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x485 PUSH2 0x480 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D3 JUMP JUMPDEST PUSH2 0x1380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x26FF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x4CD CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x14C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x50D CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x153A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x532 PUSH2 0x52D CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2767 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 SWAP2 PUSH2 0x570 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x59C SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP2 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 POP PUSH1 0xFF AND DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x65E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x68E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6AB 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 0x6CF SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x714 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x722 DUP7 DUP7 DUP7 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x72E DUP7 DUP5 DUP5 DUP5 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x740 PUSH2 0x18A3 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x767 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x783 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x791 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x7AF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x7D9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x7E2 CALLER PUSH2 0x18CC JUMP JUMPDEST PUSH2 0x7EA PUSH2 0x18DD JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP3 DUP10 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR DUP2 SSTORE PUSH1 0x5 SSTORE DUP4 ISZERO PUSH2 0x863 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x874 PUSH2 0x18E5 JUMP JUMPDEST PUSH2 0x87D DUP3 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x887 DUP3 DUP3 PUSH2 0x1992 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x895 PUSH2 0x1A4F JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x8E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5564F8AD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xAAC9F15A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x92F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x957 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x28B4 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x995 JUMPI POP PUSH2 0x980 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x9E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F74206F776E6572206F72206167656E74206F776E65720000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x9FE DUP3 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x20 ADD MLOAD DUP5 PUSH1 0x40 ADD MLOAD DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x887 DUP3 PUSH2 0x1A98 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865205461736B526567697374727920636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x64 DUP3 GT ISZERO PUSH2 0xAB5 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0xAE1 SWAP1 DUP5 SWAP1 PUSH2 0x2993 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP3 PUSH2 0xB0E PUSH1 0x1 DUP4 PUSH2 0x29A6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH2 0xB34 SWAP2 SWAP1 PUSH2 0x29B9 JUMP JUMPDEST PUSH2 0xB3E SWAP2 SWAP1 PUSH2 0x2993 JUMP JUMPDEST PUSH2 0xB48 SWAP2 SWAP1 PUSH2 0x29D0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP4 SWAP1 SSTORE MLOAD SWAP1 SWAP2 PUSH32 0xFC577563F1B9A0461E24ABEF1E1FCC0D33D3D881F20B5DF6DDA59DE4AAE2C821 SWAP2 PUSH2 0xB99 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBCD PUSH2 0x1BEF JUMP JUMPDEST PUSH2 0xBD7 PUSH1 0x0 PUSH2 0x1C21 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0xC15 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 DUP4 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP2 DUP5 SWAP2 AND CALLER EQ PUSH2 0xC68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND SWAP2 AND EQ PUSH2 0xCD1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0xCFB PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP5 SWAP2 AND CALLER EQ PUSH2 0xDDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xE3D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xE5F DUP5 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD PUSH2 0xE85 DUP4 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x244B747F2AC491B7662C44209B5F6110934A8725F40D2BD91805F9D919A78B10 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xEC1 SWAP3 SWAP2 SWAP1 PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP2 AND CALLER EQ PUSH2 0xF0D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xF6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD AND PUSH2 0xF96 DUP4 PUSH2 0x1C92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0xFB9 DUP3 DUP3 PUSH2 0x2185 JUMP JUMPDEST PUSH2 0xFC7 PUSH1 0x1 DUP4 ADD PUSH1 0x0 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP3 SWAP1 DUP7 AND SWAP2 PUSH32 0x4CE8B3FE8E0BF47A6FEFBECDFD7C799755CEDE6061655521B10FC2E4B1FCC6B3 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1080 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD SWAP1 SWAP2 SWAP1 DUP3 SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH2 0x10B7 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10E3 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1130 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1105 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1130 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1113 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1149 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1175 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11C2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1197 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11C2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11A5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x3 DUP4 ADD SLOAD AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP6 SWAP2 AND CALLER EQ PUSH2 0x1245 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1275 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1292 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 0x12B6 SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x12FB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1307 DUP6 DUP6 DUP6 DUP6 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1316 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x135E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x13CD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x1409 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1435 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1482 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1457 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1482 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1465 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14D0 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1518 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x156C JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1C21 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP2 SWAP1 PUSH2 0x1593 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x15BF SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x160C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x160C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x15EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1621 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x164D SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x169A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x166F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x169A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x167D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP5 SWAP3 SWAP1 SWAP2 AND SWAP3 POP SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 PUSH2 0x16EE DUP7 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0x16FD DUP6 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP2 DUP11 AND SWAP2 SWAP1 SWAP3 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP4 ADD DUP5 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x2A562EFB52E7CEC209321F57200606311256DA6D2A1B19D44DB7837A3209DE28 SWAP1 PUSH2 0x176B SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP8 DUP2 MSTORE DUP4 DUP6 ADD DUP8 SWAP1 MSTORE DUP6 DUP4 AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x5 SLOAD PUSH1 0x80 DUP6 ADD DUP2 SWAP1 MSTORE PUSH1 0x1 PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x4 SWAP1 SWAP4 MSTORE SWAP5 SWAP1 SWAP5 KECCAK256 DUP4 MLOAD DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR DUP3 SSTORE SWAP3 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP3 ADD SWAP1 PUSH2 0x17F3 SWAP1 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x40 DUP3 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x3 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND OR SWAP1 SSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x4 DUP5 ADD SSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD MLOAD PUSH1 0x5 SWAP3 DUP4 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE SWAP1 SLOAD SWAP1 MLOAD SWAP2 DUP8 AND SWAP2 PUSH32 0xA6E87A4BA187A506BB81720F5FBD241C879EC33DF712DE8C1BFCCC354DBE450F SWAP2 PUSH2 0x187F SWAP2 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH2 0x2B55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x5 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x1897 DUP4 PUSH2 0x2B8F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0xBBF JUMP JUMPDEST PUSH2 0x18D4 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1DA0 JUMP JUMPDEST PUSH2 0xBD7 PUSH2 0x1D7B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x196C JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1960 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1575 PUSH2 0x1BEF JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x19EC JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x19E9 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1A14 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x1A45 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 PUSH2 0x1DA8 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2AB09D14 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 0x1AEC 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 0x1B10 SWAP2 SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1B8F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2BC1 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x1BB8 JUMPI POP DUP1 PUSH1 0x80 ADD MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x1BC3 JUMPI POP PUSH2 0x1BE7 JUMP JUMPDEST PUSH2 0x1BD0 DUP2 PUSH1 0x20 ADD MLOAD PUSH2 0x1DFE JUMP JUMPDEST PUSH2 0x1BE5 DUP5 DUP3 PUSH1 0x20 ADD MLOAD DUP4 PUSH1 0x40 ADD MLOAD PUSH1 0x0 PUSH2 0x177B JUMP JUMPDEST POP JUMPDEST PUSH1 0x1 ADD PUSH2 0x1B15 JUMP JUMPDEST CALLER PUSH2 0x1BF8 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 SLOAD DUP2 LT ISZERO PUSH2 0x887 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP2 AND EQ DUP1 ISZERO PUSH2 0x1CD9 JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x1D73 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0x1D08 PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST PUSH1 0x1 ADD PUSH2 0x1C95 JUMP JUMPDEST PUSH2 0x1D83 PUSH2 0x1FEA JUMP JUMPDEST PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1542 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1DB1 DUP3 PUSH2 0x2004 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1DF6 JUMPI PUSH2 0xC23 DUP3 DUP3 PUSH2 0x2069 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1E2E SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E4B 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 0x1E6F SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xCBCF252A 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 0x1EC7 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 0x1EEB SWAP2 SWAP1 PUSH2 0x2C65 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3CA3AC5F PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 POP DUP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x794758BE SWAP1 PUSH2 0x1F1F SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F3C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1F64 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2C82 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD SWAP1 MLOAD PUSH4 0x3BD5F621 PUSH1 0xE2 SHL DUP2 MSTORE SWAP5 SWAP6 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP4 PUSH4 0xEF57D884 SWAP4 PUSH2 0x1FA3 SWAP4 SWAP3 SWAP2 PUSH1 0x4 ADD PUSH2 0x2D47 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1FC2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1307 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D8A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF4 PUSH2 0x18A3 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x203A JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x2086 SWAP2 SWAP1 PUSH2 0x2E3E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x20C1 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 0x20C6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x20D6 DUP6 DUP4 DUP4 PUSH2 0x20FE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x2113 JUMPI PUSH2 0x210E DUP3 PUSH2 0x215D JUMP JUMPDEST PUSH2 0x2156 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x212A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2153 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x216C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP1 SLOAD PUSH2 0x2191 SWAP1 PUSH2 0x27BB JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x21A1 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1575 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x21CF JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x21BB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x21E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2207 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x21EF JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x2228 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x21EC JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP10 AND DUP4 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x225E PUSH1 0xC0 DUP5 ADD DUP10 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD SWAP8 SWAP1 SWAP8 MSTORE SWAP5 SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xA0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x80 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x2367 JUMPI PUSH2 0x2367 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x2388 JUMPI PUSH2 0x2388 PUSH2 0x229B JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23A9 PUSH2 0x23A4 DUP5 PUSH2 0x236F JUMP JUMPDEST PUSH2 0x233F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x23BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x23E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x2396 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x240D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x2418 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2434 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2440 DUP11 DUP4 DUP12 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2456 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2462 DUP11 DUP4 DUP12 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2478 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2485 DUP10 DUP3 DUP11 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x249D DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x24C9 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x24D9 DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2502 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x251D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x252E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x253D DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x2396 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2559 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2156 DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2577 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2582 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x25A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x25B0 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x25CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x25D8 DUP8 DUP4 DUP9 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x25EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25FB DUP7 DUP3 DUP8 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2621 PUSH1 0xE0 DUP5 ADD DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP5 DUP4 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x263E DUP3 DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x60 DUP7 ADD MSTORE DUP1 PUSH1 0x60 DUP8 ADD MLOAD AND PUSH1 0x80 DUP7 ADD MSTORE POP POP PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2156 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x26AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x26B5 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26DC DUP8 DUP3 DUP9 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x26F4 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP5 MLOAD AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0xC0 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x272E PUSH1 0xE0 DUP6 ADD DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP2 PUSH1 0x60 DUP7 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xA0 DUP6 ADD MLOAD ISZERO ISZERO PUSH1 0xC0 DUP6 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x277A PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x278C DUP2 DUP10 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND PUSH1 0x40 DUP6 ADD MSTORE SWAP6 SWAP1 SWAP7 AND PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x27CF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x27EF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x18 SWAP1 DUP3 ADD MSTORE PUSH32 0x4167656E7420616C726561647920726567697374657265640000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x283C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP3 PUSH2 0x282C JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x286D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x287B PUSH2 0x23A4 DUP3 PUSH2 0x236F JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x2890 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28A1 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x21EC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH2 0x283C DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x28DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x28F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28F9 PUSH2 0x22B1 JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2908 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2914 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2929 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2935 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x2947 PUSH1 0x40 DUP5 ADD PUSH2 0x28A9 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2958 PUSH1 0x60 DUP5 ADD PUSH2 0x28A9 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x29ED JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865206F776E6572206F6620746865206167656E74000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2A52 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2A5E JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2A8A JUMPI PUSH2 0x2A8A PUSH2 0x229B JUMP JUMPDEST PUSH2 0x2A9E DUP2 PUSH2 0x2A98 DUP5 SLOAD PUSH2 0x27BB JUMP JUMPDEST DUP5 PUSH2 0x2A29 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2AD3 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2ABB JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2B02 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2AE3 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x2B20 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2B43 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x20D6 DUP2 DUP6 PUSH2 0x2210 JUMP JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2B6E PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2BA1 JUMPI PUSH2 0x2BA1 PUSH2 0x297D JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2BEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xA0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2BFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C06 PUSH2 0x22D9 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2C11 DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2C25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C31 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x2C57 PUSH1 0x80 DUP5 ADD PUSH2 0x282C JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C77 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2156 DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2CAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x80 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2CBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CC7 PUSH2 0x22FB JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CE2 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D03 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2D1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D27 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH2 0x2D39 PUSH1 0x60 DUP5 ADD PUSH2 0x282C JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2D5A PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2D6C DUP2 DUP7 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x2D80 DUP2 DUP6 PUSH2 0x2210 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x60 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2DC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DCF PUSH2 0x231D JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DEA DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E0B DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E2F DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2E50 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x21EC JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220E6 PUSH28 0x6B991D09FEF792E3DB660BFACD5075339C91E8CDDAD24262B3C4C2FC 0xDC 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "961:13134:26:-:0;;;1171:4:2;1128:48;;1762:53:26;;;;;;;;;-1:-1:-1;1786:22:26;:20;:22::i;:::-;961:13134;;7709:422:1;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:1;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:1;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:1;-1:-1:-1;;;;;8033:33:1;;;;;8085:29;;158:50:34;;;8085:29:1;;146:2:34;131:18;8085:29:1;;;;;;;7979:146;7758:373;7709:422::o;14:200:34:-;961:13134:26;;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": { @@ -84909,9 +83919,9 @@ "parameterSlots": 0, "returnSlots": 0 }, - "@_authorizeUpgrade_4010": { + "@_authorizeUpgrade_4011": { "entryPoint": 6538, - "id": 4010, + "id": 4011, "parameterSlots": 1, "returnSlots": 0 }, @@ -84921,9 +83931,9 @@ "parameterSlots": 0, "returnSlots": 0 }, - "@_checkNonPayable_1716": { + "@_checkNonPayable_1717": { "entryPoint": 8415, - "id": 1716, + "id": 1717, "parameterSlots": 0, "returnSlots": 0 }, @@ -84945,21 +83955,21 @@ "parameterSlots": 0, "returnSlots": 0 }, - "@_createAgent_3802": { + "@_createAgent_3803": { "entryPoint": 5835, - "id": 3802, + "id": 3803, "parameterSlots": 5, "returnSlots": 0 }, - "@_createProposal_3843": { + "@_createProposal_3844": { "entryPoint": 6011, - "id": 3843, + "id": 3844, "parameterSlots": 4, "returnSlots": 0 }, - "@_ensureServiceRegistered_3892": { + "@_ensureServiceRegistered_3893": { "entryPoint": 7678, - "id": 3892, + "id": 3893, "parameterSlots": 1, "returnSlots": 0 }, @@ -84987,9 +83997,9 @@ "parameterSlots": 0, "returnSlots": 1 }, - "@_migrateAgentProposals_3958": { + "@_migrateAgentProposals_3959": { "entryPoint": 6808, - "id": 3958, + "id": 3959, "parameterSlots": 1, "returnSlots": 0 }, @@ -84999,21 +84009,21 @@ "parameterSlots": 0, "returnSlots": 1 }, - "@_removeAllAgentProposals_4000": { + "@_removeAllAgentProposals_4001": { "entryPoint": 7314, - "id": 4000, + "id": 4001, "parameterSlots": 1, "returnSlots": 0 }, - "@_revert_2871": { + "@_revert_2872": { "entryPoint": 8541, - "id": 2871, + "id": 2872, "parameterSlots": 1, "returnSlots": 0 }, - "@_setImplementation_1496": { + "@_setImplementation_1497": { "entryPoint": 8196, - "id": 1496, + "id": 1497, "parameterSlots": 1, "returnSlots": 0 }, @@ -85029,81 +84039,81 @@ "parameterSlots": 2, "returnSlots": 0 }, - "@addProposal_3434": { + "@addProposal_3435": { "entryPoint": 4615, - "id": 3434, + "id": 3435, "parameterSlots": 4, "returnSlots": 0 }, - "@addRating_3608": { + "@addRating_3609": { "entryPoint": 2567, - "id": 3608, + "id": 3609, "parameterSlots": 2, "returnSlots": 1 }, - "@agentRegistryV1_3135": { + "@agentRegistryV1_3136": { "entryPoint": null, - "id": 3135, + "id": 3136, "parameterSlots": 0, "returnSlots": 0 }, - "@agents_3145": { + "@agents_3146": { "entryPoint": 5496, - "id": 3145, + "id": 3146, "parameterSlots": 0, "returnSlots": 0 }, - "@functionDelegateCall_2789": { + "@functionDelegateCall_2790": { "entryPoint": 8297, - "id": 2789, + "id": 2790, "parameterSlots": 2, "returnSlots": 1 }, - "@getAddressSlot_2959": { + "@getAddressSlot_2960": { "entryPoint": null, - "id": 2959, + "id": 2960, "parameterSlots": 1, "returnSlots": 1 }, - "@getAgentData_3640": { + "@getAgentData_3641": { "entryPoint": 4149, - "id": 3640, + "id": 3641, "parameterSlots": 1, "returnSlots": 1 }, - "@getImplementation_1469": { + "@getImplementation_1470": { "entryPoint": null, - "id": 1469, + "id": 1470, "parameterSlots": 0, "returnSlots": 1 }, - "@getProposal_3653": { + "@getProposal_3654": { "entryPoint": 4992, - "id": 3653, + "id": 3654, "parameterSlots": 1, "returnSlots": 1 }, - "@getReputation_3621": { + "@getReputation_3622": { "entryPoint": null, - "id": 3621, + "id": 3622, "parameterSlots": 1, "returnSlots": 1 }, - "@initialize_3210": { + "@initialize_3211": { "entryPoint": 1846, - "id": 3210, + "id": 3211, "parameterSlots": 2, "returnSlots": 0 }, - "@migrateAgent_3533": { + "@migrateAgent_3534": { "entryPoint": 2216, - "id": 3533, + "id": 3534, "parameterSlots": 1, "returnSlots": 0 }, - "@nextProposalId_3152": { + "@nextProposalId_3153": { "entryPoint": null, - "id": 3152, + "id": 3153, "parameterSlots": 0, "returnSlots": 0 }, @@ -85113,9 +84123,9 @@ "parameterSlots": 0, "returnSlots": 1 }, - "@proposals_3150": { + "@proposals_3151": { "entryPoint": 1348, - "id": 3150, + "id": 3151, "parameterSlots": 0, "returnSlots": 0 }, @@ -85125,27 +84135,27 @@ "parameterSlots": 0, "returnSlots": 1 }, - "@registerAgentWithProposal_3403": { + "@registerAgentWithService_3404": { "entryPoint": 1561, - "id": 3403, + "id": 3404, "parameterSlots": 6, "returnSlots": 0 }, - "@registerAgent_3349": { + "@registerAgent_3350": { "entryPoint": 3033, - "id": 3349, + "id": 3350, "parameterSlots": 3, "returnSlots": 0 }, - "@removeAgent_3744": { + "@removeAgent_3745": { "entryPoint": 3791, - "id": 3744, + "id": 3745, "parameterSlots": 1, "returnSlots": 0 }, - "@removeProposal_3470": { + "@removeProposal_3471": { "entryPoint": 3112, - "id": 3470, + "id": 3471, "parameterSlots": 2, "returnSlots": 1 }, @@ -85155,33 +84165,33 @@ "parameterSlots": 0, "returnSlots": 0 }, - "@serviceRegistry_3138": { + "@serviceRegistry_3139": { "entryPoint": null, - "id": 3138, + "id": 3139, "parameterSlots": 0, "returnSlots": 0 }, - "@setAgentData_3700": { + "@setAgentData_3701": { "entryPoint": 3485, - "id": 3700, + "id": 3701, "parameterSlots": 3, "returnSlots": 0 }, - "@setServiceRegistry_3316": { + "@setServiceRegistry_3317": { "entryPoint": 5320, - "id": 3316, + "id": 3317, "parameterSlots": 1, "returnSlots": 0 }, - "@setTaskRegistry_3291": { + "@setTaskRegistry_3292": { "entryPoint": 4878, - "id": 3291, + "id": 3292, "parameterSlots": 1, "returnSlots": 0 }, - "@taskRegistry_3140": { + "@taskRegistry_3141": { "entryPoint": null, - "id": 3140, + "id": 3141, "parameterSlots": 0, "returnSlots": 0 }, @@ -85191,9 +84201,9 @@ "parameterSlots": 1, "returnSlots": 0 }, - "@upgradeToAndCall_1532": { + "@upgradeToAndCall_1533": { "entryPoint": 7592, - "id": 1532, + "id": 1533, "parameterSlots": 2, "returnSlots": 0 }, @@ -85203,128 +84213,128 @@ "parameterSlots": 2, "returnSlots": 0 }, - "@verifyCallResultFromTarget_2829": { + "@verifyCallResultFromTarget_2830": { "entryPoint": 8446, - "id": 2829, + "id": 2830, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_address_fromMemory": { - "entryPoint": 10410, + "entryPoint": 10409, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_available_length_string": { - "entryPoint": 9111, + "entryPoint": 9110, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_bool_fromMemory": { - "entryPoint": 10285, + "entryPoint": 10284, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_string": { - "entryPoint": 9173, + "entryPoint": 9172, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_string_fromMemory": { - "entryPoint": 10333, + "entryPoint": 10332, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_address": { - "entryPoint": 9544, + "entryPoint": 9543, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_address_fromMemory": { - "entryPoint": 11366, + "entryPoint": 11365, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_addresst_bytes_memory_ptr": { - "entryPoint": 9445, + "entryPoint": 9444, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptr": { - "entryPoint": 9617, + "entryPoint": 9616, "id": null, "parameterSlots": 2, "returnSlots": 3 }, "abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_uint256t_address": { - "entryPoint": 9205, + "entryPoint": 9204, "id": null, "parameterSlots": 2, "returnSlots": 6 }, "abi_decode_tuple_t_addresst_string_memory_ptrt_uint256t_address": { - "entryPoint": 9877, + "entryPoint": 9876, "id": null, "parameterSlots": 2, "returnSlots": 4 }, "abi_decode_tuple_t_addresst_uint256": { - "entryPoint": 9573, + "entryPoint": 9572, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_bool_fromMemory": { - "entryPoint": 10306, + "entryPoint": 10305, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_bytes32_fromMemory": { - "entryPoint": 11177, + "entryPoint": 11176, "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "abi_decode_tuple_t_contract$_IAgentRegistryV1_$5327t_contract$_ServiceRegistryUpgradeable_$4615": { - "entryPoint": 9388, + "abi_decode_tuple_t_contract$_IAgentRegistryV1_$5297t_contract$_ServiceRegistryUpgradeable_$4616": { + "entryPoint": 9387, "id": null, "parameterSlots": 2, "returnSlots": 2 }, - "abi_decode_tuple_t_struct$_AgentData_$5289_memory_ptr_fromMemory": { - "entryPoint": 10421, + "abi_decode_tuple_t_struct$_AgentData_$5259_memory_ptr_fromMemory": { + "entryPoint": 10420, "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "abi_decode_tuple_t_struct$_Proposal_$5300_memory_ptr_fromMemory": { - "entryPoint": 11202, + "abi_decode_tuple_t_struct$_Proposal_$5270_memory_ptr_fromMemory": { + "entryPoint": 11201, "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "abi_decode_tuple_t_struct$_Service_$3101_memory_ptr_fromMemory": { - "entryPoint": 11395, + "abi_decode_tuple_t_struct$_Service_$3102_memory_ptr_fromMemory": { + "entryPoint": 11394, "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "abi_decode_tuple_t_struct$_Service_$4420_memory_ptr_fromMemory": { - "entryPoint": 11659, + "abi_decode_tuple_t_struct$_Service_$4421_memory_ptr_fromMemory": { + "entryPoint": 11658, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_uint256": { - "entryPoint": 8660, + "entryPoint": 8659, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -85336,13 +84346,13 @@ "returnSlots": 1 }, "abi_encode_string": { - "entryPoint": 8721, + "entryPoint": 8720, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 11839, + "entryPoint": 11838, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -85354,7 +84364,7 @@ "returnSlots": 1 }, "abi_encode_tuple_t_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__to_t_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__fromStack_reversed": { - "entryPoint": 8765, + "entryPoint": 8764, "id": null, "parameterSlots": 7, "returnSlots": 1 @@ -85371,13 +84381,13 @@ "parameterSlots": 2, "returnSlots": 1 }, - "abi_encode_tuple_t_contract$_IAgentRegistryV1_$5327__to_t_address__fromStack_reversed": { + "abi_encode_tuple_t_contract$_IAgentRegistryV1_$5297__to_t_address__fromStack_reversed": { "entryPoint": null, "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "abi_encode_tuple_t_contract$_ServiceRegistryUpgradeable_$4615__to_t_address__fromStack_reversed": { + "abi_encode_tuple_t_contract$_ServiceRegistryUpgradeable_$4616__to_t_address__fromStack_reversed": { "entryPoint": null, "id": null, "parameterSlots": 2, @@ -85390,25 +84400,25 @@ "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 9858, + "entryPoint": 9857, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 11057, + "entryPoint": 11056, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__fromStack_reversed": { - "entryPoint": 10088, + "entryPoint": 10087, "id": null, "parameterSlots": 7, "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 11592, + "entryPoint": 11591, "id": null, "parameterSlots": 4, "returnSlots": 1 @@ -85420,13 +84430,13 @@ "returnSlots": 1 }, "abi_encode_tuple_t_stringliteral_333080ba9ab8738c4a0b47b5b79d2c142d573a23f488baafda66363f88786955__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 10739, + "entryPoint": 10738, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_encode_tuple_t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 10230, + "entryPoint": 10229, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -85467,14 +84477,14 @@ "parameterSlots": 1, "returnSlots": 1 }, - "abi_encode_tuple_t_struct$_AgentData_$3132_memory_ptr__to_t_struct$_AgentData_$3132_memory_ptr__fromStack_reversed": { - "entryPoint": 9734, + "abi_encode_tuple_t_struct$_AgentData_$3133_memory_ptr__to_t_struct$_AgentData_$3133_memory_ptr__fromStack_reversed": { + "entryPoint": 9733, "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "abi_encode_tuple_t_struct$_ServiceProposal_$5342_memory_ptr__to_t_struct$_ServiceProposal_$5342_memory_ptr__fromStack_reversed": { - "entryPoint": 9984, + "abi_encode_tuple_t_struct$_ServiceProposal_$5312_memory_ptr__to_t_struct$_ServiceProposal_$5312_memory_ptr__fromStack_reversed": { + "entryPoint": 9983, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -85486,43 +84496,43 @@ "returnSlots": 1 }, "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_uint256_t_address__to_t_uint256_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed": { - "entryPoint": 11094, + "entryPoint": 11093, "id": null, "parameterSlots": 5, "returnSlots": 1 }, "allocate_memory": { - "entryPoint": 9024, + "entryPoint": 9023, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "allocate_memory_3052": { - "entryPoint": 8882, + "entryPoint": 8881, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "allocate_memory_3054": { - "entryPoint": 8922, + "entryPoint": 8921, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "allocate_memory_3056": { - "entryPoint": 8956, + "entryPoint": 8955, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "allocate_memory_3058": { - "entryPoint": 8990, + "entryPoint": 8989, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "array_allocation_size_string": { - "entryPoint": 9072, + "entryPoint": 9071, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -85534,49 +84544,49 @@ "returnSlots": 1 }, "checked_add_t_uint256": { - "entryPoint": 10644, + "entryPoint": 10643, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "checked_div_t_uint256": { - "entryPoint": 10705, + "entryPoint": 10704, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "checked_mul_t_uint256": { - "entryPoint": 10682, + "entryPoint": 10681, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "checked_sub_t_uint256": { - "entryPoint": 10663, + "entryPoint": 10662, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "clean_up_bytearray_end_slots_string_storage": { - "entryPoint": 10794, + "entryPoint": 10793, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 10866, + "entryPoint": 10865, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "copy_memory_to_memory_with_cleanup": { - "entryPoint": 8685, + "entryPoint": 8684, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "extract_byte_array_length": { - "entryPoint": 10172, + "entryPoint": 10171, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -85588,25 +84598,25 @@ "returnSlots": 1 }, "increment_t_uint256": { - "entryPoint": 11152, + "entryPoint": 11151, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "panic_error_0x11": { - "entryPoint": 10622, + "entryPoint": 10621, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x41": { - "entryPoint": 8860, + "entryPoint": 8859, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "validator_revert_address": { - "entryPoint": 8839, + "entryPoint": 8838, "id": null, "parameterSlots": 1, "returnSlots": 0 @@ -85615,61 +84625,61 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:25859:36", + "nativeSrc": "0:25859:34", "nodeType": "YulBlock", - "src": "0:25859:36", + "src": "0:25859:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "84:110:36", + "nativeSrc": "84:110:34", "nodeType": "YulBlock", - "src": "84:110:36", + "src": "84:110:34", "statements": [ { "body": { - "nativeSrc": "130:16:36", + "nativeSrc": "130:16:34", "nodeType": "YulBlock", - "src": "130:16:36", + "src": "130:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "139:1:36", + "nativeSrc": "139:1:34", "nodeType": "YulLiteral", - "src": "139:1:36", + "src": "139:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "142:1:36", + "nativeSrc": "142:1:34", "nodeType": "YulLiteral", - "src": "142:1:36", + "src": "142:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "132:6:36", + "nativeSrc": "132:6:34", "nodeType": "YulIdentifier", - "src": "132:6:36" + "src": "132:6:34" }, - "nativeSrc": "132:12:36", + "nativeSrc": "132:12:34", "nodeType": "YulFunctionCall", - "src": "132:12:36" + "src": "132:12:34" }, - "nativeSrc": "132:12:36", + "nativeSrc": "132:12:34", "nodeType": "YulExpressionStatement", - "src": "132:12:36" + "src": "132:12:34" } ] }, @@ -85679,147 +84689,147 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "105:7:36", + "nativeSrc": "105:7:34", "nodeType": "YulIdentifier", - "src": "105:7:36" + "src": "105:7:34" }, { "name": "headStart", - "nativeSrc": "114:9:36", + "nativeSrc": "114:9:34", "nodeType": "YulIdentifier", - "src": "114:9:36" + "src": "114:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "101:3:36", + "nativeSrc": "101:3:34", "nodeType": "YulIdentifier", - "src": "101:3:36" + "src": "101:3:34" }, - "nativeSrc": "101:23:36", + "nativeSrc": "101:23:34", "nodeType": "YulFunctionCall", - "src": "101:23:36" + "src": "101:23:34" }, { "kind": "number", - "nativeSrc": "126:2:36", + "nativeSrc": "126:2:34", "nodeType": "YulLiteral", - "src": "126:2:36", + "src": "126:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "97:3:36", + "nativeSrc": "97:3:34", "nodeType": "YulIdentifier", - "src": "97:3:36" + "src": "97:3:34" }, - "nativeSrc": "97:32:36", + "nativeSrc": "97:32:34", "nodeType": "YulFunctionCall", - "src": "97:32:36" + "src": "97:32:34" }, - "nativeSrc": "94:52:36", + "nativeSrc": "94:52:34", "nodeType": "YulIf", - "src": "94:52:36" + "src": "94:52:34" }, { - "nativeSrc": "155:33:36", + "nativeSrc": "155:33:34", "nodeType": "YulAssignment", - "src": "155:33:36", + "src": "155:33:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "178:9:36", + "nativeSrc": "178:9:34", "nodeType": "YulIdentifier", - "src": "178:9:36" + "src": "178:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "165:12:36", + "nativeSrc": "165:12:34", "nodeType": "YulIdentifier", - "src": "165:12:36" + "src": "165:12:34" }, - "nativeSrc": "165:23:36", + "nativeSrc": "165:23:34", "nodeType": "YulFunctionCall", - "src": "165:23:36" + "src": "165:23:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "155:6:36", + "nativeSrc": "155:6:34", "nodeType": "YulIdentifier", - "src": "155:6:36" + "src": "155:6:34" } ] } ] }, "name": "abi_decode_tuple_t_uint256", - "nativeSrc": "14:180:36", + "nativeSrc": "14:180:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "50:9:36", + "nativeSrc": "50:9:34", "nodeType": "YulTypedName", - "src": "50:9:36", + "src": "50:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "61:7:36", + "nativeSrc": "61:7:34", "nodeType": "YulTypedName", - "src": "61:7:36", + "src": "61:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "73:6:36", + "nativeSrc": "73:6:34", "nodeType": "YulTypedName", - "src": "73:6:36", + "src": "73:6:34", "type": "" } ], - "src": "14:180:36" + "src": "14:180:34" }, { "body": { - "nativeSrc": "265:184:36", + "nativeSrc": "265:184:34", "nodeType": "YulBlock", - "src": "265:184:36", + "src": "265:184:34", "statements": [ { - "nativeSrc": "275:10:36", + "nativeSrc": "275:10:34", "nodeType": "YulVariableDeclaration", - "src": "275:10:36", + "src": "275:10:34", "value": { "kind": "number", - "nativeSrc": "284:1:36", + "nativeSrc": "284:1:34", "nodeType": "YulLiteral", - "src": "284:1:36", + "src": "284:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "279:1:36", + "nativeSrc": "279:1:34", "nodeType": "YulTypedName", - "src": "279:1:36", + "src": "279:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "344:63:36", + "nativeSrc": "344:63:34", "nodeType": "YulBlock", - "src": "344:63:36", + "src": "344:63:34", "statements": [ { "expression": { @@ -85828,26 +84838,26 @@ "arguments": [ { "name": "dst", - "nativeSrc": "369:3:36", + "nativeSrc": "369:3:34", "nodeType": "YulIdentifier", - "src": "369:3:36" + "src": "369:3:34" }, { "name": "i", - "nativeSrc": "374:1:36", + "nativeSrc": "374:1:34", "nodeType": "YulIdentifier", - "src": "374:1:36" + "src": "374:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "365:3:36", + "nativeSrc": "365:3:34", "nodeType": "YulIdentifier", - "src": "365:3:36" + "src": "365:3:34" }, - "nativeSrc": "365:11:36", + "nativeSrc": "365:11:34", "nodeType": "YulFunctionCall", - "src": "365:11:36" + "src": "365:11:34" }, { "arguments": [ @@ -85855,52 +84865,52 @@ "arguments": [ { "name": "src", - "nativeSrc": "388:3:36", + "nativeSrc": "388:3:34", "nodeType": "YulIdentifier", - "src": "388:3:36" + "src": "388:3:34" }, { "name": "i", - "nativeSrc": "393:1:36", + "nativeSrc": "393:1:34", "nodeType": "YulIdentifier", - "src": "393:1:36" + "src": "393:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "384:3:36", + "nativeSrc": "384:3:34", "nodeType": "YulIdentifier", - "src": "384:3:36" + "src": "384:3:34" }, - "nativeSrc": "384:11:36", + "nativeSrc": "384:11:34", "nodeType": "YulFunctionCall", - "src": "384:11:36" + "src": "384:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "378:5:36", + "nativeSrc": "378:5:34", "nodeType": "YulIdentifier", - "src": "378:5:36" + "src": "378:5:34" }, - "nativeSrc": "378:18:36", + "nativeSrc": "378:18:34", "nodeType": "YulFunctionCall", - "src": "378:18:36" + "src": "378:18:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "358:6:36", + "nativeSrc": "358:6:34", "nodeType": "YulIdentifier", - "src": "358:6:36" + "src": "358:6:34" }, - "nativeSrc": "358:39:36", + "nativeSrc": "358:39:34", "nodeType": "YulFunctionCall", - "src": "358:39:36" + "src": "358:39:34" }, - "nativeSrc": "358:39:36", + "nativeSrc": "358:39:34", "nodeType": "YulExpressionStatement", - "src": "358:39:36" + "src": "358:39:34" } ] }, @@ -85908,83 +84918,83 @@ "arguments": [ { "name": "i", - "nativeSrc": "305:1:36", + "nativeSrc": "305:1:34", "nodeType": "YulIdentifier", - "src": "305:1:36" + "src": "305:1:34" }, { "name": "length", - "nativeSrc": "308:6:36", + "nativeSrc": "308:6:34", "nodeType": "YulIdentifier", - "src": "308:6:36" + "src": "308:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "302:2:36", + "nativeSrc": "302:2:34", "nodeType": "YulIdentifier", - "src": "302:2:36" + "src": "302:2:34" }, - "nativeSrc": "302:13:36", + "nativeSrc": "302:13:34", "nodeType": "YulFunctionCall", - "src": "302:13:36" + "src": "302:13:34" }, - "nativeSrc": "294:113:36", + "nativeSrc": "294:113:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "316:19:36", + "nativeSrc": "316:19:34", "nodeType": "YulBlock", - "src": "316:19:36", + "src": "316:19:34", "statements": [ { - "nativeSrc": "318:15:36", + "nativeSrc": "318:15:34", "nodeType": "YulAssignment", - "src": "318:15:36", + "src": "318:15:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "327:1:36", + "nativeSrc": "327:1:34", "nodeType": "YulIdentifier", - "src": "327:1:36" + "src": "327:1:34" }, { "kind": "number", - "nativeSrc": "330:2:36", + "nativeSrc": "330:2:34", "nodeType": "YulLiteral", - "src": "330:2:36", + "src": "330:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "323:3:36", + "nativeSrc": "323:3:34", "nodeType": "YulIdentifier", - "src": "323:3:36" + "src": "323:3:34" }, - "nativeSrc": "323:10:36", + "nativeSrc": "323:10:34", "nodeType": "YulFunctionCall", - "src": "323:10:36" + "src": "323:10:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "318:1:36", + "nativeSrc": "318:1:34", "nodeType": "YulIdentifier", - "src": "318:1:36" + "src": "318:1:34" } ] } ] }, "pre": { - "nativeSrc": "298:3:36", + "nativeSrc": "298:3:34", "nodeType": "YulBlock", - "src": "298:3:36", + "src": "298:3:34", "statements": [] }, - "src": "294:113:36" + "src": "294:113:34" }, { "expression": { @@ -85993,115 +85003,115 @@ "arguments": [ { "name": "dst", - "nativeSrc": "427:3:36", + "nativeSrc": "427:3:34", "nodeType": "YulIdentifier", - "src": "427:3:36" + "src": "427:3:34" }, { "name": "length", - "nativeSrc": "432:6:36", + "nativeSrc": "432:6:34", "nodeType": "YulIdentifier", - "src": "432:6:36" + "src": "432:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "423:3:36", + "nativeSrc": "423:3:34", "nodeType": "YulIdentifier", - "src": "423:3:36" + "src": "423:3:34" }, - "nativeSrc": "423:16:36", + "nativeSrc": "423:16:34", "nodeType": "YulFunctionCall", - "src": "423:16:36" + "src": "423:16:34" }, { "kind": "number", - "nativeSrc": "441:1:36", + "nativeSrc": "441:1:34", "nodeType": "YulLiteral", - "src": "441:1:36", + "src": "441:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "416:6:36", + "nativeSrc": "416:6:34", "nodeType": "YulIdentifier", - "src": "416:6:36" + "src": "416:6:34" }, - "nativeSrc": "416:27:36", + "nativeSrc": "416:27:34", "nodeType": "YulFunctionCall", - "src": "416:27:36" + "src": "416:27:34" }, - "nativeSrc": "416:27:36", + "nativeSrc": "416:27:34", "nodeType": "YulExpressionStatement", - "src": "416:27:36" + "src": "416:27:34" } ] }, "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "199:250:36", + "nativeSrc": "199:250:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "src", - "nativeSrc": "243:3:36", + "nativeSrc": "243:3:34", "nodeType": "YulTypedName", - "src": "243:3:36", + "src": "243:3:34", "type": "" }, { "name": "dst", - "nativeSrc": "248:3:36", + "nativeSrc": "248:3:34", "nodeType": "YulTypedName", - "src": "248:3:36", + "src": "248:3:34", "type": "" }, { "name": "length", - "nativeSrc": "253:6:36", + "nativeSrc": "253:6:34", "nodeType": "YulTypedName", - "src": "253:6:36", + "src": "253:6:34", "type": "" } ], - "src": "199:250:36" + "src": "199:250:34" }, { "body": { - "nativeSrc": "504:221:36", + "nativeSrc": "504:221:34", "nodeType": "YulBlock", - "src": "504:221:36", + "src": "504:221:34", "statements": [ { - "nativeSrc": "514:26:36", + "nativeSrc": "514:26:34", "nodeType": "YulVariableDeclaration", - "src": "514:26:36", + "src": "514:26:34", "value": { "arguments": [ { "name": "value", - "nativeSrc": "534:5:36", + "nativeSrc": "534:5:34", "nodeType": "YulIdentifier", - "src": "534:5:36" + "src": "534:5:34" } ], "functionName": { "name": "mload", - "nativeSrc": "528:5:36", + "nativeSrc": "528:5:34", "nodeType": "YulIdentifier", - "src": "528:5:36" + "src": "528:5:34" }, - "nativeSrc": "528:12:36", + "nativeSrc": "528:12:34", "nodeType": "YulFunctionCall", - "src": "528:12:36" + "src": "528:12:34" }, "variables": [ { "name": "length", - "nativeSrc": "518:6:36", + "nativeSrc": "518:6:34", "nodeType": "YulTypedName", - "src": "518:6:36", + "src": "518:6:34", "type": "" } ] @@ -86111,30 +85121,30 @@ "arguments": [ { "name": "pos", - "nativeSrc": "556:3:36", + "nativeSrc": "556:3:34", "nodeType": "YulIdentifier", - "src": "556:3:36" + "src": "556:3:34" }, { "name": "length", - "nativeSrc": "561:6:36", + "nativeSrc": "561:6:34", "nodeType": "YulIdentifier", - "src": "561:6:36" + "src": "561:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "549:6:36", + "nativeSrc": "549:6:34", "nodeType": "YulIdentifier", - "src": "549:6:36" + "src": "549:6:34" }, - "nativeSrc": "549:19:36", + "nativeSrc": "549:19:34", "nodeType": "YulFunctionCall", - "src": "549:19:36" + "src": "549:19:34" }, - "nativeSrc": "549:19:36", + "nativeSrc": "549:19:34", "nodeType": "YulExpressionStatement", - "src": "549:19:36" + "src": "549:19:34" }, { "expression": { @@ -86143,90 +85153,90 @@ "arguments": [ { "name": "value", - "nativeSrc": "616:5:36", + "nativeSrc": "616:5:34", "nodeType": "YulIdentifier", - "src": "616:5:36" + "src": "616:5:34" }, { "kind": "number", - "nativeSrc": "623:4:36", + "nativeSrc": "623:4:34", "nodeType": "YulLiteral", - "src": "623:4:36", + "src": "623:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "612:3:36", + "nativeSrc": "612:3:34", "nodeType": "YulIdentifier", - "src": "612:3:36" + "src": "612:3:34" }, - "nativeSrc": "612:16:36", + "nativeSrc": "612:16:34", "nodeType": "YulFunctionCall", - "src": "612:16:36" + "src": "612:16:34" }, { "arguments": [ { "name": "pos", - "nativeSrc": "634:3:36", + "nativeSrc": "634:3:34", "nodeType": "YulIdentifier", - "src": "634:3:36" + "src": "634:3:34" }, { "kind": "number", - "nativeSrc": "639:4:36", + "nativeSrc": "639:4:34", "nodeType": "YulLiteral", - "src": "639:4:36", + "src": "639:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "630:3:36", + "nativeSrc": "630:3:34", "nodeType": "YulIdentifier", - "src": "630:3:36" + "src": "630:3:34" }, - "nativeSrc": "630:14:36", + "nativeSrc": "630:14:34", "nodeType": "YulFunctionCall", - "src": "630:14:36" + "src": "630:14:34" }, { "name": "length", - "nativeSrc": "646:6:36", + "nativeSrc": "646:6:34", "nodeType": "YulIdentifier", - "src": "646:6:36" + "src": "646:6:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "577:34:36", + "nativeSrc": "577:34:34", "nodeType": "YulIdentifier", - "src": "577:34:36" + "src": "577:34:34" }, - "nativeSrc": "577:76:36", + "nativeSrc": "577:76:34", "nodeType": "YulFunctionCall", - "src": "577:76:36" + "src": "577:76:34" }, - "nativeSrc": "577:76:36", + "nativeSrc": "577:76:34", "nodeType": "YulExpressionStatement", - "src": "577:76:36" + "src": "577:76:34" }, { - "nativeSrc": "662:57:36", + "nativeSrc": "662:57:34", "nodeType": "YulAssignment", - "src": "662:57:36", + "src": "662:57:34", "value": { "arguments": [ { "arguments": [ { "name": "pos", - "nativeSrc": "677:3:36", + "nativeSrc": "677:3:34", "nodeType": "YulIdentifier", - "src": "677:3:36" + "src": "677:3:34" }, { "arguments": [ @@ -86234,198 +85244,198 @@ "arguments": [ { "name": "length", - "nativeSrc": "690:6:36", + "nativeSrc": "690:6:34", "nodeType": "YulIdentifier", - "src": "690:6:36" + "src": "690:6:34" }, { "kind": "number", - "nativeSrc": "698:2:36", + "nativeSrc": "698:2:34", "nodeType": "YulLiteral", - "src": "698:2:36", + "src": "698:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "686:3:36", + "nativeSrc": "686:3:34", "nodeType": "YulIdentifier", - "src": "686:3:36" + "src": "686:3:34" }, - "nativeSrc": "686:15:36", + "nativeSrc": "686:15:34", "nodeType": "YulFunctionCall", - "src": "686:15:36" + "src": "686:15:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "707:2:36", + "nativeSrc": "707:2:34", "nodeType": "YulLiteral", - "src": "707:2:36", + "src": "707:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "703:3:36", + "nativeSrc": "703:3:34", "nodeType": "YulIdentifier", - "src": "703:3:36" + "src": "703:3:34" }, - "nativeSrc": "703:7:36", + "nativeSrc": "703:7:34", "nodeType": "YulFunctionCall", - "src": "703:7:36" + "src": "703:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "682:3:36", + "nativeSrc": "682:3:34", "nodeType": "YulIdentifier", - "src": "682:3:36" + "src": "682:3:34" }, - "nativeSrc": "682:29:36", + "nativeSrc": "682:29:34", "nodeType": "YulFunctionCall", - "src": "682:29:36" + "src": "682:29:34" } ], "functionName": { "name": "add", - "nativeSrc": "673:3:36", + "nativeSrc": "673:3:34", "nodeType": "YulIdentifier", - "src": "673:3:36" + "src": "673:3:34" }, - "nativeSrc": "673:39:36", + "nativeSrc": "673:39:34", "nodeType": "YulFunctionCall", - "src": "673:39:36" + "src": "673:39:34" }, { "kind": "number", - "nativeSrc": "714:4:36", + "nativeSrc": "714:4:34", "nodeType": "YulLiteral", - "src": "714:4:36", + "src": "714:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "669:3:36", + "nativeSrc": "669:3:34", "nodeType": "YulIdentifier", - "src": "669:3:36" + "src": "669:3:34" }, - "nativeSrc": "669:50:36", + "nativeSrc": "669:50:34", "nodeType": "YulFunctionCall", - "src": "669:50:36" + "src": "669:50:34" }, "variableNames": [ { "name": "end", - "nativeSrc": "662:3:36", + "nativeSrc": "662:3:34", "nodeType": "YulIdentifier", - "src": "662:3:36" + "src": "662:3:34" } ] } ] }, "name": "abi_encode_string", - "nativeSrc": "454:271:36", + "nativeSrc": "454:271:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "481:5:36", + "nativeSrc": "481:5:34", "nodeType": "YulTypedName", - "src": "481:5:36", + "src": "481:5:34", "type": "" }, { "name": "pos", - "nativeSrc": "488:3:36", + "nativeSrc": "488:3:34", "nodeType": "YulTypedName", - "src": "488:3:36", + "src": "488:3:34", "type": "" } ], "returnVariables": [ { "name": "end", - "nativeSrc": "496:3:36", + "nativeSrc": "496:3:34", "nodeType": "YulTypedName", - "src": "496:3:36", + "src": "496:3:34", "type": "" } ], - "src": "454:271:36" + "src": "454:271:34" }, { "body": { - "nativeSrc": "985:390:36", + "nativeSrc": "985:390:34", "nodeType": "YulBlock", - "src": "985:390:36", + "src": "985:390:34", "statements": [ { - "nativeSrc": "995:29:36", + "nativeSrc": "995:29:34", "nodeType": "YulVariableDeclaration", - "src": "995:29:36", + "src": "995:29:34", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "1013:3:36", + "nativeSrc": "1013:3:34", "nodeType": "YulLiteral", - "src": "1013:3:36", + "src": "1013:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "1018:1:36", + "nativeSrc": "1018:1:34", "nodeType": "YulLiteral", - "src": "1018:1:36", + "src": "1018:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "1009:3:36", + "nativeSrc": "1009:3:34", "nodeType": "YulIdentifier", - "src": "1009:3:36" + "src": "1009:3:34" }, - "nativeSrc": "1009:11:36", + "nativeSrc": "1009:11:34", "nodeType": "YulFunctionCall", - "src": "1009:11:36" + "src": "1009:11:34" }, { "kind": "number", - "nativeSrc": "1022:1:36", + "nativeSrc": "1022:1:34", "nodeType": "YulLiteral", - "src": "1022:1:36", + "src": "1022:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "1005:3:36", + "nativeSrc": "1005:3:34", "nodeType": "YulIdentifier", - "src": "1005:3:36" + "src": "1005:3:34" }, - "nativeSrc": "1005:19:36", + "nativeSrc": "1005:19:34", "nodeType": "YulFunctionCall", - "src": "1005:19:36" + "src": "1005:19:34" }, "variables": [ { "name": "_1", - "nativeSrc": "999:2:36", + "nativeSrc": "999:2:34", "nodeType": "YulTypedName", - "src": "999:2:36", + "src": "999:2:34", "type": "" } ] @@ -86435,49 +85445,49 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "1040:9:36", + "nativeSrc": "1040:9:34", "nodeType": "YulIdentifier", - "src": "1040:9:36" + "src": "1040:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "1055:6:36", + "nativeSrc": "1055:6:34", "nodeType": "YulIdentifier", - "src": "1055:6:36" + "src": "1055:6:34" }, { "name": "_1", - "nativeSrc": "1063:2:36", + "nativeSrc": "1063:2:34", "nodeType": "YulIdentifier", - "src": "1063:2:36" + "src": "1063:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "1051:3:36", + "nativeSrc": "1051:3:34", "nodeType": "YulIdentifier", - "src": "1051:3:36" + "src": "1051:3:34" }, - "nativeSrc": "1051:15:36", + "nativeSrc": "1051:15:34", "nodeType": "YulFunctionCall", - "src": "1051:15:36" + "src": "1051:15:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1033:6:36", + "nativeSrc": "1033:6:34", "nodeType": "YulIdentifier", - "src": "1033:6:36" + "src": "1033:6:34" }, - "nativeSrc": "1033:34:36", + "nativeSrc": "1033:34:34", "nodeType": "YulFunctionCall", - "src": "1033:34:36" + "src": "1033:34:34" }, - "nativeSrc": "1033:34:36", + "nativeSrc": "1033:34:34", "nodeType": "YulExpressionStatement", - "src": "1033:34:36" + "src": "1033:34:34" }, { "expression": { @@ -86486,108 +85496,108 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "1087:9:36", + "nativeSrc": "1087:9:34", "nodeType": "YulIdentifier", - "src": "1087:9:36" + "src": "1087:9:34" }, { "kind": "number", - "nativeSrc": "1098:2:36", + "nativeSrc": "1098:2:34", "nodeType": "YulLiteral", - "src": "1098:2:36", + "src": "1098:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1083:3:36", + "nativeSrc": "1083:3:34", "nodeType": "YulIdentifier", - "src": "1083:3:36" + "src": "1083:3:34" }, - "nativeSrc": "1083:18:36", + "nativeSrc": "1083:18:34", "nodeType": "YulFunctionCall", - "src": "1083:18:36" + "src": "1083:18:34" }, { "kind": "number", - "nativeSrc": "1103:3:36", + "nativeSrc": "1103:3:34", "nodeType": "YulLiteral", - "src": "1103:3:36", + "src": "1103:3:34", "type": "", "value": "192" } ], "functionName": { "name": "mstore", - "nativeSrc": "1076:6:36", + "nativeSrc": "1076:6:34", "nodeType": "YulIdentifier", - "src": "1076:6:36" + "src": "1076:6:34" }, - "nativeSrc": "1076:31:36", + "nativeSrc": "1076:31:34", "nodeType": "YulFunctionCall", - "src": "1076:31:36" + "src": "1076:31:34" }, - "nativeSrc": "1076:31:36", + "nativeSrc": "1076:31:34", "nodeType": "YulExpressionStatement", - "src": "1076:31:36" + "src": "1076:31:34" }, { - "nativeSrc": "1116:54:36", + "nativeSrc": "1116:54:34", "nodeType": "YulAssignment", - "src": "1116:54:36", + "src": "1116:54:34", "value": { "arguments": [ { "name": "value1", - "nativeSrc": "1142:6:36", + "nativeSrc": "1142:6:34", "nodeType": "YulIdentifier", - "src": "1142:6:36" + "src": "1142:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "1154:9:36", + "nativeSrc": "1154:9:34", "nodeType": "YulIdentifier", - "src": "1154:9:36" + "src": "1154:9:34" }, { "kind": "number", - "nativeSrc": "1165:3:36", + "nativeSrc": "1165:3:34", "nodeType": "YulLiteral", - "src": "1165:3:36", + "src": "1165:3:34", "type": "", "value": "192" } ], "functionName": { "name": "add", - "nativeSrc": "1150:3:36", + "nativeSrc": "1150:3:34", "nodeType": "YulIdentifier", - "src": "1150:3:36" + "src": "1150:3:34" }, - "nativeSrc": "1150:19:36", + "nativeSrc": "1150:19:34", "nodeType": "YulFunctionCall", - "src": "1150:19:36" + "src": "1150:19:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "1124:17:36", + "nativeSrc": "1124:17:34", "nodeType": "YulIdentifier", - "src": "1124:17:36" + "src": "1124:17:34" }, - "nativeSrc": "1124:46:36", + "nativeSrc": "1124:46:34", "nodeType": "YulFunctionCall", - "src": "1124:46:36" + "src": "1124:46:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "1116:4:36", + "nativeSrc": "1116:4:34", "nodeType": "YulIdentifier", - "src": "1116:4:36" + "src": "1116:4:34" } ] }, @@ -86598,49 +85608,49 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "1190:9:36", + "nativeSrc": "1190:9:34", "nodeType": "YulIdentifier", - "src": "1190:9:36" + "src": "1190:9:34" }, { "kind": "number", - "nativeSrc": "1201:2:36", + "nativeSrc": "1201:2:34", "nodeType": "YulLiteral", - "src": "1201:2:36", + "src": "1201:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "1186:3:36", + "nativeSrc": "1186:3:34", "nodeType": "YulIdentifier", - "src": "1186:3:36" + "src": "1186:3:34" }, - "nativeSrc": "1186:18:36", + "nativeSrc": "1186:18:34", "nodeType": "YulFunctionCall", - "src": "1186:18:36" + "src": "1186:18:34" }, { "name": "value2", - "nativeSrc": "1206:6:36", + "nativeSrc": "1206:6:34", "nodeType": "YulIdentifier", - "src": "1206:6:36" + "src": "1206:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1179:6:36", + "nativeSrc": "1179:6:34", "nodeType": "YulIdentifier", - "src": "1179:6:36" + "src": "1179:6:34" }, - "nativeSrc": "1179:34:36", + "nativeSrc": "1179:34:34", "nodeType": "YulFunctionCall", - "src": "1179:34:36" + "src": "1179:34:34" }, - "nativeSrc": "1179:34:36", + "nativeSrc": "1179:34:34", "nodeType": "YulExpressionStatement", - "src": "1179:34:36" + "src": "1179:34:34" }, { "expression": { @@ -86649,68 +85659,68 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "1233:9:36", + "nativeSrc": "1233:9:34", "nodeType": "YulIdentifier", - "src": "1233:9:36" + "src": "1233:9:34" }, { "kind": "number", - "nativeSrc": "1244:2:36", + "nativeSrc": "1244:2:34", "nodeType": "YulLiteral", - "src": "1244:2:36", + "src": "1244:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "1229:3:36", + "nativeSrc": "1229:3:34", "nodeType": "YulIdentifier", - "src": "1229:3:36" + "src": "1229:3:34" }, - "nativeSrc": "1229:18:36", + "nativeSrc": "1229:18:34", "nodeType": "YulFunctionCall", - "src": "1229:18:36" + "src": "1229:18:34" }, { "arguments": [ { "name": "value3", - "nativeSrc": "1253:6:36", + "nativeSrc": "1253:6:34", "nodeType": "YulIdentifier", - "src": "1253:6:36" + "src": "1253:6:34" }, { "name": "_1", - "nativeSrc": "1261:2:36", + "nativeSrc": "1261:2:34", "nodeType": "YulIdentifier", - "src": "1261:2:36" + "src": "1261:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "1249:3:36", + "nativeSrc": "1249:3:34", "nodeType": "YulIdentifier", - "src": "1249:3:36" + "src": "1249:3:34" }, - "nativeSrc": "1249:15:36", + "nativeSrc": "1249:15:34", "nodeType": "YulFunctionCall", - "src": "1249:15:36" + "src": "1249:15:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1222:6:36", + "nativeSrc": "1222:6:34", "nodeType": "YulIdentifier", - "src": "1222:6:36" + "src": "1222:6:34" }, - "nativeSrc": "1222:43:36", + "nativeSrc": "1222:43:34", "nodeType": "YulFunctionCall", - "src": "1222:43:36" + "src": "1222:43:34" }, - "nativeSrc": "1222:43:36", + "nativeSrc": "1222:43:34", "nodeType": "YulExpressionStatement", - "src": "1222:43:36" + "src": "1222:43:34" }, { "expression": { @@ -86719,49 +85729,49 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "1285:9:36", + "nativeSrc": "1285:9:34", "nodeType": "YulIdentifier", - "src": "1285:9:36" + "src": "1285:9:34" }, { "kind": "number", - "nativeSrc": "1296:3:36", + "nativeSrc": "1296:3:34", "nodeType": "YulLiteral", - "src": "1296:3:36", + "src": "1296:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "1281:3:36", + "nativeSrc": "1281:3:34", "nodeType": "YulIdentifier", - "src": "1281:3:36" + "src": "1281:3:34" }, - "nativeSrc": "1281:19:36", + "nativeSrc": "1281:19:34", "nodeType": "YulFunctionCall", - "src": "1281:19:36" + "src": "1281:19:34" }, { "name": "value4", - "nativeSrc": "1302:6:36", + "nativeSrc": "1302:6:34", "nodeType": "YulIdentifier", - "src": "1302:6:36" + "src": "1302:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1274:6:36", + "nativeSrc": "1274:6:34", "nodeType": "YulIdentifier", - "src": "1274:6:36" + "src": "1274:6:34" }, - "nativeSrc": "1274:35:36", + "nativeSrc": "1274:35:34", "nodeType": "YulFunctionCall", - "src": "1274:35:36" + "src": "1274:35:34" }, - "nativeSrc": "1274:35:36", + "nativeSrc": "1274:35:34", "nodeType": "YulExpressionStatement", - "src": "1274:35:36" + "src": "1274:35:34" }, { "expression": { @@ -86770,28 +85780,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "1329:9:36", + "nativeSrc": "1329:9:34", "nodeType": "YulIdentifier", - "src": "1329:9:36" + "src": "1329:9:34" }, { "kind": "number", - "nativeSrc": "1340:3:36", + "nativeSrc": "1340:3:34", "nodeType": "YulLiteral", - "src": "1340:3:36", + "src": "1340:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "1325:3:36", + "nativeSrc": "1325:3:34", "nodeType": "YulIdentifier", - "src": "1325:3:36" + "src": "1325:3:34" }, - "nativeSrc": "1325:19:36", + "nativeSrc": "1325:19:34", "nodeType": "YulFunctionCall", - "src": "1325:19:36" + "src": "1325:19:34" }, { "arguments": [ @@ -86799,159 +85809,159 @@ "arguments": [ { "name": "value5", - "nativeSrc": "1360:6:36", + "nativeSrc": "1360:6:34", "nodeType": "YulIdentifier", - "src": "1360:6:36" + "src": "1360:6:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "1353:6:36", + "nativeSrc": "1353:6:34", "nodeType": "YulIdentifier", - "src": "1353:6:36" + "src": "1353:6:34" }, - "nativeSrc": "1353:14:36", + "nativeSrc": "1353:14:34", "nodeType": "YulFunctionCall", - "src": "1353:14:36" + "src": "1353:14:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "1346:6:36", + "nativeSrc": "1346:6:34", "nodeType": "YulIdentifier", - "src": "1346:6:36" + "src": "1346:6:34" }, - "nativeSrc": "1346:22:36", + "nativeSrc": "1346:22:34", "nodeType": "YulFunctionCall", - "src": "1346:22:36" + "src": "1346:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1318:6:36", + "nativeSrc": "1318:6:34", "nodeType": "YulIdentifier", - "src": "1318:6:36" + "src": "1318:6:34" }, - "nativeSrc": "1318:51:36", + "nativeSrc": "1318:51:34", "nodeType": "YulFunctionCall", - "src": "1318:51:36" + "src": "1318:51:34" }, - "nativeSrc": "1318:51:36", + "nativeSrc": "1318:51:34", "nodeType": "YulExpressionStatement", - "src": "1318:51:36" + "src": "1318:51:34" } ] }, "name": "abi_encode_tuple_t_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__to_t_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__fromStack_reversed", - "nativeSrc": "730:645:36", + "nativeSrc": "730:645:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "914:9:36", + "nativeSrc": "914:9:34", "nodeType": "YulTypedName", - "src": "914:9:36", + "src": "914:9:34", "type": "" }, { "name": "value5", - "nativeSrc": "925:6:36", + "nativeSrc": "925:6:34", "nodeType": "YulTypedName", - "src": "925:6:36", + "src": "925:6:34", "type": "" }, { "name": "value4", - "nativeSrc": "933:6:36", + "nativeSrc": "933:6:34", "nodeType": "YulTypedName", - "src": "933:6:36", + "src": "933:6:34", "type": "" }, { "name": "value3", - "nativeSrc": "941:6:36", + "nativeSrc": "941:6:34", "nodeType": "YulTypedName", - "src": "941:6:36", + "src": "941:6:34", "type": "" }, { "name": "value2", - "nativeSrc": "949:6:36", + "nativeSrc": "949:6:34", "nodeType": "YulTypedName", - "src": "949:6:36", + "src": "949:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "957:6:36", + "nativeSrc": "957:6:34", "nodeType": "YulTypedName", - "src": "957:6:36", + "src": "957:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "965:6:36", + "nativeSrc": "965:6:34", "nodeType": "YulTypedName", - "src": "965:6:36", + "src": "965:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "976:4:36", + "nativeSrc": "976:4:34", "nodeType": "YulTypedName", - "src": "976:4:36", + "src": "976:4:34", "type": "" } ], - "src": "730:645:36" + "src": "730:645:34" }, { "body": { - "nativeSrc": "1425:86:36", + "nativeSrc": "1425:86:34", "nodeType": "YulBlock", - "src": "1425:86:36", + "src": "1425:86:34", "statements": [ { "body": { - "nativeSrc": "1489:16:36", + "nativeSrc": "1489:16:34", "nodeType": "YulBlock", - "src": "1489:16:36", + "src": "1489:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1498:1:36", + "nativeSrc": "1498:1:34", "nodeType": "YulLiteral", - "src": "1498:1:36", + "src": "1498:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1501:1:36", + "nativeSrc": "1501:1:34", "nodeType": "YulLiteral", - "src": "1501:1:36", + "src": "1501:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1491:6:36", + "nativeSrc": "1491:6:34", "nodeType": "YulIdentifier", - "src": "1491:6:36" + "src": "1491:6:34" }, - "nativeSrc": "1491:12:36", + "nativeSrc": "1491:12:34", "nodeType": "YulFunctionCall", - "src": "1491:12:36" + "src": "1491:12:34" }, - "nativeSrc": "1491:12:36", + "nativeSrc": "1491:12:34", "nodeType": "YulExpressionStatement", - "src": "1491:12:36" + "src": "1491:12:34" } ] }, @@ -86961,17 +85971,17 @@ "arguments": [ { "name": "value", - "nativeSrc": "1448:5:36", + "nativeSrc": "1448:5:34", "nodeType": "YulIdentifier", - "src": "1448:5:36" + "src": "1448:5:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "1459:5:36", + "nativeSrc": "1459:5:34", "nodeType": "YulIdentifier", - "src": "1459:5:36" + "src": "1459:5:34" }, { "arguments": [ @@ -86979,117 +85989,117 @@ "arguments": [ { "kind": "number", - "nativeSrc": "1474:3:36", + "nativeSrc": "1474:3:34", "nodeType": "YulLiteral", - "src": "1474:3:36", + "src": "1474:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "1479:1:36", + "nativeSrc": "1479:1:34", "nodeType": "YulLiteral", - "src": "1479:1:36", + "src": "1479:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "1470:3:36", + "nativeSrc": "1470:3:34", "nodeType": "YulIdentifier", - "src": "1470:3:36" + "src": "1470:3:34" }, - "nativeSrc": "1470:11:36", + "nativeSrc": "1470:11:34", "nodeType": "YulFunctionCall", - "src": "1470:11:36" + "src": "1470:11:34" }, { "kind": "number", - "nativeSrc": "1483:1:36", + "nativeSrc": "1483:1:34", "nodeType": "YulLiteral", - "src": "1483:1:36", + "src": "1483:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "1466:3:36", + "nativeSrc": "1466:3:34", "nodeType": "YulIdentifier", - "src": "1466:3:36" + "src": "1466:3:34" }, - "nativeSrc": "1466:19:36", + "nativeSrc": "1466:19:34", "nodeType": "YulFunctionCall", - "src": "1466:19:36" + "src": "1466:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "1455:3:36", + "nativeSrc": "1455:3:34", "nodeType": "YulIdentifier", - "src": "1455:3:36" + "src": "1455:3:34" }, - "nativeSrc": "1455:31:36", + "nativeSrc": "1455:31:34", "nodeType": "YulFunctionCall", - "src": "1455:31:36" + "src": "1455:31:34" } ], "functionName": { "name": "eq", - "nativeSrc": "1445:2:36", + "nativeSrc": "1445:2:34", "nodeType": "YulIdentifier", - "src": "1445:2:36" + "src": "1445:2:34" }, - "nativeSrc": "1445:42:36", + "nativeSrc": "1445:42:34", "nodeType": "YulFunctionCall", - "src": "1445:42:36" + "src": "1445:42:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "1438:6:36", + "nativeSrc": "1438:6:34", "nodeType": "YulIdentifier", - "src": "1438:6:36" + "src": "1438:6:34" }, - "nativeSrc": "1438:50:36", + "nativeSrc": "1438:50:34", "nodeType": "YulFunctionCall", - "src": "1438:50:36" + "src": "1438:50:34" }, - "nativeSrc": "1435:70:36", + "nativeSrc": "1435:70:34", "nodeType": "YulIf", - "src": "1435:70:36" + "src": "1435:70:34" } ] }, "name": "validator_revert_address", - "nativeSrc": "1380:131:36", + "nativeSrc": "1380:131:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "1414:5:36", + "nativeSrc": "1414:5:34", "nodeType": "YulTypedName", - "src": "1414:5:36", + "src": "1414:5:34", "type": "" } ], - "src": "1380:131:36" + "src": "1380:131:34" }, { "body": { - "nativeSrc": "1548:95:36", + "nativeSrc": "1548:95:34", "nodeType": "YulBlock", - "src": "1548:95:36", + "src": "1548:95:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1565:1:36", + "nativeSrc": "1565:1:34", "nodeType": "YulLiteral", - "src": "1565:1:36", + "src": "1565:1:34", "type": "", "value": "0" }, @@ -87097,224 +86107,224 @@ "arguments": [ { "kind": "number", - "nativeSrc": "1572:3:36", + "nativeSrc": "1572:3:34", "nodeType": "YulLiteral", - "src": "1572:3:36", + "src": "1572:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "1577:10:36", + "nativeSrc": "1577:10:34", "nodeType": "YulLiteral", - "src": "1577:10:36", + "src": "1577:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "1568:3:36", + "nativeSrc": "1568:3:34", "nodeType": "YulIdentifier", - "src": "1568:3:36" + "src": "1568:3:34" }, - "nativeSrc": "1568:20:36", + "nativeSrc": "1568:20:34", "nodeType": "YulFunctionCall", - "src": "1568:20:36" + "src": "1568:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1558:6:36", + "nativeSrc": "1558:6:34", "nodeType": "YulIdentifier", - "src": "1558:6:36" + "src": "1558:6:34" }, - "nativeSrc": "1558:31:36", + "nativeSrc": "1558:31:34", "nodeType": "YulFunctionCall", - "src": "1558:31:36" + "src": "1558:31:34" }, - "nativeSrc": "1558:31:36", + "nativeSrc": "1558:31:34", "nodeType": "YulExpressionStatement", - "src": "1558:31:36" + "src": "1558:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1605:1:36", + "nativeSrc": "1605:1:34", "nodeType": "YulLiteral", - "src": "1605:1:36", + "src": "1605:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "1608:4:36", + "nativeSrc": "1608:4:34", "nodeType": "YulLiteral", - "src": "1608:4:36", + "src": "1608:4:34", "type": "", "value": "0x41" } ], "functionName": { "name": "mstore", - "nativeSrc": "1598:6:36", + "nativeSrc": "1598:6:34", "nodeType": "YulIdentifier", - "src": "1598:6:36" + "src": "1598:6:34" }, - "nativeSrc": "1598:15:36", + "nativeSrc": "1598:15:34", "nodeType": "YulFunctionCall", - "src": "1598:15:36" + "src": "1598:15:34" }, - "nativeSrc": "1598:15:36", + "nativeSrc": "1598:15:34", "nodeType": "YulExpressionStatement", - "src": "1598:15:36" + "src": "1598:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1629:1:36", + "nativeSrc": "1629:1:34", "nodeType": "YulLiteral", - "src": "1629:1:36", + "src": "1629:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1632:4:36", + "nativeSrc": "1632:4:34", "nodeType": "YulLiteral", - "src": "1632:4:36", + "src": "1632:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "1622:6:36", + "nativeSrc": "1622:6:34", "nodeType": "YulIdentifier", - "src": "1622:6:36" + "src": "1622:6:34" }, - "nativeSrc": "1622:15:36", + "nativeSrc": "1622:15:34", "nodeType": "YulFunctionCall", - "src": "1622:15:36" + "src": "1622:15:34" }, - "nativeSrc": "1622:15:36", + "nativeSrc": "1622:15:34", "nodeType": "YulExpressionStatement", - "src": "1622:15:36" + "src": "1622:15:34" } ] }, "name": "panic_error_0x41", - "nativeSrc": "1516:127:36", + "nativeSrc": "1516:127:34", "nodeType": "YulFunctionDefinition", - "src": "1516:127:36" + "src": "1516:127:34" }, { "body": { - "nativeSrc": "1694:207:36", + "nativeSrc": "1694:207:34", "nodeType": "YulBlock", - "src": "1694:207:36", + "src": "1694:207:34", "statements": [ { - "nativeSrc": "1704:19:36", + "nativeSrc": "1704:19:34", "nodeType": "YulAssignment", - "src": "1704:19:36", + "src": "1704:19:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1720:2:36", + "nativeSrc": "1720:2:34", "nodeType": "YulLiteral", - "src": "1720:2:36", + "src": "1720:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "1714:5:36", + "nativeSrc": "1714:5:34", "nodeType": "YulIdentifier", - "src": "1714:5:36" + "src": "1714:5:34" }, - "nativeSrc": "1714:9:36", + "nativeSrc": "1714:9:34", "nodeType": "YulFunctionCall", - "src": "1714:9:36" + "src": "1714:9:34" }, "variableNames": [ { "name": "memPtr", - "nativeSrc": "1704:6:36", + "nativeSrc": "1704:6:34", "nodeType": "YulIdentifier", - "src": "1704:6:36" + "src": "1704:6:34" } ] }, { - "nativeSrc": "1732:35:36", + "nativeSrc": "1732:35:34", "nodeType": "YulVariableDeclaration", - "src": "1732:35:36", + "src": "1732:35:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "1754:6:36", + "nativeSrc": "1754:6:34", "nodeType": "YulIdentifier", - "src": "1754:6:36" + "src": "1754:6:34" }, { "kind": "number", - "nativeSrc": "1762:4:36", + "nativeSrc": "1762:4:34", "nodeType": "YulLiteral", - "src": "1762:4:36", + "src": "1762:4:34", "type": "", "value": "0xc0" } ], "functionName": { "name": "add", - "nativeSrc": "1750:3:36", + "nativeSrc": "1750:3:34", "nodeType": "YulIdentifier", - "src": "1750:3:36" + "src": "1750:3:34" }, - "nativeSrc": "1750:17:36", + "nativeSrc": "1750:17:34", "nodeType": "YulFunctionCall", - "src": "1750:17:36" + "src": "1750:17:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "1736:10:36", + "nativeSrc": "1736:10:34", "nodeType": "YulTypedName", - "src": "1736:10:36", + "src": "1736:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "1842:22:36", + "nativeSrc": "1842:22:34", "nodeType": "YulBlock", - "src": "1842:22:36", + "src": "1842:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "1844:16:36", + "nativeSrc": "1844:16:34", "nodeType": "YulIdentifier", - "src": "1844:16:36" + "src": "1844:16:34" }, - "nativeSrc": "1844:18:36", + "nativeSrc": "1844:18:34", "nodeType": "YulFunctionCall", - "src": "1844:18:36" + "src": "1844:18:34" }, - "nativeSrc": "1844:18:36", + "nativeSrc": "1844:18:34", "nodeType": "YulExpressionStatement", - "src": "1844:18:36" + "src": "1844:18:34" } ] }, @@ -87324,220 +86334,220 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "1785:10:36", + "nativeSrc": "1785:10:34", "nodeType": "YulIdentifier", - "src": "1785:10:36" + "src": "1785:10:34" }, { "kind": "number", - "nativeSrc": "1797:18:36", + "nativeSrc": "1797:18:34", "nodeType": "YulLiteral", - "src": "1797:18:36", + "src": "1797:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "1782:2:36", + "nativeSrc": "1782:2:34", "nodeType": "YulIdentifier", - "src": "1782:2:36" + "src": "1782:2:34" }, - "nativeSrc": "1782:34:36", + "nativeSrc": "1782:34:34", "nodeType": "YulFunctionCall", - "src": "1782:34:36" + "src": "1782:34:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "1821:10:36", + "nativeSrc": "1821:10:34", "nodeType": "YulIdentifier", - "src": "1821:10:36" + "src": "1821:10:34" }, { "name": "memPtr", - "nativeSrc": "1833:6:36", + "nativeSrc": "1833:6:34", "nodeType": "YulIdentifier", - "src": "1833:6:36" + "src": "1833:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "1818:2:36", + "nativeSrc": "1818:2:34", "nodeType": "YulIdentifier", - "src": "1818:2:36" + "src": "1818:2:34" }, - "nativeSrc": "1818:22:36", + "nativeSrc": "1818:22:34", "nodeType": "YulFunctionCall", - "src": "1818:22:36" + "src": "1818:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "1779:2:36", + "nativeSrc": "1779:2:34", "nodeType": "YulIdentifier", - "src": "1779:2:36" + "src": "1779:2:34" }, - "nativeSrc": "1779:62:36", + "nativeSrc": "1779:62:34", "nodeType": "YulFunctionCall", - "src": "1779:62:36" + "src": "1779:62:34" }, - "nativeSrc": "1776:88:36", + "nativeSrc": "1776:88:34", "nodeType": "YulIf", - "src": "1776:88:36" + "src": "1776:88:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1880:2:36", + "nativeSrc": "1880:2:34", "nodeType": "YulLiteral", - "src": "1880:2:36", + "src": "1880:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "1884:10:36", + "nativeSrc": "1884:10:34", "nodeType": "YulIdentifier", - "src": "1884:10:36" + "src": "1884:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1873:6:36", + "nativeSrc": "1873:6:34", "nodeType": "YulIdentifier", - "src": "1873:6:36" + "src": "1873:6:34" }, - "nativeSrc": "1873:22:36", + "nativeSrc": "1873:22:34", "nodeType": "YulFunctionCall", - "src": "1873:22:36" + "src": "1873:22:34" }, - "nativeSrc": "1873:22:36", + "nativeSrc": "1873:22:34", "nodeType": "YulExpressionStatement", - "src": "1873:22:36" + "src": "1873:22:34" } ] }, "name": "allocate_memory_3052", - "nativeSrc": "1648:253:36", + "nativeSrc": "1648:253:34", "nodeType": "YulFunctionDefinition", "returnVariables": [ { "name": "memPtr", - "nativeSrc": "1683:6:36", + "nativeSrc": "1683:6:34", "nodeType": "YulTypedName", - "src": "1683:6:36", + "src": "1683:6:34", "type": "" } ], - "src": "1648:253:36" + "src": "1648:253:34" }, { "body": { - "nativeSrc": "1952:207:36", + "nativeSrc": "1952:207:34", "nodeType": "YulBlock", - "src": "1952:207:36", + "src": "1952:207:34", "statements": [ { - "nativeSrc": "1962:19:36", + "nativeSrc": "1962:19:34", "nodeType": "YulAssignment", - "src": "1962:19:36", + "src": "1962:19:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1978:2:36", + "nativeSrc": "1978:2:34", "nodeType": "YulLiteral", - "src": "1978:2:36", + "src": "1978:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "1972:5:36", + "nativeSrc": "1972:5:34", "nodeType": "YulIdentifier", - "src": "1972:5:36" + "src": "1972:5:34" }, - "nativeSrc": "1972:9:36", + "nativeSrc": "1972:9:34", "nodeType": "YulFunctionCall", - "src": "1972:9:36" + "src": "1972:9:34" }, "variableNames": [ { "name": "memPtr", - "nativeSrc": "1962:6:36", + "nativeSrc": "1962:6:34", "nodeType": "YulIdentifier", - "src": "1962:6:36" + "src": "1962:6:34" } ] }, { - "nativeSrc": "1990:35:36", + "nativeSrc": "1990:35:34", "nodeType": "YulVariableDeclaration", - "src": "1990:35:36", + "src": "1990:35:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "2012:6:36", + "nativeSrc": "2012:6:34", "nodeType": "YulIdentifier", - "src": "2012:6:36" + "src": "2012:6:34" }, { "kind": "number", - "nativeSrc": "2020:4:36", + "nativeSrc": "2020:4:34", "nodeType": "YulLiteral", - "src": "2020:4:36", + "src": "2020:4:34", "type": "", "value": "0xa0" } ], "functionName": { "name": "add", - "nativeSrc": "2008:3:36", + "nativeSrc": "2008:3:34", "nodeType": "YulIdentifier", - "src": "2008:3:36" + "src": "2008:3:34" }, - "nativeSrc": "2008:17:36", + "nativeSrc": "2008:17:34", "nodeType": "YulFunctionCall", - "src": "2008:17:36" + "src": "2008:17:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "1994:10:36", + "nativeSrc": "1994:10:34", "nodeType": "YulTypedName", - "src": "1994:10:36", + "src": "1994:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "2100:22:36", + "nativeSrc": "2100:22:34", "nodeType": "YulBlock", - "src": "2100:22:36", + "src": "2100:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "2102:16:36", + "nativeSrc": "2102:16:34", "nodeType": "YulIdentifier", - "src": "2102:16:36" + "src": "2102:16:34" }, - "nativeSrc": "2102:18:36", + "nativeSrc": "2102:18:34", "nodeType": "YulFunctionCall", - "src": "2102:18:36" + "src": "2102:18:34" }, - "nativeSrc": "2102:18:36", + "nativeSrc": "2102:18:34", "nodeType": "YulExpressionStatement", - "src": "2102:18:36" + "src": "2102:18:34" } ] }, @@ -87547,220 +86557,220 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "2043:10:36", + "nativeSrc": "2043:10:34", "nodeType": "YulIdentifier", - "src": "2043:10:36" + "src": "2043:10:34" }, { "kind": "number", - "nativeSrc": "2055:18:36", + "nativeSrc": "2055:18:34", "nodeType": "YulLiteral", - "src": "2055:18:36", + "src": "2055:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "2040:2:36", + "nativeSrc": "2040:2:34", "nodeType": "YulIdentifier", - "src": "2040:2:36" + "src": "2040:2:34" }, - "nativeSrc": "2040:34:36", + "nativeSrc": "2040:34:34", "nodeType": "YulFunctionCall", - "src": "2040:34:36" + "src": "2040:34:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "2079:10:36", + "nativeSrc": "2079:10:34", "nodeType": "YulIdentifier", - "src": "2079:10:36" + "src": "2079:10:34" }, { "name": "memPtr", - "nativeSrc": "2091:6:36", + "nativeSrc": "2091:6:34", "nodeType": "YulIdentifier", - "src": "2091:6:36" + "src": "2091:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "2076:2:36", + "nativeSrc": "2076:2:34", "nodeType": "YulIdentifier", - "src": "2076:2:36" + "src": "2076:2:34" }, - "nativeSrc": "2076:22:36", + "nativeSrc": "2076:22:34", "nodeType": "YulFunctionCall", - "src": "2076:22:36" + "src": "2076:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "2037:2:36", + "nativeSrc": "2037:2:34", "nodeType": "YulIdentifier", - "src": "2037:2:36" + "src": "2037:2:34" }, - "nativeSrc": "2037:62:36", + "nativeSrc": "2037:62:34", "nodeType": "YulFunctionCall", - "src": "2037:62:36" + "src": "2037:62:34" }, - "nativeSrc": "2034:88:36", + "nativeSrc": "2034:88:34", "nodeType": "YulIf", - "src": "2034:88:36" + "src": "2034:88:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2138:2:36", + "nativeSrc": "2138:2:34", "nodeType": "YulLiteral", - "src": "2138:2:36", + "src": "2138:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "2142:10:36", + "nativeSrc": "2142:10:34", "nodeType": "YulIdentifier", - "src": "2142:10:36" + "src": "2142:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2131:6:36", + "nativeSrc": "2131:6:34", "nodeType": "YulIdentifier", - "src": "2131:6:36" + "src": "2131:6:34" }, - "nativeSrc": "2131:22:36", + "nativeSrc": "2131:22:34", "nodeType": "YulFunctionCall", - "src": "2131:22:36" + "src": "2131:22:34" }, - "nativeSrc": "2131:22:36", + "nativeSrc": "2131:22:34", "nodeType": "YulExpressionStatement", - "src": "2131:22:36" + "src": "2131:22:34" } ] }, "name": "allocate_memory_3054", - "nativeSrc": "1906:253:36", + "nativeSrc": "1906:253:34", "nodeType": "YulFunctionDefinition", "returnVariables": [ { "name": "memPtr", - "nativeSrc": "1941:6:36", + "nativeSrc": "1941:6:34", "nodeType": "YulTypedName", - "src": "1941:6:36", + "src": "1941:6:34", "type": "" } ], - "src": "1906:253:36" + "src": "1906:253:34" }, { "body": { - "nativeSrc": "2210:207:36", + "nativeSrc": "2210:207:34", "nodeType": "YulBlock", - "src": "2210:207:36", + "src": "2210:207:34", "statements": [ { - "nativeSrc": "2220:19:36", + "nativeSrc": "2220:19:34", "nodeType": "YulAssignment", - "src": "2220:19:36", + "src": "2220:19:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "2236:2:36", + "nativeSrc": "2236:2:34", "nodeType": "YulLiteral", - "src": "2236:2:36", + "src": "2236:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "2230:5:36", + "nativeSrc": "2230:5:34", "nodeType": "YulIdentifier", - "src": "2230:5:36" + "src": "2230:5:34" }, - "nativeSrc": "2230:9:36", + "nativeSrc": "2230:9:34", "nodeType": "YulFunctionCall", - "src": "2230:9:36" + "src": "2230:9:34" }, "variableNames": [ { "name": "memPtr", - "nativeSrc": "2220:6:36", + "nativeSrc": "2220:6:34", "nodeType": "YulIdentifier", - "src": "2220:6:36" + "src": "2220:6:34" } ] }, { - "nativeSrc": "2248:35:36", + "nativeSrc": "2248:35:34", "nodeType": "YulVariableDeclaration", - "src": "2248:35:36", + "src": "2248:35:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "2270:6:36", + "nativeSrc": "2270:6:34", "nodeType": "YulIdentifier", - "src": "2270:6:36" + "src": "2270:6:34" }, { "kind": "number", - "nativeSrc": "2278:4:36", + "nativeSrc": "2278:4:34", "nodeType": "YulLiteral", - "src": "2278:4:36", + "src": "2278:4:34", "type": "", "value": "0x80" } ], "functionName": { "name": "add", - "nativeSrc": "2266:3:36", + "nativeSrc": "2266:3:34", "nodeType": "YulIdentifier", - "src": "2266:3:36" + "src": "2266:3:34" }, - "nativeSrc": "2266:17:36", + "nativeSrc": "2266:17:34", "nodeType": "YulFunctionCall", - "src": "2266:17:36" + "src": "2266:17:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "2252:10:36", + "nativeSrc": "2252:10:34", "nodeType": "YulTypedName", - "src": "2252:10:36", + "src": "2252:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "2358:22:36", + "nativeSrc": "2358:22:34", "nodeType": "YulBlock", - "src": "2358:22:36", + "src": "2358:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "2360:16:36", + "nativeSrc": "2360:16:34", "nodeType": "YulIdentifier", - "src": "2360:16:36" + "src": "2360:16:34" }, - "nativeSrc": "2360:18:36", + "nativeSrc": "2360:18:34", "nodeType": "YulFunctionCall", - "src": "2360:18:36" + "src": "2360:18:34" }, - "nativeSrc": "2360:18:36", + "nativeSrc": "2360:18:34", "nodeType": "YulExpressionStatement", - "src": "2360:18:36" + "src": "2360:18:34" } ] }, @@ -87770,220 +86780,220 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "2301:10:36", + "nativeSrc": "2301:10:34", "nodeType": "YulIdentifier", - "src": "2301:10:36" + "src": "2301:10:34" }, { "kind": "number", - "nativeSrc": "2313:18:36", + "nativeSrc": "2313:18:34", "nodeType": "YulLiteral", - "src": "2313:18:36", + "src": "2313:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "2298:2:36", + "nativeSrc": "2298:2:34", "nodeType": "YulIdentifier", - "src": "2298:2:36" + "src": "2298:2:34" }, - "nativeSrc": "2298:34:36", + "nativeSrc": "2298:34:34", "nodeType": "YulFunctionCall", - "src": "2298:34:36" + "src": "2298:34:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "2337:10:36", + "nativeSrc": "2337:10:34", "nodeType": "YulIdentifier", - "src": "2337:10:36" + "src": "2337:10:34" }, { "name": "memPtr", - "nativeSrc": "2349:6:36", + "nativeSrc": "2349:6:34", "nodeType": "YulIdentifier", - "src": "2349:6:36" + "src": "2349:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "2334:2:36", + "nativeSrc": "2334:2:34", "nodeType": "YulIdentifier", - "src": "2334:2:36" + "src": "2334:2:34" }, - "nativeSrc": "2334:22:36", + "nativeSrc": "2334:22:34", "nodeType": "YulFunctionCall", - "src": "2334:22:36" + "src": "2334:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "2295:2:36", + "nativeSrc": "2295:2:34", "nodeType": "YulIdentifier", - "src": "2295:2:36" + "src": "2295:2:34" }, - "nativeSrc": "2295:62:36", + "nativeSrc": "2295:62:34", "nodeType": "YulFunctionCall", - "src": "2295:62:36" + "src": "2295:62:34" }, - "nativeSrc": "2292:88:36", + "nativeSrc": "2292:88:34", "nodeType": "YulIf", - "src": "2292:88:36" + "src": "2292:88:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2396:2:36", + "nativeSrc": "2396:2:34", "nodeType": "YulLiteral", - "src": "2396:2:36", + "src": "2396:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "2400:10:36", + "nativeSrc": "2400:10:34", "nodeType": "YulIdentifier", - "src": "2400:10:36" + "src": "2400:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2389:6:36", + "nativeSrc": "2389:6:34", "nodeType": "YulIdentifier", - "src": "2389:6:36" + "src": "2389:6:34" }, - "nativeSrc": "2389:22:36", + "nativeSrc": "2389:22:34", "nodeType": "YulFunctionCall", - "src": "2389:22:36" + "src": "2389:22:34" }, - "nativeSrc": "2389:22:36", + "nativeSrc": "2389:22:34", "nodeType": "YulExpressionStatement", - "src": "2389:22:36" + "src": "2389:22:34" } ] }, "name": "allocate_memory_3056", - "nativeSrc": "2164:253:36", + "nativeSrc": "2164:253:34", "nodeType": "YulFunctionDefinition", "returnVariables": [ { "name": "memPtr", - "nativeSrc": "2199:6:36", + "nativeSrc": "2199:6:34", "nodeType": "YulTypedName", - "src": "2199:6:36", + "src": "2199:6:34", "type": "" } ], - "src": "2164:253:36" + "src": "2164:253:34" }, { "body": { - "nativeSrc": "2468:207:36", + "nativeSrc": "2468:207:34", "nodeType": "YulBlock", - "src": "2468:207:36", + "src": "2468:207:34", "statements": [ { - "nativeSrc": "2478:19:36", + "nativeSrc": "2478:19:34", "nodeType": "YulAssignment", - "src": "2478:19:36", + "src": "2478:19:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "2494:2:36", + "nativeSrc": "2494:2:34", "nodeType": "YulLiteral", - "src": "2494:2:36", + "src": "2494:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "2488:5:36", + "nativeSrc": "2488:5:34", "nodeType": "YulIdentifier", - "src": "2488:5:36" + "src": "2488:5:34" }, - "nativeSrc": "2488:9:36", + "nativeSrc": "2488:9:34", "nodeType": "YulFunctionCall", - "src": "2488:9:36" + "src": "2488:9:34" }, "variableNames": [ { "name": "memPtr", - "nativeSrc": "2478:6:36", + "nativeSrc": "2478:6:34", "nodeType": "YulIdentifier", - "src": "2478:6:36" + "src": "2478:6:34" } ] }, { - "nativeSrc": "2506:35:36", + "nativeSrc": "2506:35:34", "nodeType": "YulVariableDeclaration", - "src": "2506:35:36", + "src": "2506:35:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "2528:6:36", + "nativeSrc": "2528:6:34", "nodeType": "YulIdentifier", - "src": "2528:6:36" + "src": "2528:6:34" }, { "kind": "number", - "nativeSrc": "2536:4:36", + "nativeSrc": "2536:4:34", "nodeType": "YulLiteral", - "src": "2536:4:36", + "src": "2536:4:34", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "2524:3:36", + "nativeSrc": "2524:3:34", "nodeType": "YulIdentifier", - "src": "2524:3:36" + "src": "2524:3:34" }, - "nativeSrc": "2524:17:36", + "nativeSrc": "2524:17:34", "nodeType": "YulFunctionCall", - "src": "2524:17:36" + "src": "2524:17:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "2510:10:36", + "nativeSrc": "2510:10:34", "nodeType": "YulTypedName", - "src": "2510:10:36", + "src": "2510:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "2616:22:36", + "nativeSrc": "2616:22:34", "nodeType": "YulBlock", - "src": "2616:22:36", + "src": "2616:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "2618:16:36", + "nativeSrc": "2618:16:34", "nodeType": "YulIdentifier", - "src": "2618:16:36" + "src": "2618:16:34" }, - "nativeSrc": "2618:18:36", + "nativeSrc": "2618:18:34", "nodeType": "YulFunctionCall", - "src": "2618:18:36" + "src": "2618:18:34" }, - "nativeSrc": "2618:18:36", + "nativeSrc": "2618:18:34", "nodeType": "YulExpressionStatement", - "src": "2618:18:36" + "src": "2618:18:34" } ] }, @@ -87993,168 +87003,168 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "2559:10:36", + "nativeSrc": "2559:10:34", "nodeType": "YulIdentifier", - "src": "2559:10:36" + "src": "2559:10:34" }, { "kind": "number", - "nativeSrc": "2571:18:36", + "nativeSrc": "2571:18:34", "nodeType": "YulLiteral", - "src": "2571:18:36", + "src": "2571:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "2556:2:36", + "nativeSrc": "2556:2:34", "nodeType": "YulIdentifier", - "src": "2556:2:36" + "src": "2556:2:34" }, - "nativeSrc": "2556:34:36", + "nativeSrc": "2556:34:34", "nodeType": "YulFunctionCall", - "src": "2556:34:36" + "src": "2556:34:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "2595:10:36", + "nativeSrc": "2595:10:34", "nodeType": "YulIdentifier", - "src": "2595:10:36" + "src": "2595:10:34" }, { "name": "memPtr", - "nativeSrc": "2607:6:36", + "nativeSrc": "2607:6:34", "nodeType": "YulIdentifier", - "src": "2607:6:36" + "src": "2607:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "2592:2:36", + "nativeSrc": "2592:2:34", "nodeType": "YulIdentifier", - "src": "2592:2:36" + "src": "2592:2:34" }, - "nativeSrc": "2592:22:36", + "nativeSrc": "2592:22:34", "nodeType": "YulFunctionCall", - "src": "2592:22:36" + "src": "2592:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "2553:2:36", + "nativeSrc": "2553:2:34", "nodeType": "YulIdentifier", - "src": "2553:2:36" + "src": "2553:2:34" }, - "nativeSrc": "2553:62:36", + "nativeSrc": "2553:62:34", "nodeType": "YulFunctionCall", - "src": "2553:62:36" + "src": "2553:62:34" }, - "nativeSrc": "2550:88:36", + "nativeSrc": "2550:88:34", "nodeType": "YulIf", - "src": "2550:88:36" + "src": "2550:88:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2654:2:36", + "nativeSrc": "2654:2:34", "nodeType": "YulLiteral", - "src": "2654:2:36", + "src": "2654:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "2658:10:36", + "nativeSrc": "2658:10:34", "nodeType": "YulIdentifier", - "src": "2658:10:36" + "src": "2658:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2647:6:36", + "nativeSrc": "2647:6:34", "nodeType": "YulIdentifier", - "src": "2647:6:36" + "src": "2647:6:34" }, - "nativeSrc": "2647:22:36", + "nativeSrc": "2647:22:34", "nodeType": "YulFunctionCall", - "src": "2647:22:36" + "src": "2647:22:34" }, - "nativeSrc": "2647:22:36", + "nativeSrc": "2647:22:34", "nodeType": "YulExpressionStatement", - "src": "2647:22:36" + "src": "2647:22:34" } ] }, "name": "allocate_memory_3058", - "nativeSrc": "2422:253:36", + "nativeSrc": "2422:253:34", "nodeType": "YulFunctionDefinition", "returnVariables": [ { "name": "memPtr", - "nativeSrc": "2457:6:36", + "nativeSrc": "2457:6:34", "nodeType": "YulTypedName", - "src": "2457:6:36", + "src": "2457:6:34", "type": "" } ], - "src": "2422:253:36" + "src": "2422:253:34" }, { "body": { - "nativeSrc": "2725:230:36", + "nativeSrc": "2725:230:34", "nodeType": "YulBlock", - "src": "2725:230:36", + "src": "2725:230:34", "statements": [ { - "nativeSrc": "2735:19:36", + "nativeSrc": "2735:19:34", "nodeType": "YulAssignment", - "src": "2735:19:36", + "src": "2735:19:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "2751:2:36", + "nativeSrc": "2751:2:34", "nodeType": "YulLiteral", - "src": "2751:2:36", + "src": "2751:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "2745:5:36", + "nativeSrc": "2745:5:34", "nodeType": "YulIdentifier", - "src": "2745:5:36" + "src": "2745:5:34" }, - "nativeSrc": "2745:9:36", + "nativeSrc": "2745:9:34", "nodeType": "YulFunctionCall", - "src": "2745:9:36" + "src": "2745:9:34" }, "variableNames": [ { "name": "memPtr", - "nativeSrc": "2735:6:36", + "nativeSrc": "2735:6:34", "nodeType": "YulIdentifier", - "src": "2735:6:36" + "src": "2735:6:34" } ] }, { - "nativeSrc": "2763:58:36", + "nativeSrc": "2763:58:34", "nodeType": "YulVariableDeclaration", - "src": "2763:58:36", + "src": "2763:58:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "2785:6:36", + "nativeSrc": "2785:6:34", "nodeType": "YulIdentifier", - "src": "2785:6:36" + "src": "2785:6:34" }, { "arguments": [ @@ -88162,104 +87172,104 @@ "arguments": [ { "name": "size", - "nativeSrc": "2801:4:36", + "nativeSrc": "2801:4:34", "nodeType": "YulIdentifier", - "src": "2801:4:36" + "src": "2801:4:34" }, { "kind": "number", - "nativeSrc": "2807:2:36", + "nativeSrc": "2807:2:34", "nodeType": "YulLiteral", - "src": "2807:2:36", + "src": "2807:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "2797:3:36", + "nativeSrc": "2797:3:34", "nodeType": "YulIdentifier", - "src": "2797:3:36" + "src": "2797:3:34" }, - "nativeSrc": "2797:13:36", + "nativeSrc": "2797:13:34", "nodeType": "YulFunctionCall", - "src": "2797:13:36" + "src": "2797:13:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "2816:2:36", + "nativeSrc": "2816:2:34", "nodeType": "YulLiteral", - "src": "2816:2:36", + "src": "2816:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "2812:3:36", + "nativeSrc": "2812:3:34", "nodeType": "YulIdentifier", - "src": "2812:3:36" + "src": "2812:3:34" }, - "nativeSrc": "2812:7:36", + "nativeSrc": "2812:7:34", "nodeType": "YulFunctionCall", - "src": "2812:7:36" + "src": "2812:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "2793:3:36", + "nativeSrc": "2793:3:34", "nodeType": "YulIdentifier", - "src": "2793:3:36" + "src": "2793:3:34" }, - "nativeSrc": "2793:27:36", + "nativeSrc": "2793:27:34", "nodeType": "YulFunctionCall", - "src": "2793:27:36" + "src": "2793:27:34" } ], "functionName": { "name": "add", - "nativeSrc": "2781:3:36", + "nativeSrc": "2781:3:34", "nodeType": "YulIdentifier", - "src": "2781:3:36" + "src": "2781:3:34" }, - "nativeSrc": "2781:40:36", + "nativeSrc": "2781:40:34", "nodeType": "YulFunctionCall", - "src": "2781:40:36" + "src": "2781:40:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "2767:10:36", + "nativeSrc": "2767:10:34", "nodeType": "YulTypedName", - "src": "2767:10:36", + "src": "2767:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "2896:22:36", + "nativeSrc": "2896:22:34", "nodeType": "YulBlock", - "src": "2896:22:36", + "src": "2896:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "2898:16:36", + "nativeSrc": "2898:16:34", "nodeType": "YulIdentifier", - "src": "2898:16:36" + "src": "2898:16:34" }, - "nativeSrc": "2898:18:36", + "nativeSrc": "2898:18:34", "nodeType": "YulFunctionCall", - "src": "2898:18:36" + "src": "2898:18:34" }, - "nativeSrc": "2898:18:36", + "nativeSrc": "2898:18:34", "nodeType": "YulExpressionStatement", - "src": "2898:18:36" + "src": "2898:18:34" } ] }, @@ -88269,154 +87279,154 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "2839:10:36", + "nativeSrc": "2839:10:34", "nodeType": "YulIdentifier", - "src": "2839:10:36" + "src": "2839:10:34" }, { "kind": "number", - "nativeSrc": "2851:18:36", + "nativeSrc": "2851:18:34", "nodeType": "YulLiteral", - "src": "2851:18:36", + "src": "2851:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "2836:2:36", + "nativeSrc": "2836:2:34", "nodeType": "YulIdentifier", - "src": "2836:2:36" + "src": "2836:2:34" }, - "nativeSrc": "2836:34:36", + "nativeSrc": "2836:34:34", "nodeType": "YulFunctionCall", - "src": "2836:34:36" + "src": "2836:34:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "2875:10:36", + "nativeSrc": "2875:10:34", "nodeType": "YulIdentifier", - "src": "2875:10:36" + "src": "2875:10:34" }, { "name": "memPtr", - "nativeSrc": "2887:6:36", + "nativeSrc": "2887:6:34", "nodeType": "YulIdentifier", - "src": "2887:6:36" + "src": "2887:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "2872:2:36", + "nativeSrc": "2872:2:34", "nodeType": "YulIdentifier", - "src": "2872:2:36" + "src": "2872:2:34" }, - "nativeSrc": "2872:22:36", + "nativeSrc": "2872:22:34", "nodeType": "YulFunctionCall", - "src": "2872:22:36" + "src": "2872:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "2833:2:36", + "nativeSrc": "2833:2:34", "nodeType": "YulIdentifier", - "src": "2833:2:36" + "src": "2833:2:34" }, - "nativeSrc": "2833:62:36", + "nativeSrc": "2833:62:34", "nodeType": "YulFunctionCall", - "src": "2833:62:36" + "src": "2833:62:34" }, - "nativeSrc": "2830:88:36", + "nativeSrc": "2830:88:34", "nodeType": "YulIf", - "src": "2830:88:36" + "src": "2830:88:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2934:2:36", + "nativeSrc": "2934:2:34", "nodeType": "YulLiteral", - "src": "2934:2:36", + "src": "2934:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "2938:10:36", + "nativeSrc": "2938:10:34", "nodeType": "YulIdentifier", - "src": "2938:10:36" + "src": "2938:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2927:6:36", + "nativeSrc": "2927:6:34", "nodeType": "YulIdentifier", - "src": "2927:6:36" + "src": "2927:6:34" }, - "nativeSrc": "2927:22:36", + "nativeSrc": "2927:22:34", "nodeType": "YulFunctionCall", - "src": "2927:22:36" + "src": "2927:22:34" }, - "nativeSrc": "2927:22:36", + "nativeSrc": "2927:22:34", "nodeType": "YulExpressionStatement", - "src": "2927:22:36" + "src": "2927:22:34" } ] }, "name": "allocate_memory", - "nativeSrc": "2680:275:36", + "nativeSrc": "2680:275:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "size", - "nativeSrc": "2705:4:36", + "nativeSrc": "2705:4:34", "nodeType": "YulTypedName", - "src": "2705:4:36", + "src": "2705:4:34", "type": "" } ], "returnVariables": [ { "name": "memPtr", - "nativeSrc": "2714:6:36", + "nativeSrc": "2714:6:34", "nodeType": "YulTypedName", - "src": "2714:6:36", + "src": "2714:6:34", "type": "" } ], - "src": "2680:275:36" + "src": "2680:275:34" }, { "body": { - "nativeSrc": "3018:129:36", + "nativeSrc": "3018:129:34", "nodeType": "YulBlock", - "src": "3018:129:36", + "src": "3018:129:34", "statements": [ { "body": { - "nativeSrc": "3062:22:36", + "nativeSrc": "3062:22:34", "nodeType": "YulBlock", - "src": "3062:22:36", + "src": "3062:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "3064:16:36", + "nativeSrc": "3064:16:34", "nodeType": "YulIdentifier", - "src": "3064:16:36" + "src": "3064:16:34" }, - "nativeSrc": "3064:18:36", + "nativeSrc": "3064:18:34", "nodeType": "YulFunctionCall", - "src": "3064:18:36" + "src": "3064:18:34" }, - "nativeSrc": "3064:18:36", + "nativeSrc": "3064:18:34", "nodeType": "YulExpressionStatement", - "src": "3064:18:36" + "src": "3064:18:34" } ] }, @@ -88424,37 +87434,37 @@ "arguments": [ { "name": "length", - "nativeSrc": "3034:6:36", + "nativeSrc": "3034:6:34", "nodeType": "YulIdentifier", - "src": "3034:6:36" + "src": "3034:6:34" }, { "kind": "number", - "nativeSrc": "3042:18:36", + "nativeSrc": "3042:18:34", "nodeType": "YulLiteral", - "src": "3042:18:36", + "src": "3042:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "3031:2:36", + "nativeSrc": "3031:2:34", "nodeType": "YulIdentifier", - "src": "3031:2:36" + "src": "3031:2:34" }, - "nativeSrc": "3031:30:36", + "nativeSrc": "3031:30:34", "nodeType": "YulFunctionCall", - "src": "3031:30:36" + "src": "3031:30:34" }, - "nativeSrc": "3028:56:36", + "nativeSrc": "3028:56:34", "nodeType": "YulIf", - "src": "3028:56:36" + "src": "3028:56:34" }, { - "nativeSrc": "3093:48:36", + "nativeSrc": "3093:48:34", "nodeType": "YulAssignment", - "src": "3093:48:36", + "src": "3093:48:34", "value": { "arguments": [ { @@ -88463,162 +87473,162 @@ "arguments": [ { "name": "length", - "nativeSrc": "3113:6:36", + "nativeSrc": "3113:6:34", "nodeType": "YulIdentifier", - "src": "3113:6:36" + "src": "3113:6:34" }, { "kind": "number", - "nativeSrc": "3121:2:36", + "nativeSrc": "3121:2:34", "nodeType": "YulLiteral", - "src": "3121:2:36", + "src": "3121:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "3109:3:36", + "nativeSrc": "3109:3:34", "nodeType": "YulIdentifier", - "src": "3109:3:36" + "src": "3109:3:34" }, - "nativeSrc": "3109:15:36", + "nativeSrc": "3109:15:34", "nodeType": "YulFunctionCall", - "src": "3109:15:36" + "src": "3109:15:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "3130:2:36", + "nativeSrc": "3130:2:34", "nodeType": "YulLiteral", - "src": "3130:2:36", + "src": "3130:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "3126:3:36", + "nativeSrc": "3126:3:34", "nodeType": "YulIdentifier", - "src": "3126:3:36" + "src": "3126:3:34" }, - "nativeSrc": "3126:7:36", + "nativeSrc": "3126:7:34", "nodeType": "YulFunctionCall", - "src": "3126:7:36" + "src": "3126:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "3105:3:36", + "nativeSrc": "3105:3:34", "nodeType": "YulIdentifier", - "src": "3105:3:36" + "src": "3105:3:34" }, - "nativeSrc": "3105:29:36", + "nativeSrc": "3105:29:34", "nodeType": "YulFunctionCall", - "src": "3105:29:36" + "src": "3105:29:34" }, { "kind": "number", - "nativeSrc": "3136:4:36", + "nativeSrc": "3136:4:34", "nodeType": "YulLiteral", - "src": "3136:4:36", + "src": "3136:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "3101:3:36", + "nativeSrc": "3101:3:34", "nodeType": "YulIdentifier", - "src": "3101:3:36" + "src": "3101:3:34" }, - "nativeSrc": "3101:40:36", + "nativeSrc": "3101:40:34", "nodeType": "YulFunctionCall", - "src": "3101:40:36" + "src": "3101:40:34" }, "variableNames": [ { "name": "size", - "nativeSrc": "3093:4:36", + "nativeSrc": "3093:4:34", "nodeType": "YulIdentifier", - "src": "3093:4:36" + "src": "3093:4:34" } ] } ] }, "name": "array_allocation_size_string", - "nativeSrc": "2960:187:36", + "nativeSrc": "2960:187:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "length", - "nativeSrc": "2998:6:36", + "nativeSrc": "2998:6:34", "nodeType": "YulTypedName", - "src": "2998:6:36", + "src": "2998:6:34", "type": "" } ], "returnVariables": [ { "name": "size", - "nativeSrc": "3009:4:36", + "nativeSrc": "3009:4:34", "nodeType": "YulTypedName", - "src": "3009:4:36", + "src": "3009:4:34", "type": "" } ], - "src": "2960:187:36" + "src": "2960:187:34" }, { "body": { - "nativeSrc": "3227:263:36", + "nativeSrc": "3227:263:34", "nodeType": "YulBlock", - "src": "3227:263:36", + "src": "3227:263:34", "statements": [ { - "nativeSrc": "3237:62:36", + "nativeSrc": "3237:62:34", "nodeType": "YulAssignment", - "src": "3237:62:36", + "src": "3237:62:34", "value": { "arguments": [ { "arguments": [ { "name": "length", - "nativeSrc": "3291:6:36", + "nativeSrc": "3291:6:34", "nodeType": "YulIdentifier", - "src": "3291:6:36" + "src": "3291:6:34" } ], "functionName": { "name": "array_allocation_size_string", - "nativeSrc": "3262:28:36", + "nativeSrc": "3262:28:34", "nodeType": "YulIdentifier", - "src": "3262:28:36" + "src": "3262:28:34" }, - "nativeSrc": "3262:36:36", + "nativeSrc": "3262:36:34", "nodeType": "YulFunctionCall", - "src": "3262:36:36" + "src": "3262:36:34" } ], "functionName": { "name": "allocate_memory", - "nativeSrc": "3246:15:36", + "nativeSrc": "3246:15:34", "nodeType": "YulIdentifier", - "src": "3246:15:36" + "src": "3246:15:34" }, - "nativeSrc": "3246:53:36", + "nativeSrc": "3246:53:34", "nodeType": "YulFunctionCall", - "src": "3246:53:36" + "src": "3246:53:34" }, "variableNames": [ { "name": "array", - "nativeSrc": "3237:5:36", + "nativeSrc": "3237:5:34", "nodeType": "YulIdentifier", - "src": "3237:5:36" + "src": "3237:5:34" } ] }, @@ -88627,70 +87637,70 @@ "arguments": [ { "name": "array", - "nativeSrc": "3315:5:36", + "nativeSrc": "3315:5:34", "nodeType": "YulIdentifier", - "src": "3315:5:36" + "src": "3315:5:34" }, { "name": "length", - "nativeSrc": "3322:6:36", + "nativeSrc": "3322:6:34", "nodeType": "YulIdentifier", - "src": "3322:6:36" + "src": "3322:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "3308:6:36", + "nativeSrc": "3308:6:34", "nodeType": "YulIdentifier", - "src": "3308:6:36" + "src": "3308:6:34" }, - "nativeSrc": "3308:21:36", + "nativeSrc": "3308:21:34", "nodeType": "YulFunctionCall", - "src": "3308:21:36" + "src": "3308:21:34" }, - "nativeSrc": "3308:21:36", + "nativeSrc": "3308:21:34", "nodeType": "YulExpressionStatement", - "src": "3308:21:36" + "src": "3308:21:34" }, { "body": { - "nativeSrc": "3367:16:36", + "nativeSrc": "3367:16:34", "nodeType": "YulBlock", - "src": "3367:16:36", + "src": "3367:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "3376:1:36", + "nativeSrc": "3376:1:34", "nodeType": "YulLiteral", - "src": "3376:1:36", + "src": "3376:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "3379:1:36", + "nativeSrc": "3379:1:34", "nodeType": "YulLiteral", - "src": "3379:1:36", + "src": "3379:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "3369:6:36", + "nativeSrc": "3369:6:34", "nodeType": "YulIdentifier", - "src": "3369:6:36" + "src": "3369:6:34" }, - "nativeSrc": "3369:12:36", + "nativeSrc": "3369:12:34", "nodeType": "YulFunctionCall", - "src": "3369:12:36" + "src": "3369:12:34" }, - "nativeSrc": "3369:12:36", + "nativeSrc": "3369:12:34", "nodeType": "YulExpressionStatement", - "src": "3369:12:36" + "src": "3369:12:34" } ] }, @@ -88700,47 +87710,47 @@ "arguments": [ { "name": "src", - "nativeSrc": "3348:3:36", + "nativeSrc": "3348:3:34", "nodeType": "YulIdentifier", - "src": "3348:3:36" + "src": "3348:3:34" }, { "name": "length", - "nativeSrc": "3353:6:36", + "nativeSrc": "3353:6:34", "nodeType": "YulIdentifier", - "src": "3353:6:36" + "src": "3353:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "3344:3:36", + "nativeSrc": "3344:3:34", "nodeType": "YulIdentifier", - "src": "3344:3:36" + "src": "3344:3:34" }, - "nativeSrc": "3344:16:36", + "nativeSrc": "3344:16:34", "nodeType": "YulFunctionCall", - "src": "3344:16:36" + "src": "3344:16:34" }, { "name": "end", - "nativeSrc": "3362:3:36", + "nativeSrc": "3362:3:34", "nodeType": "YulIdentifier", - "src": "3362:3:36" + "src": "3362:3:34" } ], "functionName": { "name": "gt", - "nativeSrc": "3341:2:36", + "nativeSrc": "3341:2:34", "nodeType": "YulIdentifier", - "src": "3341:2:36" + "src": "3341:2:34" }, - "nativeSrc": "3341:25:36", + "nativeSrc": "3341:25:34", "nodeType": "YulFunctionCall", - "src": "3341:25:36" + "src": "3341:25:34" }, - "nativeSrc": "3338:45:36", + "nativeSrc": "3338:45:34", "nodeType": "YulIf", - "src": "3338:45:36" + "src": "3338:45:34" }, { "expression": { @@ -88749,55 +87759,55 @@ "arguments": [ { "name": "array", - "nativeSrc": "3409:5:36", + "nativeSrc": "3409:5:34", "nodeType": "YulIdentifier", - "src": "3409:5:36" + "src": "3409:5:34" }, { "kind": "number", - "nativeSrc": "3416:4:36", + "nativeSrc": "3416:4:34", "nodeType": "YulLiteral", - "src": "3416:4:36", + "src": "3416:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "3405:3:36", + "nativeSrc": "3405:3:34", "nodeType": "YulIdentifier", - "src": "3405:3:36" + "src": "3405:3:34" }, - "nativeSrc": "3405:16:36", + "nativeSrc": "3405:16:34", "nodeType": "YulFunctionCall", - "src": "3405:16:36" + "src": "3405:16:34" }, { "name": "src", - "nativeSrc": "3423:3:36", + "nativeSrc": "3423:3:34", "nodeType": "YulIdentifier", - "src": "3423:3:36" + "src": "3423:3:34" }, { "name": "length", - "nativeSrc": "3428:6:36", + "nativeSrc": "3428:6:34", "nodeType": "YulIdentifier", - "src": "3428:6:36" + "src": "3428:6:34" } ], "functionName": { "name": "calldatacopy", - "nativeSrc": "3392:12:36", + "nativeSrc": "3392:12:34", "nodeType": "YulIdentifier", - "src": "3392:12:36" + "src": "3392:12:34" }, - "nativeSrc": "3392:43:36", + "nativeSrc": "3392:43:34", "nodeType": "YulFunctionCall", - "src": "3392:43:36" + "src": "3392:43:34" }, - "nativeSrc": "3392:43:36", + "nativeSrc": "3392:43:34", "nodeType": "YulExpressionStatement", - "src": "3392:43:36" + "src": "3392:43:34" }, { "expression": { @@ -88808,153 +87818,153 @@ "arguments": [ { "name": "array", - "nativeSrc": "3459:5:36", + "nativeSrc": "3459:5:34", "nodeType": "YulIdentifier", - "src": "3459:5:36" + "src": "3459:5:34" }, { "name": "length", - "nativeSrc": "3466:6:36", + "nativeSrc": "3466:6:34", "nodeType": "YulIdentifier", - "src": "3466:6:36" + "src": "3466:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "3455:3:36", + "nativeSrc": "3455:3:34", "nodeType": "YulIdentifier", - "src": "3455:3:36" + "src": "3455:3:34" }, - "nativeSrc": "3455:18:36", + "nativeSrc": "3455:18:34", "nodeType": "YulFunctionCall", - "src": "3455:18:36" + "src": "3455:18:34" }, { "kind": "number", - "nativeSrc": "3475:4:36", + "nativeSrc": "3475:4:34", "nodeType": "YulLiteral", - "src": "3475:4:36", + "src": "3475:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "3451:3:36", + "nativeSrc": "3451:3:34", "nodeType": "YulIdentifier", - "src": "3451:3:36" + "src": "3451:3:34" }, - "nativeSrc": "3451:29:36", + "nativeSrc": "3451:29:34", "nodeType": "YulFunctionCall", - "src": "3451:29:36" + "src": "3451:29:34" }, { "kind": "number", - "nativeSrc": "3482:1:36", + "nativeSrc": "3482:1:34", "nodeType": "YulLiteral", - "src": "3482:1:36", + "src": "3482:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "3444:6:36", + "nativeSrc": "3444:6:34", "nodeType": "YulIdentifier", - "src": "3444:6:36" + "src": "3444:6:34" }, - "nativeSrc": "3444:40:36", + "nativeSrc": "3444:40:34", "nodeType": "YulFunctionCall", - "src": "3444:40:36" + "src": "3444:40:34" }, - "nativeSrc": "3444:40:36", + "nativeSrc": "3444:40:34", "nodeType": "YulExpressionStatement", - "src": "3444:40:36" + "src": "3444:40:34" } ] }, "name": "abi_decode_available_length_string", - "nativeSrc": "3152:338:36", + "nativeSrc": "3152:338:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "src", - "nativeSrc": "3196:3:36", + "nativeSrc": "3196:3:34", "nodeType": "YulTypedName", - "src": "3196:3:36", + "src": "3196:3:34", "type": "" }, { "name": "length", - "nativeSrc": "3201:6:36", + "nativeSrc": "3201:6:34", "nodeType": "YulTypedName", - "src": "3201:6:36", + "src": "3201:6:34", "type": "" }, { "name": "end", - "nativeSrc": "3209:3:36", + "nativeSrc": "3209:3:34", "nodeType": "YulTypedName", - "src": "3209:3:36", + "src": "3209:3:34", "type": "" } ], "returnVariables": [ { "name": "array", - "nativeSrc": "3217:5:36", + "nativeSrc": "3217:5:34", "nodeType": "YulTypedName", - "src": "3217:5:36", + "src": "3217:5:34", "type": "" } ], - "src": "3152:338:36" + "src": "3152:338:34" }, { "body": { - "nativeSrc": "3548:169:36", + "nativeSrc": "3548:169:34", "nodeType": "YulBlock", - "src": "3548:169:36", + "src": "3548:169:34", "statements": [ { "body": { - "nativeSrc": "3597:16:36", + "nativeSrc": "3597:16:34", "nodeType": "YulBlock", - "src": "3597:16:36", + "src": "3597:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "3606:1:36", + "nativeSrc": "3606:1:34", "nodeType": "YulLiteral", - "src": "3606:1:36", + "src": "3606:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "3609:1:36", + "nativeSrc": "3609:1:34", "nodeType": "YulLiteral", - "src": "3609:1:36", + "src": "3609:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "3599:6:36", + "nativeSrc": "3599:6:34", "nodeType": "YulIdentifier", - "src": "3599:6:36" + "src": "3599:6:34" }, - "nativeSrc": "3599:12:36", + "nativeSrc": "3599:12:34", "nodeType": "YulFunctionCall", - "src": "3599:12:36" + "src": "3599:12:34" }, - "nativeSrc": "3599:12:36", + "nativeSrc": "3599:12:34", "nodeType": "YulExpressionStatement", - "src": "3599:12:36" + "src": "3599:12:34" } ] }, @@ -88966,216 +87976,216 @@ "arguments": [ { "name": "offset", - "nativeSrc": "3576:6:36", + "nativeSrc": "3576:6:34", "nodeType": "YulIdentifier", - "src": "3576:6:36" + "src": "3576:6:34" }, { "kind": "number", - "nativeSrc": "3584:4:36", + "nativeSrc": "3584:4:34", "nodeType": "YulLiteral", - "src": "3584:4:36", + "src": "3584:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "3572:3:36", + "nativeSrc": "3572:3:34", "nodeType": "YulIdentifier", - "src": "3572:3:36" + "src": "3572:3:34" }, - "nativeSrc": "3572:17:36", + "nativeSrc": "3572:17:34", "nodeType": "YulFunctionCall", - "src": "3572:17:36" + "src": "3572:17:34" }, { "name": "end", - "nativeSrc": "3591:3:36", + "nativeSrc": "3591:3:34", "nodeType": "YulIdentifier", - "src": "3591:3:36" + "src": "3591:3:34" } ], "functionName": { "name": "slt", - "nativeSrc": "3568:3:36", + "nativeSrc": "3568:3:34", "nodeType": "YulIdentifier", - "src": "3568:3:36" + "src": "3568:3:34" }, - "nativeSrc": "3568:27:36", + "nativeSrc": "3568:27:34", "nodeType": "YulFunctionCall", - "src": "3568:27:36" + "src": "3568:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "3561:6:36", + "nativeSrc": "3561:6:34", "nodeType": "YulIdentifier", - "src": "3561:6:36" + "src": "3561:6:34" }, - "nativeSrc": "3561:35:36", + "nativeSrc": "3561:35:34", "nodeType": "YulFunctionCall", - "src": "3561:35:36" + "src": "3561:35:34" }, - "nativeSrc": "3558:55:36", + "nativeSrc": "3558:55:34", "nodeType": "YulIf", - "src": "3558:55:36" + "src": "3558:55:34" }, { - "nativeSrc": "3622:89:36", + "nativeSrc": "3622:89:34", "nodeType": "YulAssignment", - "src": "3622:89:36", + "src": "3622:89:34", "value": { "arguments": [ { "arguments": [ { "name": "offset", - "nativeSrc": "3670:6:36", + "nativeSrc": "3670:6:34", "nodeType": "YulIdentifier", - "src": "3670:6:36" + "src": "3670:6:34" }, { "kind": "number", - "nativeSrc": "3678:4:36", + "nativeSrc": "3678:4:34", "nodeType": "YulLiteral", - "src": "3678:4:36", + "src": "3678:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "3666:3:36", + "nativeSrc": "3666:3:34", "nodeType": "YulIdentifier", - "src": "3666:3:36" + "src": "3666:3:34" }, - "nativeSrc": "3666:17:36", + "nativeSrc": "3666:17:34", "nodeType": "YulFunctionCall", - "src": "3666:17:36" + "src": "3666:17:34" }, { "arguments": [ { "name": "offset", - "nativeSrc": "3698:6:36", + "nativeSrc": "3698:6:34", "nodeType": "YulIdentifier", - "src": "3698:6:36" + "src": "3698:6:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "3685:12:36", + "nativeSrc": "3685:12:34", "nodeType": "YulIdentifier", - "src": "3685:12:36" + "src": "3685:12:34" }, - "nativeSrc": "3685:20:36", + "nativeSrc": "3685:20:34", "nodeType": "YulFunctionCall", - "src": "3685:20:36" + "src": "3685:20:34" }, { "name": "end", - "nativeSrc": "3707:3:36", + "nativeSrc": "3707:3:34", "nodeType": "YulIdentifier", - "src": "3707:3:36" + "src": "3707:3:34" } ], "functionName": { "name": "abi_decode_available_length_string", - "nativeSrc": "3631:34:36", + "nativeSrc": "3631:34:34", "nodeType": "YulIdentifier", - "src": "3631:34:36" + "src": "3631:34:34" }, - "nativeSrc": "3631:80:36", + "nativeSrc": "3631:80:34", "nodeType": "YulFunctionCall", - "src": "3631:80:36" + "src": "3631:80:34" }, "variableNames": [ { "name": "array", - "nativeSrc": "3622:5:36", + "nativeSrc": "3622:5:34", "nodeType": "YulIdentifier", - "src": "3622:5:36" + "src": "3622:5:34" } ] } ] }, "name": "abi_decode_string", - "nativeSrc": "3495:222:36", + "nativeSrc": "3495:222:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "3522:6:36", + "nativeSrc": "3522:6:34", "nodeType": "YulTypedName", - "src": "3522:6:36", + "src": "3522:6:34", "type": "" }, { "name": "end", - "nativeSrc": "3530:3:36", + "nativeSrc": "3530:3:34", "nodeType": "YulTypedName", - "src": "3530:3:36", + "src": "3530:3:34", "type": "" } ], "returnVariables": [ { "name": "array", - "nativeSrc": "3538:5:36", + "nativeSrc": "3538:5:34", "nodeType": "YulTypedName", - "src": "3538:5:36", + "src": "3538:5:34", "type": "" } ], - "src": "3495:222:36" + "src": "3495:222:34" }, { "body": { - "nativeSrc": "3907:905:36", + "nativeSrc": "3907:905:34", "nodeType": "YulBlock", - "src": "3907:905:36", + "src": "3907:905:34", "statements": [ { "body": { - "nativeSrc": "3954:16:36", + "nativeSrc": "3954:16:34", "nodeType": "YulBlock", - "src": "3954:16:36", + "src": "3954:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "3963:1:36", + "nativeSrc": "3963:1:34", "nodeType": "YulLiteral", - "src": "3963:1:36", + "src": "3963:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "3966:1:36", + "nativeSrc": "3966:1:34", "nodeType": "YulLiteral", - "src": "3966:1:36", + "src": "3966:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "3956:6:36", + "nativeSrc": "3956:6:34", "nodeType": "YulIdentifier", - "src": "3956:6:36" + "src": "3956:6:34" }, - "nativeSrc": "3956:12:36", + "nativeSrc": "3956:12:34", "nodeType": "YulFunctionCall", - "src": "3956:12:36" + "src": "3956:12:34" }, - "nativeSrc": "3956:12:36", + "nativeSrc": "3956:12:34", "nodeType": "YulExpressionStatement", - "src": "3956:12:36" + "src": "3956:12:34" } ] }, @@ -89185,79 +88195,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "3928:7:36", + "nativeSrc": "3928:7:34", "nodeType": "YulIdentifier", - "src": "3928:7:36" + "src": "3928:7:34" }, { "name": "headStart", - "nativeSrc": "3937:9:36", + "nativeSrc": "3937:9:34", "nodeType": "YulIdentifier", - "src": "3937:9:36" + "src": "3937:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "3924:3:36", + "nativeSrc": "3924:3:34", "nodeType": "YulIdentifier", - "src": "3924:3:36" + "src": "3924:3:34" }, - "nativeSrc": "3924:23:36", + "nativeSrc": "3924:23:34", "nodeType": "YulFunctionCall", - "src": "3924:23:36" + "src": "3924:23:34" }, { "kind": "number", - "nativeSrc": "3949:3:36", + "nativeSrc": "3949:3:34", "nodeType": "YulLiteral", - "src": "3949:3:36", + "src": "3949:3:34", "type": "", "value": "192" } ], "functionName": { "name": "slt", - "nativeSrc": "3920:3:36", + "nativeSrc": "3920:3:34", "nodeType": "YulIdentifier", - "src": "3920:3:36" + "src": "3920:3:34" }, - "nativeSrc": "3920:33:36", + "nativeSrc": "3920:33:34", "nodeType": "YulFunctionCall", - "src": "3920:33:36" + "src": "3920:33:34" }, - "nativeSrc": "3917:53:36", + "nativeSrc": "3917:53:34", "nodeType": "YulIf", - "src": "3917:53:36" + "src": "3917:53:34" }, { - "nativeSrc": "3979:36:36", + "nativeSrc": "3979:36:34", "nodeType": "YulVariableDeclaration", - "src": "3979:36:36", + "src": "3979:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "4005:9:36", + "nativeSrc": "4005:9:34", "nodeType": "YulIdentifier", - "src": "4005:9:36" + "src": "4005:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "3992:12:36", + "nativeSrc": "3992:12:34", "nodeType": "YulIdentifier", - "src": "3992:12:36" + "src": "3992:12:34" }, - "nativeSrc": "3992:23:36", + "nativeSrc": "3992:23:34", "nodeType": "YulFunctionCall", - "src": "3992:23:36" + "src": "3992:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "3983:5:36", + "nativeSrc": "3983:5:34", "nodeType": "YulTypedName", - "src": "3983:5:36", + "src": "3983:5:34", "type": "" } ] @@ -89267,159 +88277,159 @@ "arguments": [ { "name": "value", - "nativeSrc": "4049:5:36", + "nativeSrc": "4049:5:34", "nodeType": "YulIdentifier", - "src": "4049:5:36" + "src": "4049:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "4024:24:36", + "nativeSrc": "4024:24:34", "nodeType": "YulIdentifier", - "src": "4024:24:36" + "src": "4024:24:34" }, - "nativeSrc": "4024:31:36", + "nativeSrc": "4024:31:34", "nodeType": "YulFunctionCall", - "src": "4024:31:36" + "src": "4024:31:34" }, - "nativeSrc": "4024:31:36", + "nativeSrc": "4024:31:34", "nodeType": "YulExpressionStatement", - "src": "4024:31:36" + "src": "4024:31:34" }, { - "nativeSrc": "4064:15:36", + "nativeSrc": "4064:15:34", "nodeType": "YulAssignment", - "src": "4064:15:36", + "src": "4064:15:34", "value": { "name": "value", - "nativeSrc": "4074:5:36", + "nativeSrc": "4074:5:34", "nodeType": "YulIdentifier", - "src": "4074:5:36" + "src": "4074:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "4064:6:36", + "nativeSrc": "4064:6:34", "nodeType": "YulIdentifier", - "src": "4064:6:36" + "src": "4064:6:34" } ] }, { - "nativeSrc": "4088:46:36", + "nativeSrc": "4088:46:34", "nodeType": "YulVariableDeclaration", - "src": "4088:46:36", + "src": "4088:46:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4119:9:36", + "nativeSrc": "4119:9:34", "nodeType": "YulIdentifier", - "src": "4119:9:36" + "src": "4119:9:34" }, { "kind": "number", - "nativeSrc": "4130:2:36", + "nativeSrc": "4130:2:34", "nodeType": "YulLiteral", - "src": "4130:2:36", + "src": "4130:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "4115:3:36", + "nativeSrc": "4115:3:34", "nodeType": "YulIdentifier", - "src": "4115:3:36" + "src": "4115:3:34" }, - "nativeSrc": "4115:18:36", + "nativeSrc": "4115:18:34", "nodeType": "YulFunctionCall", - "src": "4115:18:36" + "src": "4115:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "4102:12:36", + "nativeSrc": "4102:12:34", "nodeType": "YulIdentifier", - "src": "4102:12:36" + "src": "4102:12:34" }, - "nativeSrc": "4102:32:36", + "nativeSrc": "4102:32:34", "nodeType": "YulFunctionCall", - "src": "4102:32:36" + "src": "4102:32:34" }, "variables": [ { "name": "offset", - "nativeSrc": "4092:6:36", + "nativeSrc": "4092:6:34", "nodeType": "YulTypedName", - "src": "4092:6:36", + "src": "4092:6:34", "type": "" } ] }, { - "nativeSrc": "4143:28:36", + "nativeSrc": "4143:28:34", "nodeType": "YulVariableDeclaration", - "src": "4143:28:36", + "src": "4143:28:34", "value": { "kind": "number", - "nativeSrc": "4153:18:36", + "nativeSrc": "4153:18:34", "nodeType": "YulLiteral", - "src": "4153:18:36", + "src": "4153:18:34", "type": "", "value": "0xffffffffffffffff" }, "variables": [ { "name": "_1", - "nativeSrc": "4147:2:36", + "nativeSrc": "4147:2:34", "nodeType": "YulTypedName", - "src": "4147:2:36", + "src": "4147:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "4198:16:36", + "nativeSrc": "4198:16:34", "nodeType": "YulBlock", - "src": "4198:16:36", + "src": "4198:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4207:1:36", + "nativeSrc": "4207:1:34", "nodeType": "YulLiteral", - "src": "4207:1:36", + "src": "4207:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "4210:1:36", + "nativeSrc": "4210:1:34", "nodeType": "YulLiteral", - "src": "4210:1:36", + "src": "4210:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "4200:6:36", + "nativeSrc": "4200:6:34", "nodeType": "YulIdentifier", - "src": "4200:6:36" + "src": "4200:6:34" }, - "nativeSrc": "4200:12:36", + "nativeSrc": "4200:12:34", "nodeType": "YulFunctionCall", - "src": "4200:12:36" + "src": "4200:12:34" }, - "nativeSrc": "4200:12:36", + "nativeSrc": "4200:12:34", "nodeType": "YulExpressionStatement", - "src": "4200:12:36" + "src": "4200:12:34" } ] }, @@ -89427,181 +88437,181 @@ "arguments": [ { "name": "offset", - "nativeSrc": "4186:6:36", + "nativeSrc": "4186:6:34", "nodeType": "YulIdentifier", - "src": "4186:6:36" + "src": "4186:6:34" }, { "name": "_1", - "nativeSrc": "4194:2:36", + "nativeSrc": "4194:2:34", "nodeType": "YulIdentifier", - "src": "4194:2:36" + "src": "4194:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "4183:2:36", + "nativeSrc": "4183:2:34", "nodeType": "YulIdentifier", - "src": "4183:2:36" + "src": "4183:2:34" }, - "nativeSrc": "4183:14:36", + "nativeSrc": "4183:14:34", "nodeType": "YulFunctionCall", - "src": "4183:14:36" + "src": "4183:14:34" }, - "nativeSrc": "4180:34:36", + "nativeSrc": "4180:34:34", "nodeType": "YulIf", - "src": "4180:34:36" + "src": "4180:34:34" }, { - "nativeSrc": "4223:60:36", + "nativeSrc": "4223:60:34", "nodeType": "YulAssignment", - "src": "4223:60:36", + "src": "4223:60:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4255:9:36", + "nativeSrc": "4255:9:34", "nodeType": "YulIdentifier", - "src": "4255:9:36" + "src": "4255:9:34" }, { "name": "offset", - "nativeSrc": "4266:6:36", + "nativeSrc": "4266:6:34", "nodeType": "YulIdentifier", - "src": "4266:6:36" + "src": "4266:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "4251:3:36", + "nativeSrc": "4251:3:34", "nodeType": "YulIdentifier", - "src": "4251:3:36" + "src": "4251:3:34" }, - "nativeSrc": "4251:22:36", + "nativeSrc": "4251:22:34", "nodeType": "YulFunctionCall", - "src": "4251:22:36" + "src": "4251:22:34" }, { "name": "dataEnd", - "nativeSrc": "4275:7:36", + "nativeSrc": "4275:7:34", "nodeType": "YulIdentifier", - "src": "4275:7:36" + "src": "4275:7:34" } ], "functionName": { "name": "abi_decode_string", - "nativeSrc": "4233:17:36", + "nativeSrc": "4233:17:34", "nodeType": "YulIdentifier", - "src": "4233:17:36" + "src": "4233:17:34" }, - "nativeSrc": "4233:50:36", + "nativeSrc": "4233:50:34", "nodeType": "YulFunctionCall", - "src": "4233:50:36" + "src": "4233:50:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "4223:6:36", + "nativeSrc": "4223:6:34", "nodeType": "YulIdentifier", - "src": "4223:6:36" + "src": "4223:6:34" } ] }, { - "nativeSrc": "4292:48:36", + "nativeSrc": "4292:48:34", "nodeType": "YulVariableDeclaration", - "src": "4292:48:36", + "src": "4292:48:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4325:9:36", + "nativeSrc": "4325:9:34", "nodeType": "YulIdentifier", - "src": "4325:9:36" + "src": "4325:9:34" }, { "kind": "number", - "nativeSrc": "4336:2:36", + "nativeSrc": "4336:2:34", "nodeType": "YulLiteral", - "src": "4336:2:36", + "src": "4336:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "4321:3:36", + "nativeSrc": "4321:3:34", "nodeType": "YulIdentifier", - "src": "4321:3:36" + "src": "4321:3:34" }, - "nativeSrc": "4321:18:36", + "nativeSrc": "4321:18:34", "nodeType": "YulFunctionCall", - "src": "4321:18:36" + "src": "4321:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "4308:12:36", + "nativeSrc": "4308:12:34", "nodeType": "YulIdentifier", - "src": "4308:12:36" + "src": "4308:12:34" }, - "nativeSrc": "4308:32:36", + "nativeSrc": "4308:32:34", "nodeType": "YulFunctionCall", - "src": "4308:32:36" + "src": "4308:32:34" }, "variables": [ { "name": "offset_1", - "nativeSrc": "4296:8:36", + "nativeSrc": "4296:8:34", "nodeType": "YulTypedName", - "src": "4296:8:36", + "src": "4296:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "4369:16:36", + "nativeSrc": "4369:16:34", "nodeType": "YulBlock", - "src": "4369:16:36", + "src": "4369:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4378:1:36", + "nativeSrc": "4378:1:34", "nodeType": "YulLiteral", - "src": "4378:1:36", + "src": "4378:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "4381:1:36", + "nativeSrc": "4381:1:34", "nodeType": "YulLiteral", - "src": "4381:1:36", + "src": "4381:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "4371:6:36", + "nativeSrc": "4371:6:34", "nodeType": "YulIdentifier", - "src": "4371:6:36" + "src": "4371:6:34" }, - "nativeSrc": "4371:12:36", + "nativeSrc": "4371:12:34", "nodeType": "YulFunctionCall", - "src": "4371:12:36" + "src": "4371:12:34" }, - "nativeSrc": "4371:12:36", + "nativeSrc": "4371:12:34", "nodeType": "YulExpressionStatement", - "src": "4371:12:36" + "src": "4371:12:34" } ] }, @@ -89609,181 +88619,181 @@ "arguments": [ { "name": "offset_1", - "nativeSrc": "4355:8:36", + "nativeSrc": "4355:8:34", "nodeType": "YulIdentifier", - "src": "4355:8:36" + "src": "4355:8:34" }, { "name": "_1", - "nativeSrc": "4365:2:36", + "nativeSrc": "4365:2:34", "nodeType": "YulIdentifier", - "src": "4365:2:36" + "src": "4365:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "4352:2:36", + "nativeSrc": "4352:2:34", "nodeType": "YulIdentifier", - "src": "4352:2:36" + "src": "4352:2:34" }, - "nativeSrc": "4352:16:36", + "nativeSrc": "4352:16:34", "nodeType": "YulFunctionCall", - "src": "4352:16:36" + "src": "4352:16:34" }, - "nativeSrc": "4349:36:36", + "nativeSrc": "4349:36:34", "nodeType": "YulIf", - "src": "4349:36:36" + "src": "4349:36:34" }, { - "nativeSrc": "4394:62:36", + "nativeSrc": "4394:62:34", "nodeType": "YulAssignment", - "src": "4394:62:36", + "src": "4394:62:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4426:9:36", + "nativeSrc": "4426:9:34", "nodeType": "YulIdentifier", - "src": "4426:9:36" + "src": "4426:9:34" }, { "name": "offset_1", - "nativeSrc": "4437:8:36", + "nativeSrc": "4437:8:34", "nodeType": "YulIdentifier", - "src": "4437:8:36" + "src": "4437:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "4422:3:36", + "nativeSrc": "4422:3:34", "nodeType": "YulIdentifier", - "src": "4422:3:36" + "src": "4422:3:34" }, - "nativeSrc": "4422:24:36", + "nativeSrc": "4422:24:34", "nodeType": "YulFunctionCall", - "src": "4422:24:36" + "src": "4422:24:34" }, { "name": "dataEnd", - "nativeSrc": "4448:7:36", + "nativeSrc": "4448:7:34", "nodeType": "YulIdentifier", - "src": "4448:7:36" + "src": "4448:7:34" } ], "functionName": { "name": "abi_decode_string", - "nativeSrc": "4404:17:36", + "nativeSrc": "4404:17:34", "nodeType": "YulIdentifier", - "src": "4404:17:36" + "src": "4404:17:34" }, - "nativeSrc": "4404:52:36", + "nativeSrc": "4404:52:34", "nodeType": "YulFunctionCall", - "src": "4404:52:36" + "src": "4404:52:34" }, "variableNames": [ { "name": "value2", - "nativeSrc": "4394:6:36", + "nativeSrc": "4394:6:34", "nodeType": "YulIdentifier", - "src": "4394:6:36" + "src": "4394:6:34" } ] }, { - "nativeSrc": "4465:48:36", + "nativeSrc": "4465:48:34", "nodeType": "YulVariableDeclaration", - "src": "4465:48:36", + "src": "4465:48:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4498:9:36", + "nativeSrc": "4498:9:34", "nodeType": "YulIdentifier", - "src": "4498:9:36" + "src": "4498:9:34" }, { "kind": "number", - "nativeSrc": "4509:2:36", + "nativeSrc": "4509:2:34", "nodeType": "YulLiteral", - "src": "4509:2:36", + "src": "4509:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "4494:3:36", + "nativeSrc": "4494:3:34", "nodeType": "YulIdentifier", - "src": "4494:3:36" + "src": "4494:3:34" }, - "nativeSrc": "4494:18:36", + "nativeSrc": "4494:18:34", "nodeType": "YulFunctionCall", - "src": "4494:18:36" + "src": "4494:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "4481:12:36", + "nativeSrc": "4481:12:34", "nodeType": "YulIdentifier", - "src": "4481:12:36" + "src": "4481:12:34" }, - "nativeSrc": "4481:32:36", + "nativeSrc": "4481:32:34", "nodeType": "YulFunctionCall", - "src": "4481:32:36" + "src": "4481:32:34" }, "variables": [ { "name": "offset_2", - "nativeSrc": "4469:8:36", + "nativeSrc": "4469:8:34", "nodeType": "YulTypedName", - "src": "4469:8:36", + "src": "4469:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "4542:16:36", + "nativeSrc": "4542:16:34", "nodeType": "YulBlock", - "src": "4542:16:36", + "src": "4542:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4551:1:36", + "nativeSrc": "4551:1:34", "nodeType": "YulLiteral", - "src": "4551:1:36", + "src": "4551:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "4554:1:36", + "nativeSrc": "4554:1:34", "nodeType": "YulLiteral", - "src": "4554:1:36", + "src": "4554:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "4544:6:36", + "nativeSrc": "4544:6:34", "nodeType": "YulIdentifier", - "src": "4544:6:36" + "src": "4544:6:34" }, - "nativeSrc": "4544:12:36", + "nativeSrc": "4544:12:34", "nodeType": "YulFunctionCall", - "src": "4544:12:36" + "src": "4544:12:34" }, - "nativeSrc": "4544:12:36", + "nativeSrc": "4544:12:34", "nodeType": "YulExpressionStatement", - "src": "4544:12:36" + "src": "4544:12:34" } ] }, @@ -89791,191 +88801,191 @@ "arguments": [ { "name": "offset_2", - "nativeSrc": "4528:8:36", + "nativeSrc": "4528:8:34", "nodeType": "YulIdentifier", - "src": "4528:8:36" + "src": "4528:8:34" }, { "name": "_1", - "nativeSrc": "4538:2:36", + "nativeSrc": "4538:2:34", "nodeType": "YulIdentifier", - "src": "4538:2:36" + "src": "4538:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "4525:2:36", + "nativeSrc": "4525:2:34", "nodeType": "YulIdentifier", - "src": "4525:2:36" + "src": "4525:2:34" }, - "nativeSrc": "4525:16:36", + "nativeSrc": "4525:16:34", "nodeType": "YulFunctionCall", - "src": "4525:16:36" + "src": "4525:16:34" }, - "nativeSrc": "4522:36:36", + "nativeSrc": "4522:36:34", "nodeType": "YulIf", - "src": "4522:36:36" + "src": "4522:36:34" }, { - "nativeSrc": "4567:62:36", + "nativeSrc": "4567:62:34", "nodeType": "YulAssignment", - "src": "4567:62:36", + "src": "4567:62:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4599:9:36", + "nativeSrc": "4599:9:34", "nodeType": "YulIdentifier", - "src": "4599:9:36" + "src": "4599:9:34" }, { "name": "offset_2", - "nativeSrc": "4610:8:36", + "nativeSrc": "4610:8:34", "nodeType": "YulIdentifier", - "src": "4610:8:36" + "src": "4610:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "4595:3:36", + "nativeSrc": "4595:3:34", "nodeType": "YulIdentifier", - "src": "4595:3:36" + "src": "4595:3:34" }, - "nativeSrc": "4595:24:36", + "nativeSrc": "4595:24:34", "nodeType": "YulFunctionCall", - "src": "4595:24:36" + "src": "4595:24:34" }, { "name": "dataEnd", - "nativeSrc": "4621:7:36", + "nativeSrc": "4621:7:34", "nodeType": "YulIdentifier", - "src": "4621:7:36" + "src": "4621:7:34" } ], "functionName": { "name": "abi_decode_string", - "nativeSrc": "4577:17:36", + "nativeSrc": "4577:17:34", "nodeType": "YulIdentifier", - "src": "4577:17:36" + "src": "4577:17:34" }, - "nativeSrc": "4577:52:36", + "nativeSrc": "4577:52:34", "nodeType": "YulFunctionCall", - "src": "4577:52:36" + "src": "4577:52:34" }, "variableNames": [ { "name": "value3", - "nativeSrc": "4567:6:36", + "nativeSrc": "4567:6:34", "nodeType": "YulIdentifier", - "src": "4567:6:36" + "src": "4567:6:34" } ] }, { - "nativeSrc": "4638:43:36", + "nativeSrc": "4638:43:34", "nodeType": "YulAssignment", - "src": "4638:43:36", + "src": "4638:43:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4665:9:36", + "nativeSrc": "4665:9:34", "nodeType": "YulIdentifier", - "src": "4665:9:36" + "src": "4665:9:34" }, { "kind": "number", - "nativeSrc": "4676:3:36", + "nativeSrc": "4676:3:34", "nodeType": "YulLiteral", - "src": "4676:3:36", + "src": "4676:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "4661:3:36", + "nativeSrc": "4661:3:34", "nodeType": "YulIdentifier", - "src": "4661:3:36" + "src": "4661:3:34" }, - "nativeSrc": "4661:19:36", + "nativeSrc": "4661:19:34", "nodeType": "YulFunctionCall", - "src": "4661:19:36" + "src": "4661:19:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "4648:12:36", + "nativeSrc": "4648:12:34", "nodeType": "YulIdentifier", - "src": "4648:12:36" + "src": "4648:12:34" }, - "nativeSrc": "4648:33:36", + "nativeSrc": "4648:33:34", "nodeType": "YulFunctionCall", - "src": "4648:33:36" + "src": "4648:33:34" }, "variableNames": [ { "name": "value4", - "nativeSrc": "4638:6:36", + "nativeSrc": "4638:6:34", "nodeType": "YulIdentifier", - "src": "4638:6:36" + "src": "4638:6:34" } ] }, { - "nativeSrc": "4690:48:36", + "nativeSrc": "4690:48:34", "nodeType": "YulVariableDeclaration", - "src": "4690:48:36", + "src": "4690:48:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4722:9:36", + "nativeSrc": "4722:9:34", "nodeType": "YulIdentifier", - "src": "4722:9:36" + "src": "4722:9:34" }, { "kind": "number", - "nativeSrc": "4733:3:36", + "nativeSrc": "4733:3:34", "nodeType": "YulLiteral", - "src": "4733:3:36", + "src": "4733:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "4718:3:36", + "nativeSrc": "4718:3:34", "nodeType": "YulIdentifier", - "src": "4718:3:36" + "src": "4718:3:34" }, - "nativeSrc": "4718:19:36", + "nativeSrc": "4718:19:34", "nodeType": "YulFunctionCall", - "src": "4718:19:36" + "src": "4718:19:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "4705:12:36", + "nativeSrc": "4705:12:34", "nodeType": "YulIdentifier", - "src": "4705:12:36" + "src": "4705:12:34" }, - "nativeSrc": "4705:33:36", + "nativeSrc": "4705:33:34", "nodeType": "YulFunctionCall", - "src": "4705:33:36" + "src": "4705:33:34" }, "variables": [ { "name": "value_1", - "nativeSrc": "4694:7:36", + "nativeSrc": "4694:7:34", "nodeType": "YulTypedName", - "src": "4694:7:36", + "src": "4694:7:34", "type": "" } ] @@ -89985,154 +88995,154 @@ "arguments": [ { "name": "value_1", - "nativeSrc": "4772:7:36", + "nativeSrc": "4772:7:34", "nodeType": "YulIdentifier", - "src": "4772:7:36" + "src": "4772:7:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "4747:24:36", + "nativeSrc": "4747:24:34", "nodeType": "YulIdentifier", - "src": "4747:24:36" + "src": "4747:24:34" }, - "nativeSrc": "4747:33:36", + "nativeSrc": "4747:33:34", "nodeType": "YulFunctionCall", - "src": "4747:33:36" + "src": "4747:33:34" }, - "nativeSrc": "4747:33:36", + "nativeSrc": "4747:33:34", "nodeType": "YulExpressionStatement", - "src": "4747:33:36" + "src": "4747:33:34" }, { - "nativeSrc": "4789:17:36", + "nativeSrc": "4789:17:34", "nodeType": "YulAssignment", - "src": "4789:17:36", + "src": "4789:17:34", "value": { "name": "value_1", - "nativeSrc": "4799:7:36", + "nativeSrc": "4799:7:34", "nodeType": "YulIdentifier", - "src": "4799:7:36" + "src": "4799:7:34" }, "variableNames": [ { "name": "value5", - "nativeSrc": "4789:6:36", + "nativeSrc": "4789:6:34", "nodeType": "YulIdentifier", - "src": "4789:6:36" + "src": "4789:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_uint256t_address", - "nativeSrc": "3722:1090:36", + "nativeSrc": "3722:1090:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "3833:9:36", + "nativeSrc": "3833:9:34", "nodeType": "YulTypedName", - "src": "3833:9:36", + "src": "3833:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "3844:7:36", + "nativeSrc": "3844:7:34", "nodeType": "YulTypedName", - "src": "3844:7:36", + "src": "3844:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "3856:6:36", + "nativeSrc": "3856:6:34", "nodeType": "YulTypedName", - "src": "3856:6:36", + "src": "3856:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "3864:6:36", + "nativeSrc": "3864:6:34", "nodeType": "YulTypedName", - "src": "3864:6:36", + "src": "3864:6:34", "type": "" }, { "name": "value2", - "nativeSrc": "3872:6:36", + "nativeSrc": "3872:6:34", "nodeType": "YulTypedName", - "src": "3872:6:36", + "src": "3872:6:34", "type": "" }, { "name": "value3", - "nativeSrc": "3880:6:36", + "nativeSrc": "3880:6:34", "nodeType": "YulTypedName", - "src": "3880:6:36", + "src": "3880:6:34", "type": "" }, { "name": "value4", - "nativeSrc": "3888:6:36", + "nativeSrc": "3888:6:34", "nodeType": "YulTypedName", - "src": "3888:6:36", + "src": "3888:6:34", "type": "" }, { "name": "value5", - "nativeSrc": "3896:6:36", + "nativeSrc": "3896:6:34", "nodeType": "YulTypedName", - "src": "3896:6:36", + "src": "3896:6:34", "type": "" } ], - "src": "3722:1090:36" + "src": "3722:1090:34" }, { "body": { - "nativeSrc": "4918:76:36", + "nativeSrc": "4918:76:34", "nodeType": "YulBlock", - "src": "4918:76:36", + "src": "4918:76:34", "statements": [ { - "nativeSrc": "4928:26:36", + "nativeSrc": "4928:26:34", "nodeType": "YulAssignment", - "src": "4928:26:36", + "src": "4928:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "4940:9:36", + "nativeSrc": "4940:9:34", "nodeType": "YulIdentifier", - "src": "4940:9:36" + "src": "4940:9:34" }, { "kind": "number", - "nativeSrc": "4951:2:36", + "nativeSrc": "4951:2:34", "nodeType": "YulLiteral", - "src": "4951:2:36", + "src": "4951:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "4936:3:36", + "nativeSrc": "4936:3:34", "nodeType": "YulIdentifier", - "src": "4936:3:36" + "src": "4936:3:34" }, - "nativeSrc": "4936:18:36", + "nativeSrc": "4936:18:34", "nodeType": "YulFunctionCall", - "src": "4936:18:36" + "src": "4936:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "4928:4:36", + "nativeSrc": "4928:4:34", "nodeType": "YulIdentifier", - "src": "4928:4:36" + "src": "4928:4:34" } ] }, @@ -90141,108 +89151,108 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4970:9:36", + "nativeSrc": "4970:9:34", "nodeType": "YulIdentifier", - "src": "4970:9:36" + "src": "4970:9:34" }, { "name": "value0", - "nativeSrc": "4981:6:36", + "nativeSrc": "4981:6:34", "nodeType": "YulIdentifier", - "src": "4981:6:36" + "src": "4981:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "4963:6:36", + "nativeSrc": "4963:6:34", "nodeType": "YulIdentifier", - "src": "4963:6:36" + "src": "4963:6:34" }, - "nativeSrc": "4963:25:36", + "nativeSrc": "4963:25:34", "nodeType": "YulFunctionCall", - "src": "4963:25:36" + "src": "4963:25:34" }, - "nativeSrc": "4963:25:36", + "nativeSrc": "4963:25:34", "nodeType": "YulExpressionStatement", - "src": "4963:25:36" + "src": "4963:25:34" } ] }, "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nativeSrc": "4817:177:36", + "nativeSrc": "4817:177:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "4887:9:36", + "nativeSrc": "4887:9:34", "nodeType": "YulTypedName", - "src": "4887:9:36", + "src": "4887:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "4898:6:36", + "nativeSrc": "4898:6:34", "nodeType": "YulTypedName", - "src": "4898:6:36", + "src": "4898:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "4909:4:36", + "nativeSrc": "4909:4:34", "nodeType": "YulTypedName", - "src": "4909:4:36", + "src": "4909:4:34", "type": "" } ], - "src": "4817:177:36" + "src": "4817:177:34" }, { "body": { - "nativeSrc": "5146:301:36", + "nativeSrc": "5146:301:34", "nodeType": "YulBlock", - "src": "5146:301:36", + "src": "5146:301:34", "statements": [ { "body": { - "nativeSrc": "5192:16:36", + "nativeSrc": "5192:16:34", "nodeType": "YulBlock", - "src": "5192:16:36", + "src": "5192:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5201:1:36", + "nativeSrc": "5201:1:34", "nodeType": "YulLiteral", - "src": "5201:1:36", + "src": "5201:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "5204:1:36", + "nativeSrc": "5204:1:34", "nodeType": "YulLiteral", - "src": "5204:1:36", + "src": "5204:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "5194:6:36", + "nativeSrc": "5194:6:34", "nodeType": "YulIdentifier", - "src": "5194:6:36" + "src": "5194:6:34" }, - "nativeSrc": "5194:12:36", + "nativeSrc": "5194:12:34", "nodeType": "YulFunctionCall", - "src": "5194:12:36" + "src": "5194:12:34" }, - "nativeSrc": "5194:12:36", + "nativeSrc": "5194:12:34", "nodeType": "YulExpressionStatement", - "src": "5194:12:36" + "src": "5194:12:34" } ] }, @@ -90252,79 +89262,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "5167:7:36", + "nativeSrc": "5167:7:34", "nodeType": "YulIdentifier", - "src": "5167:7:36" + "src": "5167:7:34" }, { "name": "headStart", - "nativeSrc": "5176:9:36", + "nativeSrc": "5176:9:34", "nodeType": "YulIdentifier", - "src": "5176:9:36" + "src": "5176:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "5163:3:36", + "nativeSrc": "5163:3:34", "nodeType": "YulIdentifier", - "src": "5163:3:36" + "src": "5163:3:34" }, - "nativeSrc": "5163:23:36", + "nativeSrc": "5163:23:34", "nodeType": "YulFunctionCall", - "src": "5163:23:36" + "src": "5163:23:34" }, { "kind": "number", - "nativeSrc": "5188:2:36", + "nativeSrc": "5188:2:34", "nodeType": "YulLiteral", - "src": "5188:2:36", + "src": "5188:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "5159:3:36", + "nativeSrc": "5159:3:34", "nodeType": "YulIdentifier", - "src": "5159:3:36" + "src": "5159:3:34" }, - "nativeSrc": "5159:32:36", + "nativeSrc": "5159:32:34", "nodeType": "YulFunctionCall", - "src": "5159:32:36" + "src": "5159:32:34" }, - "nativeSrc": "5156:52:36", + "nativeSrc": "5156:52:34", "nodeType": "YulIf", - "src": "5156:52:36" + "src": "5156:52:34" }, { - "nativeSrc": "5217:36:36", + "nativeSrc": "5217:36:34", "nodeType": "YulVariableDeclaration", - "src": "5217:36:36", + "src": "5217:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5243:9:36", + "nativeSrc": "5243:9:34", "nodeType": "YulIdentifier", - "src": "5243:9:36" + "src": "5243:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "5230:12:36", + "nativeSrc": "5230:12:34", "nodeType": "YulIdentifier", - "src": "5230:12:36" + "src": "5230:12:34" }, - "nativeSrc": "5230:23:36", + "nativeSrc": "5230:23:34", "nodeType": "YulFunctionCall", - "src": "5230:23:36" + "src": "5230:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "5221:5:36", + "nativeSrc": "5221:5:34", "nodeType": "YulTypedName", - "src": "5221:5:36", + "src": "5221:5:34", "type": "" } ] @@ -90334,94 +89344,94 @@ "arguments": [ { "name": "value", - "nativeSrc": "5287:5:36", + "nativeSrc": "5287:5:34", "nodeType": "YulIdentifier", - "src": "5287:5:36" + "src": "5287:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "5262:24:36", + "nativeSrc": "5262:24:34", "nodeType": "YulIdentifier", - "src": "5262:24:36" + "src": "5262:24:34" }, - "nativeSrc": "5262:31:36", + "nativeSrc": "5262:31:34", "nodeType": "YulFunctionCall", - "src": "5262:31:36" + "src": "5262:31:34" }, - "nativeSrc": "5262:31:36", + "nativeSrc": "5262:31:34", "nodeType": "YulExpressionStatement", - "src": "5262:31:36" + "src": "5262:31:34" }, { - "nativeSrc": "5302:15:36", + "nativeSrc": "5302:15:34", "nodeType": "YulAssignment", - "src": "5302:15:36", + "src": "5302:15:34", "value": { "name": "value", - "nativeSrc": "5312:5:36", + "nativeSrc": "5312:5:34", "nodeType": "YulIdentifier", - "src": "5312:5:36" + "src": "5312:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "5302:6:36", + "nativeSrc": "5302:6:34", "nodeType": "YulIdentifier", - "src": "5302:6:36" + "src": "5302:6:34" } ] }, { - "nativeSrc": "5326:47:36", + "nativeSrc": "5326:47:34", "nodeType": "YulVariableDeclaration", - "src": "5326:47:36", + "src": "5326:47:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "5358:9:36", + "nativeSrc": "5358:9:34", "nodeType": "YulIdentifier", - "src": "5358:9:36" + "src": "5358:9:34" }, { "kind": "number", - "nativeSrc": "5369:2:36", + "nativeSrc": "5369:2:34", "nodeType": "YulLiteral", - "src": "5369:2:36", + "src": "5369:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5354:3:36", + "nativeSrc": "5354:3:34", "nodeType": "YulIdentifier", - "src": "5354:3:36" + "src": "5354:3:34" }, - "nativeSrc": "5354:18:36", + "nativeSrc": "5354:18:34", "nodeType": "YulFunctionCall", - "src": "5354:18:36" + "src": "5354:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "5341:12:36", + "nativeSrc": "5341:12:34", "nodeType": "YulIdentifier", - "src": "5341:12:36" + "src": "5341:12:34" }, - "nativeSrc": "5341:32:36", + "nativeSrc": "5341:32:34", "nodeType": "YulFunctionCall", - "src": "5341:32:36" + "src": "5341:32:34" }, "variables": [ { "name": "value_1", - "nativeSrc": "5330:7:36", + "nativeSrc": "5330:7:34", "nodeType": "YulTypedName", - "src": "5330:7:36", + "src": "5330:7:34", "type": "" } ] @@ -90431,128 +89441,128 @@ "arguments": [ { "name": "value_1", - "nativeSrc": "5407:7:36", + "nativeSrc": "5407:7:34", "nodeType": "YulIdentifier", - "src": "5407:7:36" + "src": "5407:7:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "5382:24:36", + "nativeSrc": "5382:24:34", "nodeType": "YulIdentifier", - "src": "5382:24:36" + "src": "5382:24:34" }, - "nativeSrc": "5382:33:36", + "nativeSrc": "5382:33:34", "nodeType": "YulFunctionCall", - "src": "5382:33:36" + "src": "5382:33:34" }, - "nativeSrc": "5382:33:36", + "nativeSrc": "5382:33:34", "nodeType": "YulExpressionStatement", - "src": "5382:33:36" + "src": "5382:33:34" }, { - "nativeSrc": "5424:17:36", + "nativeSrc": "5424:17:34", "nodeType": "YulAssignment", - "src": "5424:17:36", + "src": "5424:17:34", "value": { "name": "value_1", - "nativeSrc": "5434:7:36", + "nativeSrc": "5434:7:34", "nodeType": "YulIdentifier", - "src": "5434:7:36" + "src": "5434:7:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "5424:6:36", + "nativeSrc": "5424:6:34", "nodeType": "YulIdentifier", - "src": "5424:6:36" + "src": "5424:6:34" } ] } ] }, - "name": "abi_decode_tuple_t_contract$_IAgentRegistryV1_$5327t_contract$_ServiceRegistryUpgradeable_$4615", - "nativeSrc": "4999:448:36", + "name": "abi_decode_tuple_t_contract$_IAgentRegistryV1_$5297t_contract$_ServiceRegistryUpgradeable_$4616", + "nativeSrc": "4999:448:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "5104:9:36", + "nativeSrc": "5104:9:34", "nodeType": "YulTypedName", - "src": "5104:9:36", + "src": "5104:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "5115:7:36", + "nativeSrc": "5115:7:34", "nodeType": "YulTypedName", - "src": "5115:7:36", + "src": "5115:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "5127:6:36", + "nativeSrc": "5127:6:34", "nodeType": "YulTypedName", - "src": "5127:6:36", + "src": "5127:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "5135:6:36", + "nativeSrc": "5135:6:34", "nodeType": "YulTypedName", - "src": "5135:6:36", + "src": "5135:6:34", "type": "" } ], - "src": "4999:448:36" + "src": "4999:448:34" }, { "body": { - "nativeSrc": "5548:489:36", + "nativeSrc": "5548:489:34", "nodeType": "YulBlock", - "src": "5548:489:36", + "src": "5548:489:34", "statements": [ { "body": { - "nativeSrc": "5594:16:36", + "nativeSrc": "5594:16:34", "nodeType": "YulBlock", - "src": "5594:16:36", + "src": "5594:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5603:1:36", + "nativeSrc": "5603:1:34", "nodeType": "YulLiteral", - "src": "5603:1:36", + "src": "5603:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "5606:1:36", + "nativeSrc": "5606:1:34", "nodeType": "YulLiteral", - "src": "5606:1:36", + "src": "5606:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "5596:6:36", + "nativeSrc": "5596:6:34", "nodeType": "YulIdentifier", - "src": "5596:6:36" + "src": "5596:6:34" }, - "nativeSrc": "5596:12:36", + "nativeSrc": "5596:12:34", "nodeType": "YulFunctionCall", - "src": "5596:12:36" + "src": "5596:12:34" }, - "nativeSrc": "5596:12:36", + "nativeSrc": "5596:12:34", "nodeType": "YulExpressionStatement", - "src": "5596:12:36" + "src": "5596:12:34" } ] }, @@ -90562,79 +89572,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "5569:7:36", + "nativeSrc": "5569:7:34", "nodeType": "YulIdentifier", - "src": "5569:7:36" + "src": "5569:7:34" }, { "name": "headStart", - "nativeSrc": "5578:9:36", + "nativeSrc": "5578:9:34", "nodeType": "YulIdentifier", - "src": "5578:9:36" + "src": "5578:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "5565:3:36", + "nativeSrc": "5565:3:34", "nodeType": "YulIdentifier", - "src": "5565:3:36" + "src": "5565:3:34" }, - "nativeSrc": "5565:23:36", + "nativeSrc": "5565:23:34", "nodeType": "YulFunctionCall", - "src": "5565:23:36" + "src": "5565:23:34" }, { "kind": "number", - "nativeSrc": "5590:2:36", + "nativeSrc": "5590:2:34", "nodeType": "YulLiteral", - "src": "5590:2:36", + "src": "5590:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "5561:3:36", + "nativeSrc": "5561:3:34", "nodeType": "YulIdentifier", - "src": "5561:3:36" + "src": "5561:3:34" }, - "nativeSrc": "5561:32:36", + "nativeSrc": "5561:32:34", "nodeType": "YulFunctionCall", - "src": "5561:32:36" + "src": "5561:32:34" }, - "nativeSrc": "5558:52:36", + "nativeSrc": "5558:52:34", "nodeType": "YulIf", - "src": "5558:52:36" + "src": "5558:52:34" }, { - "nativeSrc": "5619:36:36", + "nativeSrc": "5619:36:34", "nodeType": "YulVariableDeclaration", - "src": "5619:36:36", + "src": "5619:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5645:9:36", + "nativeSrc": "5645:9:34", "nodeType": "YulIdentifier", - "src": "5645:9:36" + "src": "5645:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "5632:12:36", + "nativeSrc": "5632:12:34", "nodeType": "YulIdentifier", - "src": "5632:12:36" + "src": "5632:12:34" }, - "nativeSrc": "5632:23:36", + "nativeSrc": "5632:23:34", "nodeType": "YulFunctionCall", - "src": "5632:23:36" + "src": "5632:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "5623:5:36", + "nativeSrc": "5623:5:34", "nodeType": "YulTypedName", - "src": "5623:5:36", + "src": "5623:5:34", "type": "" } ] @@ -90644,137 +89654,137 @@ "arguments": [ { "name": "value", - "nativeSrc": "5689:5:36", + "nativeSrc": "5689:5:34", "nodeType": "YulIdentifier", - "src": "5689:5:36" + "src": "5689:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "5664:24:36", + "nativeSrc": "5664:24:34", "nodeType": "YulIdentifier", - "src": "5664:24:36" + "src": "5664:24:34" }, - "nativeSrc": "5664:31:36", + "nativeSrc": "5664:31:34", "nodeType": "YulFunctionCall", - "src": "5664:31:36" + "src": "5664:31:34" }, - "nativeSrc": "5664:31:36", + "nativeSrc": "5664:31:34", "nodeType": "YulExpressionStatement", - "src": "5664:31:36" + "src": "5664:31:34" }, { - "nativeSrc": "5704:15:36", + "nativeSrc": "5704:15:34", "nodeType": "YulAssignment", - "src": "5704:15:36", + "src": "5704:15:34", "value": { "name": "value", - "nativeSrc": "5714:5:36", + "nativeSrc": "5714:5:34", "nodeType": "YulIdentifier", - "src": "5714:5:36" + "src": "5714:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "5704:6:36", + "nativeSrc": "5704:6:34", "nodeType": "YulIdentifier", - "src": "5704:6:36" + "src": "5704:6:34" } ] }, { - "nativeSrc": "5728:46:36", + "nativeSrc": "5728:46:34", "nodeType": "YulVariableDeclaration", - "src": "5728:46:36", + "src": "5728:46:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "5759:9:36", + "nativeSrc": "5759:9:34", "nodeType": "YulIdentifier", - "src": "5759:9:36" + "src": "5759:9:34" }, { "kind": "number", - "nativeSrc": "5770:2:36", + "nativeSrc": "5770:2:34", "nodeType": "YulLiteral", - "src": "5770:2:36", + "src": "5770:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5755:3:36", + "nativeSrc": "5755:3:34", "nodeType": "YulIdentifier", - "src": "5755:3:36" + "src": "5755:3:34" }, - "nativeSrc": "5755:18:36", + "nativeSrc": "5755:18:34", "nodeType": "YulFunctionCall", - "src": "5755:18:36" + "src": "5755:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "5742:12:36", + "nativeSrc": "5742:12:34", "nodeType": "YulIdentifier", - "src": "5742:12:36" + "src": "5742:12:34" }, - "nativeSrc": "5742:32:36", + "nativeSrc": "5742:32:34", "nodeType": "YulFunctionCall", - "src": "5742:32:36" + "src": "5742:32:34" }, "variables": [ { "name": "offset", - "nativeSrc": "5732:6:36", + "nativeSrc": "5732:6:34", "nodeType": "YulTypedName", - "src": "5732:6:36", + "src": "5732:6:34", "type": "" } ] }, { "body": { - "nativeSrc": "5817:16:36", + "nativeSrc": "5817:16:34", "nodeType": "YulBlock", - "src": "5817:16:36", + "src": "5817:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5826:1:36", + "nativeSrc": "5826:1:34", "nodeType": "YulLiteral", - "src": "5826:1:36", + "src": "5826:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "5829:1:36", + "nativeSrc": "5829:1:34", "nodeType": "YulLiteral", - "src": "5829:1:36", + "src": "5829:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "5819:6:36", + "nativeSrc": "5819:6:34", "nodeType": "YulIdentifier", - "src": "5819:6:36" + "src": "5819:6:34" }, - "nativeSrc": "5819:12:36", + "nativeSrc": "5819:12:34", "nodeType": "YulFunctionCall", - "src": "5819:12:36" + "src": "5819:12:34" }, - "nativeSrc": "5819:12:36", + "nativeSrc": "5819:12:34", "nodeType": "YulExpressionStatement", - "src": "5819:12:36" + "src": "5819:12:34" } ] }, @@ -90782,111 +89792,111 @@ "arguments": [ { "name": "offset", - "nativeSrc": "5789:6:36", + "nativeSrc": "5789:6:34", "nodeType": "YulIdentifier", - "src": "5789:6:36" + "src": "5789:6:34" }, { "kind": "number", - "nativeSrc": "5797:18:36", + "nativeSrc": "5797:18:34", "nodeType": "YulLiteral", - "src": "5797:18:36", + "src": "5797:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "5786:2:36", + "nativeSrc": "5786:2:34", "nodeType": "YulIdentifier", - "src": "5786:2:36" + "src": "5786:2:34" }, - "nativeSrc": "5786:30:36", + "nativeSrc": "5786:30:34", "nodeType": "YulFunctionCall", - "src": "5786:30:36" + "src": "5786:30:34" }, - "nativeSrc": "5783:50:36", + "nativeSrc": "5783:50:34", "nodeType": "YulIf", - "src": "5783:50:36" + "src": "5783:50:34" }, { - "nativeSrc": "5842:32:36", + "nativeSrc": "5842:32:34", "nodeType": "YulVariableDeclaration", - "src": "5842:32:36", + "src": "5842:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5856:9:36", + "nativeSrc": "5856:9:34", "nodeType": "YulIdentifier", - "src": "5856:9:36" + "src": "5856:9:34" }, { "name": "offset", - "nativeSrc": "5867:6:36", + "nativeSrc": "5867:6:34", "nodeType": "YulIdentifier", - "src": "5867:6:36" + "src": "5867:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "5852:3:36", + "nativeSrc": "5852:3:34", "nodeType": "YulIdentifier", - "src": "5852:3:36" + "src": "5852:3:34" }, - "nativeSrc": "5852:22:36", + "nativeSrc": "5852:22:34", "nodeType": "YulFunctionCall", - "src": "5852:22:36" + "src": "5852:22:34" }, "variables": [ { "name": "_1", - "nativeSrc": "5846:2:36", + "nativeSrc": "5846:2:34", "nodeType": "YulTypedName", - "src": "5846:2:36", + "src": "5846:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "5922:16:36", + "nativeSrc": "5922:16:34", "nodeType": "YulBlock", - "src": "5922:16:36", + "src": "5922:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5931:1:36", + "nativeSrc": "5931:1:34", "nodeType": "YulLiteral", - "src": "5931:1:36", + "src": "5931:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "5934:1:36", + "nativeSrc": "5934:1:34", "nodeType": "YulLiteral", - "src": "5934:1:36", + "src": "5934:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "5924:6:36", + "nativeSrc": "5924:6:34", "nodeType": "YulIdentifier", - "src": "5924:6:36" + "src": "5924:6:34" }, - "nativeSrc": "5924:12:36", + "nativeSrc": "5924:12:34", "nodeType": "YulFunctionCall", - "src": "5924:12:36" + "src": "5924:12:34" }, - "nativeSrc": "5924:12:36", + "nativeSrc": "5924:12:34", "nodeType": "YulExpressionStatement", - "src": "5924:12:36" + "src": "5924:12:34" } ] }, @@ -90898,221 +89908,221 @@ "arguments": [ { "name": "_1", - "nativeSrc": "5901:2:36", + "nativeSrc": "5901:2:34", "nodeType": "YulIdentifier", - "src": "5901:2:36" + "src": "5901:2:34" }, { "kind": "number", - "nativeSrc": "5905:4:36", + "nativeSrc": "5905:4:34", "nodeType": "YulLiteral", - "src": "5905:4:36", + "src": "5905:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "5897:3:36", + "nativeSrc": "5897:3:34", "nodeType": "YulIdentifier", - "src": "5897:3:36" + "src": "5897:3:34" }, - "nativeSrc": "5897:13:36", + "nativeSrc": "5897:13:34", "nodeType": "YulFunctionCall", - "src": "5897:13:36" + "src": "5897:13:34" }, { "name": "dataEnd", - "nativeSrc": "5912:7:36", + "nativeSrc": "5912:7:34", "nodeType": "YulIdentifier", - "src": "5912:7:36" + "src": "5912:7:34" } ], "functionName": { "name": "slt", - "nativeSrc": "5893:3:36", + "nativeSrc": "5893:3:34", "nodeType": "YulIdentifier", - "src": "5893:3:36" + "src": "5893:3:34" }, - "nativeSrc": "5893:27:36", + "nativeSrc": "5893:27:34", "nodeType": "YulFunctionCall", - "src": "5893:27:36" + "src": "5893:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "5886:6:36", + "nativeSrc": "5886:6:34", "nodeType": "YulIdentifier", - "src": "5886:6:36" + "src": "5886:6:34" }, - "nativeSrc": "5886:35:36", + "nativeSrc": "5886:35:34", "nodeType": "YulFunctionCall", - "src": "5886:35:36" + "src": "5886:35:34" }, - "nativeSrc": "5883:55:36", + "nativeSrc": "5883:55:34", "nodeType": "YulIf", - "src": "5883:55:36" + "src": "5883:55:34" }, { - "nativeSrc": "5947:84:36", + "nativeSrc": "5947:84:34", "nodeType": "YulAssignment", - "src": "5947:84:36", + "src": "5947:84:34", "value": { "arguments": [ { "arguments": [ { "name": "_1", - "nativeSrc": "5996:2:36", + "nativeSrc": "5996:2:34", "nodeType": "YulIdentifier", - "src": "5996:2:36" + "src": "5996:2:34" }, { "kind": "number", - "nativeSrc": "6000:2:36", + "nativeSrc": "6000:2:34", "nodeType": "YulLiteral", - "src": "6000:2:36", + "src": "6000:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5992:3:36", + "nativeSrc": "5992:3:34", "nodeType": "YulIdentifier", - "src": "5992:3:36" + "src": "5992:3:34" }, - "nativeSrc": "5992:11:36", + "nativeSrc": "5992:11:34", "nodeType": "YulFunctionCall", - "src": "5992:11:36" + "src": "5992:11:34" }, { "arguments": [ { "name": "_1", - "nativeSrc": "6018:2:36", + "nativeSrc": "6018:2:34", "nodeType": "YulIdentifier", - "src": "6018:2:36" + "src": "6018:2:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "6005:12:36", + "nativeSrc": "6005:12:34", "nodeType": "YulIdentifier", - "src": "6005:12:36" + "src": "6005:12:34" }, - "nativeSrc": "6005:16:36", + "nativeSrc": "6005:16:34", "nodeType": "YulFunctionCall", - "src": "6005:16:36" + "src": "6005:16:34" }, { "name": "dataEnd", - "nativeSrc": "6023:7:36", + "nativeSrc": "6023:7:34", "nodeType": "YulIdentifier", - "src": "6023:7:36" + "src": "6023:7:34" } ], "functionName": { "name": "abi_decode_available_length_string", - "nativeSrc": "5957:34:36", + "nativeSrc": "5957:34:34", "nodeType": "YulIdentifier", - "src": "5957:34:36" + "src": "5957:34:34" }, - "nativeSrc": "5957:74:36", + "nativeSrc": "5957:74:34", "nodeType": "YulFunctionCall", - "src": "5957:74:36" + "src": "5957:74:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "5947:6:36", + "nativeSrc": "5947:6:34", "nodeType": "YulIdentifier", - "src": "5947:6:36" + "src": "5947:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_bytes_memory_ptr", - "nativeSrc": "5452:585:36", + "nativeSrc": "5452:585:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "5506:9:36", + "nativeSrc": "5506:9:34", "nodeType": "YulTypedName", - "src": "5506:9:36", + "src": "5506:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "5517:7:36", + "nativeSrc": "5517:7:34", "nodeType": "YulTypedName", - "src": "5517:7:36", + "src": "5517:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "5529:6:36", + "nativeSrc": "5529:6:34", "nodeType": "YulTypedName", - "src": "5529:6:36", + "src": "5529:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "5537:6:36", + "nativeSrc": "5537:6:34", "nodeType": "YulTypedName", - "src": "5537:6:36", + "src": "5537:6:34", "type": "" } ], - "src": "5452:585:36" + "src": "5452:585:34" }, { "body": { - "nativeSrc": "6143:76:36", + "nativeSrc": "6143:76:34", "nodeType": "YulBlock", - "src": "6143:76:36", + "src": "6143:76:34", "statements": [ { - "nativeSrc": "6153:26:36", + "nativeSrc": "6153:26:34", "nodeType": "YulAssignment", - "src": "6153:26:36", + "src": "6153:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "6165:9:36", + "nativeSrc": "6165:9:34", "nodeType": "YulIdentifier", - "src": "6165:9:36" + "src": "6165:9:34" }, { "kind": "number", - "nativeSrc": "6176:2:36", + "nativeSrc": "6176:2:34", "nodeType": "YulLiteral", - "src": "6176:2:36", + "src": "6176:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "6161:3:36", + "nativeSrc": "6161:3:34", "nodeType": "YulIdentifier", - "src": "6161:3:36" + "src": "6161:3:34" }, - "nativeSrc": "6161:18:36", + "nativeSrc": "6161:18:34", "nodeType": "YulFunctionCall", - "src": "6161:18:36" + "src": "6161:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "6153:4:36", + "nativeSrc": "6153:4:34", "nodeType": "YulIdentifier", - "src": "6153:4:36" + "src": "6153:4:34" } ] }, @@ -91121,108 +90131,108 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "6195:9:36", + "nativeSrc": "6195:9:34", "nodeType": "YulIdentifier", - "src": "6195:9:36" + "src": "6195:9:34" }, { "name": "value0", - "nativeSrc": "6206:6:36", + "nativeSrc": "6206:6:34", "nodeType": "YulIdentifier", - "src": "6206:6:36" + "src": "6206:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "6188:6:36", + "nativeSrc": "6188:6:34", "nodeType": "YulIdentifier", - "src": "6188:6:36" + "src": "6188:6:34" }, - "nativeSrc": "6188:25:36", + "nativeSrc": "6188:25:34", "nodeType": "YulFunctionCall", - "src": "6188:25:36" + "src": "6188:25:34" }, - "nativeSrc": "6188:25:36", + "nativeSrc": "6188:25:34", "nodeType": "YulExpressionStatement", - "src": "6188:25:36" + "src": "6188:25:34" } ] }, "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nativeSrc": "6042:177:36", + "nativeSrc": "6042:177:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6112:9:36", + "nativeSrc": "6112:9:34", "nodeType": "YulTypedName", - "src": "6112:9:36", + "src": "6112:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "6123:6:36", + "nativeSrc": "6123:6:34", "nodeType": "YulTypedName", - "src": "6123:6:36", + "src": "6123:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "6134:4:36", + "nativeSrc": "6134:4:34", "nodeType": "YulTypedName", - "src": "6134:4:36", + "src": "6134:4:34", "type": "" } ], - "src": "6042:177:36" + "src": "6042:177:34" }, { "body": { - "nativeSrc": "6294:177:36", + "nativeSrc": "6294:177:34", "nodeType": "YulBlock", - "src": "6294:177:36", + "src": "6294:177:34", "statements": [ { "body": { - "nativeSrc": "6340:16:36", + "nativeSrc": "6340:16:34", "nodeType": "YulBlock", - "src": "6340:16:36", + "src": "6340:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6349:1:36", + "nativeSrc": "6349:1:34", "nodeType": "YulLiteral", - "src": "6349:1:36", + "src": "6349:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "6352:1:36", + "nativeSrc": "6352:1:34", "nodeType": "YulLiteral", - "src": "6352:1:36", + "src": "6352:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "6342:6:36", + "nativeSrc": "6342:6:34", "nodeType": "YulIdentifier", - "src": "6342:6:36" + "src": "6342:6:34" }, - "nativeSrc": "6342:12:36", + "nativeSrc": "6342:12:34", "nodeType": "YulFunctionCall", - "src": "6342:12:36" + "src": "6342:12:34" }, - "nativeSrc": "6342:12:36", + "nativeSrc": "6342:12:34", "nodeType": "YulExpressionStatement", - "src": "6342:12:36" + "src": "6342:12:34" } ] }, @@ -91232,79 +90242,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "6315:7:36", + "nativeSrc": "6315:7:34", "nodeType": "YulIdentifier", - "src": "6315:7:36" + "src": "6315:7:34" }, { "name": "headStart", - "nativeSrc": "6324:9:36", + "nativeSrc": "6324:9:34", "nodeType": "YulIdentifier", - "src": "6324:9:36" + "src": "6324:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "6311:3:36", + "nativeSrc": "6311:3:34", "nodeType": "YulIdentifier", - "src": "6311:3:36" + "src": "6311:3:34" }, - "nativeSrc": "6311:23:36", + "nativeSrc": "6311:23:34", "nodeType": "YulFunctionCall", - "src": "6311:23:36" + "src": "6311:23:34" }, { "kind": "number", - "nativeSrc": "6336:2:36", + "nativeSrc": "6336:2:34", "nodeType": "YulLiteral", - "src": "6336:2:36", + "src": "6336:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "6307:3:36", + "nativeSrc": "6307:3:34", "nodeType": "YulIdentifier", - "src": "6307:3:36" + "src": "6307:3:34" }, - "nativeSrc": "6307:32:36", + "nativeSrc": "6307:32:34", "nodeType": "YulFunctionCall", - "src": "6307:32:36" + "src": "6307:32:34" }, - "nativeSrc": "6304:52:36", + "nativeSrc": "6304:52:34", "nodeType": "YulIf", - "src": "6304:52:36" + "src": "6304:52:34" }, { - "nativeSrc": "6365:36:36", + "nativeSrc": "6365:36:34", "nodeType": "YulVariableDeclaration", - "src": "6365:36:36", + "src": "6365:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "6391:9:36", + "nativeSrc": "6391:9:34", "nodeType": "YulIdentifier", - "src": "6391:9:36" + "src": "6391:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "6378:12:36", + "nativeSrc": "6378:12:34", "nodeType": "YulIdentifier", - "src": "6378:12:36" + "src": "6378:12:34" }, - "nativeSrc": "6378:23:36", + "nativeSrc": "6378:23:34", "nodeType": "YulFunctionCall", - "src": "6378:23:36" + "src": "6378:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "6369:5:36", + "nativeSrc": "6369:5:34", "nodeType": "YulTypedName", - "src": "6369:5:36", + "src": "6369:5:34", "type": "" } ] @@ -91314,121 +90324,121 @@ "arguments": [ { "name": "value", - "nativeSrc": "6435:5:36", + "nativeSrc": "6435:5:34", "nodeType": "YulIdentifier", - "src": "6435:5:36" + "src": "6435:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "6410:24:36", + "nativeSrc": "6410:24:34", "nodeType": "YulIdentifier", - "src": "6410:24:36" + "src": "6410:24:34" }, - "nativeSrc": "6410:31:36", + "nativeSrc": "6410:31:34", "nodeType": "YulFunctionCall", - "src": "6410:31:36" + "src": "6410:31:34" }, - "nativeSrc": "6410:31:36", + "nativeSrc": "6410:31:34", "nodeType": "YulExpressionStatement", - "src": "6410:31:36" + "src": "6410:31:34" }, { - "nativeSrc": "6450:15:36", + "nativeSrc": "6450:15:34", "nodeType": "YulAssignment", - "src": "6450:15:36", + "src": "6450:15:34", "value": { "name": "value", - "nativeSrc": "6460:5:36", + "nativeSrc": "6460:5:34", "nodeType": "YulIdentifier", - "src": "6460:5:36" + "src": "6460:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "6450:6:36", + "nativeSrc": "6450:6:34", "nodeType": "YulIdentifier", - "src": "6450:6:36" + "src": "6450:6:34" } ] } ] }, "name": "abi_decode_tuple_t_address", - "nativeSrc": "6224:247:36", + "nativeSrc": "6224:247:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6260:9:36", + "nativeSrc": "6260:9:34", "nodeType": "YulTypedName", - "src": "6260:9:36", + "src": "6260:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "6271:7:36", + "nativeSrc": "6271:7:34", "nodeType": "YulTypedName", - "src": "6271:7:36", + "src": "6271:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "6283:6:36", + "nativeSrc": "6283:6:34", "nodeType": "YulTypedName", - "src": "6283:6:36", + "src": "6283:6:34", "type": "" } ], - "src": "6224:247:36" + "src": "6224:247:34" }, { "body": { - "nativeSrc": "6563:228:36", + "nativeSrc": "6563:228:34", "nodeType": "YulBlock", - "src": "6563:228:36", + "src": "6563:228:34", "statements": [ { "body": { - "nativeSrc": "6609:16:36", + "nativeSrc": "6609:16:34", "nodeType": "YulBlock", - "src": "6609:16:36", + "src": "6609:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6618:1:36", + "nativeSrc": "6618:1:34", "nodeType": "YulLiteral", - "src": "6618:1:36", + "src": "6618:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "6621:1:36", + "nativeSrc": "6621:1:34", "nodeType": "YulLiteral", - "src": "6621:1:36", + "src": "6621:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "6611:6:36", + "nativeSrc": "6611:6:34", "nodeType": "YulIdentifier", - "src": "6611:6:36" + "src": "6611:6:34" }, - "nativeSrc": "6611:12:36", + "nativeSrc": "6611:12:34", "nodeType": "YulFunctionCall", - "src": "6611:12:36" + "src": "6611:12:34" }, - "nativeSrc": "6611:12:36", + "nativeSrc": "6611:12:34", "nodeType": "YulExpressionStatement", - "src": "6611:12:36" + "src": "6611:12:34" } ] }, @@ -91438,79 +90448,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "6584:7:36", + "nativeSrc": "6584:7:34", "nodeType": "YulIdentifier", - "src": "6584:7:36" + "src": "6584:7:34" }, { "name": "headStart", - "nativeSrc": "6593:9:36", + "nativeSrc": "6593:9:34", "nodeType": "YulIdentifier", - "src": "6593:9:36" + "src": "6593:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "6580:3:36", + "nativeSrc": "6580:3:34", "nodeType": "YulIdentifier", - "src": "6580:3:36" + "src": "6580:3:34" }, - "nativeSrc": "6580:23:36", + "nativeSrc": "6580:23:34", "nodeType": "YulFunctionCall", - "src": "6580:23:36" + "src": "6580:23:34" }, { "kind": "number", - "nativeSrc": "6605:2:36", + "nativeSrc": "6605:2:34", "nodeType": "YulLiteral", - "src": "6605:2:36", + "src": "6605:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "6576:3:36", + "nativeSrc": "6576:3:34", "nodeType": "YulIdentifier", - "src": "6576:3:36" + "src": "6576:3:34" }, - "nativeSrc": "6576:32:36", + "nativeSrc": "6576:32:34", "nodeType": "YulFunctionCall", - "src": "6576:32:36" + "src": "6576:32:34" }, - "nativeSrc": "6573:52:36", + "nativeSrc": "6573:52:34", "nodeType": "YulIf", - "src": "6573:52:36" + "src": "6573:52:34" }, { - "nativeSrc": "6634:36:36", + "nativeSrc": "6634:36:34", "nodeType": "YulVariableDeclaration", - "src": "6634:36:36", + "src": "6634:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "6660:9:36", + "nativeSrc": "6660:9:34", "nodeType": "YulIdentifier", - "src": "6660:9:36" + "src": "6660:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "6647:12:36", + "nativeSrc": "6647:12:34", "nodeType": "YulIdentifier", - "src": "6647:12:36" + "src": "6647:12:34" }, - "nativeSrc": "6647:23:36", + "nativeSrc": "6647:23:34", "nodeType": "YulFunctionCall", - "src": "6647:23:36" + "src": "6647:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "6638:5:36", + "nativeSrc": "6638:5:34", "nodeType": "YulTypedName", - "src": "6638:5:36", + "src": "6638:5:34", "type": "" } ] @@ -91520,181 +90530,181 @@ "arguments": [ { "name": "value", - "nativeSrc": "6704:5:36", + "nativeSrc": "6704:5:34", "nodeType": "YulIdentifier", - "src": "6704:5:36" + "src": "6704:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "6679:24:36", + "nativeSrc": "6679:24:34", "nodeType": "YulIdentifier", - "src": "6679:24:36" + "src": "6679:24:34" }, - "nativeSrc": "6679:31:36", + "nativeSrc": "6679:31:34", "nodeType": "YulFunctionCall", - "src": "6679:31:36" + "src": "6679:31:34" }, - "nativeSrc": "6679:31:36", + "nativeSrc": "6679:31:34", "nodeType": "YulExpressionStatement", - "src": "6679:31:36" + "src": "6679:31:34" }, { - "nativeSrc": "6719:15:36", + "nativeSrc": "6719:15:34", "nodeType": "YulAssignment", - "src": "6719:15:36", + "src": "6719:15:34", "value": { "name": "value", - "nativeSrc": "6729:5:36", + "nativeSrc": "6729:5:34", "nodeType": "YulIdentifier", - "src": "6729:5:36" + "src": "6729:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "6719:6:36", + "nativeSrc": "6719:6:34", "nodeType": "YulIdentifier", - "src": "6719:6:36" + "src": "6719:6:34" } ] }, { - "nativeSrc": "6743:42:36", + "nativeSrc": "6743:42:34", "nodeType": "YulAssignment", - "src": "6743:42:36", + "src": "6743:42:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "6770:9:36", + "nativeSrc": "6770:9:34", "nodeType": "YulIdentifier", - "src": "6770:9:36" + "src": "6770:9:34" }, { "kind": "number", - "nativeSrc": "6781:2:36", + "nativeSrc": "6781:2:34", "nodeType": "YulLiteral", - "src": "6781:2:36", + "src": "6781:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "6766:3:36", + "nativeSrc": "6766:3:34", "nodeType": "YulIdentifier", - "src": "6766:3:36" + "src": "6766:3:34" }, - "nativeSrc": "6766:18:36", + "nativeSrc": "6766:18:34", "nodeType": "YulFunctionCall", - "src": "6766:18:36" + "src": "6766:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "6753:12:36", + "nativeSrc": "6753:12:34", "nodeType": "YulIdentifier", - "src": "6753:12:36" + "src": "6753:12:34" }, - "nativeSrc": "6753:32:36", + "nativeSrc": "6753:32:34", "nodeType": "YulFunctionCall", - "src": "6753:32:36" + "src": "6753:32:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "6743:6:36", + "nativeSrc": "6743:6:34", "nodeType": "YulIdentifier", - "src": "6743:6:36" + "src": "6743:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_uint256", - "nativeSrc": "6476:315:36", + "nativeSrc": "6476:315:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6521:9:36", + "nativeSrc": "6521:9:34", "nodeType": "YulTypedName", - "src": "6521:9:36", + "src": "6521:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "6532:7:36", + "nativeSrc": "6532:7:34", "nodeType": "YulTypedName", - "src": "6532:7:36", + "src": "6532:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "6544:6:36", + "nativeSrc": "6544:6:34", "nodeType": "YulTypedName", - "src": "6544:6:36", + "src": "6544:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "6552:6:36", + "nativeSrc": "6552:6:34", "nodeType": "YulTypedName", - "src": "6552:6:36", + "src": "6552:6:34", "type": "" } ], - "src": "6476:315:36" + "src": "6476:315:34" }, { "body": { - "nativeSrc": "6920:554:36", + "nativeSrc": "6920:554:34", "nodeType": "YulBlock", - "src": "6920:554:36", + "src": "6920:554:34", "statements": [ { "body": { - "nativeSrc": "6966:16:36", + "nativeSrc": "6966:16:34", "nodeType": "YulBlock", - "src": "6966:16:36", + "src": "6966:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6975:1:36", + "nativeSrc": "6975:1:34", "nodeType": "YulLiteral", - "src": "6975:1:36", + "src": "6975:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "6978:1:36", + "nativeSrc": "6978:1:34", "nodeType": "YulLiteral", - "src": "6978:1:36", + "src": "6978:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "6968:6:36", + "nativeSrc": "6968:6:34", "nodeType": "YulIdentifier", - "src": "6968:6:36" + "src": "6968:6:34" }, - "nativeSrc": "6968:12:36", + "nativeSrc": "6968:12:34", "nodeType": "YulFunctionCall", - "src": "6968:12:36" + "src": "6968:12:34" }, - "nativeSrc": "6968:12:36", + "nativeSrc": "6968:12:34", "nodeType": "YulExpressionStatement", - "src": "6968:12:36" + "src": "6968:12:34" } ] }, @@ -91704,79 +90714,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "6941:7:36", + "nativeSrc": "6941:7:34", "nodeType": "YulIdentifier", - "src": "6941:7:36" + "src": "6941:7:34" }, { "name": "headStart", - "nativeSrc": "6950:9:36", + "nativeSrc": "6950:9:34", "nodeType": "YulIdentifier", - "src": "6950:9:36" + "src": "6950:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "6937:3:36", + "nativeSrc": "6937:3:34", "nodeType": "YulIdentifier", - "src": "6937:3:36" + "src": "6937:3:34" }, - "nativeSrc": "6937:23:36", + "nativeSrc": "6937:23:34", "nodeType": "YulFunctionCall", - "src": "6937:23:36" + "src": "6937:23:34" }, { "kind": "number", - "nativeSrc": "6962:2:36", + "nativeSrc": "6962:2:34", "nodeType": "YulLiteral", - "src": "6962:2:36", + "src": "6962:2:34", "type": "", "value": "96" } ], "functionName": { "name": "slt", - "nativeSrc": "6933:3:36", + "nativeSrc": "6933:3:34", "nodeType": "YulIdentifier", - "src": "6933:3:36" + "src": "6933:3:34" }, - "nativeSrc": "6933:32:36", + "nativeSrc": "6933:32:34", "nodeType": "YulFunctionCall", - "src": "6933:32:36" + "src": "6933:32:34" }, - "nativeSrc": "6930:52:36", + "nativeSrc": "6930:52:34", "nodeType": "YulIf", - "src": "6930:52:36" + "src": "6930:52:34" }, { - "nativeSrc": "6991:36:36", + "nativeSrc": "6991:36:34", "nodeType": "YulVariableDeclaration", - "src": "6991:36:36", + "src": "6991:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "7017:9:36", + "nativeSrc": "7017:9:34", "nodeType": "YulIdentifier", - "src": "7017:9:36" + "src": "7017:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "7004:12:36", + "nativeSrc": "7004:12:34", "nodeType": "YulIdentifier", - "src": "7004:12:36" + "src": "7004:12:34" }, - "nativeSrc": "7004:23:36", + "nativeSrc": "7004:23:34", "nodeType": "YulFunctionCall", - "src": "7004:23:36" + "src": "7004:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "6995:5:36", + "nativeSrc": "6995:5:34", "nodeType": "YulTypedName", - "src": "6995:5:36", + "src": "6995:5:34", "type": "" } ] @@ -91786,159 +90796,159 @@ "arguments": [ { "name": "value", - "nativeSrc": "7061:5:36", + "nativeSrc": "7061:5:34", "nodeType": "YulIdentifier", - "src": "7061:5:36" + "src": "7061:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "7036:24:36", + "nativeSrc": "7036:24:34", "nodeType": "YulIdentifier", - "src": "7036:24:36" + "src": "7036:24:34" }, - "nativeSrc": "7036:31:36", + "nativeSrc": "7036:31:34", "nodeType": "YulFunctionCall", - "src": "7036:31:36" + "src": "7036:31:34" }, - "nativeSrc": "7036:31:36", + "nativeSrc": "7036:31:34", "nodeType": "YulExpressionStatement", - "src": "7036:31:36" + "src": "7036:31:34" }, { - "nativeSrc": "7076:15:36", + "nativeSrc": "7076:15:34", "nodeType": "YulAssignment", - "src": "7076:15:36", + "src": "7076:15:34", "value": { "name": "value", - "nativeSrc": "7086:5:36", + "nativeSrc": "7086:5:34", "nodeType": "YulIdentifier", - "src": "7086:5:36" + "src": "7086:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "7076:6:36", + "nativeSrc": "7076:6:34", "nodeType": "YulIdentifier", - "src": "7076:6:36" + "src": "7076:6:34" } ] }, { - "nativeSrc": "7100:46:36", + "nativeSrc": "7100:46:34", "nodeType": "YulVariableDeclaration", - "src": "7100:46:36", + "src": "7100:46:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "7131:9:36", + "nativeSrc": "7131:9:34", "nodeType": "YulIdentifier", - "src": "7131:9:36" + "src": "7131:9:34" }, { "kind": "number", - "nativeSrc": "7142:2:36", + "nativeSrc": "7142:2:34", "nodeType": "YulLiteral", - "src": "7142:2:36", + "src": "7142:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "7127:3:36", + "nativeSrc": "7127:3:34", "nodeType": "YulIdentifier", - "src": "7127:3:36" + "src": "7127:3:34" }, - "nativeSrc": "7127:18:36", + "nativeSrc": "7127:18:34", "nodeType": "YulFunctionCall", - "src": "7127:18:36" + "src": "7127:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "7114:12:36", + "nativeSrc": "7114:12:34", "nodeType": "YulIdentifier", - "src": "7114:12:36" + "src": "7114:12:34" }, - "nativeSrc": "7114:32:36", + "nativeSrc": "7114:32:34", "nodeType": "YulFunctionCall", - "src": "7114:32:36" + "src": "7114:32:34" }, "variables": [ { "name": "offset", - "nativeSrc": "7104:6:36", + "nativeSrc": "7104:6:34", "nodeType": "YulTypedName", - "src": "7104:6:36", + "src": "7104:6:34", "type": "" } ] }, { - "nativeSrc": "7155:28:36", + "nativeSrc": "7155:28:34", "nodeType": "YulVariableDeclaration", - "src": "7155:28:36", + "src": "7155:28:34", "value": { "kind": "number", - "nativeSrc": "7165:18:36", + "nativeSrc": "7165:18:34", "nodeType": "YulLiteral", - "src": "7165:18:36", + "src": "7165:18:34", "type": "", "value": "0xffffffffffffffff" }, "variables": [ { "name": "_1", - "nativeSrc": "7159:2:36", + "nativeSrc": "7159:2:34", "nodeType": "YulTypedName", - "src": "7159:2:36", + "src": "7159:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "7210:16:36", + "nativeSrc": "7210:16:34", "nodeType": "YulBlock", - "src": "7210:16:36", + "src": "7210:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "7219:1:36", + "nativeSrc": "7219:1:34", "nodeType": "YulLiteral", - "src": "7219:1:36", + "src": "7219:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "7222:1:36", + "nativeSrc": "7222:1:34", "nodeType": "YulLiteral", - "src": "7222:1:36", + "src": "7222:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "7212:6:36", + "nativeSrc": "7212:6:34", "nodeType": "YulIdentifier", - "src": "7212:6:36" + "src": "7212:6:34" }, - "nativeSrc": "7212:12:36", + "nativeSrc": "7212:12:34", "nodeType": "YulFunctionCall", - "src": "7212:12:36" + "src": "7212:12:34" }, - "nativeSrc": "7212:12:36", + "nativeSrc": "7212:12:34", "nodeType": "YulExpressionStatement", - "src": "7212:12:36" + "src": "7212:12:34" } ] }, @@ -91946,181 +90956,181 @@ "arguments": [ { "name": "offset", - "nativeSrc": "7198:6:36", + "nativeSrc": "7198:6:34", "nodeType": "YulIdentifier", - "src": "7198:6:36" + "src": "7198:6:34" }, { "name": "_1", - "nativeSrc": "7206:2:36", + "nativeSrc": "7206:2:34", "nodeType": "YulIdentifier", - "src": "7206:2:36" + "src": "7206:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "7195:2:36", + "nativeSrc": "7195:2:34", "nodeType": "YulIdentifier", - "src": "7195:2:36" + "src": "7195:2:34" }, - "nativeSrc": "7195:14:36", + "nativeSrc": "7195:14:34", "nodeType": "YulFunctionCall", - "src": "7195:14:36" + "src": "7195:14:34" }, - "nativeSrc": "7192:34:36", + "nativeSrc": "7192:34:34", "nodeType": "YulIf", - "src": "7192:34:36" + "src": "7192:34:34" }, { - "nativeSrc": "7235:60:36", + "nativeSrc": "7235:60:34", "nodeType": "YulAssignment", - "src": "7235:60:36", + "src": "7235:60:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "7267:9:36", + "nativeSrc": "7267:9:34", "nodeType": "YulIdentifier", - "src": "7267:9:36" + "src": "7267:9:34" }, { "name": "offset", - "nativeSrc": "7278:6:36", + "nativeSrc": "7278:6:34", "nodeType": "YulIdentifier", - "src": "7278:6:36" + "src": "7278:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "7263:3:36", + "nativeSrc": "7263:3:34", "nodeType": "YulIdentifier", - "src": "7263:3:36" + "src": "7263:3:34" }, - "nativeSrc": "7263:22:36", + "nativeSrc": "7263:22:34", "nodeType": "YulFunctionCall", - "src": "7263:22:36" + "src": "7263:22:34" }, { "name": "dataEnd", - "nativeSrc": "7287:7:36", + "nativeSrc": "7287:7:34", "nodeType": "YulIdentifier", - "src": "7287:7:36" + "src": "7287:7:34" } ], "functionName": { "name": "abi_decode_string", - "nativeSrc": "7245:17:36", + "nativeSrc": "7245:17:34", "nodeType": "YulIdentifier", - "src": "7245:17:36" + "src": "7245:17:34" }, - "nativeSrc": "7245:50:36", + "nativeSrc": "7245:50:34", "nodeType": "YulFunctionCall", - "src": "7245:50:36" + "src": "7245:50:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "7235:6:36", + "nativeSrc": "7235:6:34", "nodeType": "YulIdentifier", - "src": "7235:6:36" + "src": "7235:6:34" } ] }, { - "nativeSrc": "7304:48:36", + "nativeSrc": "7304:48:34", "nodeType": "YulVariableDeclaration", - "src": "7304:48:36", + "src": "7304:48:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "7337:9:36", + "nativeSrc": "7337:9:34", "nodeType": "YulIdentifier", - "src": "7337:9:36" + "src": "7337:9:34" }, { "kind": "number", - "nativeSrc": "7348:2:36", + "nativeSrc": "7348:2:34", "nodeType": "YulLiteral", - "src": "7348:2:36", + "src": "7348:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "7333:3:36", + "nativeSrc": "7333:3:34", "nodeType": "YulIdentifier", - "src": "7333:3:36" + "src": "7333:3:34" }, - "nativeSrc": "7333:18:36", + "nativeSrc": "7333:18:34", "nodeType": "YulFunctionCall", - "src": "7333:18:36" + "src": "7333:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "7320:12:36", + "nativeSrc": "7320:12:34", "nodeType": "YulIdentifier", - "src": "7320:12:36" + "src": "7320:12:34" }, - "nativeSrc": "7320:32:36", + "nativeSrc": "7320:32:34", "nodeType": "YulFunctionCall", - "src": "7320:32:36" + "src": "7320:32:34" }, "variables": [ { "name": "offset_1", - "nativeSrc": "7308:8:36", + "nativeSrc": "7308:8:34", "nodeType": "YulTypedName", - "src": "7308:8:36", + "src": "7308:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "7381:16:36", + "nativeSrc": "7381:16:34", "nodeType": "YulBlock", - "src": "7381:16:36", + "src": "7381:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "7390:1:36", + "nativeSrc": "7390:1:34", "nodeType": "YulLiteral", - "src": "7390:1:36", + "src": "7390:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "7393:1:36", + "nativeSrc": "7393:1:34", "nodeType": "YulLiteral", - "src": "7393:1:36", + "src": "7393:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "7383:6:36", + "nativeSrc": "7383:6:34", "nodeType": "YulIdentifier", - "src": "7383:6:36" + "src": "7383:6:34" }, - "nativeSrc": "7383:12:36", + "nativeSrc": "7383:12:34", "nodeType": "YulFunctionCall", - "src": "7383:12:36" + "src": "7383:12:34" }, - "nativeSrc": "7383:12:36", + "nativeSrc": "7383:12:34", "nodeType": "YulExpressionStatement", - "src": "7383:12:36" + "src": "7383:12:34" } ] }, @@ -92128,177 +91138,177 @@ "arguments": [ { "name": "offset_1", - "nativeSrc": "7367:8:36", + "nativeSrc": "7367:8:34", "nodeType": "YulIdentifier", - "src": "7367:8:36" + "src": "7367:8:34" }, { "name": "_1", - "nativeSrc": "7377:2:36", + "nativeSrc": "7377:2:34", "nodeType": "YulIdentifier", - "src": "7377:2:36" + "src": "7377:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "7364:2:36", + "nativeSrc": "7364:2:34", "nodeType": "YulIdentifier", - "src": "7364:2:36" + "src": "7364:2:34" }, - "nativeSrc": "7364:16:36", + "nativeSrc": "7364:16:34", "nodeType": "YulFunctionCall", - "src": "7364:16:36" + "src": "7364:16:34" }, - "nativeSrc": "7361:36:36", + "nativeSrc": "7361:36:34", "nodeType": "YulIf", - "src": "7361:36:36" + "src": "7361:36:34" }, { - "nativeSrc": "7406:62:36", + "nativeSrc": "7406:62:34", "nodeType": "YulAssignment", - "src": "7406:62:36", + "src": "7406:62:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "7438:9:36", + "nativeSrc": "7438:9:34", "nodeType": "YulIdentifier", - "src": "7438:9:36" + "src": "7438:9:34" }, { "name": "offset_1", - "nativeSrc": "7449:8:36", + "nativeSrc": "7449:8:34", "nodeType": "YulIdentifier", - "src": "7449:8:36" + "src": "7449:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "7434:3:36", + "nativeSrc": "7434:3:34", "nodeType": "YulIdentifier", - "src": "7434:3:36" + "src": "7434:3:34" }, - "nativeSrc": "7434:24:36", + "nativeSrc": "7434:24:34", "nodeType": "YulFunctionCall", - "src": "7434:24:36" + "src": "7434:24:34" }, { "name": "dataEnd", - "nativeSrc": "7460:7:36", + "nativeSrc": "7460:7:34", "nodeType": "YulIdentifier", - "src": "7460:7:36" + "src": "7460:7:34" } ], "functionName": { "name": "abi_decode_string", - "nativeSrc": "7416:17:36", + "nativeSrc": "7416:17:34", "nodeType": "YulIdentifier", - "src": "7416:17:36" + "src": "7416:17:34" }, - "nativeSrc": "7416:52:36", + "nativeSrc": "7416:52:34", "nodeType": "YulFunctionCall", - "src": "7416:52:36" + "src": "7416:52:34" }, "variableNames": [ { "name": "value2", - "nativeSrc": "7406:6:36", + "nativeSrc": "7406:6:34", "nodeType": "YulIdentifier", - "src": "7406:6:36" + "src": "7406:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptr", - "nativeSrc": "6796:678:36", + "nativeSrc": "6796:678:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6870:9:36", + "nativeSrc": "6870:9:34", "nodeType": "YulTypedName", - "src": "6870:9:36", + "src": "6870:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "6881:7:36", + "nativeSrc": "6881:7:34", "nodeType": "YulTypedName", - "src": "6881:7:36", + "src": "6881:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "6893:6:36", + "nativeSrc": "6893:6:34", "nodeType": "YulTypedName", - "src": "6893:6:36", + "src": "6893:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "6901:6:36", + "nativeSrc": "6901:6:34", "nodeType": "YulTypedName", - "src": "6901:6:36", + "src": "6901:6:34", "type": "" }, { "name": "value2", - "nativeSrc": "6909:6:36", + "nativeSrc": "6909:6:34", "nodeType": "YulTypedName", - "src": "6909:6:36", + "src": "6909:6:34", "type": "" } ], - "src": "6796:678:36" + "src": "6796:678:34" }, { "body": { - "nativeSrc": "7574:92:36", + "nativeSrc": "7574:92:34", "nodeType": "YulBlock", - "src": "7574:92:36", + "src": "7574:92:34", "statements": [ { - "nativeSrc": "7584:26:36", + "nativeSrc": "7584:26:34", "nodeType": "YulAssignment", - "src": "7584:26:36", + "src": "7584:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "7596:9:36", + "nativeSrc": "7596:9:34", "nodeType": "YulIdentifier", - "src": "7596:9:36" + "src": "7596:9:34" }, { "kind": "number", - "nativeSrc": "7607:2:36", + "nativeSrc": "7607:2:34", "nodeType": "YulLiteral", - "src": "7607:2:36", + "src": "7607:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "7592:3:36", + "nativeSrc": "7592:3:34", "nodeType": "YulIdentifier", - "src": "7592:3:36" + "src": "7592:3:34" }, - "nativeSrc": "7592:18:36", + "nativeSrc": "7592:18:34", "nodeType": "YulFunctionCall", - "src": "7592:18:36" + "src": "7592:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "7584:4:36", + "nativeSrc": "7584:4:34", "nodeType": "YulIdentifier", - "src": "7584:4:36" + "src": "7584:4:34" } ] }, @@ -92307,9 +91317,9 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "7626:9:36", + "nativeSrc": "7626:9:34", "nodeType": "YulIdentifier", - "src": "7626:9:36" + "src": "7626:9:34" }, { "arguments": [ @@ -92317,122 +91327,122 @@ "arguments": [ { "name": "value0", - "nativeSrc": "7651:6:36", + "nativeSrc": "7651:6:34", "nodeType": "YulIdentifier", - "src": "7651:6:36" + "src": "7651:6:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "7644:6:36", + "nativeSrc": "7644:6:34", "nodeType": "YulIdentifier", - "src": "7644:6:36" + "src": "7644:6:34" }, - "nativeSrc": "7644:14:36", + "nativeSrc": "7644:14:34", "nodeType": "YulFunctionCall", - "src": "7644:14:36" + "src": "7644:14:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "7637:6:36", + "nativeSrc": "7637:6:34", "nodeType": "YulIdentifier", - "src": "7637:6:36" + "src": "7637:6:34" }, - "nativeSrc": "7637:22:36", + "nativeSrc": "7637:22:34", "nodeType": "YulFunctionCall", - "src": "7637:22:36" + "src": "7637:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "7619:6:36", + "nativeSrc": "7619:6:34", "nodeType": "YulIdentifier", - "src": "7619:6:36" + "src": "7619:6:34" }, - "nativeSrc": "7619:41:36", + "nativeSrc": "7619:41:34", "nodeType": "YulFunctionCall", - "src": "7619:41:36" + "src": "7619:41:34" }, - "nativeSrc": "7619:41:36", + "nativeSrc": "7619:41:34", "nodeType": "YulExpressionStatement", - "src": "7619:41:36" + "src": "7619:41:34" } ] }, "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nativeSrc": "7479:187:36", + "nativeSrc": "7479:187:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "7543:9:36", + "nativeSrc": "7543:9:34", "nodeType": "YulTypedName", - "src": "7543:9:36", + "src": "7543:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "7554:6:36", + "nativeSrc": "7554:6:34", "nodeType": "YulTypedName", - "src": "7554:6:36", + "src": "7554:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "7565:4:36", + "nativeSrc": "7565:4:34", "nodeType": "YulTypedName", - "src": "7565:4:36", + "src": "7565:4:34", "type": "" } ], - "src": "7479:187:36" + "src": "7479:187:34" }, { "body": { - "nativeSrc": "7772:102:36", + "nativeSrc": "7772:102:34", "nodeType": "YulBlock", - "src": "7772:102:36", + "src": "7772:102:34", "statements": [ { - "nativeSrc": "7782:26:36", + "nativeSrc": "7782:26:34", "nodeType": "YulAssignment", - "src": "7782:26:36", + "src": "7782:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "7794:9:36", + "nativeSrc": "7794:9:34", "nodeType": "YulIdentifier", - "src": "7794:9:36" + "src": "7794:9:34" }, { "kind": "number", - "nativeSrc": "7805:2:36", + "nativeSrc": "7805:2:34", "nodeType": "YulLiteral", - "src": "7805:2:36", + "src": "7805:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "7790:3:36", + "nativeSrc": "7790:3:34", "nodeType": "YulIdentifier", - "src": "7790:3:36" + "src": "7790:3:34" }, - "nativeSrc": "7790:18:36", + "nativeSrc": "7790:18:34", "nodeType": "YulFunctionCall", - "src": "7790:18:36" + "src": "7790:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "7782:4:36", + "nativeSrc": "7782:4:34", "nodeType": "YulIdentifier", - "src": "7782:4:36" + "src": "7782:4:34" } ] }, @@ -92441,17 +91451,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "7824:9:36", + "nativeSrc": "7824:9:34", "nodeType": "YulIdentifier", - "src": "7824:9:36" + "src": "7824:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "7839:6:36", + "nativeSrc": "7839:6:34", "nodeType": "YulIdentifier", - "src": "7839:6:36" + "src": "7839:6:34" }, { "arguments": [ @@ -92459,175 +91469,175 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7855:3:36", + "nativeSrc": "7855:3:34", "nodeType": "YulLiteral", - "src": "7855:3:36", + "src": "7855:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "7860:1:36", + "nativeSrc": "7860:1:34", "nodeType": "YulLiteral", - "src": "7860:1:36", + "src": "7860:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "7851:3:36", + "nativeSrc": "7851:3:34", "nodeType": "YulIdentifier", - "src": "7851:3:36" + "src": "7851:3:34" }, - "nativeSrc": "7851:11:36", + "nativeSrc": "7851:11:34", "nodeType": "YulFunctionCall", - "src": "7851:11:36" + "src": "7851:11:34" }, { "kind": "number", - "nativeSrc": "7864:1:36", + "nativeSrc": "7864:1:34", "nodeType": "YulLiteral", - "src": "7864:1:36", + "src": "7864:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "7847:3:36", + "nativeSrc": "7847:3:34", "nodeType": "YulIdentifier", - "src": "7847:3:36" + "src": "7847:3:34" }, - "nativeSrc": "7847:19:36", + "nativeSrc": "7847:19:34", "nodeType": "YulFunctionCall", - "src": "7847:19:36" + "src": "7847:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "7835:3:36", + "nativeSrc": "7835:3:34", "nodeType": "YulIdentifier", - "src": "7835:3:36" + "src": "7835:3:34" }, - "nativeSrc": "7835:32:36", + "nativeSrc": "7835:32:34", "nodeType": "YulFunctionCall", - "src": "7835:32:36" + "src": "7835:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "7817:6:36", + "nativeSrc": "7817:6:34", "nodeType": "YulIdentifier", - "src": "7817:6:36" + "src": "7817:6:34" }, - "nativeSrc": "7817:51:36", + "nativeSrc": "7817:51:34", "nodeType": "YulFunctionCall", - "src": "7817:51:36" + "src": "7817:51:34" }, - "nativeSrc": "7817:51:36", + "nativeSrc": "7817:51:34", "nodeType": "YulExpressionStatement", - "src": "7817:51:36" + "src": "7817:51:34" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nativeSrc": "7671:203:36", + "nativeSrc": "7671:203:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "7741:9:36", + "nativeSrc": "7741:9:34", "nodeType": "YulTypedName", - "src": "7741:9:36", + "src": "7741:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "7752:6:36", + "nativeSrc": "7752:6:34", "nodeType": "YulTypedName", - "src": "7752:6:36", + "src": "7752:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "7763:4:36", + "nativeSrc": "7763:4:34", "nodeType": "YulTypedName", - "src": "7763:4:36", + "src": "7763:4:34", "type": "" } ], - "src": "7671:203:36" + "src": "7671:203:34" }, { "body": { - "nativeSrc": "8034:751:36", + "nativeSrc": "8034:751:34", "nodeType": "YulBlock", - "src": "8034:751:36", + "src": "8034:751:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "8051:9:36", + "nativeSrc": "8051:9:34", "nodeType": "YulIdentifier", - "src": "8051:9:36" + "src": "8051:9:34" }, { "kind": "number", - "nativeSrc": "8062:2:36", + "nativeSrc": "8062:2:34", "nodeType": "YulLiteral", - "src": "8062:2:36", + "src": "8062:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "8044:6:36", + "nativeSrc": "8044:6:34", "nodeType": "YulIdentifier", - "src": "8044:6:36" + "src": "8044:6:34" }, - "nativeSrc": "8044:21:36", + "nativeSrc": "8044:21:34", "nodeType": "YulFunctionCall", - "src": "8044:21:36" + "src": "8044:21:34" }, - "nativeSrc": "8044:21:36", + "nativeSrc": "8044:21:34", "nodeType": "YulExpressionStatement", - "src": "8044:21:36" + "src": "8044:21:34" }, { - "nativeSrc": "8074:33:36", + "nativeSrc": "8074:33:34", "nodeType": "YulVariableDeclaration", - "src": "8074:33:36", + "src": "8074:33:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "8100:6:36", + "nativeSrc": "8100:6:34", "nodeType": "YulIdentifier", - "src": "8100:6:36" + "src": "8100:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "8094:5:36", + "nativeSrc": "8094:5:34", "nodeType": "YulIdentifier", - "src": "8094:5:36" + "src": "8094:5:34" }, - "nativeSrc": "8094:13:36", + "nativeSrc": "8094:13:34", "nodeType": "YulFunctionCall", - "src": "8094:13:36" + "src": "8094:13:34" }, "variables": [ { "name": "memberValue0", - "nativeSrc": "8078:12:36", + "nativeSrc": "8078:12:34", "nodeType": "YulTypedName", - "src": "8078:12:36", + "src": "8078:12:34", "type": "" } ] @@ -92639,162 +91649,162 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8127:9:36", + "nativeSrc": "8127:9:34", "nodeType": "YulIdentifier", - "src": "8127:9:36" + "src": "8127:9:34" }, { "kind": "number", - "nativeSrc": "8138:2:36", + "nativeSrc": "8138:2:34", "nodeType": "YulLiteral", - "src": "8138:2:36", + "src": "8138:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "8123:3:36", + "nativeSrc": "8123:3:34", "nodeType": "YulIdentifier", - "src": "8123:3:36" + "src": "8123:3:34" }, - "nativeSrc": "8123:18:36", + "nativeSrc": "8123:18:34", "nodeType": "YulFunctionCall", - "src": "8123:18:36" + "src": "8123:18:34" }, { "kind": "number", - "nativeSrc": "8143:4:36", + "nativeSrc": "8143:4:34", "nodeType": "YulLiteral", - "src": "8143:4:36", + "src": "8143:4:34", "type": "", "value": "0xc0" } ], "functionName": { "name": "mstore", - "nativeSrc": "8116:6:36", + "nativeSrc": "8116:6:34", "nodeType": "YulIdentifier", - "src": "8116:6:36" + "src": "8116:6:34" }, - "nativeSrc": "8116:32:36", + "nativeSrc": "8116:32:34", "nodeType": "YulFunctionCall", - "src": "8116:32:36" + "src": "8116:32:34" }, - "nativeSrc": "8116:32:36", + "nativeSrc": "8116:32:34", "nodeType": "YulExpressionStatement", - "src": "8116:32:36" + "src": "8116:32:34" }, { - "nativeSrc": "8157:66:36", + "nativeSrc": "8157:66:34", "nodeType": "YulVariableDeclaration", - "src": "8157:66:36", + "src": "8157:66:34", "value": { "arguments": [ { "name": "memberValue0", - "nativeSrc": "8189:12:36", + "nativeSrc": "8189:12:34", "nodeType": "YulIdentifier", - "src": "8189:12:36" + "src": "8189:12:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "8207:9:36", + "nativeSrc": "8207:9:34", "nodeType": "YulIdentifier", - "src": "8207:9:36" + "src": "8207:9:34" }, { "kind": "number", - "nativeSrc": "8218:3:36", + "nativeSrc": "8218:3:34", "nodeType": "YulLiteral", - "src": "8218:3:36", + "src": "8218:3:34", "type": "", "value": "224" } ], "functionName": { "name": "add", - "nativeSrc": "8203:3:36", + "nativeSrc": "8203:3:34", "nodeType": "YulIdentifier", - "src": "8203:3:36" + "src": "8203:3:34" }, - "nativeSrc": "8203:19:36", + "nativeSrc": "8203:19:34", "nodeType": "YulFunctionCall", - "src": "8203:19:36" + "src": "8203:19:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "8171:17:36", + "nativeSrc": "8171:17:34", "nodeType": "YulIdentifier", - "src": "8171:17:36" + "src": "8171:17:34" }, - "nativeSrc": "8171:52:36", + "nativeSrc": "8171:52:34", "nodeType": "YulFunctionCall", - "src": "8171:52:36" + "src": "8171:52:34" }, "variables": [ { "name": "tail_1", - "nativeSrc": "8161:6:36", + "nativeSrc": "8161:6:34", "nodeType": "YulTypedName", - "src": "8161:6:36", + "src": "8161:6:34", "type": "" } ] }, { - "nativeSrc": "8232:44:36", + "nativeSrc": "8232:44:34", "nodeType": "YulVariableDeclaration", - "src": "8232:44:36", + "src": "8232:44:34", "value": { "arguments": [ { "arguments": [ { "name": "value0", - "nativeSrc": "8264:6:36", + "nativeSrc": "8264:6:34", "nodeType": "YulIdentifier", - "src": "8264:6:36" + "src": "8264:6:34" }, { "kind": "number", - "nativeSrc": "8272:2:36", + "nativeSrc": "8272:2:34", "nodeType": "YulLiteral", - "src": "8272:2:36", + "src": "8272:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "8260:3:36", + "nativeSrc": "8260:3:34", "nodeType": "YulIdentifier", - "src": "8260:3:36" + "src": "8260:3:34" }, - "nativeSrc": "8260:15:36", + "nativeSrc": "8260:15:34", "nodeType": "YulFunctionCall", - "src": "8260:15:36" + "src": "8260:15:34" } ], "functionName": { "name": "mload", - "nativeSrc": "8254:5:36", + "nativeSrc": "8254:5:34", "nodeType": "YulIdentifier", - "src": "8254:5:36" + "src": "8254:5:34" }, - "nativeSrc": "8254:22:36", + "nativeSrc": "8254:22:34", "nodeType": "YulFunctionCall", - "src": "8254:22:36" + "src": "8254:22:34" }, "variables": [ { "name": "memberValue0_1", - "nativeSrc": "8236:14:36", + "nativeSrc": "8236:14:34", "nodeType": "YulTypedName", - "src": "8236:14:36", + "src": "8236:14:34", "type": "" } ] @@ -92806,28 +91816,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8296:9:36", + "nativeSrc": "8296:9:34", "nodeType": "YulIdentifier", - "src": "8296:9:36" + "src": "8296:9:34" }, { "kind": "number", - "nativeSrc": "8307:2:36", + "nativeSrc": "8307:2:34", "nodeType": "YulLiteral", - "src": "8307:2:36", + "src": "8307:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "8292:3:36", + "nativeSrc": "8292:3:34", "nodeType": "YulIdentifier", - "src": "8292:3:36" + "src": "8292:3:34" }, - "nativeSrc": "8292:18:36", + "nativeSrc": "8292:18:34", "nodeType": "YulFunctionCall", - "src": "8292:18:36" + "src": "8292:18:34" }, { "arguments": [ @@ -92835,227 +91845,227 @@ "arguments": [ { "name": "tail_1", - "nativeSrc": "8320:6:36", + "nativeSrc": "8320:6:34", "nodeType": "YulIdentifier", - "src": "8320:6:36" + "src": "8320:6:34" }, { "name": "headStart", - "nativeSrc": "8328:9:36", + "nativeSrc": "8328:9:34", "nodeType": "YulIdentifier", - "src": "8328:9:36" + "src": "8328:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "8316:3:36", + "nativeSrc": "8316:3:34", "nodeType": "YulIdentifier", - "src": "8316:3:36" + "src": "8316:3:34" }, - "nativeSrc": "8316:22:36", + "nativeSrc": "8316:22:34", "nodeType": "YulFunctionCall", - "src": "8316:22:36" + "src": "8316:22:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "8344:2:36", + "nativeSrc": "8344:2:34", "nodeType": "YulLiteral", - "src": "8344:2:36", + "src": "8344:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "8340:3:36", + "nativeSrc": "8340:3:34", "nodeType": "YulIdentifier", - "src": "8340:3:36" + "src": "8340:3:34" }, - "nativeSrc": "8340:7:36", + "nativeSrc": "8340:7:34", "nodeType": "YulFunctionCall", - "src": "8340:7:36" + "src": "8340:7:34" } ], "functionName": { "name": "add", - "nativeSrc": "8312:3:36", + "nativeSrc": "8312:3:34", "nodeType": "YulIdentifier", - "src": "8312:3:36" + "src": "8312:3:34" }, - "nativeSrc": "8312:36:36", + "nativeSrc": "8312:36:34", "nodeType": "YulFunctionCall", - "src": "8312:36:36" + "src": "8312:36:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "8285:6:36", + "nativeSrc": "8285:6:34", "nodeType": "YulIdentifier", - "src": "8285:6:36" + "src": "8285:6:34" }, - "nativeSrc": "8285:64:36", + "nativeSrc": "8285:64:34", "nodeType": "YulFunctionCall", - "src": "8285:64:36" + "src": "8285:64:34" }, - "nativeSrc": "8285:64:36", + "nativeSrc": "8285:64:34", "nodeType": "YulExpressionStatement", - "src": "8285:64:36" + "src": "8285:64:34" }, { - "nativeSrc": "8358:55:36", + "nativeSrc": "8358:55:34", "nodeType": "YulVariableDeclaration", - "src": "8358:55:36", + "src": "8358:55:34", "value": { "arguments": [ { "name": "memberValue0_1", - "nativeSrc": "8390:14:36", + "nativeSrc": "8390:14:34", "nodeType": "YulIdentifier", - "src": "8390:14:36" + "src": "8390:14:34" }, { "name": "tail_1", - "nativeSrc": "8406:6:36", + "nativeSrc": "8406:6:34", "nodeType": "YulIdentifier", - "src": "8406:6:36" + "src": "8406:6:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "8372:17:36", + "nativeSrc": "8372:17:34", "nodeType": "YulIdentifier", - "src": "8372:17:36" + "src": "8372:17:34" }, - "nativeSrc": "8372:41:36", + "nativeSrc": "8372:41:34", "nodeType": "YulFunctionCall", - "src": "8372:41:36" + "src": "8372:41:34" }, "variables": [ { "name": "tail_2", - "nativeSrc": "8362:6:36", + "nativeSrc": "8362:6:34", "nodeType": "YulTypedName", - "src": "8362:6:36", + "src": "8362:6:34", "type": "" } ] }, { - "nativeSrc": "8422:44:36", + "nativeSrc": "8422:44:34", "nodeType": "YulVariableDeclaration", - "src": "8422:44:36", + "src": "8422:44:34", "value": { "arguments": [ { "arguments": [ { "name": "value0", - "nativeSrc": "8454:6:36", + "nativeSrc": "8454:6:34", "nodeType": "YulIdentifier", - "src": "8454:6:36" + "src": "8454:6:34" }, { "kind": "number", - "nativeSrc": "8462:2:36", + "nativeSrc": "8462:2:34", "nodeType": "YulLiteral", - "src": "8462:2:36", + "src": "8462:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "8450:3:36", + "nativeSrc": "8450:3:34", "nodeType": "YulIdentifier", - "src": "8450:3:36" + "src": "8450:3:34" }, - "nativeSrc": "8450:15:36", + "nativeSrc": "8450:15:34", "nodeType": "YulFunctionCall", - "src": "8450:15:36" + "src": "8450:15:34" } ], "functionName": { "name": "mload", - "nativeSrc": "8444:5:36", + "nativeSrc": "8444:5:34", "nodeType": "YulIdentifier", - "src": "8444:5:36" + "src": "8444:5:34" }, - "nativeSrc": "8444:22:36", + "nativeSrc": "8444:22:34", "nodeType": "YulFunctionCall", - "src": "8444:22:36" + "src": "8444:22:34" }, "variables": [ { "name": "memberValue0_2", - "nativeSrc": "8426:14:36", + "nativeSrc": "8426:14:34", "nodeType": "YulTypedName", - "src": "8426:14:36", + "src": "8426:14:34", "type": "" } ] }, { - "nativeSrc": "8475:29:36", + "nativeSrc": "8475:29:34", "nodeType": "YulVariableDeclaration", - "src": "8475:29:36", + "src": "8475:29:34", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "8493:3:36", + "nativeSrc": "8493:3:34", "nodeType": "YulLiteral", - "src": "8493:3:36", + "src": "8493:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "8498:1:36", + "nativeSrc": "8498:1:34", "nodeType": "YulLiteral", - "src": "8498:1:36", + "src": "8498:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "8489:3:36", + "nativeSrc": "8489:3:34", "nodeType": "YulIdentifier", - "src": "8489:3:36" + "src": "8489:3:34" }, - "nativeSrc": "8489:11:36", + "nativeSrc": "8489:11:34", "nodeType": "YulFunctionCall", - "src": "8489:11:36" + "src": "8489:11:34" }, { "kind": "number", - "nativeSrc": "8502:1:36", + "nativeSrc": "8502:1:34", "nodeType": "YulLiteral", - "src": "8502:1:36", + "src": "8502:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "8485:3:36", + "nativeSrc": "8485:3:34", "nodeType": "YulIdentifier", - "src": "8485:3:36" + "src": "8485:3:34" }, - "nativeSrc": "8485:19:36", + "nativeSrc": "8485:19:34", "nodeType": "YulFunctionCall", - "src": "8485:19:36" + "src": "8485:19:34" }, "variables": [ { "name": "_1", - "nativeSrc": "8479:2:36", + "nativeSrc": "8479:2:34", "nodeType": "YulTypedName", - "src": "8479:2:36", + "src": "8479:2:34", "type": "" } ] @@ -93067,68 +92077,68 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8524:9:36", + "nativeSrc": "8524:9:34", "nodeType": "YulIdentifier", - "src": "8524:9:36" + "src": "8524:9:34" }, { "kind": "number", - "nativeSrc": "8535:2:36", + "nativeSrc": "8535:2:34", "nodeType": "YulLiteral", - "src": "8535:2:36", + "src": "8535:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "8520:3:36", + "nativeSrc": "8520:3:34", "nodeType": "YulIdentifier", - "src": "8520:3:36" + "src": "8520:3:34" }, - "nativeSrc": "8520:18:36", + "nativeSrc": "8520:18:34", "nodeType": "YulFunctionCall", - "src": "8520:18:36" + "src": "8520:18:34" }, { "arguments": [ { "name": "memberValue0_2", - "nativeSrc": "8544:14:36", + "nativeSrc": "8544:14:34", "nodeType": "YulIdentifier", - "src": "8544:14:36" + "src": "8544:14:34" }, { "name": "_1", - "nativeSrc": "8560:2:36", + "nativeSrc": "8560:2:34", "nodeType": "YulIdentifier", - "src": "8560:2:36" + "src": "8560:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "8540:3:36", + "nativeSrc": "8540:3:34", "nodeType": "YulIdentifier", - "src": "8540:3:36" + "src": "8540:3:34" }, - "nativeSrc": "8540:23:36", + "nativeSrc": "8540:23:34", "nodeType": "YulFunctionCall", - "src": "8540:23:36" + "src": "8540:23:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "8513:6:36", + "nativeSrc": "8513:6:34", "nodeType": "YulIdentifier", - "src": "8513:6:36" + "src": "8513:6:34" }, - "nativeSrc": "8513:51:36", + "nativeSrc": "8513:51:34", "nodeType": "YulFunctionCall", - "src": "8513:51:36" + "src": "8513:51:34" }, - "nativeSrc": "8513:51:36", + "nativeSrc": "8513:51:34", "nodeType": "YulExpressionStatement", - "src": "8513:51:36" + "src": "8513:51:34" }, { "expression": { @@ -93137,28 +92147,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8584:9:36", + "nativeSrc": "8584:9:34", "nodeType": "YulIdentifier", - "src": "8584:9:36" + "src": "8584:9:34" }, { "kind": "number", - "nativeSrc": "8595:3:36", + "nativeSrc": "8595:3:34", "nodeType": "YulLiteral", - "src": "8595:3:36", + "src": "8595:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "8580:3:36", + "nativeSrc": "8580:3:34", "nodeType": "YulIdentifier", - "src": "8580:3:36" + "src": "8580:3:34" }, - "nativeSrc": "8580:19:36", + "nativeSrc": "8580:19:34", "nodeType": "YulFunctionCall", - "src": "8580:19:36" + "src": "8580:19:34" }, { "arguments": [ @@ -93168,71 +92178,71 @@ "arguments": [ { "name": "value0", - "nativeSrc": "8615:6:36", + "nativeSrc": "8615:6:34", "nodeType": "YulIdentifier", - "src": "8615:6:36" + "src": "8615:6:34" }, { "kind": "number", - "nativeSrc": "8623:2:36", + "nativeSrc": "8623:2:34", "nodeType": "YulLiteral", - "src": "8623:2:36", + "src": "8623:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "8611:3:36", + "nativeSrc": "8611:3:34", "nodeType": "YulIdentifier", - "src": "8611:3:36" + "src": "8611:3:34" }, - "nativeSrc": "8611:15:36", + "nativeSrc": "8611:15:34", "nodeType": "YulFunctionCall", - "src": "8611:15:36" + "src": "8611:15:34" } ], "functionName": { "name": "mload", - "nativeSrc": "8605:5:36", + "nativeSrc": "8605:5:34", "nodeType": "YulIdentifier", - "src": "8605:5:36" + "src": "8605:5:34" }, - "nativeSrc": "8605:22:36", + "nativeSrc": "8605:22:34", "nodeType": "YulFunctionCall", - "src": "8605:22:36" + "src": "8605:22:34" }, { "name": "_1", - "nativeSrc": "8629:2:36", + "nativeSrc": "8629:2:34", "nodeType": "YulIdentifier", - "src": "8629:2:36" + "src": "8629:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "8601:3:36", + "nativeSrc": "8601:3:34", "nodeType": "YulIdentifier", - "src": "8601:3:36" + "src": "8601:3:34" }, - "nativeSrc": "8601:31:36", + "nativeSrc": "8601:31:34", "nodeType": "YulFunctionCall", - "src": "8601:31:36" + "src": "8601:31:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "8573:6:36", + "nativeSrc": "8573:6:34", "nodeType": "YulIdentifier", - "src": "8573:6:36" + "src": "8573:6:34" }, - "nativeSrc": "8573:60:36", + "nativeSrc": "8573:60:34", "nodeType": "YulFunctionCall", - "src": "8573:60:36" + "src": "8573:60:34" }, - "nativeSrc": "8573:60:36", + "nativeSrc": "8573:60:34", "nodeType": "YulExpressionStatement", - "src": "8573:60:36" + "src": "8573:60:34" }, { "expression": { @@ -93241,28 +92251,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8653:9:36", + "nativeSrc": "8653:9:34", "nodeType": "YulIdentifier", - "src": "8653:9:36" + "src": "8653:9:34" }, { "kind": "number", - "nativeSrc": "8664:3:36", + "nativeSrc": "8664:3:34", "nodeType": "YulLiteral", - "src": "8664:3:36", + "src": "8664:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "8649:3:36", + "nativeSrc": "8649:3:34", "nodeType": "YulIdentifier", - "src": "8649:3:36" + "src": "8649:3:34" }, - "nativeSrc": "8649:19:36", + "nativeSrc": "8649:19:34", "nodeType": "YulFunctionCall", - "src": "8649:19:36" + "src": "8649:19:34" }, { "arguments": [ @@ -93270,54 +92280,54 @@ "arguments": [ { "name": "value0", - "nativeSrc": "8680:6:36", + "nativeSrc": "8680:6:34", "nodeType": "YulIdentifier", - "src": "8680:6:36" + "src": "8680:6:34" }, { "kind": "number", - "nativeSrc": "8688:3:36", + "nativeSrc": "8688:3:34", "nodeType": "YulLiteral", - "src": "8688:3:36", + "src": "8688:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "8676:3:36", + "nativeSrc": "8676:3:34", "nodeType": "YulIdentifier", - "src": "8676:3:36" + "src": "8676:3:34" }, - "nativeSrc": "8676:16:36", + "nativeSrc": "8676:16:34", "nodeType": "YulFunctionCall", - "src": "8676:16:36" + "src": "8676:16:34" } ], "functionName": { "name": "mload", - "nativeSrc": "8670:5:36", + "nativeSrc": "8670:5:34", "nodeType": "YulIdentifier", - "src": "8670:5:36" + "src": "8670:5:34" }, - "nativeSrc": "8670:23:36", + "nativeSrc": "8670:23:34", "nodeType": "YulFunctionCall", - "src": "8670:23:36" + "src": "8670:23:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "8642:6:36", + "nativeSrc": "8642:6:34", "nodeType": "YulIdentifier", - "src": "8642:6:36" + "src": "8642:6:34" }, - "nativeSrc": "8642:52:36", + "nativeSrc": "8642:52:34", "nodeType": "YulFunctionCall", - "src": "8642:52:36" + "src": "8642:52:34" }, - "nativeSrc": "8642:52:36", + "nativeSrc": "8642:52:34", "nodeType": "YulExpressionStatement", - "src": "8642:52:36" + "src": "8642:52:34" }, { "expression": { @@ -93326,28 +92336,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8714:9:36", + "nativeSrc": "8714:9:34", "nodeType": "YulIdentifier", - "src": "8714:9:36" + "src": "8714:9:34" }, { "kind": "number", - "nativeSrc": "8725:4:36", + "nativeSrc": "8725:4:34", "nodeType": "YulLiteral", - "src": "8725:4:36", + "src": "8725:4:34", "type": "", "value": "0xc0" } ], "functionName": { "name": "add", - "nativeSrc": "8710:3:36", + "nativeSrc": "8710:3:34", "nodeType": "YulIdentifier", - "src": "8710:3:36" + "src": "8710:3:34" }, - "nativeSrc": "8710:20:36", + "nativeSrc": "8710:20:34", "nodeType": "YulFunctionCall", - "src": "8710:20:36" + "src": "8710:20:34" }, { "arguments": [ @@ -93355,280 +92365,280 @@ "arguments": [ { "name": "value0", - "nativeSrc": "8742:6:36", + "nativeSrc": "8742:6:34", "nodeType": "YulIdentifier", - "src": "8742:6:36" + "src": "8742:6:34" }, { "kind": "number", - "nativeSrc": "8750:3:36", + "nativeSrc": "8750:3:34", "nodeType": "YulLiteral", - "src": "8750:3:36", + "src": "8750:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "8738:3:36", + "nativeSrc": "8738:3:34", "nodeType": "YulIdentifier", - "src": "8738:3:36" + "src": "8738:3:34" }, - "nativeSrc": "8738:16:36", + "nativeSrc": "8738:16:34", "nodeType": "YulFunctionCall", - "src": "8738:16:36" + "src": "8738:16:34" } ], "functionName": { "name": "mload", - "nativeSrc": "8732:5:36", + "nativeSrc": "8732:5:34", "nodeType": "YulIdentifier", - "src": "8732:5:36" + "src": "8732:5:34" }, - "nativeSrc": "8732:23:36", + "nativeSrc": "8732:23:34", "nodeType": "YulFunctionCall", - "src": "8732:23:36" + "src": "8732:23:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "8703:6:36", + "nativeSrc": "8703:6:34", "nodeType": "YulIdentifier", - "src": "8703:6:36" + "src": "8703:6:34" }, - "nativeSrc": "8703:53:36", + "nativeSrc": "8703:53:34", "nodeType": "YulFunctionCall", - "src": "8703:53:36" + "src": "8703:53:34" }, - "nativeSrc": "8703:53:36", + "nativeSrc": "8703:53:34", "nodeType": "YulExpressionStatement", - "src": "8703:53:36" + "src": "8703:53:34" }, { - "nativeSrc": "8765:14:36", + "nativeSrc": "8765:14:34", "nodeType": "YulAssignment", - "src": "8765:14:36", + "src": "8765:14:34", "value": { "name": "tail_2", - "nativeSrc": "8773:6:36", + "nativeSrc": "8773:6:34", "nodeType": "YulIdentifier", - "src": "8773:6:36" + "src": "8773:6:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "8765:4:36", + "nativeSrc": "8765:4:34", "nodeType": "YulIdentifier", - "src": "8765:4:36" + "src": "8765:4:34" } ] } ] }, - "name": "abi_encode_tuple_t_struct$_AgentData_$3132_memory_ptr__to_t_struct$_AgentData_$3132_memory_ptr__fromStack_reversed", - "nativeSrc": "7879:906:36", + "name": "abi_encode_tuple_t_struct$_AgentData_$3133_memory_ptr__to_t_struct$_AgentData_$3133_memory_ptr__fromStack_reversed", + "nativeSrc": "7879:906:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "8003:9:36", + "nativeSrc": "8003:9:34", "nodeType": "YulTypedName", - "src": "8003:9:36", + "src": "8003:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "8014:6:36", + "nativeSrc": "8014:6:34", "nodeType": "YulTypedName", - "src": "8014:6:36", + "src": "8014:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "8025:4:36", + "nativeSrc": "8025:4:34", "nodeType": "YulTypedName", - "src": "8025:4:36", + "src": "8025:4:34", "type": "" } ], - "src": "7879:906:36" + "src": "7879:906:34" }, { "body": { - "nativeSrc": "8911:99:36", + "nativeSrc": "8911:99:34", "nodeType": "YulBlock", - "src": "8911:99:36", + "src": "8911:99:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "8928:9:36", + "nativeSrc": "8928:9:34", "nodeType": "YulIdentifier", - "src": "8928:9:36" + "src": "8928:9:34" }, { "kind": "number", - "nativeSrc": "8939:2:36", + "nativeSrc": "8939:2:34", "nodeType": "YulLiteral", - "src": "8939:2:36", + "src": "8939:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "8921:6:36", + "nativeSrc": "8921:6:34", "nodeType": "YulIdentifier", - "src": "8921:6:36" + "src": "8921:6:34" }, - "nativeSrc": "8921:21:36", + "nativeSrc": "8921:21:34", "nodeType": "YulFunctionCall", - "src": "8921:21:36" + "src": "8921:21:34" }, - "nativeSrc": "8921:21:36", + "nativeSrc": "8921:21:34", "nodeType": "YulExpressionStatement", - "src": "8921:21:36" + "src": "8921:21:34" }, { - "nativeSrc": "8951:53:36", + "nativeSrc": "8951:53:34", "nodeType": "YulAssignment", - "src": "8951:53:36", + "src": "8951:53:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "8977:6:36", + "nativeSrc": "8977:6:34", "nodeType": "YulIdentifier", - "src": "8977:6:36" + "src": "8977:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "8989:9:36", + "nativeSrc": "8989:9:34", "nodeType": "YulIdentifier", - "src": "8989:9:36" + "src": "8989:9:34" }, { "kind": "number", - "nativeSrc": "9000:2:36", + "nativeSrc": "9000:2:34", "nodeType": "YulLiteral", - "src": "9000:2:36", + "src": "9000:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "8985:3:36", + "nativeSrc": "8985:3:34", "nodeType": "YulIdentifier", - "src": "8985:3:36" + "src": "8985:3:34" }, - "nativeSrc": "8985:18:36", + "nativeSrc": "8985:18:34", "nodeType": "YulFunctionCall", - "src": "8985:18:36" + "src": "8985:18:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "8959:17:36", + "nativeSrc": "8959:17:34", "nodeType": "YulIdentifier", - "src": "8959:17:36" + "src": "8959:17:34" }, - "nativeSrc": "8959:45:36", + "nativeSrc": "8959:45:34", "nodeType": "YulFunctionCall", - "src": "8959:45:36" + "src": "8959:45:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "8951:4:36", + "nativeSrc": "8951:4:34", "nodeType": "YulIdentifier", - "src": "8951:4:36" + "src": "8951:4:34" } ] } ] }, "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "8790:220:36", + "nativeSrc": "8790:220:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "8880:9:36", + "nativeSrc": "8880:9:34", "nodeType": "YulTypedName", - "src": "8880:9:36", + "src": "8880:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "8891:6:36", + "nativeSrc": "8891:6:34", "nodeType": "YulTypedName", - "src": "8891:6:36", + "src": "8891:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "8902:4:36", + "nativeSrc": "8902:4:34", "nodeType": "YulTypedName", - "src": "8902:4:36", + "src": "8902:4:34", "type": "" } ], - "src": "8790:220:36" + "src": "8790:220:34" }, { "body": { - "nativeSrc": "9146:536:36", + "nativeSrc": "9146:536:34", "nodeType": "YulBlock", - "src": "9146:536:36", + "src": "9146:536:34", "statements": [ { "body": { - "nativeSrc": "9193:16:36", + "nativeSrc": "9193:16:34", "nodeType": "YulBlock", - "src": "9193:16:36", + "src": "9193:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "9202:1:36", + "nativeSrc": "9202:1:34", "nodeType": "YulLiteral", - "src": "9202:1:36", + "src": "9202:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "9205:1:36", + "nativeSrc": "9205:1:34", "nodeType": "YulLiteral", - "src": "9205:1:36", + "src": "9205:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "9195:6:36", + "nativeSrc": "9195:6:34", "nodeType": "YulIdentifier", - "src": "9195:6:36" + "src": "9195:6:34" }, - "nativeSrc": "9195:12:36", + "nativeSrc": "9195:12:34", "nodeType": "YulFunctionCall", - "src": "9195:12:36" + "src": "9195:12:34" }, - "nativeSrc": "9195:12:36", + "nativeSrc": "9195:12:34", "nodeType": "YulExpressionStatement", - "src": "9195:12:36" + "src": "9195:12:34" } ] }, @@ -93638,79 +92648,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "9167:7:36", + "nativeSrc": "9167:7:34", "nodeType": "YulIdentifier", - "src": "9167:7:36" + "src": "9167:7:34" }, { "name": "headStart", - "nativeSrc": "9176:9:36", + "nativeSrc": "9176:9:34", "nodeType": "YulIdentifier", - "src": "9176:9:36" + "src": "9176:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "9163:3:36", + "nativeSrc": "9163:3:34", "nodeType": "YulIdentifier", - "src": "9163:3:36" + "src": "9163:3:34" }, - "nativeSrc": "9163:23:36", + "nativeSrc": "9163:23:34", "nodeType": "YulFunctionCall", - "src": "9163:23:36" + "src": "9163:23:34" }, { "kind": "number", - "nativeSrc": "9188:3:36", + "nativeSrc": "9188:3:34", "nodeType": "YulLiteral", - "src": "9188:3:36", + "src": "9188:3:34", "type": "", "value": "128" } ], "functionName": { "name": "slt", - "nativeSrc": "9159:3:36", + "nativeSrc": "9159:3:34", "nodeType": "YulIdentifier", - "src": "9159:3:36" + "src": "9159:3:34" }, - "nativeSrc": "9159:33:36", + "nativeSrc": "9159:33:34", "nodeType": "YulFunctionCall", - "src": "9159:33:36" + "src": "9159:33:34" }, - "nativeSrc": "9156:53:36", + "nativeSrc": "9156:53:34", "nodeType": "YulIf", - "src": "9156:53:36" + "src": "9156:53:34" }, { - "nativeSrc": "9218:36:36", + "nativeSrc": "9218:36:34", "nodeType": "YulVariableDeclaration", - "src": "9218:36:36", + "src": "9218:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "9244:9:36", + "nativeSrc": "9244:9:34", "nodeType": "YulIdentifier", - "src": "9244:9:36" + "src": "9244:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "9231:12:36", + "nativeSrc": "9231:12:34", "nodeType": "YulIdentifier", - "src": "9231:12:36" + "src": "9231:12:34" }, - "nativeSrc": "9231:23:36", + "nativeSrc": "9231:23:34", "nodeType": "YulFunctionCall", - "src": "9231:23:36" + "src": "9231:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "9222:5:36", + "nativeSrc": "9222:5:34", "nodeType": "YulTypedName", - "src": "9222:5:36", + "src": "9222:5:34", "type": "" } ] @@ -93720,137 +92730,137 @@ "arguments": [ { "name": "value", - "nativeSrc": "9288:5:36", + "nativeSrc": "9288:5:34", "nodeType": "YulIdentifier", - "src": "9288:5:36" + "src": "9288:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "9263:24:36", + "nativeSrc": "9263:24:34", "nodeType": "YulIdentifier", - "src": "9263:24:36" + "src": "9263:24:34" }, - "nativeSrc": "9263:31:36", + "nativeSrc": "9263:31:34", "nodeType": "YulFunctionCall", - "src": "9263:31:36" + "src": "9263:31:34" }, - "nativeSrc": "9263:31:36", + "nativeSrc": "9263:31:34", "nodeType": "YulExpressionStatement", - "src": "9263:31:36" + "src": "9263:31:34" }, { - "nativeSrc": "9303:15:36", + "nativeSrc": "9303:15:34", "nodeType": "YulAssignment", - "src": "9303:15:36", + "src": "9303:15:34", "value": { "name": "value", - "nativeSrc": "9313:5:36", + "nativeSrc": "9313:5:34", "nodeType": "YulIdentifier", - "src": "9313:5:36" + "src": "9313:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "9303:6:36", + "nativeSrc": "9303:6:34", "nodeType": "YulIdentifier", - "src": "9303:6:36" + "src": "9303:6:34" } ] }, { - "nativeSrc": "9327:46:36", + "nativeSrc": "9327:46:34", "nodeType": "YulVariableDeclaration", - "src": "9327:46:36", + "src": "9327:46:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "9358:9:36", + "nativeSrc": "9358:9:34", "nodeType": "YulIdentifier", - "src": "9358:9:36" + "src": "9358:9:34" }, { "kind": "number", - "nativeSrc": "9369:2:36", + "nativeSrc": "9369:2:34", "nodeType": "YulLiteral", - "src": "9369:2:36", + "src": "9369:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "9354:3:36", + "nativeSrc": "9354:3:34", "nodeType": "YulIdentifier", - "src": "9354:3:36" + "src": "9354:3:34" }, - "nativeSrc": "9354:18:36", + "nativeSrc": "9354:18:34", "nodeType": "YulFunctionCall", - "src": "9354:18:36" + "src": "9354:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "9341:12:36", + "nativeSrc": "9341:12:34", "nodeType": "YulIdentifier", - "src": "9341:12:36" + "src": "9341:12:34" }, - "nativeSrc": "9341:32:36", + "nativeSrc": "9341:32:34", "nodeType": "YulFunctionCall", - "src": "9341:32:36" + "src": "9341:32:34" }, "variables": [ { "name": "offset", - "nativeSrc": "9331:6:36", + "nativeSrc": "9331:6:34", "nodeType": "YulTypedName", - "src": "9331:6:36", + "src": "9331:6:34", "type": "" } ] }, { "body": { - "nativeSrc": "9416:16:36", + "nativeSrc": "9416:16:34", "nodeType": "YulBlock", - "src": "9416:16:36", + "src": "9416:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "9425:1:36", + "nativeSrc": "9425:1:34", "nodeType": "YulLiteral", - "src": "9425:1:36", + "src": "9425:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "9428:1:36", + "nativeSrc": "9428:1:34", "nodeType": "YulLiteral", - "src": "9428:1:36", + "src": "9428:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "9418:6:36", + "nativeSrc": "9418:6:34", "nodeType": "YulIdentifier", - "src": "9418:6:36" + "src": "9418:6:34" }, - "nativeSrc": "9418:12:36", + "nativeSrc": "9418:12:34", "nodeType": "YulFunctionCall", - "src": "9418:12:36" + "src": "9418:12:34" }, - "nativeSrc": "9418:12:36", + "nativeSrc": "9418:12:34", "nodeType": "YulExpressionStatement", - "src": "9418:12:36" + "src": "9418:12:34" } ] }, @@ -93858,193 +92868,193 @@ "arguments": [ { "name": "offset", - "nativeSrc": "9388:6:36", + "nativeSrc": "9388:6:34", "nodeType": "YulIdentifier", - "src": "9388:6:36" + "src": "9388:6:34" }, { "kind": "number", - "nativeSrc": "9396:18:36", + "nativeSrc": "9396:18:34", "nodeType": "YulLiteral", - "src": "9396:18:36", + "src": "9396:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "9385:2:36", + "nativeSrc": "9385:2:34", "nodeType": "YulIdentifier", - "src": "9385:2:36" + "src": "9385:2:34" }, - "nativeSrc": "9385:30:36", + "nativeSrc": "9385:30:34", "nodeType": "YulFunctionCall", - "src": "9385:30:36" + "src": "9385:30:34" }, - "nativeSrc": "9382:50:36", + "nativeSrc": "9382:50:34", "nodeType": "YulIf", - "src": "9382:50:36" + "src": "9382:50:34" }, { - "nativeSrc": "9441:60:36", + "nativeSrc": "9441:60:34", "nodeType": "YulAssignment", - "src": "9441:60:36", + "src": "9441:60:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "9473:9:36", + "nativeSrc": "9473:9:34", "nodeType": "YulIdentifier", - "src": "9473:9:36" + "src": "9473:9:34" }, { "name": "offset", - "nativeSrc": "9484:6:36", + "nativeSrc": "9484:6:34", "nodeType": "YulIdentifier", - "src": "9484:6:36" + "src": "9484:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "9469:3:36", + "nativeSrc": "9469:3:34", "nodeType": "YulIdentifier", - "src": "9469:3:36" + "src": "9469:3:34" }, - "nativeSrc": "9469:22:36", + "nativeSrc": "9469:22:34", "nodeType": "YulFunctionCall", - "src": "9469:22:36" + "src": "9469:22:34" }, { "name": "dataEnd", - "nativeSrc": "9493:7:36", + "nativeSrc": "9493:7:34", "nodeType": "YulIdentifier", - "src": "9493:7:36" + "src": "9493:7:34" } ], "functionName": { "name": "abi_decode_string", - "nativeSrc": "9451:17:36", + "nativeSrc": "9451:17:34", "nodeType": "YulIdentifier", - "src": "9451:17:36" + "src": "9451:17:34" }, - "nativeSrc": "9451:50:36", + "nativeSrc": "9451:50:34", "nodeType": "YulFunctionCall", - "src": "9451:50:36" + "src": "9451:50:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "9441:6:36", + "nativeSrc": "9441:6:34", "nodeType": "YulIdentifier", - "src": "9441:6:36" + "src": "9441:6:34" } ] }, { - "nativeSrc": "9510:42:36", + "nativeSrc": "9510:42:34", "nodeType": "YulAssignment", - "src": "9510:42:36", + "src": "9510:42:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "9537:9:36", + "nativeSrc": "9537:9:34", "nodeType": "YulIdentifier", - "src": "9537:9:36" + "src": "9537:9:34" }, { "kind": "number", - "nativeSrc": "9548:2:36", + "nativeSrc": "9548:2:34", "nodeType": "YulLiteral", - "src": "9548:2:36", + "src": "9548:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "9533:3:36", + "nativeSrc": "9533:3:34", "nodeType": "YulIdentifier", - "src": "9533:3:36" + "src": "9533:3:34" }, - "nativeSrc": "9533:18:36", + "nativeSrc": "9533:18:34", "nodeType": "YulFunctionCall", - "src": "9533:18:36" + "src": "9533:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "9520:12:36", + "nativeSrc": "9520:12:34", "nodeType": "YulIdentifier", - "src": "9520:12:36" + "src": "9520:12:34" }, - "nativeSrc": "9520:32:36", + "nativeSrc": "9520:32:34", "nodeType": "YulFunctionCall", - "src": "9520:32:36" + "src": "9520:32:34" }, "variableNames": [ { "name": "value2", - "nativeSrc": "9510:6:36", + "nativeSrc": "9510:6:34", "nodeType": "YulIdentifier", - "src": "9510:6:36" + "src": "9510:6:34" } ] }, { - "nativeSrc": "9561:47:36", + "nativeSrc": "9561:47:34", "nodeType": "YulVariableDeclaration", - "src": "9561:47:36", + "src": "9561:47:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "9593:9:36", + "nativeSrc": "9593:9:34", "nodeType": "YulIdentifier", - "src": "9593:9:36" + "src": "9593:9:34" }, { "kind": "number", - "nativeSrc": "9604:2:36", + "nativeSrc": "9604:2:34", "nodeType": "YulLiteral", - "src": "9604:2:36", + "src": "9604:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "9589:3:36", + "nativeSrc": "9589:3:34", "nodeType": "YulIdentifier", - "src": "9589:3:36" + "src": "9589:3:34" }, - "nativeSrc": "9589:18:36", + "nativeSrc": "9589:18:34", "nodeType": "YulFunctionCall", - "src": "9589:18:36" + "src": "9589:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "9576:12:36", + "nativeSrc": "9576:12:34", "nodeType": "YulIdentifier", - "src": "9576:12:36" + "src": "9576:12:34" }, - "nativeSrc": "9576:32:36", + "nativeSrc": "9576:32:34", "nodeType": "YulFunctionCall", - "src": "9576:32:36" + "src": "9576:32:34" }, "variables": [ { "name": "value_1", - "nativeSrc": "9565:7:36", + "nativeSrc": "9565:7:34", "nodeType": "YulTypedName", - "src": "9565:7:36", + "src": "9565:7:34", "type": "" } ] @@ -94054,195 +93064,195 @@ "arguments": [ { "name": "value_1", - "nativeSrc": "9642:7:36", + "nativeSrc": "9642:7:34", "nodeType": "YulIdentifier", - "src": "9642:7:36" + "src": "9642:7:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "9617:24:36", + "nativeSrc": "9617:24:34", "nodeType": "YulIdentifier", - "src": "9617:24:36" + "src": "9617:24:34" }, - "nativeSrc": "9617:33:36", + "nativeSrc": "9617:33:34", "nodeType": "YulFunctionCall", - "src": "9617:33:36" + "src": "9617:33:34" }, - "nativeSrc": "9617:33:36", + "nativeSrc": "9617:33:34", "nodeType": "YulExpressionStatement", - "src": "9617:33:36" + "src": "9617:33:34" }, { - "nativeSrc": "9659:17:36", + "nativeSrc": "9659:17:34", "nodeType": "YulAssignment", - "src": "9659:17:36", + "src": "9659:17:34", "value": { "name": "value_1", - "nativeSrc": "9669:7:36", + "nativeSrc": "9669:7:34", "nodeType": "YulIdentifier", - "src": "9669:7:36" + "src": "9669:7:34" }, "variableNames": [ { "name": "value3", - "nativeSrc": "9659:6:36", + "nativeSrc": "9659:6:34", "nodeType": "YulIdentifier", - "src": "9659:6:36" + "src": "9659:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_string_memory_ptrt_uint256t_address", - "nativeSrc": "9015:667:36", + "nativeSrc": "9015:667:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "9088:9:36", + "nativeSrc": "9088:9:34", "nodeType": "YulTypedName", - "src": "9088:9:36", + "src": "9088:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "9099:7:36", + "nativeSrc": "9099:7:34", "nodeType": "YulTypedName", - "src": "9099:7:36", + "src": "9099:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "9111:6:36", + "nativeSrc": "9111:6:34", "nodeType": "YulTypedName", - "src": "9111:6:36", + "src": "9111:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "9119:6:36", + "nativeSrc": "9119:6:34", "nodeType": "YulTypedName", - "src": "9119:6:36", + "src": "9119:6:34", "type": "" }, { "name": "value2", - "nativeSrc": "9127:6:36", + "nativeSrc": "9127:6:34", "nodeType": "YulTypedName", - "src": "9127:6:36", + "src": "9127:6:34", "type": "" }, { "name": "value3", - "nativeSrc": "9135:6:36", + "nativeSrc": "9135:6:34", "nodeType": "YulTypedName", - "src": "9135:6:36", + "src": "9135:6:34", "type": "" } ], - "src": "9015:667:36" + "src": "9015:667:34" }, { "body": { - "nativeSrc": "9854:591:36", + "nativeSrc": "9854:591:34", "nodeType": "YulBlock", - "src": "9854:591:36", + "src": "9854:591:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "9871:9:36", + "nativeSrc": "9871:9:34", "nodeType": "YulIdentifier", - "src": "9871:9:36" + "src": "9871:9:34" }, { "kind": "number", - "nativeSrc": "9882:2:36", + "nativeSrc": "9882:2:34", "nodeType": "YulLiteral", - "src": "9882:2:36", + "src": "9882:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "9864:6:36", + "nativeSrc": "9864:6:34", "nodeType": "YulIdentifier", - "src": "9864:6:36" + "src": "9864:6:34" }, - "nativeSrc": "9864:21:36", + "nativeSrc": "9864:21:34", "nodeType": "YulFunctionCall", - "src": "9864:21:36" + "src": "9864:21:34" }, - "nativeSrc": "9864:21:36", + "nativeSrc": "9864:21:34", "nodeType": "YulExpressionStatement", - "src": "9864:21:36" + "src": "9864:21:34" }, { - "nativeSrc": "9894:29:36", + "nativeSrc": "9894:29:34", "nodeType": "YulVariableDeclaration", - "src": "9894:29:36", + "src": "9894:29:34", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "9912:3:36", + "nativeSrc": "9912:3:34", "nodeType": "YulLiteral", - "src": "9912:3:36", + "src": "9912:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "9917:1:36", + "nativeSrc": "9917:1:34", "nodeType": "YulLiteral", - "src": "9917:1:36", + "src": "9917:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "9908:3:36", + "nativeSrc": "9908:3:34", "nodeType": "YulIdentifier", - "src": "9908:3:36" + "src": "9908:3:34" }, - "nativeSrc": "9908:11:36", + "nativeSrc": "9908:11:34", "nodeType": "YulFunctionCall", - "src": "9908:11:36" + "src": "9908:11:34" }, { "kind": "number", - "nativeSrc": "9921:1:36", + "nativeSrc": "9921:1:34", "nodeType": "YulLiteral", - "src": "9921:1:36", + "src": "9921:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "9904:3:36", + "nativeSrc": "9904:3:34", "nodeType": "YulIdentifier", - "src": "9904:3:36" + "src": "9904:3:34" }, - "nativeSrc": "9904:19:36", + "nativeSrc": "9904:19:34", "nodeType": "YulFunctionCall", - "src": "9904:19:36" + "src": "9904:19:34" }, "variables": [ { "name": "_1", - "nativeSrc": "9898:2:36", + "nativeSrc": "9898:2:34", "nodeType": "YulTypedName", - "src": "9898:2:36", + "src": "9898:2:34", "type": "" } ] @@ -94254,28 +93264,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "9943:9:36", + "nativeSrc": "9943:9:34", "nodeType": "YulIdentifier", - "src": "9943:9:36" + "src": "9943:9:34" }, { "kind": "number", - "nativeSrc": "9954:2:36", + "nativeSrc": "9954:2:34", "nodeType": "YulLiteral", - "src": "9954:2:36", + "src": "9954:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "9939:3:36", + "nativeSrc": "9939:3:34", "nodeType": "YulIdentifier", - "src": "9939:3:36" + "src": "9939:3:34" }, - "nativeSrc": "9939:18:36", + "nativeSrc": "9939:18:34", "nodeType": "YulFunctionCall", - "src": "9939:18:36" + "src": "9939:18:34" }, { "arguments": [ @@ -94283,103 +93293,103 @@ "arguments": [ { "name": "value0", - "nativeSrc": "9969:6:36", + "nativeSrc": "9969:6:34", "nodeType": "YulIdentifier", - "src": "9969:6:36" + "src": "9969:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "9963:5:36", + "nativeSrc": "9963:5:34", "nodeType": "YulIdentifier", - "src": "9963:5:36" + "src": "9963:5:34" }, - "nativeSrc": "9963:13:36", + "nativeSrc": "9963:13:34", "nodeType": "YulFunctionCall", - "src": "9963:13:36" + "src": "9963:13:34" }, { "name": "_1", - "nativeSrc": "9978:2:36", + "nativeSrc": "9978:2:34", "nodeType": "YulIdentifier", - "src": "9978:2:36" + "src": "9978:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "9959:3:36", + "nativeSrc": "9959:3:34", "nodeType": "YulIdentifier", - "src": "9959:3:36" + "src": "9959:3:34" }, - "nativeSrc": "9959:22:36", + "nativeSrc": "9959:22:34", "nodeType": "YulFunctionCall", - "src": "9959:22:36" + "src": "9959:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "9932:6:36", + "nativeSrc": "9932:6:34", "nodeType": "YulIdentifier", - "src": "9932:6:36" + "src": "9932:6:34" }, - "nativeSrc": "9932:50:36", + "nativeSrc": "9932:50:34", "nodeType": "YulFunctionCall", - "src": "9932:50:36" + "src": "9932:50:34" }, - "nativeSrc": "9932:50:36", + "nativeSrc": "9932:50:34", "nodeType": "YulExpressionStatement", - "src": "9932:50:36" + "src": "9932:50:34" }, { - "nativeSrc": "9991:42:36", + "nativeSrc": "9991:42:34", "nodeType": "YulVariableDeclaration", - "src": "9991:42:36", + "src": "9991:42:34", "value": { "arguments": [ { "arguments": [ { "name": "value0", - "nativeSrc": "10021:6:36", + "nativeSrc": "10021:6:34", "nodeType": "YulIdentifier", - "src": "10021:6:36" + "src": "10021:6:34" }, { "kind": "number", - "nativeSrc": "10029:2:36", + "nativeSrc": "10029:2:34", "nodeType": "YulLiteral", - "src": "10029:2:36", + "src": "10029:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "10017:3:36", + "nativeSrc": "10017:3:34", "nodeType": "YulIdentifier", - "src": "10017:3:36" + "src": "10017:3:34" }, - "nativeSrc": "10017:15:36", + "nativeSrc": "10017:15:34", "nodeType": "YulFunctionCall", - "src": "10017:15:36" + "src": "10017:15:34" } ], "functionName": { "name": "mload", - "nativeSrc": "10011:5:36", + "nativeSrc": "10011:5:34", "nodeType": "YulIdentifier", - "src": "10011:5:36" + "src": "10011:5:34" }, - "nativeSrc": "10011:22:36", + "nativeSrc": "10011:22:34", "nodeType": "YulFunctionCall", - "src": "10011:22:36" + "src": "10011:22:34" }, "variables": [ { "name": "memberValue0", - "nativeSrc": "9995:12:36", + "nativeSrc": "9995:12:34", "nodeType": "YulTypedName", - "src": "9995:12:36", + "src": "9995:12:34", "type": "" } ] @@ -94391,108 +93401,108 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "10053:9:36", + "nativeSrc": "10053:9:34", "nodeType": "YulIdentifier", - "src": "10053:9:36" + "src": "10053:9:34" }, { "kind": "number", - "nativeSrc": "10064:2:36", + "nativeSrc": "10064:2:34", "nodeType": "YulLiteral", - "src": "10064:2:36", + "src": "10064:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "10049:3:36", + "nativeSrc": "10049:3:34", "nodeType": "YulIdentifier", - "src": "10049:3:36" + "src": "10049:3:34" }, - "nativeSrc": "10049:18:36", + "nativeSrc": "10049:18:34", "nodeType": "YulFunctionCall", - "src": "10049:18:36" + "src": "10049:18:34" }, { "kind": "number", - "nativeSrc": "10069:4:36", + "nativeSrc": "10069:4:34", "nodeType": "YulLiteral", - "src": "10069:4:36", + "src": "10069:4:34", "type": "", "value": "0xc0" } ], "functionName": { "name": "mstore", - "nativeSrc": "10042:6:36", + "nativeSrc": "10042:6:34", "nodeType": "YulIdentifier", - "src": "10042:6:36" + "src": "10042:6:34" }, - "nativeSrc": "10042:32:36", + "nativeSrc": "10042:32:34", "nodeType": "YulFunctionCall", - "src": "10042:32:36" + "src": "10042:32:34" }, - "nativeSrc": "10042:32:36", + "nativeSrc": "10042:32:34", "nodeType": "YulExpressionStatement", - "src": "10042:32:36" + "src": "10042:32:34" }, { - "nativeSrc": "10083:66:36", + "nativeSrc": "10083:66:34", "nodeType": "YulVariableDeclaration", - "src": "10083:66:36", + "src": "10083:66:34", "value": { "arguments": [ { "name": "memberValue0", - "nativeSrc": "10115:12:36", + "nativeSrc": "10115:12:34", "nodeType": "YulIdentifier", - "src": "10115:12:36" + "src": "10115:12:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "10133:9:36", + "nativeSrc": "10133:9:34", "nodeType": "YulIdentifier", - "src": "10133:9:36" + "src": "10133:9:34" }, { "kind": "number", - "nativeSrc": "10144:3:36", + "nativeSrc": "10144:3:34", "nodeType": "YulLiteral", - "src": "10144:3:36", + "src": "10144:3:34", "type": "", "value": "224" } ], "functionName": { "name": "add", - "nativeSrc": "10129:3:36", + "nativeSrc": "10129:3:34", "nodeType": "YulIdentifier", - "src": "10129:3:36" + "src": "10129:3:34" }, - "nativeSrc": "10129:19:36", + "nativeSrc": "10129:19:34", "nodeType": "YulFunctionCall", - "src": "10129:19:36" + "src": "10129:19:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "10097:17:36", + "nativeSrc": "10097:17:34", "nodeType": "YulIdentifier", - "src": "10097:17:36" + "src": "10097:17:34" }, - "nativeSrc": "10097:52:36", + "nativeSrc": "10097:52:34", "nodeType": "YulFunctionCall", - "src": "10097:52:36" + "src": "10097:52:34" }, "variables": [ { "name": "tail_1", - "nativeSrc": "10087:6:36", + "nativeSrc": "10087:6:34", "nodeType": "YulTypedName", - "src": "10087:6:36", + "src": "10087:6:34", "type": "" } ] @@ -94504,28 +93514,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "10169:9:36", + "nativeSrc": "10169:9:34", "nodeType": "YulIdentifier", - "src": "10169:9:36" + "src": "10169:9:34" }, { "kind": "number", - "nativeSrc": "10180:2:36", + "nativeSrc": "10180:2:34", "nodeType": "YulLiteral", - "src": "10180:2:36", + "src": "10180:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "10165:3:36", + "nativeSrc": "10165:3:34", "nodeType": "YulIdentifier", - "src": "10165:3:36" + "src": "10165:3:34" }, - "nativeSrc": "10165:18:36", + "nativeSrc": "10165:18:34", "nodeType": "YulFunctionCall", - "src": "10165:18:36" + "src": "10165:18:34" }, { "arguments": [ @@ -94533,54 +93543,54 @@ "arguments": [ { "name": "value0", - "nativeSrc": "10195:6:36", + "nativeSrc": "10195:6:34", "nodeType": "YulIdentifier", - "src": "10195:6:36" + "src": "10195:6:34" }, { "kind": "number", - "nativeSrc": "10203:2:36", + "nativeSrc": "10203:2:34", "nodeType": "YulLiteral", - "src": "10203:2:36", + "src": "10203:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "10191:3:36", + "nativeSrc": "10191:3:34", "nodeType": "YulIdentifier", - "src": "10191:3:36" + "src": "10191:3:34" }, - "nativeSrc": "10191:15:36", + "nativeSrc": "10191:15:34", "nodeType": "YulFunctionCall", - "src": "10191:15:36" + "src": "10191:15:34" } ], "functionName": { "name": "mload", - "nativeSrc": "10185:5:36", + "nativeSrc": "10185:5:34", "nodeType": "YulIdentifier", - "src": "10185:5:36" + "src": "10185:5:34" }, - "nativeSrc": "10185:22:36", + "nativeSrc": "10185:22:34", "nodeType": "YulFunctionCall", - "src": "10185:22:36" + "src": "10185:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10158:6:36", + "nativeSrc": "10158:6:34", "nodeType": "YulIdentifier", - "src": "10158:6:36" + "src": "10158:6:34" }, - "nativeSrc": "10158:50:36", + "nativeSrc": "10158:50:34", "nodeType": "YulFunctionCall", - "src": "10158:50:36" + "src": "10158:50:34" }, - "nativeSrc": "10158:50:36", + "nativeSrc": "10158:50:34", "nodeType": "YulExpressionStatement", - "src": "10158:50:36" + "src": "10158:50:34" }, { "expression": { @@ -94589,28 +93599,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "10228:9:36", + "nativeSrc": "10228:9:34", "nodeType": "YulIdentifier", - "src": "10228:9:36" + "src": "10228:9:34" }, { "kind": "number", - "nativeSrc": "10239:3:36", + "nativeSrc": "10239:3:34", "nodeType": "YulLiteral", - "src": "10239:3:36", + "src": "10239:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "10224:3:36", + "nativeSrc": "10224:3:34", "nodeType": "YulIdentifier", - "src": "10224:3:36" + "src": "10224:3:34" }, - "nativeSrc": "10224:19:36", + "nativeSrc": "10224:19:34", "nodeType": "YulFunctionCall", - "src": "10224:19:36" + "src": "10224:19:34" }, { "arguments": [ @@ -94620,71 +93630,71 @@ "arguments": [ { "name": "value0", - "nativeSrc": "10259:6:36", + "nativeSrc": "10259:6:34", "nodeType": "YulIdentifier", - "src": "10259:6:36" + "src": "10259:6:34" }, { "kind": "number", - "nativeSrc": "10267:2:36", + "nativeSrc": "10267:2:34", "nodeType": "YulLiteral", - "src": "10267:2:36", + "src": "10267:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "10255:3:36", + "nativeSrc": "10255:3:34", "nodeType": "YulIdentifier", - "src": "10255:3:36" + "src": "10255:3:34" }, - "nativeSrc": "10255:15:36", + "nativeSrc": "10255:15:34", "nodeType": "YulFunctionCall", - "src": "10255:15:36" + "src": "10255:15:34" } ], "functionName": { "name": "mload", - "nativeSrc": "10249:5:36", + "nativeSrc": "10249:5:34", "nodeType": "YulIdentifier", - "src": "10249:5:36" + "src": "10249:5:34" }, - "nativeSrc": "10249:22:36", + "nativeSrc": "10249:22:34", "nodeType": "YulFunctionCall", - "src": "10249:22:36" + "src": "10249:22:34" }, { "name": "_1", - "nativeSrc": "10273:2:36", + "nativeSrc": "10273:2:34", "nodeType": "YulIdentifier", - "src": "10273:2:36" + "src": "10273:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "10245:3:36", + "nativeSrc": "10245:3:34", "nodeType": "YulIdentifier", - "src": "10245:3:36" + "src": "10245:3:34" }, - "nativeSrc": "10245:31:36", + "nativeSrc": "10245:31:34", "nodeType": "YulFunctionCall", - "src": "10245:31:36" + "src": "10245:31:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10217:6:36", + "nativeSrc": "10217:6:34", "nodeType": "YulIdentifier", - "src": "10217:6:36" + "src": "10217:6:34" }, - "nativeSrc": "10217:60:36", + "nativeSrc": "10217:60:34", "nodeType": "YulFunctionCall", - "src": "10217:60:36" + "src": "10217:60:34" }, - "nativeSrc": "10217:60:36", + "nativeSrc": "10217:60:34", "nodeType": "YulExpressionStatement", - "src": "10217:60:36" + "src": "10217:60:34" }, { "expression": { @@ -94693,28 +93703,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "10297:9:36", + "nativeSrc": "10297:9:34", "nodeType": "YulIdentifier", - "src": "10297:9:36" + "src": "10297:9:34" }, { "kind": "number", - "nativeSrc": "10308:3:36", + "nativeSrc": "10308:3:34", "nodeType": "YulLiteral", - "src": "10308:3:36", + "src": "10308:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "10293:3:36", + "nativeSrc": "10293:3:34", "nodeType": "YulIdentifier", - "src": "10293:3:36" + "src": "10293:3:34" }, - "nativeSrc": "10293:19:36", + "nativeSrc": "10293:19:34", "nodeType": "YulFunctionCall", - "src": "10293:19:36" + "src": "10293:19:34" }, { "arguments": [ @@ -94722,54 +93732,54 @@ "arguments": [ { "name": "value0", - "nativeSrc": "10324:6:36", + "nativeSrc": "10324:6:34", "nodeType": "YulIdentifier", - "src": "10324:6:36" + "src": "10324:6:34" }, { "kind": "number", - "nativeSrc": "10332:3:36", + "nativeSrc": "10332:3:34", "nodeType": "YulLiteral", - "src": "10332:3:36", + "src": "10332:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "10320:3:36", + "nativeSrc": "10320:3:34", "nodeType": "YulIdentifier", - "src": "10320:3:36" + "src": "10320:3:34" }, - "nativeSrc": "10320:16:36", + "nativeSrc": "10320:16:34", "nodeType": "YulFunctionCall", - "src": "10320:16:36" + "src": "10320:16:34" } ], "functionName": { "name": "mload", - "nativeSrc": "10314:5:36", + "nativeSrc": "10314:5:34", "nodeType": "YulIdentifier", - "src": "10314:5:36" + "src": "10314:5:34" }, - "nativeSrc": "10314:23:36", + "nativeSrc": "10314:23:34", "nodeType": "YulFunctionCall", - "src": "10314:23:36" + "src": "10314:23:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10286:6:36", + "nativeSrc": "10286:6:34", "nodeType": "YulIdentifier", - "src": "10286:6:36" + "src": "10286:6:34" }, - "nativeSrc": "10286:52:36", + "nativeSrc": "10286:52:34", "nodeType": "YulFunctionCall", - "src": "10286:52:36" + "src": "10286:52:34" }, - "nativeSrc": "10286:52:36", + "nativeSrc": "10286:52:34", "nodeType": "YulExpressionStatement", - "src": "10286:52:36" + "src": "10286:52:34" }, { "expression": { @@ -94778,28 +93788,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "10358:9:36", + "nativeSrc": "10358:9:34", "nodeType": "YulIdentifier", - "src": "10358:9:36" + "src": "10358:9:34" }, { "kind": "number", - "nativeSrc": "10369:4:36", + "nativeSrc": "10369:4:34", "nodeType": "YulLiteral", - "src": "10369:4:36", + "src": "10369:4:34", "type": "", "value": "0xc0" } ], "functionName": { "name": "add", - "nativeSrc": "10354:3:36", + "nativeSrc": "10354:3:34", "nodeType": "YulIdentifier", - "src": "10354:3:36" + "src": "10354:3:34" }, - "nativeSrc": "10354:20:36", + "nativeSrc": "10354:20:34", "nodeType": "YulFunctionCall", - "src": "10354:20:36" + "src": "10354:20:34" }, { "arguments": [ @@ -94811,171 +93821,171 @@ "arguments": [ { "name": "value0", - "nativeSrc": "10400:6:36", + "nativeSrc": "10400:6:34", "nodeType": "YulIdentifier", - "src": "10400:6:36" + "src": "10400:6:34" }, { "kind": "number", - "nativeSrc": "10408:3:36", + "nativeSrc": "10408:3:34", "nodeType": "YulLiteral", - "src": "10408:3:36", + "src": "10408:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "10396:3:36", + "nativeSrc": "10396:3:34", "nodeType": "YulIdentifier", - "src": "10396:3:36" + "src": "10396:3:34" }, - "nativeSrc": "10396:16:36", + "nativeSrc": "10396:16:34", "nodeType": "YulFunctionCall", - "src": "10396:16:36" + "src": "10396:16:34" } ], "functionName": { "name": "mload", - "nativeSrc": "10390:5:36", + "nativeSrc": "10390:5:34", "nodeType": "YulIdentifier", - "src": "10390:5:36" + "src": "10390:5:34" }, - "nativeSrc": "10390:23:36", + "nativeSrc": "10390:23:34", "nodeType": "YulFunctionCall", - "src": "10390:23:36" + "src": "10390:23:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "10383:6:36", + "nativeSrc": "10383:6:34", "nodeType": "YulIdentifier", - "src": "10383:6:36" + "src": "10383:6:34" }, - "nativeSrc": "10383:31:36", + "nativeSrc": "10383:31:34", "nodeType": "YulFunctionCall", - "src": "10383:31:36" + "src": "10383:31:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "10376:6:36", + "nativeSrc": "10376:6:34", "nodeType": "YulIdentifier", - "src": "10376:6:36" + "src": "10376:6:34" }, - "nativeSrc": "10376:39:36", + "nativeSrc": "10376:39:34", "nodeType": "YulFunctionCall", - "src": "10376:39:36" + "src": "10376:39:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10347:6:36", + "nativeSrc": "10347:6:34", "nodeType": "YulIdentifier", - "src": "10347:6:36" + "src": "10347:6:34" }, - "nativeSrc": "10347:69:36", + "nativeSrc": "10347:69:34", "nodeType": "YulFunctionCall", - "src": "10347:69:36" + "src": "10347:69:34" }, - "nativeSrc": "10347:69:36", + "nativeSrc": "10347:69:34", "nodeType": "YulExpressionStatement", - "src": "10347:69:36" + "src": "10347:69:34" }, { - "nativeSrc": "10425:14:36", + "nativeSrc": "10425:14:34", "nodeType": "YulAssignment", - "src": "10425:14:36", + "src": "10425:14:34", "value": { "name": "tail_1", - "nativeSrc": "10433:6:36", + "nativeSrc": "10433:6:34", "nodeType": "YulIdentifier", - "src": "10433:6:36" + "src": "10433:6:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "10425:4:36", + "nativeSrc": "10425:4:34", "nodeType": "YulIdentifier", - "src": "10425:4:36" + "src": "10425:4:34" } ] } ] }, - "name": "abi_encode_tuple_t_struct$_ServiceProposal_$5342_memory_ptr__to_t_struct$_ServiceProposal_$5342_memory_ptr__fromStack_reversed", - "nativeSrc": "9687:758:36", + "name": "abi_encode_tuple_t_struct$_ServiceProposal_$5312_memory_ptr__to_t_struct$_ServiceProposal_$5312_memory_ptr__fromStack_reversed", + "nativeSrc": "9687:758:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "9823:9:36", + "nativeSrc": "9823:9:34", "nodeType": "YulTypedName", - "src": "9823:9:36", + "src": "9823:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "9834:6:36", + "nativeSrc": "9834:6:34", "nodeType": "YulTypedName", - "src": "9834:6:36", + "src": "9834:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "9845:4:36", + "nativeSrc": "9845:4:34", "nodeType": "YulTypedName", - "src": "9845:4:36", + "src": "9845:4:34", "type": "" } ], - "src": "9687:758:36" + "src": "9687:758:34" }, { "body": { - "nativeSrc": "10586:102:36", + "nativeSrc": "10586:102:34", "nodeType": "YulBlock", - "src": "10586:102:36", + "src": "10586:102:34", "statements": [ { - "nativeSrc": "10596:26:36", + "nativeSrc": "10596:26:34", "nodeType": "YulAssignment", - "src": "10596:26:36", + "src": "10596:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "10608:9:36", + "nativeSrc": "10608:9:34", "nodeType": "YulIdentifier", - "src": "10608:9:36" + "src": "10608:9:34" }, { "kind": "number", - "nativeSrc": "10619:2:36", + "nativeSrc": "10619:2:34", "nodeType": "YulLiteral", - "src": "10619:2:36", + "src": "10619:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "10604:3:36", + "nativeSrc": "10604:3:34", "nodeType": "YulIdentifier", - "src": "10604:3:36" + "src": "10604:3:34" }, - "nativeSrc": "10604:18:36", + "nativeSrc": "10604:18:34", "nodeType": "YulFunctionCall", - "src": "10604:18:36" + "src": "10604:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "10596:4:36", + "nativeSrc": "10596:4:34", "nodeType": "YulIdentifier", - "src": "10596:4:36" + "src": "10596:4:34" } ] }, @@ -94984,17 +93994,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "10638:9:36", + "nativeSrc": "10638:9:34", "nodeType": "YulIdentifier", - "src": "10638:9:36" + "src": "10638:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "10653:6:36", + "nativeSrc": "10653:6:34", "nodeType": "YulIdentifier", - "src": "10653:6:36" + "src": "10653:6:34" }, { "arguments": [ @@ -95002,151 +94012,151 @@ "arguments": [ { "kind": "number", - "nativeSrc": "10669:3:36", + "nativeSrc": "10669:3:34", "nodeType": "YulLiteral", - "src": "10669:3:36", + "src": "10669:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "10674:1:36", + "nativeSrc": "10674:1:34", "nodeType": "YulLiteral", - "src": "10674:1:36", + "src": "10674:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "10665:3:36", + "nativeSrc": "10665:3:34", "nodeType": "YulIdentifier", - "src": "10665:3:36" + "src": "10665:3:34" }, - "nativeSrc": "10665:11:36", + "nativeSrc": "10665:11:34", "nodeType": "YulFunctionCall", - "src": "10665:11:36" + "src": "10665:11:34" }, { "kind": "number", - "nativeSrc": "10678:1:36", + "nativeSrc": "10678:1:34", "nodeType": "YulLiteral", - "src": "10678:1:36", + "src": "10678:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "10661:3:36", + "nativeSrc": "10661:3:34", "nodeType": "YulIdentifier", - "src": "10661:3:36" + "src": "10661:3:34" }, - "nativeSrc": "10661:19:36", + "nativeSrc": "10661:19:34", "nodeType": "YulFunctionCall", - "src": "10661:19:36" + "src": "10661:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "10649:3:36", + "nativeSrc": "10649:3:34", "nodeType": "YulIdentifier", - "src": "10649:3:36" + "src": "10649:3:34" }, - "nativeSrc": "10649:32:36", + "nativeSrc": "10649:32:34", "nodeType": "YulFunctionCall", - "src": "10649:32:36" + "src": "10649:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10631:6:36", + "nativeSrc": "10631:6:34", "nodeType": "YulIdentifier", - "src": "10631:6:36" + "src": "10631:6:34" }, - "nativeSrc": "10631:51:36", + "nativeSrc": "10631:51:34", "nodeType": "YulFunctionCall", - "src": "10631:51:36" + "src": "10631:51:34" }, - "nativeSrc": "10631:51:36", + "nativeSrc": "10631:51:34", "nodeType": "YulExpressionStatement", - "src": "10631:51:36" + "src": "10631:51:34" } ] }, - "name": "abi_encode_tuple_t_contract$_ServiceRegistryUpgradeable_$4615__to_t_address__fromStack_reversed", - "nativeSrc": "10450:238:36", + "name": "abi_encode_tuple_t_contract$_ServiceRegistryUpgradeable_$4616__to_t_address__fromStack_reversed", + "nativeSrc": "10450:238:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "10555:9:36", + "nativeSrc": "10555:9:34", "nodeType": "YulTypedName", - "src": "10555:9:36", + "src": "10555:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "10566:6:36", + "nativeSrc": "10566:6:34", "nodeType": "YulTypedName", - "src": "10566:6:36", + "src": "10566:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "10577:4:36", + "nativeSrc": "10577:4:34", "nodeType": "YulTypedName", - "src": "10577:4:36", + "src": "10577:4:34", "type": "" } ], - "src": "10450:238:36" + "src": "10450:238:34" }, { "body": { - "nativeSrc": "10819:102:36", + "nativeSrc": "10819:102:34", "nodeType": "YulBlock", - "src": "10819:102:36", + "src": "10819:102:34", "statements": [ { - "nativeSrc": "10829:26:36", + "nativeSrc": "10829:26:34", "nodeType": "YulAssignment", - "src": "10829:26:36", + "src": "10829:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "10841:9:36", + "nativeSrc": "10841:9:34", "nodeType": "YulIdentifier", - "src": "10841:9:36" + "src": "10841:9:34" }, { "kind": "number", - "nativeSrc": "10852:2:36", + "nativeSrc": "10852:2:34", "nodeType": "YulLiteral", - "src": "10852:2:36", + "src": "10852:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "10837:3:36", + "nativeSrc": "10837:3:34", "nodeType": "YulIdentifier", - "src": "10837:3:36" + "src": "10837:3:34" }, - "nativeSrc": "10837:18:36", + "nativeSrc": "10837:18:34", "nodeType": "YulFunctionCall", - "src": "10837:18:36" + "src": "10837:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "10829:4:36", + "nativeSrc": "10829:4:34", "nodeType": "YulIdentifier", - "src": "10829:4:36" + "src": "10829:4:34" } ] }, @@ -95155,17 +94165,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "10871:9:36", + "nativeSrc": "10871:9:34", "nodeType": "YulIdentifier", - "src": "10871:9:36" + "src": "10871:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "10886:6:36", + "nativeSrc": "10886:6:34", "nodeType": "YulIdentifier", - "src": "10886:6:36" + "src": "10886:6:34" }, { "arguments": [ @@ -95173,202 +94183,202 @@ "arguments": [ { "kind": "number", - "nativeSrc": "10902:3:36", + "nativeSrc": "10902:3:34", "nodeType": "YulLiteral", - "src": "10902:3:36", + "src": "10902:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "10907:1:36", + "nativeSrc": "10907:1:34", "nodeType": "YulLiteral", - "src": "10907:1:36", + "src": "10907:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "10898:3:36", + "nativeSrc": "10898:3:34", "nodeType": "YulIdentifier", - "src": "10898:3:36" + "src": "10898:3:34" }, - "nativeSrc": "10898:11:36", + "nativeSrc": "10898:11:34", "nodeType": "YulFunctionCall", - "src": "10898:11:36" + "src": "10898:11:34" }, { "kind": "number", - "nativeSrc": "10911:1:36", + "nativeSrc": "10911:1:34", "nodeType": "YulLiteral", - "src": "10911:1:36", + "src": "10911:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "10894:3:36", + "nativeSrc": "10894:3:34", "nodeType": "YulIdentifier", - "src": "10894:3:36" + "src": "10894:3:34" }, - "nativeSrc": "10894:19:36", + "nativeSrc": "10894:19:34", "nodeType": "YulFunctionCall", - "src": "10894:19:36" + "src": "10894:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "10882:3:36", + "nativeSrc": "10882:3:34", "nodeType": "YulIdentifier", - "src": "10882:3:36" + "src": "10882:3:34" }, - "nativeSrc": "10882:32:36", + "nativeSrc": "10882:32:34", "nodeType": "YulFunctionCall", - "src": "10882:32:36" + "src": "10882:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10864:6:36", + "nativeSrc": "10864:6:34", "nodeType": "YulIdentifier", - "src": "10864:6:36" + "src": "10864:6:34" }, - "nativeSrc": "10864:51:36", + "nativeSrc": "10864:51:34", "nodeType": "YulFunctionCall", - "src": "10864:51:36" + "src": "10864:51:34" }, - "nativeSrc": "10864:51:36", + "nativeSrc": "10864:51:34", "nodeType": "YulExpressionStatement", - "src": "10864:51:36" + "src": "10864:51:34" } ] }, - "name": "abi_encode_tuple_t_contract$_IAgentRegistryV1_$5327__to_t_address__fromStack_reversed", - "nativeSrc": "10693:228:36", + "name": "abi_encode_tuple_t_contract$_IAgentRegistryV1_$5297__to_t_address__fromStack_reversed", + "nativeSrc": "10693:228:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "10788:9:36", + "nativeSrc": "10788:9:34", "nodeType": "YulTypedName", - "src": "10788:9:36", + "src": "10788:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "10799:6:36", + "nativeSrc": "10799:6:34", "nodeType": "YulTypedName", - "src": "10799:6:36", + "src": "10799:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "10810:4:36", + "nativeSrc": "10810:4:34", "nodeType": "YulTypedName", - "src": "10810:4:36", + "src": "10810:4:34", "type": "" } ], - "src": "10693:228:36" + "src": "10693:228:34" }, { "body": { - "nativeSrc": "11207:446:36", + "nativeSrc": "11207:446:34", "nodeType": "YulBlock", - "src": "11207:446:36", + "src": "11207:446:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "11224:9:36", + "nativeSrc": "11224:9:34", "nodeType": "YulIdentifier", - "src": "11224:9:36" + "src": "11224:9:34" }, { "kind": "number", - "nativeSrc": "11235:3:36", + "nativeSrc": "11235:3:34", "nodeType": "YulLiteral", - "src": "11235:3:36", + "src": "11235:3:34", "type": "", "value": "192" } ], "functionName": { "name": "mstore", - "nativeSrc": "11217:6:36", + "nativeSrc": "11217:6:34", "nodeType": "YulIdentifier", - "src": "11217:6:36" + "src": "11217:6:34" }, - "nativeSrc": "11217:22:36", + "nativeSrc": "11217:22:34", "nodeType": "YulFunctionCall", - "src": "11217:22:36" + "src": "11217:22:34" }, - "nativeSrc": "11217:22:36", + "nativeSrc": "11217:22:34", "nodeType": "YulExpressionStatement", - "src": "11217:22:36" + "src": "11217:22:34" }, { - "nativeSrc": "11248:60:36", + "nativeSrc": "11248:60:34", "nodeType": "YulVariableDeclaration", - "src": "11248:60:36", + "src": "11248:60:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "11280:6:36", + "nativeSrc": "11280:6:34", "nodeType": "YulIdentifier", - "src": "11280:6:36" + "src": "11280:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "11292:9:36", + "nativeSrc": "11292:9:34", "nodeType": "YulIdentifier", - "src": "11292:9:36" + "src": "11292:9:34" }, { "kind": "number", - "nativeSrc": "11303:3:36", + "nativeSrc": "11303:3:34", "nodeType": "YulLiteral", - "src": "11303:3:36", + "src": "11303:3:34", "type": "", "value": "192" } ], "functionName": { "name": "add", - "nativeSrc": "11288:3:36", + "nativeSrc": "11288:3:34", "nodeType": "YulIdentifier", - "src": "11288:3:36" + "src": "11288:3:34" }, - "nativeSrc": "11288:19:36", + "nativeSrc": "11288:19:34", "nodeType": "YulFunctionCall", - "src": "11288:19:36" + "src": "11288:19:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "11262:17:36", + "nativeSrc": "11262:17:34", "nodeType": "YulIdentifier", - "src": "11262:17:36" + "src": "11262:17:34" }, - "nativeSrc": "11262:46:36", + "nativeSrc": "11262:46:34", "nodeType": "YulFunctionCall", - "src": "11262:46:36" + "src": "11262:46:34" }, "variables": [ { "name": "tail_1", - "nativeSrc": "11252:6:36", + "nativeSrc": "11252:6:34", "nodeType": "YulTypedName", - "src": "11252:6:36", + "src": "11252:6:34", "type": "" } ] @@ -95380,167 +94390,167 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "11328:9:36", + "nativeSrc": "11328:9:34", "nodeType": "YulIdentifier", - "src": "11328:9:36" + "src": "11328:9:34" }, { "kind": "number", - "nativeSrc": "11339:2:36", + "nativeSrc": "11339:2:34", "nodeType": "YulLiteral", - "src": "11339:2:36", + "src": "11339:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "11324:3:36", + "nativeSrc": "11324:3:34", "nodeType": "YulIdentifier", - "src": "11324:3:36" + "src": "11324:3:34" }, - "nativeSrc": "11324:18:36", + "nativeSrc": "11324:18:34", "nodeType": "YulFunctionCall", - "src": "11324:18:36" + "src": "11324:18:34" }, { "arguments": [ { "name": "tail_1", - "nativeSrc": "11348:6:36", + "nativeSrc": "11348:6:34", "nodeType": "YulIdentifier", - "src": "11348:6:36" + "src": "11348:6:34" }, { "name": "headStart", - "nativeSrc": "11356:9:36", + "nativeSrc": "11356:9:34", "nodeType": "YulIdentifier", - "src": "11356:9:36" + "src": "11356:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "11344:3:36", + "nativeSrc": "11344:3:34", "nodeType": "YulIdentifier", - "src": "11344:3:36" + "src": "11344:3:34" }, - "nativeSrc": "11344:22:36", + "nativeSrc": "11344:22:34", "nodeType": "YulFunctionCall", - "src": "11344:22:36" + "src": "11344:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "11317:6:36", + "nativeSrc": "11317:6:34", "nodeType": "YulIdentifier", - "src": "11317:6:36" + "src": "11317:6:34" }, - "nativeSrc": "11317:50:36", + "nativeSrc": "11317:50:34", "nodeType": "YulFunctionCall", - "src": "11317:50:36" + "src": "11317:50:34" }, - "nativeSrc": "11317:50:36", + "nativeSrc": "11317:50:34", "nodeType": "YulExpressionStatement", - "src": "11317:50:36" + "src": "11317:50:34" }, { - "nativeSrc": "11376:41:36", + "nativeSrc": "11376:41:34", "nodeType": "YulAssignment", - "src": "11376:41:36", + "src": "11376:41:34", "value": { "arguments": [ { "name": "value1", - "nativeSrc": "11402:6:36", + "nativeSrc": "11402:6:34", "nodeType": "YulIdentifier", - "src": "11402:6:36" + "src": "11402:6:34" }, { "name": "tail_1", - "nativeSrc": "11410:6:36", + "nativeSrc": "11410:6:34", "nodeType": "YulIdentifier", - "src": "11410:6:36" + "src": "11410:6:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "11384:17:36", + "nativeSrc": "11384:17:34", "nodeType": "YulIdentifier", - "src": "11384:17:36" + "src": "11384:17:34" }, - "nativeSrc": "11384:33:36", + "nativeSrc": "11384:33:34", "nodeType": "YulFunctionCall", - "src": "11384:33:36" + "src": "11384:33:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "11376:4:36", + "nativeSrc": "11376:4:34", "nodeType": "YulIdentifier", - "src": "11376:4:36" + "src": "11376:4:34" } ] }, { - "nativeSrc": "11426:29:36", + "nativeSrc": "11426:29:34", "nodeType": "YulVariableDeclaration", - "src": "11426:29:36", + "src": "11426:29:34", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "11444:3:36", + "nativeSrc": "11444:3:34", "nodeType": "YulLiteral", - "src": "11444:3:36", + "src": "11444:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "11449:1:36", + "nativeSrc": "11449:1:34", "nodeType": "YulLiteral", - "src": "11449:1:36", + "src": "11449:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "11440:3:36", + "nativeSrc": "11440:3:34", "nodeType": "YulIdentifier", - "src": "11440:3:36" + "src": "11440:3:34" }, - "nativeSrc": "11440:11:36", + "nativeSrc": "11440:11:34", "nodeType": "YulFunctionCall", - "src": "11440:11:36" + "src": "11440:11:34" }, { "kind": "number", - "nativeSrc": "11453:1:36", + "nativeSrc": "11453:1:34", "nodeType": "YulLiteral", - "src": "11453:1:36", + "src": "11453:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "11436:3:36", + "nativeSrc": "11436:3:34", "nodeType": "YulIdentifier", - "src": "11436:3:36" + "src": "11436:3:34" }, - "nativeSrc": "11436:19:36", + "nativeSrc": "11436:19:34", "nodeType": "YulFunctionCall", - "src": "11436:19:36" + "src": "11436:19:34" }, "variables": [ { "name": "_1", - "nativeSrc": "11430:2:36", + "nativeSrc": "11430:2:34", "nodeType": "YulTypedName", - "src": "11430:2:36", + "src": "11430:2:34", "type": "" } ] @@ -95552,68 +94562,68 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "11475:9:36", + "nativeSrc": "11475:9:34", "nodeType": "YulIdentifier", - "src": "11475:9:36" + "src": "11475:9:34" }, { "kind": "number", - "nativeSrc": "11486:2:36", + "nativeSrc": "11486:2:34", "nodeType": "YulLiteral", - "src": "11486:2:36", + "src": "11486:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "11471:3:36", + "nativeSrc": "11471:3:34", "nodeType": "YulIdentifier", - "src": "11471:3:36" + "src": "11471:3:34" }, - "nativeSrc": "11471:18:36", + "nativeSrc": "11471:18:34", "nodeType": "YulFunctionCall", - "src": "11471:18:36" + "src": "11471:18:34" }, { "arguments": [ { "name": "value2", - "nativeSrc": "11495:6:36", + "nativeSrc": "11495:6:34", "nodeType": "YulIdentifier", - "src": "11495:6:36" + "src": "11495:6:34" }, { "name": "_1", - "nativeSrc": "11503:2:36", + "nativeSrc": "11503:2:34", "nodeType": "YulIdentifier", - "src": "11503:2:36" + "src": "11503:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "11491:3:36", + "nativeSrc": "11491:3:34", "nodeType": "YulIdentifier", - "src": "11491:3:36" + "src": "11491:3:34" }, - "nativeSrc": "11491:15:36", + "nativeSrc": "11491:15:34", "nodeType": "YulFunctionCall", - "src": "11491:15:36" + "src": "11491:15:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "11464:6:36", + "nativeSrc": "11464:6:34", "nodeType": "YulIdentifier", - "src": "11464:6:36" + "src": "11464:6:34" }, - "nativeSrc": "11464:43:36", + "nativeSrc": "11464:43:34", "nodeType": "YulFunctionCall", - "src": "11464:43:36" + "src": "11464:43:34" }, - "nativeSrc": "11464:43:36", + "nativeSrc": "11464:43:34", "nodeType": "YulExpressionStatement", - "src": "11464:43:36" + "src": "11464:43:34" }, { "expression": { @@ -95622,68 +94632,68 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "11527:9:36", + "nativeSrc": "11527:9:34", "nodeType": "YulIdentifier", - "src": "11527:9:36" + "src": "11527:9:34" }, { "kind": "number", - "nativeSrc": "11538:2:36", + "nativeSrc": "11538:2:34", "nodeType": "YulLiteral", - "src": "11538:2:36", + "src": "11538:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "11523:3:36", + "nativeSrc": "11523:3:34", "nodeType": "YulIdentifier", - "src": "11523:3:36" + "src": "11523:3:34" }, - "nativeSrc": "11523:18:36", + "nativeSrc": "11523:18:34", "nodeType": "YulFunctionCall", - "src": "11523:18:36" + "src": "11523:18:34" }, { "arguments": [ { "name": "value3", - "nativeSrc": "11547:6:36", + "nativeSrc": "11547:6:34", "nodeType": "YulIdentifier", - "src": "11547:6:36" + "src": "11547:6:34" }, { "name": "_1", - "nativeSrc": "11555:2:36", + "nativeSrc": "11555:2:34", "nodeType": "YulIdentifier", - "src": "11555:2:36" + "src": "11555:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "11543:3:36", + "nativeSrc": "11543:3:34", "nodeType": "YulIdentifier", - "src": "11543:3:36" + "src": "11543:3:34" }, - "nativeSrc": "11543:15:36", + "nativeSrc": "11543:15:34", "nodeType": "YulFunctionCall", - "src": "11543:15:36" + "src": "11543:15:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "11516:6:36", + "nativeSrc": "11516:6:34", "nodeType": "YulIdentifier", - "src": "11516:6:36" + "src": "11516:6:34" }, - "nativeSrc": "11516:43:36", + "nativeSrc": "11516:43:34", "nodeType": "YulFunctionCall", - "src": "11516:43:36" + "src": "11516:43:34" }, - "nativeSrc": "11516:43:36", + "nativeSrc": "11516:43:34", "nodeType": "YulExpressionStatement", - "src": "11516:43:36" + "src": "11516:43:34" }, { "expression": { @@ -95692,49 +94702,49 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "11579:9:36", + "nativeSrc": "11579:9:34", "nodeType": "YulIdentifier", - "src": "11579:9:36" + "src": "11579:9:34" }, { "kind": "number", - "nativeSrc": "11590:3:36", + "nativeSrc": "11590:3:34", "nodeType": "YulLiteral", - "src": "11590:3:36", + "src": "11590:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "11575:3:36", + "nativeSrc": "11575:3:34", "nodeType": "YulIdentifier", - "src": "11575:3:36" + "src": "11575:3:34" }, - "nativeSrc": "11575:19:36", + "nativeSrc": "11575:19:34", "nodeType": "YulFunctionCall", - "src": "11575:19:36" + "src": "11575:19:34" }, { "name": "value4", - "nativeSrc": "11596:6:36", + "nativeSrc": "11596:6:34", "nodeType": "YulIdentifier", - "src": "11596:6:36" + "src": "11596:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "11568:6:36", + "nativeSrc": "11568:6:34", "nodeType": "YulIdentifier", - "src": "11568:6:36" + "src": "11568:6:34" }, - "nativeSrc": "11568:35:36", + "nativeSrc": "11568:35:34", "nodeType": "YulFunctionCall", - "src": "11568:35:36" + "src": "11568:35:34" }, - "nativeSrc": "11568:35:36", + "nativeSrc": "11568:35:34", "nodeType": "YulExpressionStatement", - "src": "11568:35:36" + "src": "11568:35:34" }, { "expression": { @@ -95743,247 +94753,247 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "11623:9:36", + "nativeSrc": "11623:9:34", "nodeType": "YulIdentifier", - "src": "11623:9:36" + "src": "11623:9:34" }, { "kind": "number", - "nativeSrc": "11634:3:36", + "nativeSrc": "11634:3:34", "nodeType": "YulLiteral", - "src": "11634:3:36", + "src": "11634:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "11619:3:36", + "nativeSrc": "11619:3:34", "nodeType": "YulIdentifier", - "src": "11619:3:36" + "src": "11619:3:34" }, - "nativeSrc": "11619:19:36", + "nativeSrc": "11619:19:34", "nodeType": "YulFunctionCall", - "src": "11619:19:36" + "src": "11619:19:34" }, { "name": "value5", - "nativeSrc": "11640:6:36", + "nativeSrc": "11640:6:34", "nodeType": "YulIdentifier", - "src": "11640:6:36" + "src": "11640:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "11612:6:36", + "nativeSrc": "11612:6:34", "nodeType": "YulIdentifier", - "src": "11612:6:36" + "src": "11612:6:34" }, - "nativeSrc": "11612:35:36", + "nativeSrc": "11612:35:34", "nodeType": "YulFunctionCall", - "src": "11612:35:36" + "src": "11612:35:34" }, - "nativeSrc": "11612:35:36", + "nativeSrc": "11612:35:34", "nodeType": "YulExpressionStatement", - "src": "11612:35:36" + "src": "11612:35:34" } ] }, "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__fromStack_reversed", - "nativeSrc": "10926:727:36", + "nativeSrc": "10926:727:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "11136:9:36", + "nativeSrc": "11136:9:34", "nodeType": "YulTypedName", - "src": "11136:9:36", + "src": "11136:9:34", "type": "" }, { "name": "value5", - "nativeSrc": "11147:6:36", + "nativeSrc": "11147:6:34", "nodeType": "YulTypedName", - "src": "11147:6:36", + "src": "11147:6:34", "type": "" }, { "name": "value4", - "nativeSrc": "11155:6:36", + "nativeSrc": "11155:6:34", "nodeType": "YulTypedName", - "src": "11155:6:36", + "src": "11155:6:34", "type": "" }, { "name": "value3", - "nativeSrc": "11163:6:36", + "nativeSrc": "11163:6:34", "nodeType": "YulTypedName", - "src": "11163:6:36", + "src": "11163:6:34", "type": "" }, { "name": "value2", - "nativeSrc": "11171:6:36", + "nativeSrc": "11171:6:34", "nodeType": "YulTypedName", - "src": "11171:6:36", + "src": "11171:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "11179:6:36", + "nativeSrc": "11179:6:34", "nodeType": "YulTypedName", - "src": "11179:6:36", + "src": "11179:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "11187:6:36", + "nativeSrc": "11187:6:34", "nodeType": "YulTypedName", - "src": "11187:6:36", + "src": "11187:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "11198:4:36", + "nativeSrc": "11198:4:34", "nodeType": "YulTypedName", - "src": "11198:4:36", + "src": "11198:4:34", "type": "" } ], - "src": "10926:727:36" + "src": "10926:727:34" }, { "body": { - "nativeSrc": "11713:325:36", + "nativeSrc": "11713:325:34", "nodeType": "YulBlock", - "src": "11713:325:36", + "src": "11713:325:34", "statements": [ { - "nativeSrc": "11723:22:36", + "nativeSrc": "11723:22:34", "nodeType": "YulAssignment", - "src": "11723:22:36", + "src": "11723:22:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "11737:1:36", + "nativeSrc": "11737:1:34", "nodeType": "YulLiteral", - "src": "11737:1:36", + "src": "11737:1:34", "type": "", "value": "1" }, { "name": "data", - "nativeSrc": "11740:4:36", + "nativeSrc": "11740:4:34", "nodeType": "YulIdentifier", - "src": "11740:4:36" + "src": "11740:4:34" } ], "functionName": { "name": "shr", - "nativeSrc": "11733:3:36", + "nativeSrc": "11733:3:34", "nodeType": "YulIdentifier", - "src": "11733:3:36" + "src": "11733:3:34" }, - "nativeSrc": "11733:12:36", + "nativeSrc": "11733:12:34", "nodeType": "YulFunctionCall", - "src": "11733:12:36" + "src": "11733:12:34" }, "variableNames": [ { "name": "length", - "nativeSrc": "11723:6:36", + "nativeSrc": "11723:6:34", "nodeType": "YulIdentifier", - "src": "11723:6:36" + "src": "11723:6:34" } ] }, { - "nativeSrc": "11754:38:36", + "nativeSrc": "11754:38:34", "nodeType": "YulVariableDeclaration", - "src": "11754:38:36", + "src": "11754:38:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "11784:4:36", + "nativeSrc": "11784:4:34", "nodeType": "YulIdentifier", - "src": "11784:4:36" + "src": "11784:4:34" }, { "kind": "number", - "nativeSrc": "11790:1:36", + "nativeSrc": "11790:1:34", "nodeType": "YulLiteral", - "src": "11790:1:36", + "src": "11790:1:34", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "11780:3:36", + "nativeSrc": "11780:3:34", "nodeType": "YulIdentifier", - "src": "11780:3:36" + "src": "11780:3:34" }, - "nativeSrc": "11780:12:36", + "nativeSrc": "11780:12:34", "nodeType": "YulFunctionCall", - "src": "11780:12:36" + "src": "11780:12:34" }, "variables": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "11758:18:36", + "nativeSrc": "11758:18:34", "nodeType": "YulTypedName", - "src": "11758:18:36", + "src": "11758:18:34", "type": "" } ] }, { "body": { - "nativeSrc": "11831:31:36", + "nativeSrc": "11831:31:34", "nodeType": "YulBlock", - "src": "11831:31:36", + "src": "11831:31:34", "statements": [ { - "nativeSrc": "11833:27:36", + "nativeSrc": "11833:27:34", "nodeType": "YulAssignment", - "src": "11833:27:36", + "src": "11833:27:34", "value": { "arguments": [ { "name": "length", - "nativeSrc": "11847:6:36", + "nativeSrc": "11847:6:34", "nodeType": "YulIdentifier", - "src": "11847:6:36" + "src": "11847:6:34" }, { "kind": "number", - "nativeSrc": "11855:4:36", + "nativeSrc": "11855:4:34", "nodeType": "YulLiteral", - "src": "11855:4:36", + "src": "11855:4:34", "type": "", "value": "0x7f" } ], "functionName": { "name": "and", - "nativeSrc": "11843:3:36", + "nativeSrc": "11843:3:34", "nodeType": "YulIdentifier", - "src": "11843:3:36" + "src": "11843:3:34" }, - "nativeSrc": "11843:17:36", + "nativeSrc": "11843:17:34", "nodeType": "YulFunctionCall", - "src": "11843:17:36" + "src": "11843:17:34" }, "variableNames": [ { "name": "length", - "nativeSrc": "11833:6:36", + "nativeSrc": "11833:6:34", "nodeType": "YulIdentifier", - "src": "11833:6:36" + "src": "11833:6:34" } ] } @@ -95993,39 +95003,39 @@ "arguments": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "11811:18:36", + "nativeSrc": "11811:18:34", "nodeType": "YulIdentifier", - "src": "11811:18:36" + "src": "11811:18:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "11804:6:36", + "nativeSrc": "11804:6:34", "nodeType": "YulIdentifier", - "src": "11804:6:36" + "src": "11804:6:34" }, - "nativeSrc": "11804:26:36", + "nativeSrc": "11804:26:34", "nodeType": "YulFunctionCall", - "src": "11804:26:36" + "src": "11804:26:34" }, - "nativeSrc": "11801:61:36", + "nativeSrc": "11801:61:34", "nodeType": "YulIf", - "src": "11801:61:36" + "src": "11801:61:34" }, { "body": { - "nativeSrc": "11921:111:36", + "nativeSrc": "11921:111:34", "nodeType": "YulBlock", - "src": "11921:111:36", + "src": "11921:111:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "11942:1:36", + "nativeSrc": "11942:1:34", "nodeType": "YulLiteral", - "src": "11942:1:36", + "src": "11942:1:34", "type": "", "value": "0" }, @@ -96033,113 +95043,113 @@ "arguments": [ { "kind": "number", - "nativeSrc": "11949:3:36", + "nativeSrc": "11949:3:34", "nodeType": "YulLiteral", - "src": "11949:3:36", + "src": "11949:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "11954:10:36", + "nativeSrc": "11954:10:34", "nodeType": "YulLiteral", - "src": "11954:10:36", + "src": "11954:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "11945:3:36", + "nativeSrc": "11945:3:34", "nodeType": "YulIdentifier", - "src": "11945:3:36" + "src": "11945:3:34" }, - "nativeSrc": "11945:20:36", + "nativeSrc": "11945:20:34", "nodeType": "YulFunctionCall", - "src": "11945:20:36" + "src": "11945:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "11935:6:36", + "nativeSrc": "11935:6:34", "nodeType": "YulIdentifier", - "src": "11935:6:36" + "src": "11935:6:34" }, - "nativeSrc": "11935:31:36", + "nativeSrc": "11935:31:34", "nodeType": "YulFunctionCall", - "src": "11935:31:36" + "src": "11935:31:34" }, - "nativeSrc": "11935:31:36", + "nativeSrc": "11935:31:34", "nodeType": "YulExpressionStatement", - "src": "11935:31:36" + "src": "11935:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "11986:1:36", + "nativeSrc": "11986:1:34", "nodeType": "YulLiteral", - "src": "11986:1:36", + "src": "11986:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "11989:4:36", + "nativeSrc": "11989:4:34", "nodeType": "YulLiteral", - "src": "11989:4:36", + "src": "11989:4:34", "type": "", "value": "0x22" } ], "functionName": { "name": "mstore", - "nativeSrc": "11979:6:36", + "nativeSrc": "11979:6:34", "nodeType": "YulIdentifier", - "src": "11979:6:36" + "src": "11979:6:34" }, - "nativeSrc": "11979:15:36", + "nativeSrc": "11979:15:34", "nodeType": "YulFunctionCall", - "src": "11979:15:36" + "src": "11979:15:34" }, - "nativeSrc": "11979:15:36", + "nativeSrc": "11979:15:34", "nodeType": "YulExpressionStatement", - "src": "11979:15:36" + "src": "11979:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "12014:1:36", + "nativeSrc": "12014:1:34", "nodeType": "YulLiteral", - "src": "12014:1:36", + "src": "12014:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "12017:4:36", + "nativeSrc": "12017:4:34", "nodeType": "YulLiteral", - "src": "12017:4:36", + "src": "12017:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "12007:6:36", + "nativeSrc": "12007:6:34", "nodeType": "YulIdentifier", - "src": "12007:6:36" + "src": "12007:6:34" }, - "nativeSrc": "12007:15:36", + "nativeSrc": "12007:15:34", "nodeType": "YulFunctionCall", - "src": "12007:15:36" + "src": "12007:15:34" }, - "nativeSrc": "12007:15:36", + "nativeSrc": "12007:15:34", "nodeType": "YulExpressionStatement", - "src": "12007:15:36" + "src": "12007:15:34" } ] }, @@ -96147,114 +95157,114 @@ "arguments": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "11877:18:36", + "nativeSrc": "11877:18:34", "nodeType": "YulIdentifier", - "src": "11877:18:36" + "src": "11877:18:34" }, { "arguments": [ { "name": "length", - "nativeSrc": "11900:6:36", + "nativeSrc": "11900:6:34", "nodeType": "YulIdentifier", - "src": "11900:6:36" + "src": "11900:6:34" }, { "kind": "number", - "nativeSrc": "11908:2:36", + "nativeSrc": "11908:2:34", "nodeType": "YulLiteral", - "src": "11908:2:36", + "src": "11908:2:34", "type": "", "value": "32" } ], "functionName": { "name": "lt", - "nativeSrc": "11897:2:36", + "nativeSrc": "11897:2:34", "nodeType": "YulIdentifier", - "src": "11897:2:36" + "src": "11897:2:34" }, - "nativeSrc": "11897:14:36", + "nativeSrc": "11897:14:34", "nodeType": "YulFunctionCall", - "src": "11897:14:36" + "src": "11897:14:34" } ], "functionName": { "name": "eq", - "nativeSrc": "11874:2:36", + "nativeSrc": "11874:2:34", "nodeType": "YulIdentifier", - "src": "11874:2:36" + "src": "11874:2:34" }, - "nativeSrc": "11874:38:36", + "nativeSrc": "11874:38:34", "nodeType": "YulFunctionCall", - "src": "11874:38:36" + "src": "11874:38:34" }, - "nativeSrc": "11871:161:36", + "nativeSrc": "11871:161:34", "nodeType": "YulIf", - "src": "11871:161:36" + "src": "11871:161:34" } ] }, "name": "extract_byte_array_length", - "nativeSrc": "11658:380:36", + "nativeSrc": "11658:380:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "data", - "nativeSrc": "11693:4:36", + "nativeSrc": "11693:4:34", "nodeType": "YulTypedName", - "src": "11693:4:36", + "src": "11693:4:34", "type": "" } ], "returnVariables": [ { "name": "length", - "nativeSrc": "11702:6:36", + "nativeSrc": "11702:6:34", "nodeType": "YulTypedName", - "src": "11702:6:36", + "src": "11702:6:34", "type": "" } ], - "src": "11658:380:36" + "src": "11658:380:34" }, { "body": { - "nativeSrc": "12217:174:36", + "nativeSrc": "12217:174:34", "nodeType": "YulBlock", - "src": "12217:174:36", + "src": "12217:174:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "12234:9:36", + "nativeSrc": "12234:9:34", "nodeType": "YulIdentifier", - "src": "12234:9:36" + "src": "12234:9:34" }, { "kind": "number", - "nativeSrc": "12245:2:36", + "nativeSrc": "12245:2:34", "nodeType": "YulLiteral", - "src": "12245:2:36", + "src": "12245:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "12227:6:36", + "nativeSrc": "12227:6:34", "nodeType": "YulIdentifier", - "src": "12227:6:36" + "src": "12227:6:34" }, - "nativeSrc": "12227:21:36", + "nativeSrc": "12227:21:34", "nodeType": "YulFunctionCall", - "src": "12227:21:36" + "src": "12227:21:34" }, - "nativeSrc": "12227:21:36", + "nativeSrc": "12227:21:34", "nodeType": "YulExpressionStatement", - "src": "12227:21:36" + "src": "12227:21:34" }, { "expression": { @@ -96263,51 +95273,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "12268:9:36", + "nativeSrc": "12268:9:34", "nodeType": "YulIdentifier", - "src": "12268:9:36" + "src": "12268:9:34" }, { "kind": "number", - "nativeSrc": "12279:2:36", + "nativeSrc": "12279:2:34", "nodeType": "YulLiteral", - "src": "12279:2:36", + "src": "12279:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "12264:3:36", + "nativeSrc": "12264:3:34", "nodeType": "YulIdentifier", - "src": "12264:3:36" + "src": "12264:3:34" }, - "nativeSrc": "12264:18:36", + "nativeSrc": "12264:18:34", "nodeType": "YulFunctionCall", - "src": "12264:18:36" + "src": "12264:18:34" }, { "kind": "number", - "nativeSrc": "12284:2:36", + "nativeSrc": "12284:2:34", "nodeType": "YulLiteral", - "src": "12284:2:36", + "src": "12284:2:34", "type": "", "value": "24" } ], "functionName": { "name": "mstore", - "nativeSrc": "12257:6:36", + "nativeSrc": "12257:6:34", "nodeType": "YulIdentifier", - "src": "12257:6:36" + "src": "12257:6:34" }, - "nativeSrc": "12257:30:36", + "nativeSrc": "12257:30:34", "nodeType": "YulFunctionCall", - "src": "12257:30:36" + "src": "12257:30:34" }, - "nativeSrc": "12257:30:36", + "nativeSrc": "12257:30:34", "nodeType": "YulExpressionStatement", - "src": "12257:30:36" + "src": "12257:30:34" }, { "expression": { @@ -96316,195 +95326,195 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "12307:9:36", + "nativeSrc": "12307:9:34", "nodeType": "YulIdentifier", - "src": "12307:9:36" + "src": "12307:9:34" }, { "kind": "number", - "nativeSrc": "12318:2:36", + "nativeSrc": "12318:2:34", "nodeType": "YulLiteral", - "src": "12318:2:36", + "src": "12318:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "12303:3:36", + "nativeSrc": "12303:3:34", "nodeType": "YulIdentifier", - "src": "12303:3:36" + "src": "12303:3:34" }, - "nativeSrc": "12303:18:36", + "nativeSrc": "12303:18:34", "nodeType": "YulFunctionCall", - "src": "12303:18:36" + "src": "12303:18:34" }, { "hexValue": "4167656e7420616c72656164792072656769737465726564", "kind": "string", - "nativeSrc": "12323:26:36", + "nativeSrc": "12323:26:34", "nodeType": "YulLiteral", - "src": "12323:26:36", + "src": "12323:26:34", "type": "", "value": "Agent already registered" } ], "functionName": { "name": "mstore", - "nativeSrc": "12296:6:36", + "nativeSrc": "12296:6:34", "nodeType": "YulIdentifier", - "src": "12296:6:36" + "src": "12296:6:34" }, - "nativeSrc": "12296:54:36", + "nativeSrc": "12296:54:34", "nodeType": "YulFunctionCall", - "src": "12296:54:36" + "src": "12296:54:34" }, - "nativeSrc": "12296:54:36", + "nativeSrc": "12296:54:34", "nodeType": "YulExpressionStatement", - "src": "12296:54:36" + "src": "12296:54:34" }, { - "nativeSrc": "12359:26:36", + "nativeSrc": "12359:26:34", "nodeType": "YulAssignment", - "src": "12359:26:36", + "src": "12359:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "12371:9:36", + "nativeSrc": "12371:9:34", "nodeType": "YulIdentifier", - "src": "12371:9:36" + "src": "12371:9:34" }, { "kind": "number", - "nativeSrc": "12382:2:36", + "nativeSrc": "12382:2:34", "nodeType": "YulLiteral", - "src": "12382:2:36", + "src": "12382:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "12367:3:36", + "nativeSrc": "12367:3:34", "nodeType": "YulIdentifier", - "src": "12367:3:36" + "src": "12367:3:34" }, - "nativeSrc": "12367:18:36", + "nativeSrc": "12367:18:34", "nodeType": "YulFunctionCall", - "src": "12367:18:36" + "src": "12367:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "12359:4:36", + "nativeSrc": "12359:4:34", "nodeType": "YulIdentifier", - "src": "12359:4:36" + "src": "12359:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "12043:348:36", + "nativeSrc": "12043:348:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "12194:9:36", + "nativeSrc": "12194:9:34", "nodeType": "YulTypedName", - "src": "12194:9:36", + "src": "12194:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "12208:4:36", + "nativeSrc": "12208:4:34", "nodeType": "YulTypedName", - "src": "12208:4:36", + "src": "12208:4:34", "type": "" } ], - "src": "12043:348:36" + "src": "12043:348:34" }, { "body": { - "nativeSrc": "12453:107:36", + "nativeSrc": "12453:107:34", "nodeType": "YulBlock", - "src": "12453:107:36", + "src": "12453:107:34", "statements": [ { - "nativeSrc": "12463:22:36", + "nativeSrc": "12463:22:34", "nodeType": "YulAssignment", - "src": "12463:22:36", + "src": "12463:22:34", "value": { "arguments": [ { "name": "offset", - "nativeSrc": "12478:6:36", + "nativeSrc": "12478:6:34", "nodeType": "YulIdentifier", - "src": "12478:6:36" + "src": "12478:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "12472:5:36", + "nativeSrc": "12472:5:34", "nodeType": "YulIdentifier", - "src": "12472:5:36" + "src": "12472:5:34" }, - "nativeSrc": "12472:13:36", + "nativeSrc": "12472:13:34", "nodeType": "YulFunctionCall", - "src": "12472:13:36" + "src": "12472:13:34" }, "variableNames": [ { "name": "value", - "nativeSrc": "12463:5:36", + "nativeSrc": "12463:5:34", "nodeType": "YulIdentifier", - "src": "12463:5:36" + "src": "12463:5:34" } ] }, { "body": { - "nativeSrc": "12538:16:36", + "nativeSrc": "12538:16:34", "nodeType": "YulBlock", - "src": "12538:16:36", + "src": "12538:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "12547:1:36", + "nativeSrc": "12547:1:34", "nodeType": "YulLiteral", - "src": "12547:1:36", + "src": "12547:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "12550:1:36", + "nativeSrc": "12550:1:34", "nodeType": "YulLiteral", - "src": "12550:1:36", + "src": "12550:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "12540:6:36", + "nativeSrc": "12540:6:34", "nodeType": "YulIdentifier", - "src": "12540:6:36" + "src": "12540:6:34" }, - "nativeSrc": "12540:12:36", + "nativeSrc": "12540:12:34", "nodeType": "YulFunctionCall", - "src": "12540:12:36" + "src": "12540:12:34" }, - "nativeSrc": "12540:12:36", + "nativeSrc": "12540:12:34", "nodeType": "YulExpressionStatement", - "src": "12540:12:36" + "src": "12540:12:34" } ] }, @@ -96514,9 +95524,9 @@ "arguments": [ { "name": "value", - "nativeSrc": "12507:5:36", + "nativeSrc": "12507:5:34", "nodeType": "YulIdentifier", - "src": "12507:5:36" + "src": "12507:5:34" }, { "arguments": [ @@ -96524,128 +95534,128 @@ "arguments": [ { "name": "value", - "nativeSrc": "12528:5:36", + "nativeSrc": "12528:5:34", "nodeType": "YulIdentifier", - "src": "12528:5:36" + "src": "12528:5:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "12521:6:36", + "nativeSrc": "12521:6:34", "nodeType": "YulIdentifier", - "src": "12521:6:36" + "src": "12521:6:34" }, - "nativeSrc": "12521:13:36", + "nativeSrc": "12521:13:34", "nodeType": "YulFunctionCall", - "src": "12521:13:36" + "src": "12521:13:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "12514:6:36", + "nativeSrc": "12514:6:34", "nodeType": "YulIdentifier", - "src": "12514:6:36" + "src": "12514:6:34" }, - "nativeSrc": "12514:21:36", + "nativeSrc": "12514:21:34", "nodeType": "YulFunctionCall", - "src": "12514:21:36" + "src": "12514:21:34" } ], "functionName": { "name": "eq", - "nativeSrc": "12504:2:36", + "nativeSrc": "12504:2:34", "nodeType": "YulIdentifier", - "src": "12504:2:36" + "src": "12504:2:34" }, - "nativeSrc": "12504:32:36", + "nativeSrc": "12504:32:34", "nodeType": "YulFunctionCall", - "src": "12504:32:36" + "src": "12504:32:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "12497:6:36", + "nativeSrc": "12497:6:34", "nodeType": "YulIdentifier", - "src": "12497:6:36" + "src": "12497:6:34" }, - "nativeSrc": "12497:40:36", + "nativeSrc": "12497:40:34", "nodeType": "YulFunctionCall", - "src": "12497:40:36" + "src": "12497:40:34" }, - "nativeSrc": "12494:60:36", + "nativeSrc": "12494:60:34", "nodeType": "YulIf", - "src": "12494:60:36" + "src": "12494:60:34" } ] }, "name": "abi_decode_bool_fromMemory", - "nativeSrc": "12396:164:36", + "nativeSrc": "12396:164:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "12432:6:36", + "nativeSrc": "12432:6:34", "nodeType": "YulTypedName", - "src": "12432:6:36", + "src": "12432:6:34", "type": "" } ], "returnVariables": [ { "name": "value", - "nativeSrc": "12443:5:36", + "nativeSrc": "12443:5:34", "nodeType": "YulTypedName", - "src": "12443:5:36", + "src": "12443:5:34", "type": "" } ], - "src": "12396:164:36" + "src": "12396:164:34" }, { "body": { - "nativeSrc": "12643:124:36", + "nativeSrc": "12643:124:34", "nodeType": "YulBlock", - "src": "12643:124:36", + "src": "12643:124:34", "statements": [ { "body": { - "nativeSrc": "12689:16:36", + "nativeSrc": "12689:16:34", "nodeType": "YulBlock", - "src": "12689:16:36", + "src": "12689:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "12698:1:36", + "nativeSrc": "12698:1:34", "nodeType": "YulLiteral", - "src": "12698:1:36", + "src": "12698:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "12701:1:36", + "nativeSrc": "12701:1:34", "nodeType": "YulLiteral", - "src": "12701:1:36", + "src": "12701:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "12691:6:36", + "nativeSrc": "12691:6:34", "nodeType": "YulIdentifier", - "src": "12691:6:36" + "src": "12691:6:34" }, - "nativeSrc": "12691:12:36", + "nativeSrc": "12691:12:34", "nodeType": "YulFunctionCall", - "src": "12691:12:36" + "src": "12691:12:34" }, - "nativeSrc": "12691:12:36", + "nativeSrc": "12691:12:34", "nodeType": "YulExpressionStatement", - "src": "12691:12:36" + "src": "12691:12:34" } ] }, @@ -96655,151 +95665,151 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "12664:7:36", + "nativeSrc": "12664:7:34", "nodeType": "YulIdentifier", - "src": "12664:7:36" + "src": "12664:7:34" }, { "name": "headStart", - "nativeSrc": "12673:9:36", + "nativeSrc": "12673:9:34", "nodeType": "YulIdentifier", - "src": "12673:9:36" + "src": "12673:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "12660:3:36", + "nativeSrc": "12660:3:34", "nodeType": "YulIdentifier", - "src": "12660:3:36" + "src": "12660:3:34" }, - "nativeSrc": "12660:23:36", + "nativeSrc": "12660:23:34", "nodeType": "YulFunctionCall", - "src": "12660:23:36" + "src": "12660:23:34" }, { "kind": "number", - "nativeSrc": "12685:2:36", + "nativeSrc": "12685:2:34", "nodeType": "YulLiteral", - "src": "12685:2:36", + "src": "12685:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "12656:3:36", + "nativeSrc": "12656:3:34", "nodeType": "YulIdentifier", - "src": "12656:3:36" + "src": "12656:3:34" }, - "nativeSrc": "12656:32:36", + "nativeSrc": "12656:32:34", "nodeType": "YulFunctionCall", - "src": "12656:32:36" + "src": "12656:32:34" }, - "nativeSrc": "12653:52:36", + "nativeSrc": "12653:52:34", "nodeType": "YulIf", - "src": "12653:52:36" + "src": "12653:52:34" }, { - "nativeSrc": "12714:47:36", + "nativeSrc": "12714:47:34", "nodeType": "YulAssignment", - "src": "12714:47:36", + "src": "12714:47:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "12751:9:36", + "nativeSrc": "12751:9:34", "nodeType": "YulIdentifier", - "src": "12751:9:36" + "src": "12751:9:34" } ], "functionName": { "name": "abi_decode_bool_fromMemory", - "nativeSrc": "12724:26:36", + "nativeSrc": "12724:26:34", "nodeType": "YulIdentifier", - "src": "12724:26:36" + "src": "12724:26:34" }, - "nativeSrc": "12724:37:36", + "nativeSrc": "12724:37:34", "nodeType": "YulFunctionCall", - "src": "12724:37:36" + "src": "12724:37:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "12714:6:36", + "nativeSrc": "12714:6:34", "nodeType": "YulIdentifier", - "src": "12714:6:36" + "src": "12714:6:34" } ] } ] }, "name": "abi_decode_tuple_t_bool_fromMemory", - "nativeSrc": "12565:202:36", + "nativeSrc": "12565:202:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "12609:9:36", + "nativeSrc": "12609:9:34", "nodeType": "YulTypedName", - "src": "12609:9:36", + "src": "12609:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "12620:7:36", + "nativeSrc": "12620:7:34", "nodeType": "YulTypedName", - "src": "12620:7:36", + "src": "12620:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "12632:6:36", + "nativeSrc": "12632:6:34", "nodeType": "YulTypedName", - "src": "12632:6:36", + "src": "12632:6:34", "type": "" } ], - "src": "12565:202:36" + "src": "12565:202:34" }, { "body": { - "nativeSrc": "12946:172:36", + "nativeSrc": "12946:172:34", "nodeType": "YulBlock", - "src": "12946:172:36", + "src": "12946:172:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "12963:9:36", + "nativeSrc": "12963:9:34", "nodeType": "YulIdentifier", - "src": "12963:9:36" + "src": "12963:9:34" }, { "kind": "number", - "nativeSrc": "12974:2:36", + "nativeSrc": "12974:2:34", "nodeType": "YulLiteral", - "src": "12974:2:36", + "src": "12974:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "12956:6:36", + "nativeSrc": "12956:6:34", "nodeType": "YulIdentifier", - "src": "12956:6:36" + "src": "12956:6:34" }, - "nativeSrc": "12956:21:36", + "nativeSrc": "12956:21:34", "nodeType": "YulFunctionCall", - "src": "12956:21:36" + "src": "12956:21:34" }, - "nativeSrc": "12956:21:36", + "nativeSrc": "12956:21:34", "nodeType": "YulExpressionStatement", - "src": "12956:21:36" + "src": "12956:21:34" }, { "expression": { @@ -96808,51 +95818,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "12997:9:36", + "nativeSrc": "12997:9:34", "nodeType": "YulIdentifier", - "src": "12997:9:36" + "src": "12997:9:34" }, { "kind": "number", - "nativeSrc": "13008:2:36", + "nativeSrc": "13008:2:34", "nodeType": "YulLiteral", - "src": "13008:2:36", + "src": "13008:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "12993:3:36", + "nativeSrc": "12993:3:34", "nodeType": "YulIdentifier", - "src": "12993:3:36" + "src": "12993:3:34" }, - "nativeSrc": "12993:18:36", + "nativeSrc": "12993:18:34", "nodeType": "YulFunctionCall", - "src": "12993:18:36" + "src": "12993:18:34" }, { "kind": "number", - "nativeSrc": "13013:2:36", + "nativeSrc": "13013:2:34", "nodeType": "YulLiteral", - "src": "13013:2:36", + "src": "13013:2:34", "type": "", "value": "22" } ], "functionName": { "name": "mstore", - "nativeSrc": "12986:6:36", + "nativeSrc": "12986:6:34", "nodeType": "YulIdentifier", - "src": "12986:6:36" + "src": "12986:6:34" }, - "nativeSrc": "12986:30:36", + "nativeSrc": "12986:30:34", "nodeType": "YulFunctionCall", - "src": "12986:30:36" + "src": "12986:30:34" }, - "nativeSrc": "12986:30:36", + "nativeSrc": "12986:30:34", "nodeType": "YulExpressionStatement", - "src": "12986:30:36" + "src": "12986:30:34" }, { "expression": { @@ -96861,161 +95871,161 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "13036:9:36", + "nativeSrc": "13036:9:34", "nodeType": "YulIdentifier", - "src": "13036:9:36" + "src": "13036:9:34" }, { "kind": "number", - "nativeSrc": "13047:2:36", + "nativeSrc": "13047:2:34", "nodeType": "YulLiteral", - "src": "13047:2:36", + "src": "13047:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "13032:3:36", + "nativeSrc": "13032:3:34", "nodeType": "YulIdentifier", - "src": "13032:3:36" + "src": "13032:3:34" }, - "nativeSrc": "13032:18:36", + "nativeSrc": "13032:18:34", "nodeType": "YulFunctionCall", - "src": "13032:18:36" + "src": "13032:18:34" }, { "hexValue": "53657276696365206e6f742072656769737465726564", "kind": "string", - "nativeSrc": "13052:24:36", + "nativeSrc": "13052:24:34", "nodeType": "YulLiteral", - "src": "13052:24:36", + "src": "13052:24:34", "type": "", "value": "Service not registered" } ], "functionName": { "name": "mstore", - "nativeSrc": "13025:6:36", + "nativeSrc": "13025:6:34", "nodeType": "YulIdentifier", - "src": "13025:6:36" + "src": "13025:6:34" }, - "nativeSrc": "13025:52:36", + "nativeSrc": "13025:52:34", "nodeType": "YulFunctionCall", - "src": "13025:52:36" + "src": "13025:52:34" }, - "nativeSrc": "13025:52:36", + "nativeSrc": "13025:52:34", "nodeType": "YulExpressionStatement", - "src": "13025:52:36" + "src": "13025:52:34" }, { - "nativeSrc": "13086:26:36", + "nativeSrc": "13086:26:34", "nodeType": "YulAssignment", - "src": "13086:26:36", + "src": "13086:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "13098:9:36", + "nativeSrc": "13098:9:34", "nodeType": "YulIdentifier", - "src": "13098:9:36" + "src": "13098:9:34" }, { "kind": "number", - "nativeSrc": "13109:2:36", + "nativeSrc": "13109:2:34", "nodeType": "YulLiteral", - "src": "13109:2:36", + "src": "13109:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "13094:3:36", + "nativeSrc": "13094:3:34", "nodeType": "YulIdentifier", - "src": "13094:3:36" + "src": "13094:3:34" }, - "nativeSrc": "13094:18:36", + "nativeSrc": "13094:18:34", "nodeType": "YulFunctionCall", - "src": "13094:18:36" + "src": "13094:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "13086:4:36", + "nativeSrc": "13086:4:34", "nodeType": "YulIdentifier", - "src": "13086:4:36" + "src": "13086:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "12772:346:36", + "nativeSrc": "12772:346:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "12923:9:36", + "nativeSrc": "12923:9:34", "nodeType": "YulTypedName", - "src": "12923:9:36", + "src": "12923:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "12937:4:36", + "nativeSrc": "12937:4:34", "nodeType": "YulTypedName", - "src": "12937:4:36", + "src": "12937:4:34", "type": "" } ], - "src": "12772:346:36" + "src": "12772:346:34" }, { "body": { - "nativeSrc": "13231:101:36", + "nativeSrc": "13231:101:34", "nodeType": "YulBlock", - "src": "13231:101:36", + "src": "13231:101:34", "statements": [ { - "nativeSrc": "13241:26:36", + "nativeSrc": "13241:26:34", "nodeType": "YulAssignment", - "src": "13241:26:36", + "src": "13241:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "13253:9:36", + "nativeSrc": "13253:9:34", "nodeType": "YulIdentifier", - "src": "13253:9:36" + "src": "13253:9:34" }, { "kind": "number", - "nativeSrc": "13264:2:36", + "nativeSrc": "13264:2:34", "nodeType": "YulLiteral", - "src": "13264:2:36", + "src": "13264:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "13249:3:36", + "nativeSrc": "13249:3:34", "nodeType": "YulIdentifier", - "src": "13249:3:36" + "src": "13249:3:34" }, - "nativeSrc": "13249:18:36", + "nativeSrc": "13249:18:34", "nodeType": "YulFunctionCall", - "src": "13249:18:36" + "src": "13249:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "13241:4:36", + "nativeSrc": "13241:4:34", "nodeType": "YulIdentifier", - "src": "13241:4:36" + "src": "13241:4:34" } ] }, @@ -97024,129 +96034,129 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "13283:9:36", + "nativeSrc": "13283:9:34", "nodeType": "YulIdentifier", - "src": "13283:9:36" + "src": "13283:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "13298:6:36", + "nativeSrc": "13298:6:34", "nodeType": "YulIdentifier", - "src": "13298:6:36" + "src": "13298:6:34" }, { "kind": "number", - "nativeSrc": "13306:18:36", + "nativeSrc": "13306:18:34", "nodeType": "YulLiteral", - "src": "13306:18:36", + "src": "13306:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "and", - "nativeSrc": "13294:3:36", + "nativeSrc": "13294:3:34", "nodeType": "YulIdentifier", - "src": "13294:3:36" + "src": "13294:3:34" }, - "nativeSrc": "13294:31:36", + "nativeSrc": "13294:31:34", "nodeType": "YulFunctionCall", - "src": "13294:31:36" + "src": "13294:31:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "13276:6:36", + "nativeSrc": "13276:6:34", "nodeType": "YulIdentifier", - "src": "13276:6:36" + "src": "13276:6:34" }, - "nativeSrc": "13276:50:36", + "nativeSrc": "13276:50:34", "nodeType": "YulFunctionCall", - "src": "13276:50:36" + "src": "13276:50:34" }, - "nativeSrc": "13276:50:36", + "nativeSrc": "13276:50:34", "nodeType": "YulExpressionStatement", - "src": "13276:50:36" + "src": "13276:50:34" } ] }, "name": "abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed", - "nativeSrc": "13123:209:36", + "nativeSrc": "13123:209:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "13200:9:36", + "nativeSrc": "13200:9:34", "nodeType": "YulTypedName", - "src": "13200:9:36", + "src": "13200:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "13211:6:36", + "nativeSrc": "13211:6:34", "nodeType": "YulTypedName", - "src": "13211:6:36", + "src": "13211:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "13222:4:36", + "nativeSrc": "13222:4:34", "nodeType": "YulTypedName", - "src": "13222:4:36", + "src": "13222:4:34", "type": "" } ], - "src": "13123:209:36" + "src": "13123:209:34" }, { "body": { - "nativeSrc": "13401:379:36", + "nativeSrc": "13401:379:34", "nodeType": "YulBlock", - "src": "13401:379:36", + "src": "13401:379:34", "statements": [ { "body": { - "nativeSrc": "13450:16:36", + "nativeSrc": "13450:16:34", "nodeType": "YulBlock", - "src": "13450:16:36", + "src": "13450:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "13459:1:36", + "nativeSrc": "13459:1:34", "nodeType": "YulLiteral", - "src": "13459:1:36", + "src": "13459:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "13462:1:36", + "nativeSrc": "13462:1:34", "nodeType": "YulLiteral", - "src": "13462:1:36", + "src": "13462:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "13452:6:36", + "nativeSrc": "13452:6:34", "nodeType": "YulIdentifier", - "src": "13452:6:36" + "src": "13452:6:34" }, - "nativeSrc": "13452:12:36", + "nativeSrc": "13452:12:34", "nodeType": "YulFunctionCall", - "src": "13452:12:36" + "src": "13452:12:34" }, - "nativeSrc": "13452:12:36", + "nativeSrc": "13452:12:34", "nodeType": "YulExpressionStatement", - "src": "13452:12:36" + "src": "13452:12:34" } ] }, @@ -97158,136 +96168,136 @@ "arguments": [ { "name": "offset", - "nativeSrc": "13429:6:36", + "nativeSrc": "13429:6:34", "nodeType": "YulIdentifier", - "src": "13429:6:36" + "src": "13429:6:34" }, { "kind": "number", - "nativeSrc": "13437:4:36", + "nativeSrc": "13437:4:34", "nodeType": "YulLiteral", - "src": "13437:4:36", + "src": "13437:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "13425:3:36", + "nativeSrc": "13425:3:34", "nodeType": "YulIdentifier", - "src": "13425:3:36" + "src": "13425:3:34" }, - "nativeSrc": "13425:17:36", + "nativeSrc": "13425:17:34", "nodeType": "YulFunctionCall", - "src": "13425:17:36" + "src": "13425:17:34" }, { "name": "end", - "nativeSrc": "13444:3:36", + "nativeSrc": "13444:3:34", "nodeType": "YulIdentifier", - "src": "13444:3:36" + "src": "13444:3:34" } ], "functionName": { "name": "slt", - "nativeSrc": "13421:3:36", + "nativeSrc": "13421:3:34", "nodeType": "YulIdentifier", - "src": "13421:3:36" + "src": "13421:3:34" }, - "nativeSrc": "13421:27:36", + "nativeSrc": "13421:27:34", "nodeType": "YulFunctionCall", - "src": "13421:27:36" + "src": "13421:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "13414:6:36", + "nativeSrc": "13414:6:34", "nodeType": "YulIdentifier", - "src": "13414:6:36" + "src": "13414:6:34" }, - "nativeSrc": "13414:35:36", + "nativeSrc": "13414:35:34", "nodeType": "YulFunctionCall", - "src": "13414:35:36" + "src": "13414:35:34" }, - "nativeSrc": "13411:55:36", + "nativeSrc": "13411:55:34", "nodeType": "YulIf", - "src": "13411:55:36" + "src": "13411:55:34" }, { - "nativeSrc": "13475:23:36", + "nativeSrc": "13475:23:34", "nodeType": "YulVariableDeclaration", - "src": "13475:23:36", + "src": "13475:23:34", "value": { "arguments": [ { "name": "offset", - "nativeSrc": "13491:6:36", + "nativeSrc": "13491:6:34", "nodeType": "YulIdentifier", - "src": "13491:6:36" + "src": "13491:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "13485:5:36", + "nativeSrc": "13485:5:34", "nodeType": "YulIdentifier", - "src": "13485:5:36" + "src": "13485:5:34" }, - "nativeSrc": "13485:13:36", + "nativeSrc": "13485:13:34", "nodeType": "YulFunctionCall", - "src": "13485:13:36" + "src": "13485:13:34" }, "variables": [ { "name": "_1", - "nativeSrc": "13479:2:36", + "nativeSrc": "13479:2:34", "nodeType": "YulTypedName", - "src": "13479:2:36", + "src": "13479:2:34", "type": "" } ] }, { - "nativeSrc": "13507:64:36", + "nativeSrc": "13507:64:34", "nodeType": "YulVariableDeclaration", - "src": "13507:64:36", + "src": "13507:64:34", "value": { "arguments": [ { "arguments": [ { "name": "_1", - "nativeSrc": "13567:2:36", + "nativeSrc": "13567:2:34", "nodeType": "YulIdentifier", - "src": "13567:2:36" + "src": "13567:2:34" } ], "functionName": { "name": "array_allocation_size_string", - "nativeSrc": "13538:28:36", + "nativeSrc": "13538:28:34", "nodeType": "YulIdentifier", - "src": "13538:28:36" + "src": "13538:28:34" }, - "nativeSrc": "13538:32:36", + "nativeSrc": "13538:32:34", "nodeType": "YulFunctionCall", - "src": "13538:32:36" + "src": "13538:32:34" } ], "functionName": { "name": "allocate_memory", - "nativeSrc": "13522:15:36", + "nativeSrc": "13522:15:34", "nodeType": "YulIdentifier", - "src": "13522:15:36" + "src": "13522:15:34" }, - "nativeSrc": "13522:49:36", + "nativeSrc": "13522:49:34", "nodeType": "YulFunctionCall", - "src": "13522:49:36" + "src": "13522:49:34" }, "variables": [ { "name": "array_1", - "nativeSrc": "13511:7:36", + "nativeSrc": "13511:7:34", "nodeType": "YulTypedName", - "src": "13511:7:36", + "src": "13511:7:34", "type": "" } ] @@ -97297,70 +96307,70 @@ "arguments": [ { "name": "array_1", - "nativeSrc": "13587:7:36", + "nativeSrc": "13587:7:34", "nodeType": "YulIdentifier", - "src": "13587:7:36" + "src": "13587:7:34" }, { "name": "_1", - "nativeSrc": "13596:2:36", + "nativeSrc": "13596:2:34", "nodeType": "YulIdentifier", - "src": "13596:2:36" + "src": "13596:2:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "13580:6:36", + "nativeSrc": "13580:6:34", "nodeType": "YulIdentifier", - "src": "13580:6:36" + "src": "13580:6:34" }, - "nativeSrc": "13580:19:36", + "nativeSrc": "13580:19:34", "nodeType": "YulFunctionCall", - "src": "13580:19:36" + "src": "13580:19:34" }, - "nativeSrc": "13580:19:36", + "nativeSrc": "13580:19:34", "nodeType": "YulExpressionStatement", - "src": "13580:19:36" + "src": "13580:19:34" }, { "body": { - "nativeSrc": "13647:16:36", + "nativeSrc": "13647:16:34", "nodeType": "YulBlock", - "src": "13647:16:36", + "src": "13647:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "13656:1:36", + "nativeSrc": "13656:1:34", "nodeType": "YulLiteral", - "src": "13656:1:36", + "src": "13656:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "13659:1:36", + "nativeSrc": "13659:1:34", "nodeType": "YulLiteral", - "src": "13659:1:36", + "src": "13659:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "13649:6:36", + "nativeSrc": "13649:6:34", "nodeType": "YulIdentifier", - "src": "13649:6:36" + "src": "13649:6:34" }, - "nativeSrc": "13649:12:36", + "nativeSrc": "13649:12:34", "nodeType": "YulFunctionCall", - "src": "13649:12:36" + "src": "13649:12:34" }, - "nativeSrc": "13649:12:36", + "nativeSrc": "13649:12:34", "nodeType": "YulExpressionStatement", - "src": "13649:12:36" + "src": "13649:12:34" } ] }, @@ -97372,66 +96382,66 @@ "arguments": [ { "name": "offset", - "nativeSrc": "13622:6:36", + "nativeSrc": "13622:6:34", "nodeType": "YulIdentifier", - "src": "13622:6:36" + "src": "13622:6:34" }, { "name": "_1", - "nativeSrc": "13630:2:36", + "nativeSrc": "13630:2:34", "nodeType": "YulIdentifier", - "src": "13630:2:36" + "src": "13630:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "13618:3:36", + "nativeSrc": "13618:3:34", "nodeType": "YulIdentifier", - "src": "13618:3:36" + "src": "13618:3:34" }, - "nativeSrc": "13618:15:36", + "nativeSrc": "13618:15:34", "nodeType": "YulFunctionCall", - "src": "13618:15:36" + "src": "13618:15:34" }, { "kind": "number", - "nativeSrc": "13635:4:36", + "nativeSrc": "13635:4:34", "nodeType": "YulLiteral", - "src": "13635:4:36", + "src": "13635:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "13614:3:36", + "nativeSrc": "13614:3:34", "nodeType": "YulIdentifier", - "src": "13614:3:36" + "src": "13614:3:34" }, - "nativeSrc": "13614:26:36", + "nativeSrc": "13614:26:34", "nodeType": "YulFunctionCall", - "src": "13614:26:36" + "src": "13614:26:34" }, { "name": "end", - "nativeSrc": "13642:3:36", + "nativeSrc": "13642:3:34", "nodeType": "YulIdentifier", - "src": "13642:3:36" + "src": "13642:3:34" } ], "functionName": { "name": "gt", - "nativeSrc": "13611:2:36", + "nativeSrc": "13611:2:34", "nodeType": "YulIdentifier", - "src": "13611:2:36" + "src": "13611:2:34" }, - "nativeSrc": "13611:35:36", + "nativeSrc": "13611:35:34", "nodeType": "YulFunctionCall", - "src": "13611:35:36" + "src": "13611:35:34" }, - "nativeSrc": "13608:55:36", + "nativeSrc": "13608:55:34", "nodeType": "YulIf", - "src": "13608:55:36" + "src": "13608:55:34" }, { "expression": { @@ -97440,163 +96450,163 @@ "arguments": [ { "name": "offset", - "nativeSrc": "13711:6:36", + "nativeSrc": "13711:6:34", "nodeType": "YulIdentifier", - "src": "13711:6:36" + "src": "13711:6:34" }, { "kind": "number", - "nativeSrc": "13719:4:36", + "nativeSrc": "13719:4:34", "nodeType": "YulLiteral", - "src": "13719:4:36", + "src": "13719:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "13707:3:36", + "nativeSrc": "13707:3:34", "nodeType": "YulIdentifier", - "src": "13707:3:36" + "src": "13707:3:34" }, - "nativeSrc": "13707:17:36", + "nativeSrc": "13707:17:34", "nodeType": "YulFunctionCall", - "src": "13707:17:36" + "src": "13707:17:34" }, { "arguments": [ { "name": "array_1", - "nativeSrc": "13730:7:36", + "nativeSrc": "13730:7:34", "nodeType": "YulIdentifier", - "src": "13730:7:36" + "src": "13730:7:34" }, { "kind": "number", - "nativeSrc": "13739:4:36", + "nativeSrc": "13739:4:34", "nodeType": "YulLiteral", - "src": "13739:4:36", + "src": "13739:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "13726:3:36", + "nativeSrc": "13726:3:34", "nodeType": "YulIdentifier", - "src": "13726:3:36" + "src": "13726:3:34" }, - "nativeSrc": "13726:18:36", + "nativeSrc": "13726:18:34", "nodeType": "YulFunctionCall", - "src": "13726:18:36" + "src": "13726:18:34" }, { "name": "_1", - "nativeSrc": "13746:2:36", + "nativeSrc": "13746:2:34", "nodeType": "YulIdentifier", - "src": "13746:2:36" + "src": "13746:2:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "13672:34:36", + "nativeSrc": "13672:34:34", "nodeType": "YulIdentifier", - "src": "13672:34:36" + "src": "13672:34:34" }, - "nativeSrc": "13672:77:36", + "nativeSrc": "13672:77:34", "nodeType": "YulFunctionCall", - "src": "13672:77:36" + "src": "13672:77:34" }, - "nativeSrc": "13672:77:36", + "nativeSrc": "13672:77:34", "nodeType": "YulExpressionStatement", - "src": "13672:77:36" + "src": "13672:77:34" }, { - "nativeSrc": "13758:16:36", + "nativeSrc": "13758:16:34", "nodeType": "YulAssignment", - "src": "13758:16:36", + "src": "13758:16:34", "value": { "name": "array_1", - "nativeSrc": "13767:7:36", + "nativeSrc": "13767:7:34", "nodeType": "YulIdentifier", - "src": "13767:7:36" + "src": "13767:7:34" }, "variableNames": [ { "name": "array", - "nativeSrc": "13758:5:36", + "nativeSrc": "13758:5:34", "nodeType": "YulIdentifier", - "src": "13758:5:36" + "src": "13758:5:34" } ] } ] }, "name": "abi_decode_string_fromMemory", - "nativeSrc": "13337:443:36", + "nativeSrc": "13337:443:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "13375:6:36", + "nativeSrc": "13375:6:34", "nodeType": "YulTypedName", - "src": "13375:6:36", + "src": "13375:6:34", "type": "" }, { "name": "end", - "nativeSrc": "13383:3:36", + "nativeSrc": "13383:3:34", "nodeType": "YulTypedName", - "src": "13383:3:36", + "src": "13383:3:34", "type": "" } ], "returnVariables": [ { "name": "array", - "nativeSrc": "13391:5:36", + "nativeSrc": "13391:5:34", "nodeType": "YulTypedName", - "src": "13391:5:36", + "src": "13391:5:34", "type": "" } ], - "src": "13337:443:36" + "src": "13337:443:34" }, { "body": { - "nativeSrc": "13845:78:36", + "nativeSrc": "13845:78:34", "nodeType": "YulBlock", - "src": "13845:78:36", + "src": "13845:78:34", "statements": [ { - "nativeSrc": "13855:22:36", + "nativeSrc": "13855:22:34", "nodeType": "YulAssignment", - "src": "13855:22:36", + "src": "13855:22:34", "value": { "arguments": [ { "name": "offset", - "nativeSrc": "13870:6:36", + "nativeSrc": "13870:6:34", "nodeType": "YulIdentifier", - "src": "13870:6:36" + "src": "13870:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "13864:5:36", + "nativeSrc": "13864:5:34", "nodeType": "YulIdentifier", - "src": "13864:5:36" + "src": "13864:5:34" }, - "nativeSrc": "13864:13:36", + "nativeSrc": "13864:13:34", "nodeType": "YulFunctionCall", - "src": "13864:13:36" + "src": "13864:13:34" }, "variableNames": [ { "name": "value", - "nativeSrc": "13855:5:36", + "nativeSrc": "13855:5:34", "nodeType": "YulIdentifier", - "src": "13855:5:36" + "src": "13855:5:34" } ] }, @@ -97605,95 +96615,95 @@ "arguments": [ { "name": "value", - "nativeSrc": "13911:5:36", + "nativeSrc": "13911:5:34", "nodeType": "YulIdentifier", - "src": "13911:5:36" + "src": "13911:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "13886:24:36", + "nativeSrc": "13886:24:34", "nodeType": "YulIdentifier", - "src": "13886:24:36" + "src": "13886:24:34" }, - "nativeSrc": "13886:31:36", + "nativeSrc": "13886:31:34", "nodeType": "YulFunctionCall", - "src": "13886:31:36" + "src": "13886:31:34" }, - "nativeSrc": "13886:31:36", + "nativeSrc": "13886:31:34", "nodeType": "YulExpressionStatement", - "src": "13886:31:36" + "src": "13886:31:34" } ] }, "name": "abi_decode_address_fromMemory", - "nativeSrc": "13785:138:36", + "nativeSrc": "13785:138:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "13824:6:36", + "nativeSrc": "13824:6:34", "nodeType": "YulTypedName", - "src": "13824:6:36", + "src": "13824:6:34", "type": "" } ], "returnVariables": [ { "name": "value", - "nativeSrc": "13835:5:36", + "nativeSrc": "13835:5:34", "nodeType": "YulTypedName", - "src": "13835:5:36", + "src": "13835:5:34", "type": "" } ], - "src": "13785:138:36" + "src": "13785:138:34" }, { "body": { - "nativeSrc": "14036:944:36", + "nativeSrc": "14036:944:34", "nodeType": "YulBlock", - "src": "14036:944:36", + "src": "14036:944:34", "statements": [ { "body": { - "nativeSrc": "14082:16:36", + "nativeSrc": "14082:16:34", "nodeType": "YulBlock", - "src": "14082:16:36", + "src": "14082:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "14091:1:36", + "nativeSrc": "14091:1:34", "nodeType": "YulLiteral", - "src": "14091:1:36", + "src": "14091:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "14094:1:36", + "nativeSrc": "14094:1:34", "nodeType": "YulLiteral", - "src": "14094:1:36", + "src": "14094:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "14084:6:36", + "nativeSrc": "14084:6:34", "nodeType": "YulIdentifier", - "src": "14084:6:36" + "src": "14084:6:34" }, - "nativeSrc": "14084:12:36", + "nativeSrc": "14084:12:34", "nodeType": "YulFunctionCall", - "src": "14084:12:36" + "src": "14084:12:34" }, - "nativeSrc": "14084:12:36", + "nativeSrc": "14084:12:34", "nodeType": "YulExpressionStatement", - "src": "14084:12:36" + "src": "14084:12:34" } ] }, @@ -97703,144 +96713,144 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "14057:7:36", + "nativeSrc": "14057:7:34", "nodeType": "YulIdentifier", - "src": "14057:7:36" + "src": "14057:7:34" }, { "name": "headStart", - "nativeSrc": "14066:9:36", + "nativeSrc": "14066:9:34", "nodeType": "YulIdentifier", - "src": "14066:9:36" + "src": "14066:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "14053:3:36", + "nativeSrc": "14053:3:34", "nodeType": "YulIdentifier", - "src": "14053:3:36" + "src": "14053:3:34" }, - "nativeSrc": "14053:23:36", + "nativeSrc": "14053:23:34", "nodeType": "YulFunctionCall", - "src": "14053:23:36" + "src": "14053:23:34" }, { "kind": "number", - "nativeSrc": "14078:2:36", + "nativeSrc": "14078:2:34", "nodeType": "YulLiteral", - "src": "14078:2:36", + "src": "14078:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "14049:3:36", + "nativeSrc": "14049:3:34", "nodeType": "YulIdentifier", - "src": "14049:3:36" + "src": "14049:3:34" }, - "nativeSrc": "14049:32:36", + "nativeSrc": "14049:32:34", "nodeType": "YulFunctionCall", - "src": "14049:32:36" + "src": "14049:32:34" }, - "nativeSrc": "14046:52:36", + "nativeSrc": "14046:52:34", "nodeType": "YulIf", - "src": "14046:52:36" + "src": "14046:52:34" }, { - "nativeSrc": "14107:30:36", + "nativeSrc": "14107:30:34", "nodeType": "YulVariableDeclaration", - "src": "14107:30:36", + "src": "14107:30:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "14127:9:36", + "nativeSrc": "14127:9:34", "nodeType": "YulIdentifier", - "src": "14127:9:36" + "src": "14127:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "14121:5:36", + "nativeSrc": "14121:5:34", "nodeType": "YulIdentifier", - "src": "14121:5:36" + "src": "14121:5:34" }, - "nativeSrc": "14121:16:36", + "nativeSrc": "14121:16:34", "nodeType": "YulFunctionCall", - "src": "14121:16:36" + "src": "14121:16:34" }, "variables": [ { "name": "offset", - "nativeSrc": "14111:6:36", + "nativeSrc": "14111:6:34", "nodeType": "YulTypedName", - "src": "14111:6:36", + "src": "14111:6:34", "type": "" } ] }, { - "nativeSrc": "14146:28:36", + "nativeSrc": "14146:28:34", "nodeType": "YulVariableDeclaration", - "src": "14146:28:36", + "src": "14146:28:34", "value": { "kind": "number", - "nativeSrc": "14156:18:36", + "nativeSrc": "14156:18:34", "nodeType": "YulLiteral", - "src": "14156:18:36", + "src": "14156:18:34", "type": "", "value": "0xffffffffffffffff" }, "variables": [ { "name": "_1", - "nativeSrc": "14150:2:36", + "nativeSrc": "14150:2:34", "nodeType": "YulTypedName", - "src": "14150:2:36", + "src": "14150:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "14201:16:36", + "nativeSrc": "14201:16:34", "nodeType": "YulBlock", - "src": "14201:16:36", + "src": "14201:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "14210:1:36", + "nativeSrc": "14210:1:34", "nodeType": "YulLiteral", - "src": "14210:1:36", + "src": "14210:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "14213:1:36", + "nativeSrc": "14213:1:34", "nodeType": "YulLiteral", - "src": "14213:1:36", + "src": "14213:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "14203:6:36", + "nativeSrc": "14203:6:34", "nodeType": "YulIdentifier", - "src": "14203:6:36" + "src": "14203:6:34" }, - "nativeSrc": "14203:12:36", + "nativeSrc": "14203:12:34", "nodeType": "YulFunctionCall", - "src": "14203:12:36" + "src": "14203:12:34" }, - "nativeSrc": "14203:12:36", + "nativeSrc": "14203:12:34", "nodeType": "YulExpressionStatement", - "src": "14203:12:36" + "src": "14203:12:34" } ] }, @@ -97848,109 +96858,109 @@ "arguments": [ { "name": "offset", - "nativeSrc": "14189:6:36", + "nativeSrc": "14189:6:34", "nodeType": "YulIdentifier", - "src": "14189:6:36" + "src": "14189:6:34" }, { "name": "_1", - "nativeSrc": "14197:2:36", + "nativeSrc": "14197:2:34", "nodeType": "YulIdentifier", - "src": "14197:2:36" + "src": "14197:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "14186:2:36", + "nativeSrc": "14186:2:34", "nodeType": "YulIdentifier", - "src": "14186:2:36" + "src": "14186:2:34" }, - "nativeSrc": "14186:14:36", + "nativeSrc": "14186:14:34", "nodeType": "YulFunctionCall", - "src": "14186:14:36" + "src": "14186:14:34" }, - "nativeSrc": "14183:34:36", + "nativeSrc": "14183:34:34", "nodeType": "YulIf", - "src": "14183:34:36" + "src": "14183:34:34" }, { - "nativeSrc": "14226:32:36", + "nativeSrc": "14226:32:34", "nodeType": "YulVariableDeclaration", - "src": "14226:32:36", + "src": "14226:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "14240:9:36", + "nativeSrc": "14240:9:34", "nodeType": "YulIdentifier", - "src": "14240:9:36" + "src": "14240:9:34" }, { "name": "offset", - "nativeSrc": "14251:6:36", + "nativeSrc": "14251:6:34", "nodeType": "YulIdentifier", - "src": "14251:6:36" + "src": "14251:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "14236:3:36", + "nativeSrc": "14236:3:34", "nodeType": "YulIdentifier", - "src": "14236:3:36" + "src": "14236:3:34" }, - "nativeSrc": "14236:22:36", + "nativeSrc": "14236:22:34", "nodeType": "YulFunctionCall", - "src": "14236:22:36" + "src": "14236:22:34" }, "variables": [ { "name": "_2", - "nativeSrc": "14230:2:36", + "nativeSrc": "14230:2:34", "nodeType": "YulTypedName", - "src": "14230:2:36", + "src": "14230:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "14298:16:36", + "nativeSrc": "14298:16:34", "nodeType": "YulBlock", - "src": "14298:16:36", + "src": "14298:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "14307:1:36", + "nativeSrc": "14307:1:34", "nodeType": "YulLiteral", - "src": "14307:1:36", + "src": "14307:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "14310:1:36", + "nativeSrc": "14310:1:34", "nodeType": "YulLiteral", - "src": "14310:1:36", + "src": "14310:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "14300:6:36", + "nativeSrc": "14300:6:34", "nodeType": "YulIdentifier", - "src": "14300:6:36" + "src": "14300:6:34" }, - "nativeSrc": "14300:12:36", + "nativeSrc": "14300:12:34", "nodeType": "YulFunctionCall", - "src": "14300:12:36" + "src": "14300:12:34" }, - "nativeSrc": "14300:12:36", + "nativeSrc": "14300:12:34", "nodeType": "YulExpressionStatement", - "src": "14300:12:36" + "src": "14300:12:34" } ] }, @@ -97960,148 +96970,148 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "14278:7:36", + "nativeSrc": "14278:7:34", "nodeType": "YulIdentifier", - "src": "14278:7:36" + "src": "14278:7:34" }, { "name": "_2", - "nativeSrc": "14287:2:36", + "nativeSrc": "14287:2:34", "nodeType": "YulIdentifier", - "src": "14287:2:36" + "src": "14287:2:34" } ], "functionName": { "name": "sub", - "nativeSrc": "14274:3:36", + "nativeSrc": "14274:3:34", "nodeType": "YulIdentifier", - "src": "14274:3:36" + "src": "14274:3:34" }, - "nativeSrc": "14274:16:36", + "nativeSrc": "14274:16:34", "nodeType": "YulFunctionCall", - "src": "14274:16:36" + "src": "14274:16:34" }, { "kind": "number", - "nativeSrc": "14292:4:36", + "nativeSrc": "14292:4:34", "nodeType": "YulLiteral", - "src": "14292:4:36", + "src": "14292:4:34", "type": "", "value": "0xc0" } ], "functionName": { "name": "slt", - "nativeSrc": "14270:3:36", + "nativeSrc": "14270:3:34", "nodeType": "YulIdentifier", - "src": "14270:3:36" + "src": "14270:3:34" }, - "nativeSrc": "14270:27:36", + "nativeSrc": "14270:27:34", "nodeType": "YulFunctionCall", - "src": "14270:27:36" + "src": "14270:27:34" }, - "nativeSrc": "14267:47:36", + "nativeSrc": "14267:47:34", "nodeType": "YulIf", - "src": "14267:47:36" + "src": "14267:47:34" }, { - "nativeSrc": "14323:35:36", + "nativeSrc": "14323:35:34", "nodeType": "YulVariableDeclaration", - "src": "14323:35:36", + "src": "14323:35:34", "value": { "arguments": [], "functionName": { "name": "allocate_memory_3052", - "nativeSrc": "14336:20:36", + "nativeSrc": "14336:20:34", "nodeType": "YulIdentifier", - "src": "14336:20:36" + "src": "14336:20:34" }, - "nativeSrc": "14336:22:36", + "nativeSrc": "14336:22:34", "nodeType": "YulFunctionCall", - "src": "14336:22:36" + "src": "14336:22:34" }, "variables": [ { "name": "value", - "nativeSrc": "14327:5:36", + "nativeSrc": "14327:5:34", "nodeType": "YulTypedName", - "src": "14327:5:36", + "src": "14327:5:34", "type": "" } ] }, { - "nativeSrc": "14367:25:36", + "nativeSrc": "14367:25:34", "nodeType": "YulVariableDeclaration", - "src": "14367:25:36", + "src": "14367:25:34", "value": { "arguments": [ { "name": "_2", - "nativeSrc": "14389:2:36", + "nativeSrc": "14389:2:34", "nodeType": "YulIdentifier", - "src": "14389:2:36" + "src": "14389:2:34" } ], "functionName": { "name": "mload", - "nativeSrc": "14383:5:36", + "nativeSrc": "14383:5:34", "nodeType": "YulIdentifier", - "src": "14383:5:36" + "src": "14383:5:34" }, - "nativeSrc": "14383:9:36", + "nativeSrc": "14383:9:34", "nodeType": "YulFunctionCall", - "src": "14383:9:36" + "src": "14383:9:34" }, "variables": [ { "name": "offset_1", - "nativeSrc": "14371:8:36", + "nativeSrc": "14371:8:34", "nodeType": "YulTypedName", - "src": "14371:8:36", + "src": "14371:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "14421:16:36", + "nativeSrc": "14421:16:34", "nodeType": "YulBlock", - "src": "14421:16:36", + "src": "14421:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "14430:1:36", + "nativeSrc": "14430:1:34", "nodeType": "YulLiteral", - "src": "14430:1:36", + "src": "14430:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "14433:1:36", + "nativeSrc": "14433:1:34", "nodeType": "YulLiteral", - "src": "14433:1:36", + "src": "14433:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "14423:6:36", + "nativeSrc": "14423:6:34", "nodeType": "YulIdentifier", - "src": "14423:6:36" + "src": "14423:6:34" }, - "nativeSrc": "14423:12:36", + "nativeSrc": "14423:12:34", "nodeType": "YulFunctionCall", - "src": "14423:12:36" + "src": "14423:12:34" }, - "nativeSrc": "14423:12:36", + "nativeSrc": "14423:12:34", "nodeType": "YulExpressionStatement", - "src": "14423:12:36" + "src": "14423:12:34" } ] }, @@ -98109,39 +97119,39 @@ "arguments": [ { "name": "offset_1", - "nativeSrc": "14407:8:36", + "nativeSrc": "14407:8:34", "nodeType": "YulIdentifier", - "src": "14407:8:36" + "src": "14407:8:34" }, { "name": "_1", - "nativeSrc": "14417:2:36", + "nativeSrc": "14417:2:34", "nodeType": "YulIdentifier", - "src": "14417:2:36" + "src": "14417:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "14404:2:36", + "nativeSrc": "14404:2:34", "nodeType": "YulIdentifier", - "src": "14404:2:36" + "src": "14404:2:34" }, - "nativeSrc": "14404:16:36", + "nativeSrc": "14404:16:34", "nodeType": "YulFunctionCall", - "src": "14404:16:36" + "src": "14404:16:34" }, - "nativeSrc": "14401:36:36", + "nativeSrc": "14401:36:34", "nodeType": "YulIf", - "src": "14401:36:36" + "src": "14401:36:34" }, { "expression": { "arguments": [ { "name": "value", - "nativeSrc": "14453:5:36", + "nativeSrc": "14453:5:34", "nodeType": "YulIdentifier", - "src": "14453:5:36" + "src": "14453:5:34" }, { "arguments": [ @@ -98149,152 +97159,152 @@ "arguments": [ { "name": "_2", - "nativeSrc": "14493:2:36", + "nativeSrc": "14493:2:34", "nodeType": "YulIdentifier", - "src": "14493:2:36" + "src": "14493:2:34" }, { "name": "offset_1", - "nativeSrc": "14497:8:36", + "nativeSrc": "14497:8:34", "nodeType": "YulIdentifier", - "src": "14497:8:36" + "src": "14497:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "14489:3:36", + "nativeSrc": "14489:3:34", "nodeType": "YulIdentifier", - "src": "14489:3:36" + "src": "14489:3:34" }, - "nativeSrc": "14489:17:36", + "nativeSrc": "14489:17:34", "nodeType": "YulFunctionCall", - "src": "14489:17:36" + "src": "14489:17:34" }, { "name": "dataEnd", - "nativeSrc": "14508:7:36", + "nativeSrc": "14508:7:34", "nodeType": "YulIdentifier", - "src": "14508:7:36" + "src": "14508:7:34" } ], "functionName": { "name": "abi_decode_string_fromMemory", - "nativeSrc": "14460:28:36", + "nativeSrc": "14460:28:34", "nodeType": "YulIdentifier", - "src": "14460:28:36" + "src": "14460:28:34" }, - "nativeSrc": "14460:56:36", + "nativeSrc": "14460:56:34", "nodeType": "YulFunctionCall", - "src": "14460:56:36" + "src": "14460:56:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "14446:6:36", + "nativeSrc": "14446:6:34", "nodeType": "YulIdentifier", - "src": "14446:6:36" + "src": "14446:6:34" }, - "nativeSrc": "14446:71:36", + "nativeSrc": "14446:71:34", "nodeType": "YulFunctionCall", - "src": "14446:71:36" + "src": "14446:71:34" }, - "nativeSrc": "14446:71:36", + "nativeSrc": "14446:71:34", "nodeType": "YulExpressionStatement", - "src": "14446:71:36" + "src": "14446:71:34" }, { - "nativeSrc": "14526:34:36", + "nativeSrc": "14526:34:34", "nodeType": "YulVariableDeclaration", - "src": "14526:34:36", + "src": "14526:34:34", "value": { "arguments": [ { "arguments": [ { "name": "_2", - "nativeSrc": "14552:2:36", + "nativeSrc": "14552:2:34", "nodeType": "YulIdentifier", - "src": "14552:2:36" + "src": "14552:2:34" }, { "kind": "number", - "nativeSrc": "14556:2:36", + "nativeSrc": "14556:2:34", "nodeType": "YulLiteral", - "src": "14556:2:36", + "src": "14556:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "14548:3:36", + "nativeSrc": "14548:3:34", "nodeType": "YulIdentifier", - "src": "14548:3:36" + "src": "14548:3:34" }, - "nativeSrc": "14548:11:36", + "nativeSrc": "14548:11:34", "nodeType": "YulFunctionCall", - "src": "14548:11:36" + "src": "14548:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "14542:5:36", + "nativeSrc": "14542:5:34", "nodeType": "YulIdentifier", - "src": "14542:5:36" + "src": "14542:5:34" }, - "nativeSrc": "14542:18:36", + "nativeSrc": "14542:18:34", "nodeType": "YulFunctionCall", - "src": "14542:18:36" + "src": "14542:18:34" }, "variables": [ { "name": "offset_2", - "nativeSrc": "14530:8:36", + "nativeSrc": "14530:8:34", "nodeType": "YulTypedName", - "src": "14530:8:36", + "src": "14530:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "14589:16:36", + "nativeSrc": "14589:16:34", "nodeType": "YulBlock", - "src": "14589:16:36", + "src": "14589:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "14598:1:36", + "nativeSrc": "14598:1:34", "nodeType": "YulLiteral", - "src": "14598:1:36", + "src": "14598:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "14601:1:36", + "nativeSrc": "14601:1:34", "nodeType": "YulLiteral", - "src": "14601:1:36", + "src": "14601:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "14591:6:36", + "nativeSrc": "14591:6:34", "nodeType": "YulIdentifier", - "src": "14591:6:36" + "src": "14591:6:34" }, - "nativeSrc": "14591:12:36", + "nativeSrc": "14591:12:34", "nodeType": "YulFunctionCall", - "src": "14591:12:36" + "src": "14591:12:34" }, - "nativeSrc": "14591:12:36", + "nativeSrc": "14591:12:34", "nodeType": "YulExpressionStatement", - "src": "14591:12:36" + "src": "14591:12:34" } ] }, @@ -98302,30 +97312,30 @@ "arguments": [ { "name": "offset_2", - "nativeSrc": "14575:8:36", + "nativeSrc": "14575:8:34", "nodeType": "YulIdentifier", - "src": "14575:8:36" + "src": "14575:8:34" }, { "name": "_1", - "nativeSrc": "14585:2:36", + "nativeSrc": "14585:2:34", "nodeType": "YulIdentifier", - "src": "14585:2:36" + "src": "14585:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "14572:2:36", + "nativeSrc": "14572:2:34", "nodeType": "YulIdentifier", - "src": "14572:2:36" + "src": "14572:2:34" }, - "nativeSrc": "14572:16:36", + "nativeSrc": "14572:16:34", "nodeType": "YulFunctionCall", - "src": "14572:16:36" + "src": "14572:16:34" }, - "nativeSrc": "14569:36:36", + "nativeSrc": "14569:36:34", "nodeType": "YulIf", - "src": "14569:36:36" + "src": "14569:36:34" }, { "expression": { @@ -98334,28 +97344,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "14625:5:36", + "nativeSrc": "14625:5:34", "nodeType": "YulIdentifier", - "src": "14625:5:36" + "src": "14625:5:34" }, { "kind": "number", - "nativeSrc": "14632:2:36", + "nativeSrc": "14632:2:34", "nodeType": "YulLiteral", - "src": "14632:2:36", + "src": "14632:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "14621:3:36", + "nativeSrc": "14621:3:34", "nodeType": "YulIdentifier", - "src": "14621:3:36" + "src": "14621:3:34" }, - "nativeSrc": "14621:14:36", + "nativeSrc": "14621:14:34", "nodeType": "YulFunctionCall", - "src": "14621:14:36" + "src": "14621:14:34" }, { "arguments": [ @@ -98363,58 +97373,58 @@ "arguments": [ { "name": "_2", - "nativeSrc": "14670:2:36", + "nativeSrc": "14670:2:34", "nodeType": "YulIdentifier", - "src": "14670:2:36" + "src": "14670:2:34" }, { "name": "offset_2", - "nativeSrc": "14674:8:36", + "nativeSrc": "14674:8:34", "nodeType": "YulIdentifier", - "src": "14674:8:36" + "src": "14674:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "14666:3:36", + "nativeSrc": "14666:3:34", "nodeType": "YulIdentifier", - "src": "14666:3:36" + "src": "14666:3:34" }, - "nativeSrc": "14666:17:36", + "nativeSrc": "14666:17:34", "nodeType": "YulFunctionCall", - "src": "14666:17:36" + "src": "14666:17:34" }, { "name": "dataEnd", - "nativeSrc": "14685:7:36", + "nativeSrc": "14685:7:34", "nodeType": "YulIdentifier", - "src": "14685:7:36" + "src": "14685:7:34" } ], "functionName": { "name": "abi_decode_string_fromMemory", - "nativeSrc": "14637:28:36", + "nativeSrc": "14637:28:34", "nodeType": "YulIdentifier", - "src": "14637:28:36" + "src": "14637:28:34" }, - "nativeSrc": "14637:56:36", + "nativeSrc": "14637:56:34", "nodeType": "YulFunctionCall", - "src": "14637:56:36" + "src": "14637:56:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "14614:6:36", + "nativeSrc": "14614:6:34", "nodeType": "YulIdentifier", - "src": "14614:6:36" + "src": "14614:6:34" }, - "nativeSrc": "14614:80:36", + "nativeSrc": "14614:80:34", "nodeType": "YulFunctionCall", - "src": "14614:80:36" + "src": "14614:80:34" }, - "nativeSrc": "14614:80:36", + "nativeSrc": "14614:80:34", "nodeType": "YulExpressionStatement", - "src": "14614:80:36" + "src": "14614:80:34" }, { "expression": { @@ -98423,28 +97433,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "14714:5:36", + "nativeSrc": "14714:5:34", "nodeType": "YulIdentifier", - "src": "14714:5:36" + "src": "14714:5:34" }, { "kind": "number", - "nativeSrc": "14721:2:36", + "nativeSrc": "14721:2:34", "nodeType": "YulLiteral", - "src": "14721:2:36", + "src": "14721:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "14710:3:36", + "nativeSrc": "14710:3:34", "nodeType": "YulIdentifier", - "src": "14710:3:36" + "src": "14710:3:34" }, - "nativeSrc": "14710:14:36", + "nativeSrc": "14710:14:34", "nodeType": "YulFunctionCall", - "src": "14710:14:36" + "src": "14710:14:34" }, { "arguments": [ @@ -98452,54 +97462,54 @@ "arguments": [ { "name": "_2", - "nativeSrc": "14760:2:36", + "nativeSrc": "14760:2:34", "nodeType": "YulIdentifier", - "src": "14760:2:36" + "src": "14760:2:34" }, { "kind": "number", - "nativeSrc": "14764:2:36", + "nativeSrc": "14764:2:34", "nodeType": "YulLiteral", - "src": "14764:2:36", + "src": "14764:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "14756:3:36", + "nativeSrc": "14756:3:34", "nodeType": "YulIdentifier", - "src": "14756:3:36" + "src": "14756:3:34" }, - "nativeSrc": "14756:11:36", + "nativeSrc": "14756:11:34", "nodeType": "YulFunctionCall", - "src": "14756:11:36" + "src": "14756:11:34" } ], "functionName": { "name": "abi_decode_address_fromMemory", - "nativeSrc": "14726:29:36", + "nativeSrc": "14726:29:34", "nodeType": "YulIdentifier", - "src": "14726:29:36" + "src": "14726:29:34" }, - "nativeSrc": "14726:42:36", + "nativeSrc": "14726:42:34", "nodeType": "YulFunctionCall", - "src": "14726:42:36" + "src": "14726:42:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "14703:6:36", + "nativeSrc": "14703:6:34", "nodeType": "YulIdentifier", - "src": "14703:6:36" + "src": "14703:6:34" }, - "nativeSrc": "14703:66:36", + "nativeSrc": "14703:66:34", "nodeType": "YulFunctionCall", - "src": "14703:66:36" + "src": "14703:66:34" }, - "nativeSrc": "14703:66:36", + "nativeSrc": "14703:66:34", "nodeType": "YulExpressionStatement", - "src": "14703:66:36" + "src": "14703:66:34" }, { "expression": { @@ -98508,28 +97518,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "14789:5:36", + "nativeSrc": "14789:5:34", "nodeType": "YulIdentifier", - "src": "14789:5:36" + "src": "14789:5:34" }, { "kind": "number", - "nativeSrc": "14796:2:36", + "nativeSrc": "14796:2:34", "nodeType": "YulLiteral", - "src": "14796:2:36", + "src": "14796:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "14785:3:36", + "nativeSrc": "14785:3:34", "nodeType": "YulIdentifier", - "src": "14785:3:36" + "src": "14785:3:34" }, - "nativeSrc": "14785:14:36", + "nativeSrc": "14785:14:34", "nodeType": "YulFunctionCall", - "src": "14785:14:36" + "src": "14785:14:34" }, { "arguments": [ @@ -98537,54 +97547,54 @@ "arguments": [ { "name": "_2", - "nativeSrc": "14835:2:36", + "nativeSrc": "14835:2:34", "nodeType": "YulIdentifier", - "src": "14835:2:36" + "src": "14835:2:34" }, { "kind": "number", - "nativeSrc": "14839:2:36", + "nativeSrc": "14839:2:34", "nodeType": "YulLiteral", - "src": "14839:2:36", + "src": "14839:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "14831:3:36", + "nativeSrc": "14831:3:34", "nodeType": "YulIdentifier", - "src": "14831:3:36" + "src": "14831:3:34" }, - "nativeSrc": "14831:11:36", + "nativeSrc": "14831:11:34", "nodeType": "YulFunctionCall", - "src": "14831:11:36" + "src": "14831:11:34" } ], "functionName": { "name": "abi_decode_address_fromMemory", - "nativeSrc": "14801:29:36", + "nativeSrc": "14801:29:34", "nodeType": "YulIdentifier", - "src": "14801:29:36" + "src": "14801:29:34" }, - "nativeSrc": "14801:42:36", + "nativeSrc": "14801:42:34", "nodeType": "YulFunctionCall", - "src": "14801:42:36" + "src": "14801:42:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "14778:6:36", + "nativeSrc": "14778:6:34", "nodeType": "YulIdentifier", - "src": "14778:6:36" + "src": "14778:6:34" }, - "nativeSrc": "14778:66:36", + "nativeSrc": "14778:66:34", "nodeType": "YulFunctionCall", - "src": "14778:66:36" + "src": "14778:66:34" }, - "nativeSrc": "14778:66:36", + "nativeSrc": "14778:66:34", "nodeType": "YulExpressionStatement", - "src": "14778:66:36" + "src": "14778:66:34" }, { "expression": { @@ -98593,28 +97603,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "14864:5:36", + "nativeSrc": "14864:5:34", "nodeType": "YulIdentifier", - "src": "14864:5:36" + "src": "14864:5:34" }, { "kind": "number", - "nativeSrc": "14871:3:36", + "nativeSrc": "14871:3:34", "nodeType": "YulLiteral", - "src": "14871:3:36", + "src": "14871:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "14860:3:36", + "nativeSrc": "14860:3:34", "nodeType": "YulIdentifier", - "src": "14860:3:36" + "src": "14860:3:34" }, - "nativeSrc": "14860:15:36", + "nativeSrc": "14860:15:34", "nodeType": "YulFunctionCall", - "src": "14860:15:36" + "src": "14860:15:34" }, { "arguments": [ @@ -98622,54 +97632,54 @@ "arguments": [ { "name": "_2", - "nativeSrc": "14887:2:36", + "nativeSrc": "14887:2:34", "nodeType": "YulIdentifier", - "src": "14887:2:36" + "src": "14887:2:34" }, { "kind": "number", - "nativeSrc": "14891:3:36", + "nativeSrc": "14891:3:34", "nodeType": "YulLiteral", - "src": "14891:3:36", + "src": "14891:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "14883:3:36", + "nativeSrc": "14883:3:34", "nodeType": "YulIdentifier", - "src": "14883:3:36" + "src": "14883:3:34" }, - "nativeSrc": "14883:12:36", + "nativeSrc": "14883:12:34", "nodeType": "YulFunctionCall", - "src": "14883:12:36" + "src": "14883:12:34" } ], "functionName": { "name": "mload", - "nativeSrc": "14877:5:36", + "nativeSrc": "14877:5:34", "nodeType": "YulIdentifier", - "src": "14877:5:36" + "src": "14877:5:34" }, - "nativeSrc": "14877:19:36", + "nativeSrc": "14877:19:34", "nodeType": "YulFunctionCall", - "src": "14877:19:36" + "src": "14877:19:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "14853:6:36", + "nativeSrc": "14853:6:34", "nodeType": "YulIdentifier", - "src": "14853:6:36" + "src": "14853:6:34" }, - "nativeSrc": "14853:44:36", + "nativeSrc": "14853:44:34", "nodeType": "YulFunctionCall", - "src": "14853:44:36" + "src": "14853:44:34" }, - "nativeSrc": "14853:44:36", + "nativeSrc": "14853:44:34", "nodeType": "YulExpressionStatement", - "src": "14853:44:36" + "src": "14853:44:34" }, { "expression": { @@ -98678,28 +97688,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "14917:5:36", + "nativeSrc": "14917:5:34", "nodeType": "YulIdentifier", - "src": "14917:5:36" + "src": "14917:5:34" }, { "kind": "number", - "nativeSrc": "14924:3:36", + "nativeSrc": "14924:3:34", "nodeType": "YulLiteral", - "src": "14924:3:36", + "src": "14924:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "14913:3:36", + "nativeSrc": "14913:3:34", "nodeType": "YulIdentifier", - "src": "14913:3:36" + "src": "14913:3:34" }, - "nativeSrc": "14913:15:36", + "nativeSrc": "14913:15:34", "nodeType": "YulFunctionCall", - "src": "14913:15:36" + "src": "14913:15:34" }, { "arguments": [ @@ -98707,143 +97717,143 @@ "arguments": [ { "name": "_2", - "nativeSrc": "14940:2:36", + "nativeSrc": "14940:2:34", "nodeType": "YulIdentifier", - "src": "14940:2:36" + "src": "14940:2:34" }, { "kind": "number", - "nativeSrc": "14944:3:36", + "nativeSrc": "14944:3:34", "nodeType": "YulLiteral", - "src": "14944:3:36", + "src": "14944:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "14936:3:36", + "nativeSrc": "14936:3:34", "nodeType": "YulIdentifier", - "src": "14936:3:36" + "src": "14936:3:34" }, - "nativeSrc": "14936:12:36", + "nativeSrc": "14936:12:34", "nodeType": "YulFunctionCall", - "src": "14936:12:36" + "src": "14936:12:34" } ], "functionName": { "name": "mload", - "nativeSrc": "14930:5:36", + "nativeSrc": "14930:5:34", "nodeType": "YulIdentifier", - "src": "14930:5:36" + "src": "14930:5:34" }, - "nativeSrc": "14930:19:36", + "nativeSrc": "14930:19:34", "nodeType": "YulFunctionCall", - "src": "14930:19:36" + "src": "14930:19:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "14906:6:36", + "nativeSrc": "14906:6:34", "nodeType": "YulIdentifier", - "src": "14906:6:36" + "src": "14906:6:34" }, - "nativeSrc": "14906:44:36", + "nativeSrc": "14906:44:34", "nodeType": "YulFunctionCall", - "src": "14906:44:36" + "src": "14906:44:34" }, - "nativeSrc": "14906:44:36", + "nativeSrc": "14906:44:34", "nodeType": "YulExpressionStatement", - "src": "14906:44:36" + "src": "14906:44:34" }, { - "nativeSrc": "14959:15:36", + "nativeSrc": "14959:15:34", "nodeType": "YulAssignment", - "src": "14959:15:36", + "src": "14959:15:34", "value": { "name": "value", - "nativeSrc": "14969:5:36", + "nativeSrc": "14969:5:34", "nodeType": "YulIdentifier", - "src": "14969:5:36" + "src": "14969:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "14959:6:36", + "nativeSrc": "14959:6:34", "nodeType": "YulIdentifier", - "src": "14959:6:36" + "src": "14959:6:34" } ] } ] }, - "name": "abi_decode_tuple_t_struct$_AgentData_$5289_memory_ptr_fromMemory", - "nativeSrc": "13928:1052:36", + "name": "abi_decode_tuple_t_struct$_AgentData_$5259_memory_ptr_fromMemory", + "nativeSrc": "13928:1052:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "14002:9:36", + "nativeSrc": "14002:9:34", "nodeType": "YulTypedName", - "src": "14002:9:36", + "src": "14002:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "14013:7:36", + "nativeSrc": "14013:7:34", "nodeType": "YulTypedName", - "src": "14013:7:36", + "src": "14013:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "14025:6:36", + "nativeSrc": "14025:6:34", "nodeType": "YulTypedName", - "src": "14025:6:36", + "src": "14025:6:34", "type": "" } ], - "src": "13928:1052:36" + "src": "13928:1052:34" }, { "body": { - "nativeSrc": "15159:174:36", + "nativeSrc": "15159:174:34", "nodeType": "YulBlock", - "src": "15159:174:36", + "src": "15159:174:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "15176:9:36", + "nativeSrc": "15176:9:34", "nodeType": "YulIdentifier", - "src": "15176:9:36" + "src": "15176:9:34" }, { "kind": "number", - "nativeSrc": "15187:2:36", + "nativeSrc": "15187:2:34", "nodeType": "YulLiteral", - "src": "15187:2:36", + "src": "15187:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "15169:6:36", + "nativeSrc": "15169:6:34", "nodeType": "YulIdentifier", - "src": "15169:6:36" + "src": "15169:6:34" }, - "nativeSrc": "15169:21:36", + "nativeSrc": "15169:21:34", "nodeType": "YulFunctionCall", - "src": "15169:21:36" + "src": "15169:21:34" }, - "nativeSrc": "15169:21:36", + "nativeSrc": "15169:21:34", "nodeType": "YulExpressionStatement", - "src": "15169:21:36" + "src": "15169:21:34" }, { "expression": { @@ -98852,51 +97862,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "15210:9:36", + "nativeSrc": "15210:9:34", "nodeType": "YulIdentifier", - "src": "15210:9:36" + "src": "15210:9:34" }, { "kind": "number", - "nativeSrc": "15221:2:36", + "nativeSrc": "15221:2:34", "nodeType": "YulLiteral", - "src": "15221:2:36", + "src": "15221:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "15206:3:36", + "nativeSrc": "15206:3:34", "nodeType": "YulIdentifier", - "src": "15206:3:36" + "src": "15206:3:34" }, - "nativeSrc": "15206:18:36", + "nativeSrc": "15206:18:34", "nodeType": "YulFunctionCall", - "src": "15206:18:36" + "src": "15206:18:34" }, { "kind": "number", - "nativeSrc": "15226:2:36", + "nativeSrc": "15226:2:34", "nodeType": "YulLiteral", - "src": "15226:2:36", + "src": "15226:2:34", "type": "", "value": "24" } ], "functionName": { "name": "mstore", - "nativeSrc": "15199:6:36", + "nativeSrc": "15199:6:34", "nodeType": "YulIdentifier", - "src": "15199:6:36" + "src": "15199:6:34" }, - "nativeSrc": "15199:30:36", + "nativeSrc": "15199:30:34", "nodeType": "YulFunctionCall", - "src": "15199:30:36" + "src": "15199:30:34" }, - "nativeSrc": "15199:30:36", + "nativeSrc": "15199:30:34", "nodeType": "YulExpressionStatement", - "src": "15199:30:36" + "src": "15199:30:34" }, { "expression": { @@ -98905,155 +97915,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "15249:9:36", + "nativeSrc": "15249:9:34", "nodeType": "YulIdentifier", - "src": "15249:9:36" + "src": "15249:9:34" }, { "kind": "number", - "nativeSrc": "15260:2:36", + "nativeSrc": "15260:2:34", "nodeType": "YulLiteral", - "src": "15260:2:36", + "src": "15260:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "15245:3:36", + "nativeSrc": "15245:3:34", "nodeType": "YulIdentifier", - "src": "15245:3:36" + "src": "15245:3:34" }, - "nativeSrc": "15245:18:36", + "nativeSrc": "15245:18:34", "nodeType": "YulFunctionCall", - "src": "15245:18:36" + "src": "15245:18:34" }, { "hexValue": "4e6f74206f776e6572206f72206167656e74206f776e6572", "kind": "string", - "nativeSrc": "15265:26:36", + "nativeSrc": "15265:26:34", "nodeType": "YulLiteral", - "src": "15265:26:36", + "src": "15265:26:34", "type": "", "value": "Not owner or agent owner" } ], "functionName": { "name": "mstore", - "nativeSrc": "15238:6:36", + "nativeSrc": "15238:6:34", "nodeType": "YulIdentifier", - "src": "15238:6:36" + "src": "15238:6:34" }, - "nativeSrc": "15238:54:36", + "nativeSrc": "15238:54:34", "nodeType": "YulFunctionCall", - "src": "15238:54:36" + "src": "15238:54:34" }, - "nativeSrc": "15238:54:36", + "nativeSrc": "15238:54:34", "nodeType": "YulExpressionStatement", - "src": "15238:54:36" + "src": "15238:54:34" }, { - "nativeSrc": "15301:26:36", + "nativeSrc": "15301:26:34", "nodeType": "YulAssignment", - "src": "15301:26:36", + "src": "15301:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "15313:9:36", + "nativeSrc": "15313:9:34", "nodeType": "YulIdentifier", - "src": "15313:9:36" + "src": "15313:9:34" }, { "kind": "number", - "nativeSrc": "15324:2:36", + "nativeSrc": "15324:2:34", "nodeType": "YulLiteral", - "src": "15324:2:36", + "src": "15324:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "15309:3:36", + "nativeSrc": "15309:3:34", "nodeType": "YulIdentifier", - "src": "15309:3:36" + "src": "15309:3:34" }, - "nativeSrc": "15309:18:36", + "nativeSrc": "15309:18:34", "nodeType": "YulFunctionCall", - "src": "15309:18:36" + "src": "15309:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "15301:4:36", + "nativeSrc": "15301:4:34", "nodeType": "YulIdentifier", - "src": "15301:4:36" + "src": "15301:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_50182bd41cda0e194d07720f94dca7a677e712fa34d7dd8998809213f4730ecf__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "14985:348:36", + "nativeSrc": "14985:348:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "15136:9:36", + "nativeSrc": "15136:9:34", "nodeType": "YulTypedName", - "src": "15136:9:36", + "src": "15136:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "15150:4:36", + "nativeSrc": "15150:4:34", "nodeType": "YulTypedName", - "src": "15150:4:36", + "src": "15150:4:34", "type": "" } ], - "src": "14985:348:36" + "src": "14985:348:34" }, { "body": { - "nativeSrc": "15512:179:36", + "nativeSrc": "15512:179:34", "nodeType": "YulBlock", - "src": "15512:179:36", + "src": "15512:179:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "15529:9:36", + "nativeSrc": "15529:9:34", "nodeType": "YulIdentifier", - "src": "15529:9:36" + "src": "15529:9:34" }, { "kind": "number", - "nativeSrc": "15540:2:36", + "nativeSrc": "15540:2:34", "nodeType": "YulLiteral", - "src": "15540:2:36", + "src": "15540:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "15522:6:36", + "nativeSrc": "15522:6:34", "nodeType": "YulIdentifier", - "src": "15522:6:36" + "src": "15522:6:34" }, - "nativeSrc": "15522:21:36", + "nativeSrc": "15522:21:34", "nodeType": "YulFunctionCall", - "src": "15522:21:36" + "src": "15522:21:34" }, - "nativeSrc": "15522:21:36", + "nativeSrc": "15522:21:34", "nodeType": "YulExpressionStatement", - "src": "15522:21:36" + "src": "15522:21:34" }, { "expression": { @@ -99062,51 +98072,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "15563:9:36", + "nativeSrc": "15563:9:34", "nodeType": "YulIdentifier", - "src": "15563:9:36" + "src": "15563:9:34" }, { "kind": "number", - "nativeSrc": "15574:2:36", + "nativeSrc": "15574:2:34", "nodeType": "YulLiteral", - "src": "15574:2:36", + "src": "15574:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "15559:3:36", + "nativeSrc": "15559:3:34", "nodeType": "YulIdentifier", - "src": "15559:3:36" + "src": "15559:3:34" }, - "nativeSrc": "15559:18:36", + "nativeSrc": "15559:18:34", "nodeType": "YulFunctionCall", - "src": "15559:18:36" + "src": "15559:18:34" }, { "kind": "number", - "nativeSrc": "15579:2:36", + "nativeSrc": "15579:2:34", "nodeType": "YulLiteral", - "src": "15579:2:36", + "src": "15579:2:34", "type": "", "value": "29" } ], "functionName": { "name": "mstore", - "nativeSrc": "15552:6:36", + "nativeSrc": "15552:6:34", "nodeType": "YulIdentifier", - "src": "15552:6:36" + "src": "15552:6:34" }, - "nativeSrc": "15552:30:36", + "nativeSrc": "15552:30:34", "nodeType": "YulFunctionCall", - "src": "15552:30:36" + "src": "15552:30:34" }, - "nativeSrc": "15552:30:36", + "nativeSrc": "15552:30:34", "nodeType": "YulExpressionStatement", - "src": "15552:30:36" + "src": "15552:30:34" }, { "expression": { @@ -99115,155 +98125,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "15602:9:36", + "nativeSrc": "15602:9:34", "nodeType": "YulIdentifier", - "src": "15602:9:36" + "src": "15602:9:34" }, { "kind": "number", - "nativeSrc": "15613:2:36", + "nativeSrc": "15613:2:34", "nodeType": "YulLiteral", - "src": "15613:2:36", + "src": "15613:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "15598:3:36", + "nativeSrc": "15598:3:34", "nodeType": "YulIdentifier", - "src": "15598:3:36" + "src": "15598:3:34" }, - "nativeSrc": "15598:18:36", + "nativeSrc": "15598:18:34", "nodeType": "YulFunctionCall", - "src": "15598:18:36" + "src": "15598:18:34" }, { "hexValue": "4e6f7420746865205461736b526567697374727920636f6e7472616374", "kind": "string", - "nativeSrc": "15618:31:36", + "nativeSrc": "15618:31:34", "nodeType": "YulLiteral", - "src": "15618:31:36", + "src": "15618:31:34", "type": "", "value": "Not the TaskRegistry contract" } ], "functionName": { "name": "mstore", - "nativeSrc": "15591:6:36", + "nativeSrc": "15591:6:34", "nodeType": "YulIdentifier", - "src": "15591:6:36" + "src": "15591:6:34" }, - "nativeSrc": "15591:59:36", + "nativeSrc": "15591:59:34", "nodeType": "YulFunctionCall", - "src": "15591:59:36" + "src": "15591:59:34" }, - "nativeSrc": "15591:59:36", + "nativeSrc": "15591:59:34", "nodeType": "YulExpressionStatement", - "src": "15591:59:36" + "src": "15591:59:34" }, { - "nativeSrc": "15659:26:36", + "nativeSrc": "15659:26:34", "nodeType": "YulAssignment", - "src": "15659:26:36", + "src": "15659:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "15671:9:36", + "nativeSrc": "15671:9:34", "nodeType": "YulIdentifier", - "src": "15671:9:36" + "src": "15671:9:34" }, { "kind": "number", - "nativeSrc": "15682:2:36", + "nativeSrc": "15682:2:34", "nodeType": "YulLiteral", - "src": "15682:2:36", + "src": "15682:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "15667:3:36", + "nativeSrc": "15667:3:34", "nodeType": "YulIdentifier", - "src": "15667:3:36" + "src": "15667:3:34" }, - "nativeSrc": "15667:18:36", + "nativeSrc": "15667:18:34", "nodeType": "YulFunctionCall", - "src": "15667:18:36" + "src": "15667:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "15659:4:36", + "nativeSrc": "15659:4:34", "nodeType": "YulIdentifier", - "src": "15659:4:36" + "src": "15659:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_ab4f7bdcd44e35f2fe5cd34e07194c1c227455329229f7f3f1e8494de9e5c74c__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "15338:353:36", + "nativeSrc": "15338:353:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "15489:9:36", + "nativeSrc": "15489:9:34", "nodeType": "YulTypedName", - "src": "15489:9:36", + "src": "15489:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "15503:4:36", + "nativeSrc": "15503:4:34", "nodeType": "YulTypedName", - "src": "15503:4:36", + "src": "15503:4:34", "type": "" } ], - "src": "15338:353:36" + "src": "15338:353:34" }, { "body": { - "nativeSrc": "15870:182:36", + "nativeSrc": "15870:182:34", "nodeType": "YulBlock", - "src": "15870:182:36", + "src": "15870:182:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "15887:9:36", + "nativeSrc": "15887:9:34", "nodeType": "YulIdentifier", - "src": "15887:9:36" + "src": "15887:9:34" }, { "kind": "number", - "nativeSrc": "15898:2:36", + "nativeSrc": "15898:2:34", "nodeType": "YulLiteral", - "src": "15898:2:36", + "src": "15898:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "15880:6:36", + "nativeSrc": "15880:6:34", "nodeType": "YulIdentifier", - "src": "15880:6:36" + "src": "15880:6:34" }, - "nativeSrc": "15880:21:36", + "nativeSrc": "15880:21:34", "nodeType": "YulFunctionCall", - "src": "15880:21:36" + "src": "15880:21:34" }, - "nativeSrc": "15880:21:36", + "nativeSrc": "15880:21:34", "nodeType": "YulExpressionStatement", - "src": "15880:21:36" + "src": "15880:21:34" }, { "expression": { @@ -99272,51 +98282,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "15921:9:36", + "nativeSrc": "15921:9:34", "nodeType": "YulIdentifier", - "src": "15921:9:36" + "src": "15921:9:34" }, { "kind": "number", - "nativeSrc": "15932:2:36", + "nativeSrc": "15932:2:34", "nodeType": "YulLiteral", - "src": "15932:2:36", + "src": "15932:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "15917:3:36", + "nativeSrc": "15917:3:34", "nodeType": "YulIdentifier", - "src": "15917:3:36" + "src": "15917:3:34" }, - "nativeSrc": "15917:18:36", + "nativeSrc": "15917:18:34", "nodeType": "YulFunctionCall", - "src": "15917:18:36" + "src": "15917:18:34" }, { "kind": "number", - "nativeSrc": "15937:2:36", + "nativeSrc": "15937:2:34", "nodeType": "YulLiteral", - "src": "15937:2:36", + "src": "15937:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "15910:6:36", + "nativeSrc": "15910:6:34", "nodeType": "YulIdentifier", - "src": "15910:6:36" + "src": "15910:6:34" }, - "nativeSrc": "15910:30:36", + "nativeSrc": "15910:30:34", "nodeType": "YulFunctionCall", - "src": "15910:30:36" + "src": "15910:30:34" }, - "nativeSrc": "15910:30:36", + "nativeSrc": "15910:30:34", "nodeType": "YulExpressionStatement", - "src": "15910:30:36" + "src": "15910:30:34" }, { "expression": { @@ -99325,132 +98335,132 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "15960:9:36", + "nativeSrc": "15960:9:34", "nodeType": "YulIdentifier", - "src": "15960:9:36" + "src": "15960:9:34" }, { "kind": "number", - "nativeSrc": "15971:2:36", + "nativeSrc": "15971:2:34", "nodeType": "YulLiteral", - "src": "15971:2:36", + "src": "15971:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "15956:3:36", + "nativeSrc": "15956:3:34", "nodeType": "YulIdentifier", - "src": "15956:3:36" + "src": "15956:3:34" }, - "nativeSrc": "15956:18:36", + "nativeSrc": "15956:18:34", "nodeType": "YulFunctionCall", - "src": "15956:18:36" + "src": "15956:18:34" }, { "hexValue": "526174696e67206d757374206265206265747765656e203020616e6420313030", "kind": "string", - "nativeSrc": "15976:34:36", + "nativeSrc": "15976:34:34", "nodeType": "YulLiteral", - "src": "15976:34:36", + "src": "15976:34:34", "type": "", "value": "Rating must be between 0 and 100" } ], "functionName": { "name": "mstore", - "nativeSrc": "15949:6:36", + "nativeSrc": "15949:6:34", "nodeType": "YulIdentifier", - "src": "15949:6:36" + "src": "15949:6:34" }, - "nativeSrc": "15949:62:36", + "nativeSrc": "15949:62:34", "nodeType": "YulFunctionCall", - "src": "15949:62:36" + "src": "15949:62:34" }, - "nativeSrc": "15949:62:36", + "nativeSrc": "15949:62:34", "nodeType": "YulExpressionStatement", - "src": "15949:62:36" + "src": "15949:62:34" }, { - "nativeSrc": "16020:26:36", + "nativeSrc": "16020:26:34", "nodeType": "YulAssignment", - "src": "16020:26:36", + "src": "16020:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "16032:9:36", + "nativeSrc": "16032:9:34", "nodeType": "YulIdentifier", - "src": "16032:9:36" + "src": "16032:9:34" }, { "kind": "number", - "nativeSrc": "16043:2:36", + "nativeSrc": "16043:2:34", "nodeType": "YulLiteral", - "src": "16043:2:36", + "src": "16043:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "16028:3:36", + "nativeSrc": "16028:3:34", "nodeType": "YulIdentifier", - "src": "16028:3:36" + "src": "16028:3:34" }, - "nativeSrc": "16028:18:36", + "nativeSrc": "16028:18:34", "nodeType": "YulFunctionCall", - "src": "16028:18:36" + "src": "16028:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "16020:4:36", + "nativeSrc": "16020:4:34", "nodeType": "YulIdentifier", - "src": "16020:4:36" + "src": "16020:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "15696:356:36", + "nativeSrc": "15696:356:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "15847:9:36", + "nativeSrc": "15847:9:34", "nodeType": "YulTypedName", - "src": "15847:9:36", + "src": "15847:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "15861:4:36", + "nativeSrc": "15861:4:34", "nodeType": "YulTypedName", - "src": "15861:4:36", + "src": "15861:4:34", "type": "" } ], - "src": "15696:356:36" + "src": "15696:356:34" }, { "body": { - "nativeSrc": "16089:95:36", + "nativeSrc": "16089:95:34", "nodeType": "YulBlock", - "src": "16089:95:36", + "src": "16089:95:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "16106:1:36", + "nativeSrc": "16106:1:34", "nodeType": "YulLiteral", - "src": "16106:1:36", + "src": "16106:1:34", "type": "", "value": "0" }, @@ -99458,187 +98468,187 @@ "arguments": [ { "kind": "number", - "nativeSrc": "16113:3:36", + "nativeSrc": "16113:3:34", "nodeType": "YulLiteral", - "src": "16113:3:36", + "src": "16113:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "16118:10:36", + "nativeSrc": "16118:10:34", "nodeType": "YulLiteral", - "src": "16118:10:36", + "src": "16118:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "16109:3:36", + "nativeSrc": "16109:3:34", "nodeType": "YulIdentifier", - "src": "16109:3:36" + "src": "16109:3:34" }, - "nativeSrc": "16109:20:36", + "nativeSrc": "16109:20:34", "nodeType": "YulFunctionCall", - "src": "16109:20:36" + "src": "16109:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "16099:6:36", + "nativeSrc": "16099:6:34", "nodeType": "YulIdentifier", - "src": "16099:6:36" + "src": "16099:6:34" }, - "nativeSrc": "16099:31:36", + "nativeSrc": "16099:31:34", "nodeType": "YulFunctionCall", - "src": "16099:31:36" + "src": "16099:31:34" }, - "nativeSrc": "16099:31:36", + "nativeSrc": "16099:31:34", "nodeType": "YulExpressionStatement", - "src": "16099:31:36" + "src": "16099:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "16146:1:36", + "nativeSrc": "16146:1:34", "nodeType": "YulLiteral", - "src": "16146:1:36", + "src": "16146:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "16149:4:36", + "nativeSrc": "16149:4:34", "nodeType": "YulLiteral", - "src": "16149:4:36", + "src": "16149:4:34", "type": "", "value": "0x11" } ], "functionName": { "name": "mstore", - "nativeSrc": "16139:6:36", + "nativeSrc": "16139:6:34", "nodeType": "YulIdentifier", - "src": "16139:6:36" + "src": "16139:6:34" }, - "nativeSrc": "16139:15:36", + "nativeSrc": "16139:15:34", "nodeType": "YulFunctionCall", - "src": "16139:15:36" + "src": "16139:15:34" }, - "nativeSrc": "16139:15:36", + "nativeSrc": "16139:15:34", "nodeType": "YulExpressionStatement", - "src": "16139:15:36" + "src": "16139:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "16170:1:36", + "nativeSrc": "16170:1:34", "nodeType": "YulLiteral", - "src": "16170:1:36", + "src": "16170:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "16173:4:36", + "nativeSrc": "16173:4:34", "nodeType": "YulLiteral", - "src": "16173:4:36", + "src": "16173:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "16163:6:36", + "nativeSrc": "16163:6:34", "nodeType": "YulIdentifier", - "src": "16163:6:36" + "src": "16163:6:34" }, - "nativeSrc": "16163:15:36", + "nativeSrc": "16163:15:34", "nodeType": "YulFunctionCall", - "src": "16163:15:36" + "src": "16163:15:34" }, - "nativeSrc": "16163:15:36", + "nativeSrc": "16163:15:34", "nodeType": "YulExpressionStatement", - "src": "16163:15:36" + "src": "16163:15:34" } ] }, "name": "panic_error_0x11", - "nativeSrc": "16057:127:36", + "nativeSrc": "16057:127:34", "nodeType": "YulFunctionDefinition", - "src": "16057:127:36" + "src": "16057:127:34" }, { "body": { - "nativeSrc": "16237:77:36", + "nativeSrc": "16237:77:34", "nodeType": "YulBlock", - "src": "16237:77:36", + "src": "16237:77:34", "statements": [ { - "nativeSrc": "16247:16:36", + "nativeSrc": "16247:16:34", "nodeType": "YulAssignment", - "src": "16247:16:36", + "src": "16247:16:34", "value": { "arguments": [ { "name": "x", - "nativeSrc": "16258:1:36", + "nativeSrc": "16258:1:34", "nodeType": "YulIdentifier", - "src": "16258:1:36" + "src": "16258:1:34" }, { "name": "y", - "nativeSrc": "16261:1:36", + "nativeSrc": "16261:1:34", "nodeType": "YulIdentifier", - "src": "16261:1:36" + "src": "16261:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "16254:3:36", + "nativeSrc": "16254:3:34", "nodeType": "YulIdentifier", - "src": "16254:3:36" + "src": "16254:3:34" }, - "nativeSrc": "16254:9:36", + "nativeSrc": "16254:9:34", "nodeType": "YulFunctionCall", - "src": "16254:9:36" + "src": "16254:9:34" }, "variableNames": [ { "name": "sum", - "nativeSrc": "16247:3:36", + "nativeSrc": "16247:3:34", "nodeType": "YulIdentifier", - "src": "16247:3:36" + "src": "16247:3:34" } ] }, { "body": { - "nativeSrc": "16286:22:36", + "nativeSrc": "16286:22:34", "nodeType": "YulBlock", - "src": "16286:22:36", + "src": "16286:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", - "nativeSrc": "16288:16:36", + "nativeSrc": "16288:16:34", "nodeType": "YulIdentifier", - "src": "16288:16:36" + "src": "16288:16:34" }, - "nativeSrc": "16288:18:36", + "nativeSrc": "16288:18:34", "nodeType": "YulFunctionCall", - "src": "16288:18:36" + "src": "16288:18:34" }, - "nativeSrc": "16288:18:36", + "nativeSrc": "16288:18:34", "nodeType": "YulExpressionStatement", - "src": "16288:18:36" + "src": "16288:18:34" } ] }, @@ -99646,129 +98656,129 @@ "arguments": [ { "name": "x", - "nativeSrc": "16278:1:36", + "nativeSrc": "16278:1:34", "nodeType": "YulIdentifier", - "src": "16278:1:36" + "src": "16278:1:34" }, { "name": "sum", - "nativeSrc": "16281:3:36", + "nativeSrc": "16281:3:34", "nodeType": "YulIdentifier", - "src": "16281:3:36" + "src": "16281:3:34" } ], "functionName": { "name": "gt", - "nativeSrc": "16275:2:36", + "nativeSrc": "16275:2:34", "nodeType": "YulIdentifier", - "src": "16275:2:36" + "src": "16275:2:34" }, - "nativeSrc": "16275:10:36", + "nativeSrc": "16275:10:34", "nodeType": "YulFunctionCall", - "src": "16275:10:36" + "src": "16275:10:34" }, - "nativeSrc": "16272:36:36", + "nativeSrc": "16272:36:34", "nodeType": "YulIf", - "src": "16272:36:36" + "src": "16272:36:34" } ] }, "name": "checked_add_t_uint256", - "nativeSrc": "16189:125:36", + "nativeSrc": "16189:125:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", - "nativeSrc": "16220:1:36", + "nativeSrc": "16220:1:34", "nodeType": "YulTypedName", - "src": "16220:1:36", + "src": "16220:1:34", "type": "" }, { "name": "y", - "nativeSrc": "16223:1:36", + "nativeSrc": "16223:1:34", "nodeType": "YulTypedName", - "src": "16223:1:36", + "src": "16223:1:34", "type": "" } ], "returnVariables": [ { "name": "sum", - "nativeSrc": "16229:3:36", + "nativeSrc": "16229:3:34", "nodeType": "YulTypedName", - "src": "16229:3:36", + "src": "16229:3:34", "type": "" } ], - "src": "16189:125:36" + "src": "16189:125:34" }, { "body": { - "nativeSrc": "16368:79:36", + "nativeSrc": "16368:79:34", "nodeType": "YulBlock", - "src": "16368:79:36", + "src": "16368:79:34", "statements": [ { - "nativeSrc": "16378:17:36", + "nativeSrc": "16378:17:34", "nodeType": "YulAssignment", - "src": "16378:17:36", + "src": "16378:17:34", "value": { "arguments": [ { "name": "x", - "nativeSrc": "16390:1:36", + "nativeSrc": "16390:1:34", "nodeType": "YulIdentifier", - "src": "16390:1:36" + "src": "16390:1:34" }, { "name": "y", - "nativeSrc": "16393:1:36", + "nativeSrc": "16393:1:34", "nodeType": "YulIdentifier", - "src": "16393:1:36" + "src": "16393:1:34" } ], "functionName": { "name": "sub", - "nativeSrc": "16386:3:36", + "nativeSrc": "16386:3:34", "nodeType": "YulIdentifier", - "src": "16386:3:36" + "src": "16386:3:34" }, - "nativeSrc": "16386:9:36", + "nativeSrc": "16386:9:34", "nodeType": "YulFunctionCall", - "src": "16386:9:36" + "src": "16386:9:34" }, "variableNames": [ { "name": "diff", - "nativeSrc": "16378:4:36", + "nativeSrc": "16378:4:34", "nodeType": "YulIdentifier", - "src": "16378:4:36" + "src": "16378:4:34" } ] }, { "body": { - "nativeSrc": "16419:22:36", + "nativeSrc": "16419:22:34", "nodeType": "YulBlock", - "src": "16419:22:36", + "src": "16419:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", - "nativeSrc": "16421:16:36", + "nativeSrc": "16421:16:34", "nodeType": "YulIdentifier", - "src": "16421:16:36" + "src": "16421:16:34" }, - "nativeSrc": "16421:18:36", + "nativeSrc": "16421:18:34", "nodeType": "YulFunctionCall", - "src": "16421:18:36" + "src": "16421:18:34" }, - "nativeSrc": "16421:18:36", + "nativeSrc": "16421:18:34", "nodeType": "YulExpressionStatement", - "src": "16421:18:36" + "src": "16421:18:34" } ] }, @@ -99776,129 +98786,129 @@ "arguments": [ { "name": "diff", - "nativeSrc": "16410:4:36", + "nativeSrc": "16410:4:34", "nodeType": "YulIdentifier", - "src": "16410:4:36" + "src": "16410:4:34" }, { "name": "x", - "nativeSrc": "16416:1:36", + "nativeSrc": "16416:1:34", "nodeType": "YulIdentifier", - "src": "16416:1:36" + "src": "16416:1:34" } ], "functionName": { "name": "gt", - "nativeSrc": "16407:2:36", + "nativeSrc": "16407:2:34", "nodeType": "YulIdentifier", - "src": "16407:2:36" + "src": "16407:2:34" }, - "nativeSrc": "16407:11:36", + "nativeSrc": "16407:11:34", "nodeType": "YulFunctionCall", - "src": "16407:11:36" + "src": "16407:11:34" }, - "nativeSrc": "16404:37:36", + "nativeSrc": "16404:37:34", "nodeType": "YulIf", - "src": "16404:37:36" + "src": "16404:37:34" } ] }, "name": "checked_sub_t_uint256", - "nativeSrc": "16319:128:36", + "nativeSrc": "16319:128:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", - "nativeSrc": "16350:1:36", + "nativeSrc": "16350:1:34", "nodeType": "YulTypedName", - "src": "16350:1:36", + "src": "16350:1:34", "type": "" }, { "name": "y", - "nativeSrc": "16353:1:36", + "nativeSrc": "16353:1:34", "nodeType": "YulTypedName", - "src": "16353:1:36", + "src": "16353:1:34", "type": "" } ], "returnVariables": [ { "name": "diff", - "nativeSrc": "16359:4:36", + "nativeSrc": "16359:4:34", "nodeType": "YulTypedName", - "src": "16359:4:36", + "src": "16359:4:34", "type": "" } ], - "src": "16319:128:36" + "src": "16319:128:34" }, { "body": { - "nativeSrc": "16504:116:36", + "nativeSrc": "16504:116:34", "nodeType": "YulBlock", - "src": "16504:116:36", + "src": "16504:116:34", "statements": [ { - "nativeSrc": "16514:20:36", + "nativeSrc": "16514:20:34", "nodeType": "YulAssignment", - "src": "16514:20:36", + "src": "16514:20:34", "value": { "arguments": [ { "name": "x", - "nativeSrc": "16529:1:36", + "nativeSrc": "16529:1:34", "nodeType": "YulIdentifier", - "src": "16529:1:36" + "src": "16529:1:34" }, { "name": "y", - "nativeSrc": "16532:1:36", + "nativeSrc": "16532:1:34", "nodeType": "YulIdentifier", - "src": "16532:1:36" + "src": "16532:1:34" } ], "functionName": { "name": "mul", - "nativeSrc": "16525:3:36", + "nativeSrc": "16525:3:34", "nodeType": "YulIdentifier", - "src": "16525:3:36" + "src": "16525:3:34" }, - "nativeSrc": "16525:9:36", + "nativeSrc": "16525:9:34", "nodeType": "YulFunctionCall", - "src": "16525:9:36" + "src": "16525:9:34" }, "variableNames": [ { "name": "product", - "nativeSrc": "16514:7:36", + "nativeSrc": "16514:7:34", "nodeType": "YulIdentifier", - "src": "16514:7:36" + "src": "16514:7:34" } ] }, { "body": { - "nativeSrc": "16592:22:36", + "nativeSrc": "16592:22:34", "nodeType": "YulBlock", - "src": "16592:22:36", + "src": "16592:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", - "nativeSrc": "16594:16:36", + "nativeSrc": "16594:16:34", "nodeType": "YulIdentifier", - "src": "16594:16:36" + "src": "16594:16:34" }, - "nativeSrc": "16594:18:36", + "nativeSrc": "16594:18:34", "nodeType": "YulFunctionCall", - "src": "16594:18:36" + "src": "16594:18:34" }, - "nativeSrc": "16594:18:36", + "nativeSrc": "16594:18:34", "nodeType": "YulExpressionStatement", - "src": "16594:18:36" + "src": "16594:18:34" } ] }, @@ -99910,143 +98920,143 @@ "arguments": [ { "name": "x", - "nativeSrc": "16563:1:36", + "nativeSrc": "16563:1:34", "nodeType": "YulIdentifier", - "src": "16563:1:36" + "src": "16563:1:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "16556:6:36", + "nativeSrc": "16556:6:34", "nodeType": "YulIdentifier", - "src": "16556:6:36" + "src": "16556:6:34" }, - "nativeSrc": "16556:9:36", + "nativeSrc": "16556:9:34", "nodeType": "YulFunctionCall", - "src": "16556:9:36" + "src": "16556:9:34" }, { "arguments": [ { "name": "y", - "nativeSrc": "16570:1:36", + "nativeSrc": "16570:1:34", "nodeType": "YulIdentifier", - "src": "16570:1:36" + "src": "16570:1:34" }, { "arguments": [ { "name": "product", - "nativeSrc": "16577:7:36", + "nativeSrc": "16577:7:34", "nodeType": "YulIdentifier", - "src": "16577:7:36" + "src": "16577:7:34" }, { "name": "x", - "nativeSrc": "16586:1:36", + "nativeSrc": "16586:1:34", "nodeType": "YulIdentifier", - "src": "16586:1:36" + "src": "16586:1:34" } ], "functionName": { "name": "div", - "nativeSrc": "16573:3:36", + "nativeSrc": "16573:3:34", "nodeType": "YulIdentifier", - "src": "16573:3:36" + "src": "16573:3:34" }, - "nativeSrc": "16573:15:36", + "nativeSrc": "16573:15:34", "nodeType": "YulFunctionCall", - "src": "16573:15:36" + "src": "16573:15:34" } ], "functionName": { "name": "eq", - "nativeSrc": "16567:2:36", + "nativeSrc": "16567:2:34", "nodeType": "YulIdentifier", - "src": "16567:2:36" + "src": "16567:2:34" }, - "nativeSrc": "16567:22:36", + "nativeSrc": "16567:22:34", "nodeType": "YulFunctionCall", - "src": "16567:22:36" + "src": "16567:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "16553:2:36", + "nativeSrc": "16553:2:34", "nodeType": "YulIdentifier", - "src": "16553:2:36" + "src": "16553:2:34" }, - "nativeSrc": "16553:37:36", + "nativeSrc": "16553:37:34", "nodeType": "YulFunctionCall", - "src": "16553:37:36" + "src": "16553:37:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "16546:6:36", + "nativeSrc": "16546:6:34", "nodeType": "YulIdentifier", - "src": "16546:6:36" + "src": "16546:6:34" }, - "nativeSrc": "16546:45:36", + "nativeSrc": "16546:45:34", "nodeType": "YulFunctionCall", - "src": "16546:45:36" + "src": "16546:45:34" }, - "nativeSrc": "16543:71:36", + "nativeSrc": "16543:71:34", "nodeType": "YulIf", - "src": "16543:71:36" + "src": "16543:71:34" } ] }, "name": "checked_mul_t_uint256", - "nativeSrc": "16452:168:36", + "nativeSrc": "16452:168:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", - "nativeSrc": "16483:1:36", + "nativeSrc": "16483:1:34", "nodeType": "YulTypedName", - "src": "16483:1:36", + "src": "16483:1:34", "type": "" }, { "name": "y", - "nativeSrc": "16486:1:36", + "nativeSrc": "16486:1:34", "nodeType": "YulTypedName", - "src": "16486:1:36", + "src": "16486:1:34", "type": "" } ], "returnVariables": [ { "name": "product", - "nativeSrc": "16492:7:36", + "nativeSrc": "16492:7:34", "nodeType": "YulTypedName", - "src": "16492:7:36", + "src": "16492:7:34", "type": "" } ], - "src": "16452:168:36" + "src": "16452:168:34" }, { "body": { - "nativeSrc": "16671:171:36", + "nativeSrc": "16671:171:34", "nodeType": "YulBlock", - "src": "16671:171:36", + "src": "16671:171:34", "statements": [ { "body": { - "nativeSrc": "16702:111:36", + "nativeSrc": "16702:111:34", "nodeType": "YulBlock", - "src": "16702:111:36", + "src": "16702:111:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "16723:1:36", + "nativeSrc": "16723:1:34", "nodeType": "YulLiteral", - "src": "16723:1:36", + "src": "16723:1:34", "type": "", "value": "0" }, @@ -100054,113 +99064,113 @@ "arguments": [ { "kind": "number", - "nativeSrc": "16730:3:36", + "nativeSrc": "16730:3:34", "nodeType": "YulLiteral", - "src": "16730:3:36", + "src": "16730:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "16735:10:36", + "nativeSrc": "16735:10:34", "nodeType": "YulLiteral", - "src": "16735:10:36", + "src": "16735:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "16726:3:36", + "nativeSrc": "16726:3:34", "nodeType": "YulIdentifier", - "src": "16726:3:36" + "src": "16726:3:34" }, - "nativeSrc": "16726:20:36", + "nativeSrc": "16726:20:34", "nodeType": "YulFunctionCall", - "src": "16726:20:36" + "src": "16726:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "16716:6:36", + "nativeSrc": "16716:6:34", "nodeType": "YulIdentifier", - "src": "16716:6:36" + "src": "16716:6:34" }, - "nativeSrc": "16716:31:36", + "nativeSrc": "16716:31:34", "nodeType": "YulFunctionCall", - "src": "16716:31:36" + "src": "16716:31:34" }, - "nativeSrc": "16716:31:36", + "nativeSrc": "16716:31:34", "nodeType": "YulExpressionStatement", - "src": "16716:31:36" + "src": "16716:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "16767:1:36", + "nativeSrc": "16767:1:34", "nodeType": "YulLiteral", - "src": "16767:1:36", + "src": "16767:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "16770:4:36", + "nativeSrc": "16770:4:34", "nodeType": "YulLiteral", - "src": "16770:4:36", + "src": "16770:4:34", "type": "", "value": "0x12" } ], "functionName": { "name": "mstore", - "nativeSrc": "16760:6:36", + "nativeSrc": "16760:6:34", "nodeType": "YulIdentifier", - "src": "16760:6:36" + "src": "16760:6:34" }, - "nativeSrc": "16760:15:36", + "nativeSrc": "16760:15:34", "nodeType": "YulFunctionCall", - "src": "16760:15:36" + "src": "16760:15:34" }, - "nativeSrc": "16760:15:36", + "nativeSrc": "16760:15:34", "nodeType": "YulExpressionStatement", - "src": "16760:15:36" + "src": "16760:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "16795:1:36", + "nativeSrc": "16795:1:34", "nodeType": "YulLiteral", - "src": "16795:1:36", + "src": "16795:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "16798:4:36", + "nativeSrc": "16798:4:34", "nodeType": "YulLiteral", - "src": "16798:4:36", + "src": "16798:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "16788:6:36", + "nativeSrc": "16788:6:34", "nodeType": "YulIdentifier", - "src": "16788:6:36" + "src": "16788:6:34" }, - "nativeSrc": "16788:15:36", + "nativeSrc": "16788:15:34", "nodeType": "YulFunctionCall", - "src": "16788:15:36" + "src": "16788:15:34" }, - "nativeSrc": "16788:15:36", + "nativeSrc": "16788:15:34", "nodeType": "YulExpressionStatement", - "src": "16788:15:36" + "src": "16788:15:34" } ] }, @@ -100168,132 +99178,132 @@ "arguments": [ { "name": "y", - "nativeSrc": "16691:1:36", + "nativeSrc": "16691:1:34", "nodeType": "YulIdentifier", - "src": "16691:1:36" + "src": "16691:1:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "16684:6:36", + "nativeSrc": "16684:6:34", "nodeType": "YulIdentifier", - "src": "16684:6:36" + "src": "16684:6:34" }, - "nativeSrc": "16684:9:36", + "nativeSrc": "16684:9:34", "nodeType": "YulFunctionCall", - "src": "16684:9:36" + "src": "16684:9:34" }, - "nativeSrc": "16681:132:36", + "nativeSrc": "16681:132:34", "nodeType": "YulIf", - "src": "16681:132:36" + "src": "16681:132:34" }, { - "nativeSrc": "16822:14:36", + "nativeSrc": "16822:14:34", "nodeType": "YulAssignment", - "src": "16822:14:36", + "src": "16822:14:34", "value": { "arguments": [ { "name": "x", - "nativeSrc": "16831:1:36", + "nativeSrc": "16831:1:34", "nodeType": "YulIdentifier", - "src": "16831:1:36" + "src": "16831:1:34" }, { "name": "y", - "nativeSrc": "16834:1:36", + "nativeSrc": "16834:1:34", "nodeType": "YulIdentifier", - "src": "16834:1:36" + "src": "16834:1:34" } ], "functionName": { "name": "div", - "nativeSrc": "16827:3:36", + "nativeSrc": "16827:3:34", "nodeType": "YulIdentifier", - "src": "16827:3:36" + "src": "16827:3:34" }, - "nativeSrc": "16827:9:36", + "nativeSrc": "16827:9:34", "nodeType": "YulFunctionCall", - "src": "16827:9:36" + "src": "16827:9:34" }, "variableNames": [ { "name": "r", - "nativeSrc": "16822:1:36", + "nativeSrc": "16822:1:34", "nodeType": "YulIdentifier", - "src": "16822:1:36" + "src": "16822:1:34" } ] } ] }, "name": "checked_div_t_uint256", - "nativeSrc": "16625:217:36", + "nativeSrc": "16625:217:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", - "nativeSrc": "16656:1:36", + "nativeSrc": "16656:1:34", "nodeType": "YulTypedName", - "src": "16656:1:36", + "src": "16656:1:34", "type": "" }, { "name": "y", - "nativeSrc": "16659:1:36", + "nativeSrc": "16659:1:34", "nodeType": "YulTypedName", - "src": "16659:1:36", + "src": "16659:1:34", "type": "" } ], "returnVariables": [ { "name": "r", - "nativeSrc": "16665:1:36", + "nativeSrc": "16665:1:34", "nodeType": "YulTypedName", - "src": "16665:1:36", + "src": "16665:1:34", "type": "" } ], - "src": "16625:217:36" + "src": "16625:217:34" }, { "body": { - "nativeSrc": "17021:176:36", + "nativeSrc": "17021:176:34", "nodeType": "YulBlock", - "src": "17021:176:36", + "src": "17021:176:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "17038:9:36", + "nativeSrc": "17038:9:34", "nodeType": "YulIdentifier", - "src": "17038:9:36" + "src": "17038:9:34" }, { "kind": "number", - "nativeSrc": "17049:2:36", + "nativeSrc": "17049:2:34", "nodeType": "YulLiteral", - "src": "17049:2:36", + "src": "17049:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "17031:6:36", + "nativeSrc": "17031:6:34", "nodeType": "YulIdentifier", - "src": "17031:6:36" + "src": "17031:6:34" }, - "nativeSrc": "17031:21:36", + "nativeSrc": "17031:21:34", "nodeType": "YulFunctionCall", - "src": "17031:21:36" + "src": "17031:21:34" }, - "nativeSrc": "17031:21:36", + "nativeSrc": "17031:21:34", "nodeType": "YulExpressionStatement", - "src": "17031:21:36" + "src": "17031:21:34" }, { "expression": { @@ -100302,51 +99312,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "17072:9:36", + "nativeSrc": "17072:9:34", "nodeType": "YulIdentifier", - "src": "17072:9:36" + "src": "17072:9:34" }, { "kind": "number", - "nativeSrc": "17083:2:36", + "nativeSrc": "17083:2:34", "nodeType": "YulLiteral", - "src": "17083:2:36", + "src": "17083:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "17068:3:36", + "nativeSrc": "17068:3:34", "nodeType": "YulIdentifier", - "src": "17068:3:36" + "src": "17068:3:34" }, - "nativeSrc": "17068:18:36", + "nativeSrc": "17068:18:34", "nodeType": "YulFunctionCall", - "src": "17068:18:36" + "src": "17068:18:34" }, { "kind": "number", - "nativeSrc": "17088:2:36", + "nativeSrc": "17088:2:34", "nodeType": "YulLiteral", - "src": "17088:2:36", + "src": "17088:2:34", "type": "", "value": "26" } ], "functionName": { "name": "mstore", - "nativeSrc": "17061:6:36", + "nativeSrc": "17061:6:34", "nodeType": "YulIdentifier", - "src": "17061:6:36" + "src": "17061:6:34" }, - "nativeSrc": "17061:30:36", + "nativeSrc": "17061:30:34", "nodeType": "YulFunctionCall", - "src": "17061:30:36" + "src": "17061:30:34" }, - "nativeSrc": "17061:30:36", + "nativeSrc": "17061:30:34", "nodeType": "YulExpressionStatement", - "src": "17061:30:36" + "src": "17061:30:34" }, { "expression": { @@ -100355,155 +99365,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "17111:9:36", + "nativeSrc": "17111:9:34", "nodeType": "YulIdentifier", - "src": "17111:9:36" + "src": "17111:9:34" }, { "kind": "number", - "nativeSrc": "17122:2:36", + "nativeSrc": "17122:2:34", "nodeType": "YulLiteral", - "src": "17122:2:36", + "src": "17122:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "17107:3:36", + "nativeSrc": "17107:3:34", "nodeType": "YulIdentifier", - "src": "17107:3:36" + "src": "17107:3:34" }, - "nativeSrc": "17107:18:36", + "nativeSrc": "17107:18:34", "nodeType": "YulFunctionCall", - "src": "17107:18:36" + "src": "17107:18:34" }, { "hexValue": "4e6f7420746865206f776e6572206f6620746865206167656e74", "kind": "string", - "nativeSrc": "17127:28:36", + "nativeSrc": "17127:28:34", "nodeType": "YulLiteral", - "src": "17127:28:36", + "src": "17127:28:34", "type": "", "value": "Not the owner of the agent" } ], "functionName": { "name": "mstore", - "nativeSrc": "17100:6:36", + "nativeSrc": "17100:6:34", "nodeType": "YulIdentifier", - "src": "17100:6:36" + "src": "17100:6:34" }, - "nativeSrc": "17100:56:36", + "nativeSrc": "17100:56:34", "nodeType": "YulFunctionCall", - "src": "17100:56:36" + "src": "17100:56:34" }, - "nativeSrc": "17100:56:36", + "nativeSrc": "17100:56:34", "nodeType": "YulExpressionStatement", - "src": "17100:56:36" + "src": "17100:56:34" }, { - "nativeSrc": "17165:26:36", + "nativeSrc": "17165:26:34", "nodeType": "YulAssignment", - "src": "17165:26:36", + "src": "17165:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "17177:9:36", + "nativeSrc": "17177:9:34", "nodeType": "YulIdentifier", - "src": "17177:9:36" + "src": "17177:9:34" }, { "kind": "number", - "nativeSrc": "17188:2:36", + "nativeSrc": "17188:2:34", "nodeType": "YulLiteral", - "src": "17188:2:36", + "src": "17188:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "17173:3:36", + "nativeSrc": "17173:3:34", "nodeType": "YulIdentifier", - "src": "17173:3:36" + "src": "17173:3:34" }, - "nativeSrc": "17173:18:36", + "nativeSrc": "17173:18:34", "nodeType": "YulFunctionCall", - "src": "17173:18:36" + "src": "17173:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "17165:4:36", + "nativeSrc": "17165:4:34", "nodeType": "YulIdentifier", - "src": "17165:4:36" + "src": "17165:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_333080ba9ab8738c4a0b47b5b79d2c142d573a23f488baafda66363f88786955__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "16847:350:36", + "nativeSrc": "16847:350:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "16998:9:36", + "nativeSrc": "16998:9:34", "nodeType": "YulTypedName", - "src": "16998:9:36", + "src": "16998:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "17012:4:36", + "nativeSrc": "17012:4:34", "nodeType": "YulTypedName", - "src": "17012:4:36", + "src": "17012:4:34", "type": "" } ], - "src": "16847:350:36" + "src": "16847:350:34" }, { "body": { - "nativeSrc": "17376:175:36", + "nativeSrc": "17376:175:34", "nodeType": "YulBlock", - "src": "17376:175:36", + "src": "17376:175:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "17393:9:36", + "nativeSrc": "17393:9:34", "nodeType": "YulIdentifier", - "src": "17393:9:36" + "src": "17393:9:34" }, { "kind": "number", - "nativeSrc": "17404:2:36", + "nativeSrc": "17404:2:34", "nodeType": "YulLiteral", - "src": "17404:2:36", + "src": "17404:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "17386:6:36", + "nativeSrc": "17386:6:34", "nodeType": "YulIdentifier", - "src": "17386:6:36" + "src": "17386:6:34" }, - "nativeSrc": "17386:21:36", + "nativeSrc": "17386:21:34", "nodeType": "YulFunctionCall", - "src": "17386:21:36" + "src": "17386:21:34" }, - "nativeSrc": "17386:21:36", + "nativeSrc": "17386:21:34", "nodeType": "YulExpressionStatement", - "src": "17386:21:36" + "src": "17386:21:34" }, { "expression": { @@ -100512,51 +99522,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "17427:9:36", + "nativeSrc": "17427:9:34", "nodeType": "YulIdentifier", - "src": "17427:9:36" + "src": "17427:9:34" }, { "kind": "number", - "nativeSrc": "17438:2:36", + "nativeSrc": "17438:2:34", "nodeType": "YulLiteral", - "src": "17438:2:36", + "src": "17438:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "17423:3:36", + "nativeSrc": "17423:3:34", "nodeType": "YulIdentifier", - "src": "17423:3:36" + "src": "17423:3:34" }, - "nativeSrc": "17423:18:36", + "nativeSrc": "17423:18:34", "nodeType": "YulFunctionCall", - "src": "17423:18:36" + "src": "17423:18:34" }, { "kind": "number", - "nativeSrc": "17443:2:36", + "nativeSrc": "17443:2:34", "nodeType": "YulLiteral", - "src": "17443:2:36", + "src": "17443:2:34", "type": "", "value": "25" } ], "functionName": { "name": "mstore", - "nativeSrc": "17416:6:36", + "nativeSrc": "17416:6:34", "nodeType": "YulIdentifier", - "src": "17416:6:36" + "src": "17416:6:34" }, - "nativeSrc": "17416:30:36", + "nativeSrc": "17416:30:34", "nodeType": "YulFunctionCall", - "src": "17416:30:36" + "src": "17416:30:34" }, - "nativeSrc": "17416:30:36", + "nativeSrc": "17416:30:34", "nodeType": "YulExpressionStatement", - "src": "17416:30:36" + "src": "17416:30:34" }, { "expression": { @@ -100565,155 +99575,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "17466:9:36", + "nativeSrc": "17466:9:34", "nodeType": "YulIdentifier", - "src": "17466:9:36" + "src": "17466:9:34" }, { "kind": "number", - "nativeSrc": "17477:2:36", + "nativeSrc": "17477:2:34", "nodeType": "YulLiteral", - "src": "17477:2:36", + "src": "17477:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "17462:3:36", + "nativeSrc": "17462:3:34", "nodeType": "YulIdentifier", - "src": "17462:3:36" + "src": "17462:3:34" }, - "nativeSrc": "17462:18:36", + "nativeSrc": "17462:18:34", "nodeType": "YulFunctionCall", - "src": "17462:18:36" + "src": "17462:18:34" }, { "hexValue": "5365727669636550726f706f73616c206e6f7420666f756e64", "kind": "string", - "nativeSrc": "17482:27:36", + "nativeSrc": "17482:27:34", "nodeType": "YulLiteral", - "src": "17482:27:36", + "src": "17482:27:34", "type": "", "value": "ServiceProposal not found" } ], "functionName": { "name": "mstore", - "nativeSrc": "17455:6:36", + "nativeSrc": "17455:6:34", "nodeType": "YulIdentifier", - "src": "17455:6:36" + "src": "17455:6:34" }, - "nativeSrc": "17455:55:36", + "nativeSrc": "17455:55:34", "nodeType": "YulFunctionCall", - "src": "17455:55:36" + "src": "17455:55:34" }, - "nativeSrc": "17455:55:36", + "nativeSrc": "17455:55:34", "nodeType": "YulExpressionStatement", - "src": "17455:55:36" + "src": "17455:55:34" }, { - "nativeSrc": "17519:26:36", + "nativeSrc": "17519:26:34", "nodeType": "YulAssignment", - "src": "17519:26:36", + "src": "17519:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "17531:9:36", + "nativeSrc": "17531:9:34", "nodeType": "YulIdentifier", - "src": "17531:9:36" + "src": "17531:9:34" }, { "kind": "number", - "nativeSrc": "17542:2:36", + "nativeSrc": "17542:2:34", "nodeType": "YulLiteral", - "src": "17542:2:36", + "src": "17542:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "17527:3:36", + "nativeSrc": "17527:3:34", "nodeType": "YulIdentifier", - "src": "17527:3:36" + "src": "17527:3:34" }, - "nativeSrc": "17527:18:36", + "nativeSrc": "17527:18:34", "nodeType": "YulFunctionCall", - "src": "17527:18:36" + "src": "17527:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "17519:4:36", + "nativeSrc": "17519:4:34", "nodeType": "YulIdentifier", - "src": "17519:4:36" + "src": "17519:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "17202:349:36", + "nativeSrc": "17202:349:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "17353:9:36", + "nativeSrc": "17353:9:34", "nodeType": "YulTypedName", - "src": "17353:9:36", + "src": "17353:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "17367:4:36", + "nativeSrc": "17367:4:34", "nodeType": "YulTypedName", - "src": "17367:4:36", + "src": "17367:4:34", "type": "" } ], - "src": "17202:349:36" + "src": "17202:349:34" }, { "body": { - "nativeSrc": "17730:170:36", + "nativeSrc": "17730:170:34", "nodeType": "YulBlock", - "src": "17730:170:36", + "src": "17730:170:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "17747:9:36", + "nativeSrc": "17747:9:34", "nodeType": "YulIdentifier", - "src": "17747:9:36" + "src": "17747:9:34" }, { "kind": "number", - "nativeSrc": "17758:2:36", + "nativeSrc": "17758:2:34", "nodeType": "YulLiteral", - "src": "17758:2:36", + "src": "17758:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "17740:6:36", + "nativeSrc": "17740:6:34", "nodeType": "YulIdentifier", - "src": "17740:6:36" + "src": "17740:6:34" }, - "nativeSrc": "17740:21:36", + "nativeSrc": "17740:21:34", "nodeType": "YulFunctionCall", - "src": "17740:21:36" + "src": "17740:21:34" }, - "nativeSrc": "17740:21:36", + "nativeSrc": "17740:21:34", "nodeType": "YulExpressionStatement", - "src": "17740:21:36" + "src": "17740:21:34" }, { "expression": { @@ -100722,51 +99732,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "17781:9:36", + "nativeSrc": "17781:9:34", "nodeType": "YulIdentifier", - "src": "17781:9:36" + "src": "17781:9:34" }, { "kind": "number", - "nativeSrc": "17792:2:36", + "nativeSrc": "17792:2:34", "nodeType": "YulLiteral", - "src": "17792:2:36", + "src": "17792:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "17777:3:36", + "nativeSrc": "17777:3:34", "nodeType": "YulIdentifier", - "src": "17777:3:36" + "src": "17777:3:34" }, - "nativeSrc": "17777:18:36", + "nativeSrc": "17777:18:34", "nodeType": "YulFunctionCall", - "src": "17777:18:36" + "src": "17777:18:34" }, { "kind": "number", - "nativeSrc": "17797:2:36", + "nativeSrc": "17797:2:34", "nodeType": "YulLiteral", - "src": "17797:2:36", + "src": "17797:2:34", "type": "", "value": "20" } ], "functionName": { "name": "mstore", - "nativeSrc": "17770:6:36", + "nativeSrc": "17770:6:34", "nodeType": "YulIdentifier", - "src": "17770:6:36" + "src": "17770:6:34" }, - "nativeSrc": "17770:30:36", + "nativeSrc": "17770:30:34", "nodeType": "YulFunctionCall", - "src": "17770:30:36" + "src": "17770:30:34" }, - "nativeSrc": "17770:30:36", + "nativeSrc": "17770:30:34", "nodeType": "YulExpressionStatement", - "src": "17770:30:36" + "src": "17770:30:34" }, { "expression": { @@ -100775,253 +99785,253 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "17820:9:36", + "nativeSrc": "17820:9:34", "nodeType": "YulIdentifier", - "src": "17820:9:36" + "src": "17820:9:34" }, { "kind": "number", - "nativeSrc": "17831:2:36", + "nativeSrc": "17831:2:34", "nodeType": "YulLiteral", - "src": "17831:2:36", + "src": "17831:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "17816:3:36", + "nativeSrc": "17816:3:34", "nodeType": "YulIdentifier", - "src": "17816:3:36" + "src": "17816:3:34" }, - "nativeSrc": "17816:18:36", + "nativeSrc": "17816:18:34", "nodeType": "YulFunctionCall", - "src": "17816:18:36" + "src": "17816:18:34" }, { "hexValue": "4167656e74206e6f742072656769737465726564", "kind": "string", - "nativeSrc": "17836:22:36", + "nativeSrc": "17836:22:34", "nodeType": "YulLiteral", - "src": "17836:22:36", + "src": "17836:22:34", "type": "", "value": "Agent not registered" } ], "functionName": { "name": "mstore", - "nativeSrc": "17809:6:36", + "nativeSrc": "17809:6:34", "nodeType": "YulIdentifier", - "src": "17809:6:36" + "src": "17809:6:34" }, - "nativeSrc": "17809:50:36", + "nativeSrc": "17809:50:34", "nodeType": "YulFunctionCall", - "src": "17809:50:36" + "src": "17809:50:34" }, - "nativeSrc": "17809:50:36", + "nativeSrc": "17809:50:34", "nodeType": "YulExpressionStatement", - "src": "17809:50:36" + "src": "17809:50:34" }, { - "nativeSrc": "17868:26:36", + "nativeSrc": "17868:26:34", "nodeType": "YulAssignment", - "src": "17868:26:36", + "src": "17868:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "17880:9:36", + "nativeSrc": "17880:9:34", "nodeType": "YulIdentifier", - "src": "17880:9:36" + "src": "17880:9:34" }, { "kind": "number", - "nativeSrc": "17891:2:36", + "nativeSrc": "17891:2:34", "nodeType": "YulLiteral", - "src": "17891:2:36", + "src": "17891:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "17876:3:36", + "nativeSrc": "17876:3:34", "nodeType": "YulIdentifier", - "src": "17876:3:36" + "src": "17876:3:34" }, - "nativeSrc": "17876:18:36", + "nativeSrc": "17876:18:34", "nodeType": "YulFunctionCall", - "src": "17876:18:36" + "src": "17876:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "17868:4:36", + "nativeSrc": "17868:4:34", "nodeType": "YulIdentifier", - "src": "17868:4:36" + "src": "17868:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_6b24a63f053c9f60b33a6142346432678adff778fb93a8ecec9013d5a898e395__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "17556:344:36", + "nativeSrc": "17556:344:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "17707:9:36", + "nativeSrc": "17707:9:34", "nodeType": "YulTypedName", - "src": "17707:9:36", + "src": "17707:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "17721:4:36", + "nativeSrc": "17721:4:34", "nodeType": "YulTypedName", - "src": "17721:4:36", + "src": "17721:4:34", "type": "" } ], - "src": "17556:344:36" + "src": "17556:344:34" }, { "body": { - "nativeSrc": "17961:65:36", + "nativeSrc": "17961:65:34", "nodeType": "YulBlock", - "src": "17961:65:36", + "src": "17961:65:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "17978:1:36", + "nativeSrc": "17978:1:34", "nodeType": "YulLiteral", - "src": "17978:1:36", + "src": "17978:1:34", "type": "", "value": "0" }, { "name": "ptr", - "nativeSrc": "17981:3:36", + "nativeSrc": "17981:3:34", "nodeType": "YulIdentifier", - "src": "17981:3:36" + "src": "17981:3:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "17971:6:36", + "nativeSrc": "17971:6:34", "nodeType": "YulIdentifier", - "src": "17971:6:36" + "src": "17971:6:34" }, - "nativeSrc": "17971:14:36", + "nativeSrc": "17971:14:34", "nodeType": "YulFunctionCall", - "src": "17971:14:36" + "src": "17971:14:34" }, - "nativeSrc": "17971:14:36", + "nativeSrc": "17971:14:34", "nodeType": "YulExpressionStatement", - "src": "17971:14:36" + "src": "17971:14:34" }, { - "nativeSrc": "17994:26:36", + "nativeSrc": "17994:26:34", "nodeType": "YulAssignment", - "src": "17994:26:36", + "src": "17994:26:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "18012:1:36", + "nativeSrc": "18012:1:34", "nodeType": "YulLiteral", - "src": "18012:1:36", + "src": "18012:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "18015:4:36", + "nativeSrc": "18015:4:34", "nodeType": "YulLiteral", - "src": "18015:4:36", + "src": "18015:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "18002:9:36", + "nativeSrc": "18002:9:34", "nodeType": "YulIdentifier", - "src": "18002:9:36" + "src": "18002:9:34" }, - "nativeSrc": "18002:18:36", + "nativeSrc": "18002:18:34", "nodeType": "YulFunctionCall", - "src": "18002:18:36" + "src": "18002:18:34" }, "variableNames": [ { "name": "data", - "nativeSrc": "17994:4:36", + "nativeSrc": "17994:4:34", "nodeType": "YulIdentifier", - "src": "17994:4:36" + "src": "17994:4:34" } ] } ] }, "name": "array_dataslot_string_storage", - "nativeSrc": "17905:121:36", + "nativeSrc": "17905:121:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "ptr", - "nativeSrc": "17944:3:36", + "nativeSrc": "17944:3:34", "nodeType": "YulTypedName", - "src": "17944:3:36", + "src": "17944:3:34", "type": "" } ], "returnVariables": [ { "name": "data", - "nativeSrc": "17952:4:36", + "nativeSrc": "17952:4:34", "nodeType": "YulTypedName", - "src": "17952:4:36", + "src": "17952:4:34", "type": "" } ], - "src": "17905:121:36" + "src": "17905:121:34" }, { "body": { - "nativeSrc": "18112:462:36", + "nativeSrc": "18112:462:34", "nodeType": "YulBlock", - "src": "18112:462:36", + "src": "18112:462:34", "statements": [ { "body": { - "nativeSrc": "18145:423:36", + "nativeSrc": "18145:423:34", "nodeType": "YulBlock", - "src": "18145:423:36", + "src": "18145:423:34", "statements": [ { - "nativeSrc": "18159:11:36", + "nativeSrc": "18159:11:34", "nodeType": "YulVariableDeclaration", - "src": "18159:11:36", + "src": "18159:11:34", "value": { "kind": "number", - "nativeSrc": "18169:1:36", + "nativeSrc": "18169:1:34", "nodeType": "YulLiteral", - "src": "18169:1:36", + "src": "18169:1:34", "type": "", "value": "0" }, "variables": [ { "name": "_1", - "nativeSrc": "18163:2:36", + "nativeSrc": "18163:2:34", "nodeType": "YulTypedName", - "src": "18163:2:36", + "src": "18163:2:34", "type": "" } ] @@ -101031,95 +100041,95 @@ "arguments": [ { "kind": "number", - "nativeSrc": "18190:1:36", + "nativeSrc": "18190:1:34", "nodeType": "YulLiteral", - "src": "18190:1:36", + "src": "18190:1:34", "type": "", "value": "0" }, { "name": "array", - "nativeSrc": "18193:5:36", + "nativeSrc": "18193:5:34", "nodeType": "YulIdentifier", - "src": "18193:5:36" + "src": "18193:5:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "18183:6:36", + "nativeSrc": "18183:6:34", "nodeType": "YulIdentifier", - "src": "18183:6:36" + "src": "18183:6:34" }, - "nativeSrc": "18183:16:36", + "nativeSrc": "18183:16:34", "nodeType": "YulFunctionCall", - "src": "18183:16:36" + "src": "18183:16:34" }, - "nativeSrc": "18183:16:36", + "nativeSrc": "18183:16:34", "nodeType": "YulExpressionStatement", - "src": "18183:16:36" + "src": "18183:16:34" }, { - "nativeSrc": "18212:30:36", + "nativeSrc": "18212:30:34", "nodeType": "YulVariableDeclaration", - "src": "18212:30:36", + "src": "18212:30:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "18234:1:36", + "nativeSrc": "18234:1:34", "nodeType": "YulLiteral", - "src": "18234:1:36", + "src": "18234:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "18237:4:36", + "nativeSrc": "18237:4:34", "nodeType": "YulLiteral", - "src": "18237:4:36", + "src": "18237:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "18224:9:36", + "nativeSrc": "18224:9:34", "nodeType": "YulIdentifier", - "src": "18224:9:36" + "src": "18224:9:34" }, - "nativeSrc": "18224:18:36", + "nativeSrc": "18224:18:34", "nodeType": "YulFunctionCall", - "src": "18224:18:36" + "src": "18224:18:34" }, "variables": [ { "name": "data", - "nativeSrc": "18216:4:36", + "nativeSrc": "18216:4:34", "nodeType": "YulTypedName", - "src": "18216:4:36", + "src": "18216:4:34", "type": "" } ] }, { - "nativeSrc": "18255:57:36", + "nativeSrc": "18255:57:34", "nodeType": "YulVariableDeclaration", - "src": "18255:57:36", + "src": "18255:57:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "18278:4:36", + "nativeSrc": "18278:4:34", "nodeType": "YulIdentifier", - "src": "18278:4:36" + "src": "18278:4:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "18288:1:36", + "nativeSrc": "18288:1:34", "nodeType": "YulLiteral", - "src": "18288:1:36", + "src": "18288:1:34", "type": "", "value": "5" }, @@ -101127,83 +100137,83 @@ "arguments": [ { "name": "startIndex", - "nativeSrc": "18295:10:36", + "nativeSrc": "18295:10:34", "nodeType": "YulIdentifier", - "src": "18295:10:36" + "src": "18295:10:34" }, { "kind": "number", - "nativeSrc": "18307:2:36", + "nativeSrc": "18307:2:34", "nodeType": "YulLiteral", - "src": "18307:2:36", + "src": "18307:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "18291:3:36", + "nativeSrc": "18291:3:34", "nodeType": "YulIdentifier", - "src": "18291:3:36" + "src": "18291:3:34" }, - "nativeSrc": "18291:19:36", + "nativeSrc": "18291:19:34", "nodeType": "YulFunctionCall", - "src": "18291:19:36" + "src": "18291:19:34" } ], "functionName": { "name": "shr", - "nativeSrc": "18284:3:36", + "nativeSrc": "18284:3:34", "nodeType": "YulIdentifier", - "src": "18284:3:36" + "src": "18284:3:34" }, - "nativeSrc": "18284:27:36", + "nativeSrc": "18284:27:34", "nodeType": "YulFunctionCall", - "src": "18284:27:36" + "src": "18284:27:34" } ], "functionName": { "name": "add", - "nativeSrc": "18274:3:36", + "nativeSrc": "18274:3:34", "nodeType": "YulIdentifier", - "src": "18274:3:36" + "src": "18274:3:34" }, - "nativeSrc": "18274:38:36", + "nativeSrc": "18274:38:34", "nodeType": "YulFunctionCall", - "src": "18274:38:36" + "src": "18274:38:34" }, "variables": [ { "name": "deleteStart", - "nativeSrc": "18259:11:36", + "nativeSrc": "18259:11:34", "nodeType": "YulTypedName", - "src": "18259:11:36", + "src": "18259:11:34", "type": "" } ] }, { "body": { - "nativeSrc": "18349:23:36", + "nativeSrc": "18349:23:34", "nodeType": "YulBlock", - "src": "18349:23:36", + "src": "18349:23:34", "statements": [ { - "nativeSrc": "18351:19:36", + "nativeSrc": "18351:19:34", "nodeType": "YulAssignment", - "src": "18351:19:36", + "src": "18351:19:34", "value": { "name": "data", - "nativeSrc": "18366:4:36", + "nativeSrc": "18366:4:34", "nodeType": "YulIdentifier", - "src": "18366:4:36" + "src": "18366:4:34" }, "variableNames": [ { "name": "deleteStart", - "nativeSrc": "18351:11:36", + "nativeSrc": "18351:11:34", "nodeType": "YulIdentifier", - "src": "18351:11:36" + "src": "18351:11:34" } ] } @@ -101213,52 +100223,52 @@ "arguments": [ { "name": "startIndex", - "nativeSrc": "18331:10:36", + "nativeSrc": "18331:10:34", "nodeType": "YulIdentifier", - "src": "18331:10:36" + "src": "18331:10:34" }, { "kind": "number", - "nativeSrc": "18343:4:36", + "nativeSrc": "18343:4:34", "nodeType": "YulLiteral", - "src": "18343:4:36", + "src": "18343:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "lt", - "nativeSrc": "18328:2:36", + "nativeSrc": "18328:2:34", "nodeType": "YulIdentifier", - "src": "18328:2:36" + "src": "18328:2:34" }, - "nativeSrc": "18328:20:36", + "nativeSrc": "18328:20:34", "nodeType": "YulFunctionCall", - "src": "18328:20:36" + "src": "18328:20:34" }, - "nativeSrc": "18325:47:36", + "nativeSrc": "18325:47:34", "nodeType": "YulIf", - "src": "18325:47:36" + "src": "18325:47:34" }, { - "nativeSrc": "18385:41:36", + "nativeSrc": "18385:41:34", "nodeType": "YulVariableDeclaration", - "src": "18385:41:36", + "src": "18385:41:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "18399:4:36", + "nativeSrc": "18399:4:34", "nodeType": "YulIdentifier", - "src": "18399:4:36" + "src": "18399:4:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "18409:1:36", + "nativeSrc": "18409:1:34", "nodeType": "YulLiteral", - "src": "18409:1:36", + "src": "18409:1:34", "type": "", "value": "5" }, @@ -101266,116 +100276,116 @@ "arguments": [ { "name": "len", - "nativeSrc": "18416:3:36", + "nativeSrc": "18416:3:34", "nodeType": "YulIdentifier", - "src": "18416:3:36" + "src": "18416:3:34" }, { "kind": "number", - "nativeSrc": "18421:2:36", + "nativeSrc": "18421:2:34", "nodeType": "YulLiteral", - "src": "18421:2:36", + "src": "18421:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "18412:3:36", + "nativeSrc": "18412:3:34", "nodeType": "YulIdentifier", - "src": "18412:3:36" + "src": "18412:3:34" }, - "nativeSrc": "18412:12:36", + "nativeSrc": "18412:12:34", "nodeType": "YulFunctionCall", - "src": "18412:12:36" + "src": "18412:12:34" } ], "functionName": { "name": "shr", - "nativeSrc": "18405:3:36", + "nativeSrc": "18405:3:34", "nodeType": "YulIdentifier", - "src": "18405:3:36" + "src": "18405:3:34" }, - "nativeSrc": "18405:20:36", + "nativeSrc": "18405:20:34", "nodeType": "YulFunctionCall", - "src": "18405:20:36" + "src": "18405:20:34" } ], "functionName": { "name": "add", - "nativeSrc": "18395:3:36", + "nativeSrc": "18395:3:34", "nodeType": "YulIdentifier", - "src": "18395:3:36" + "src": "18395:3:34" }, - "nativeSrc": "18395:31:36", + "nativeSrc": "18395:31:34", "nodeType": "YulFunctionCall", - "src": "18395:31:36" + "src": "18395:31:34" }, "variables": [ { "name": "_2", - "nativeSrc": "18389:2:36", + "nativeSrc": "18389:2:34", "nodeType": "YulTypedName", - "src": "18389:2:36", + "src": "18389:2:34", "type": "" } ] }, { - "nativeSrc": "18439:24:36", + "nativeSrc": "18439:24:34", "nodeType": "YulVariableDeclaration", - "src": "18439:24:36", + "src": "18439:24:34", "value": { "name": "deleteStart", - "nativeSrc": "18452:11:36", + "nativeSrc": "18452:11:34", "nodeType": "YulIdentifier", - "src": "18452:11:36" + "src": "18452:11:34" }, "variables": [ { "name": "start", - "nativeSrc": "18443:5:36", + "nativeSrc": "18443:5:34", "nodeType": "YulTypedName", - "src": "18443:5:36", + "src": "18443:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "18537:21:36", + "nativeSrc": "18537:21:34", "nodeType": "YulBlock", - "src": "18537:21:36", + "src": "18537:21:34", "statements": [ { "expression": { "arguments": [ { "name": "start", - "nativeSrc": "18546:5:36", + "nativeSrc": "18546:5:34", "nodeType": "YulIdentifier", - "src": "18546:5:36" + "src": "18546:5:34" }, { "name": "_1", - "nativeSrc": "18553:2:36", + "nativeSrc": "18553:2:34", "nodeType": "YulIdentifier", - "src": "18553:2:36" + "src": "18553:2:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "18539:6:36", + "nativeSrc": "18539:6:34", "nodeType": "YulIdentifier", - "src": "18539:6:36" + "src": "18539:6:34" }, - "nativeSrc": "18539:17:36", + "nativeSrc": "18539:17:34", "nodeType": "YulFunctionCall", - "src": "18539:17:36" + "src": "18539:17:34" }, - "nativeSrc": "18539:17:36", + "nativeSrc": "18539:17:34", "nodeType": "YulExpressionStatement", - "src": "18539:17:36" + "src": "18539:17:34" } ] }, @@ -101383,83 +100393,83 @@ "arguments": [ { "name": "start", - "nativeSrc": "18487:5:36", + "nativeSrc": "18487:5:34", "nodeType": "YulIdentifier", - "src": "18487:5:36" + "src": "18487:5:34" }, { "name": "_2", - "nativeSrc": "18494:2:36", + "nativeSrc": "18494:2:34", "nodeType": "YulIdentifier", - "src": "18494:2:36" + "src": "18494:2:34" } ], "functionName": { "name": "lt", - "nativeSrc": "18484:2:36", + "nativeSrc": "18484:2:34", "nodeType": "YulIdentifier", - "src": "18484:2:36" + "src": "18484:2:34" }, - "nativeSrc": "18484:13:36", + "nativeSrc": "18484:13:34", "nodeType": "YulFunctionCall", - "src": "18484:13:36" + "src": "18484:13:34" }, - "nativeSrc": "18476:82:36", + "nativeSrc": "18476:82:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "18498:26:36", + "nativeSrc": "18498:26:34", "nodeType": "YulBlock", - "src": "18498:26:36", + "src": "18498:26:34", "statements": [ { - "nativeSrc": "18500:22:36", + "nativeSrc": "18500:22:34", "nodeType": "YulAssignment", - "src": "18500:22:36", + "src": "18500:22:34", "value": { "arguments": [ { "name": "start", - "nativeSrc": "18513:5:36", + "nativeSrc": "18513:5:34", "nodeType": "YulIdentifier", - "src": "18513:5:36" + "src": "18513:5:34" }, { "kind": "number", - "nativeSrc": "18520:1:36", + "nativeSrc": "18520:1:34", "nodeType": "YulLiteral", - "src": "18520:1:36", + "src": "18520:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "18509:3:36", + "nativeSrc": "18509:3:34", "nodeType": "YulIdentifier", - "src": "18509:3:36" + "src": "18509:3:34" }, - "nativeSrc": "18509:13:36", + "nativeSrc": "18509:13:34", "nodeType": "YulFunctionCall", - "src": "18509:13:36" + "src": "18509:13:34" }, "variableNames": [ { "name": "start", - "nativeSrc": "18500:5:36", + "nativeSrc": "18500:5:34", "nodeType": "YulIdentifier", - "src": "18500:5:36" + "src": "18500:5:34" } ] } ] }, "pre": { - "nativeSrc": "18480:3:36", + "nativeSrc": "18480:3:34", "nodeType": "YulBlock", - "src": "18480:3:36", + "src": "18480:3:34", "statements": [] }, - "src": "18476:82:36" + "src": "18476:82:34" } ] }, @@ -101467,82 +100477,82 @@ "arguments": [ { "name": "len", - "nativeSrc": "18128:3:36", + "nativeSrc": "18128:3:34", "nodeType": "YulIdentifier", - "src": "18128:3:36" + "src": "18128:3:34" }, { "kind": "number", - "nativeSrc": "18133:2:36", + "nativeSrc": "18133:2:34", "nodeType": "YulLiteral", - "src": "18133:2:36", + "src": "18133:2:34", "type": "", "value": "31" } ], "functionName": { "name": "gt", - "nativeSrc": "18125:2:36", + "nativeSrc": "18125:2:34", "nodeType": "YulIdentifier", - "src": "18125:2:36" + "src": "18125:2:34" }, - "nativeSrc": "18125:11:36", + "nativeSrc": "18125:11:34", "nodeType": "YulFunctionCall", - "src": "18125:11:36" + "src": "18125:11:34" }, - "nativeSrc": "18122:446:36", + "nativeSrc": "18122:446:34", "nodeType": "YulIf", - "src": "18122:446:36" + "src": "18122:446:34" } ] }, "name": "clean_up_bytearray_end_slots_string_storage", - "nativeSrc": "18031:543:36", + "nativeSrc": "18031:543:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "array", - "nativeSrc": "18084:5:36", + "nativeSrc": "18084:5:34", "nodeType": "YulTypedName", - "src": "18084:5:36", + "src": "18084:5:34", "type": "" }, { "name": "len", - "nativeSrc": "18091:3:36", + "nativeSrc": "18091:3:34", "nodeType": "YulTypedName", - "src": "18091:3:36", + "src": "18091:3:34", "type": "" }, { "name": "startIndex", - "nativeSrc": "18096:10:36", + "nativeSrc": "18096:10:34", "nodeType": "YulTypedName", - "src": "18096:10:36", + "src": "18096:10:34", "type": "" } ], - "src": "18031:543:36" + "src": "18031:543:34" }, { "body": { - "nativeSrc": "18664:81:36", + "nativeSrc": "18664:81:34", "nodeType": "YulBlock", - "src": "18664:81:36", + "src": "18664:81:34", "statements": [ { - "nativeSrc": "18674:65:36", + "nativeSrc": "18674:65:34", "nodeType": "YulAssignment", - "src": "18674:65:36", + "src": "18674:65:34", "value": { "arguments": [ { "arguments": [ { "name": "data", - "nativeSrc": "18689:4:36", + "nativeSrc": "18689:4:34", "nodeType": "YulIdentifier", - "src": "18689:4:36" + "src": "18689:4:34" }, { "arguments": [ @@ -101552,223 +100562,223 @@ "arguments": [ { "kind": "number", - "nativeSrc": "18707:1:36", + "nativeSrc": "18707:1:34", "nodeType": "YulLiteral", - "src": "18707:1:36", + "src": "18707:1:34", "type": "", "value": "3" }, { "name": "len", - "nativeSrc": "18710:3:36", + "nativeSrc": "18710:3:34", "nodeType": "YulIdentifier", - "src": "18710:3:36" + "src": "18710:3:34" } ], "functionName": { "name": "shl", - "nativeSrc": "18703:3:36", + "nativeSrc": "18703:3:34", "nodeType": "YulIdentifier", - "src": "18703:3:36" + "src": "18703:3:34" }, - "nativeSrc": "18703:11:36", + "nativeSrc": "18703:11:34", "nodeType": "YulFunctionCall", - "src": "18703:11:36" + "src": "18703:11:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "18720:1:36", + "nativeSrc": "18720:1:34", "nodeType": "YulLiteral", - "src": "18720:1:36", + "src": "18720:1:34", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "18716:3:36", + "nativeSrc": "18716:3:34", "nodeType": "YulIdentifier", - "src": "18716:3:36" + "src": "18716:3:34" }, - "nativeSrc": "18716:6:36", + "nativeSrc": "18716:6:34", "nodeType": "YulFunctionCall", - "src": "18716:6:36" + "src": "18716:6:34" } ], "functionName": { "name": "shr", - "nativeSrc": "18699:3:36", + "nativeSrc": "18699:3:34", "nodeType": "YulIdentifier", - "src": "18699:3:36" + "src": "18699:3:34" }, - "nativeSrc": "18699:24:36", + "nativeSrc": "18699:24:34", "nodeType": "YulFunctionCall", - "src": "18699:24:36" + "src": "18699:24:34" } ], "functionName": { "name": "not", - "nativeSrc": "18695:3:36", + "nativeSrc": "18695:3:34", "nodeType": "YulIdentifier", - "src": "18695:3:36" + "src": "18695:3:34" }, - "nativeSrc": "18695:29:36", + "nativeSrc": "18695:29:34", "nodeType": "YulFunctionCall", - "src": "18695:29:36" + "src": "18695:29:34" } ], "functionName": { "name": "and", - "nativeSrc": "18685:3:36", + "nativeSrc": "18685:3:34", "nodeType": "YulIdentifier", - "src": "18685:3:36" + "src": "18685:3:34" }, - "nativeSrc": "18685:40:36", + "nativeSrc": "18685:40:34", "nodeType": "YulFunctionCall", - "src": "18685:40:36" + "src": "18685:40:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "18731:1:36", + "nativeSrc": "18731:1:34", "nodeType": "YulLiteral", - "src": "18731:1:36", + "src": "18731:1:34", "type": "", "value": "1" }, { "name": "len", - "nativeSrc": "18734:3:36", + "nativeSrc": "18734:3:34", "nodeType": "YulIdentifier", - "src": "18734:3:36" + "src": "18734:3:34" } ], "functionName": { "name": "shl", - "nativeSrc": "18727:3:36", + "nativeSrc": "18727:3:34", "nodeType": "YulIdentifier", - "src": "18727:3:36" + "src": "18727:3:34" }, - "nativeSrc": "18727:11:36", + "nativeSrc": "18727:11:34", "nodeType": "YulFunctionCall", - "src": "18727:11:36" + "src": "18727:11:34" } ], "functionName": { "name": "or", - "nativeSrc": "18682:2:36", + "nativeSrc": "18682:2:34", "nodeType": "YulIdentifier", - "src": "18682:2:36" + "src": "18682:2:34" }, - "nativeSrc": "18682:57:36", + "nativeSrc": "18682:57:34", "nodeType": "YulFunctionCall", - "src": "18682:57:36" + "src": "18682:57:34" }, "variableNames": [ { "name": "used", - "nativeSrc": "18674:4:36", + "nativeSrc": "18674:4:34", "nodeType": "YulIdentifier", - "src": "18674:4:36" + "src": "18674:4:34" } ] } ] }, "name": "extract_used_part_and_set_length_of_short_byte_array", - "nativeSrc": "18579:166:36", + "nativeSrc": "18579:166:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "data", - "nativeSrc": "18641:4:36", + "nativeSrc": "18641:4:34", "nodeType": "YulTypedName", - "src": "18641:4:36", + "src": "18641:4:34", "type": "" }, { "name": "len", - "nativeSrc": "18647:3:36", + "nativeSrc": "18647:3:34", "nodeType": "YulTypedName", - "src": "18647:3:36", + "src": "18647:3:34", "type": "" } ], "returnVariables": [ { "name": "used", - "nativeSrc": "18655:4:36", + "nativeSrc": "18655:4:34", "nodeType": "YulTypedName", - "src": "18655:4:36", + "src": "18655:4:34", "type": "" } ], - "src": "18579:166:36" + "src": "18579:166:34" }, { "body": { - "nativeSrc": "18846:1249:36", + "nativeSrc": "18846:1249:34", "nodeType": "YulBlock", - "src": "18846:1249:36", + "src": "18846:1249:34", "statements": [ { - "nativeSrc": "18856:24:36", + "nativeSrc": "18856:24:34", "nodeType": "YulVariableDeclaration", - "src": "18856:24:36", + "src": "18856:24:34", "value": { "arguments": [ { "name": "src", - "nativeSrc": "18876:3:36", + "nativeSrc": "18876:3:34", "nodeType": "YulIdentifier", - "src": "18876:3:36" + "src": "18876:3:34" } ], "functionName": { "name": "mload", - "nativeSrc": "18870:5:36", + "nativeSrc": "18870:5:34", "nodeType": "YulIdentifier", - "src": "18870:5:36" + "src": "18870:5:34" }, - "nativeSrc": "18870:10:36", + "nativeSrc": "18870:10:34", "nodeType": "YulFunctionCall", - "src": "18870:10:36" + "src": "18870:10:34" }, "variables": [ { "name": "newLen", - "nativeSrc": "18860:6:36", + "nativeSrc": "18860:6:34", "nodeType": "YulTypedName", - "src": "18860:6:36", + "src": "18860:6:34", "type": "" } ] }, { "body": { - "nativeSrc": "18923:22:36", + "nativeSrc": "18923:22:34", "nodeType": "YulBlock", - "src": "18923:22:36", + "src": "18923:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "18925:16:36", + "nativeSrc": "18925:16:34", "nodeType": "YulIdentifier", - "src": "18925:16:36" + "src": "18925:16:34" }, - "nativeSrc": "18925:18:36", + "nativeSrc": "18925:18:34", "nodeType": "YulFunctionCall", - "src": "18925:18:36" + "src": "18925:18:34" }, - "nativeSrc": "18925:18:36", + "nativeSrc": "18925:18:34", "nodeType": "YulExpressionStatement", - "src": "18925:18:36" + "src": "18925:18:34" } ] }, @@ -101776,41 +100786,41 @@ "arguments": [ { "name": "newLen", - "nativeSrc": "18895:6:36", + "nativeSrc": "18895:6:34", "nodeType": "YulIdentifier", - "src": "18895:6:36" + "src": "18895:6:34" }, { "kind": "number", - "nativeSrc": "18903:18:36", + "nativeSrc": "18903:18:34", "nodeType": "YulLiteral", - "src": "18903:18:36", + "src": "18903:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "18892:2:36", + "nativeSrc": "18892:2:34", "nodeType": "YulIdentifier", - "src": "18892:2:36" + "src": "18892:2:34" }, - "nativeSrc": "18892:30:36", + "nativeSrc": "18892:30:34", "nodeType": "YulFunctionCall", - "src": "18892:30:36" + "src": "18892:30:34" }, - "nativeSrc": "18889:56:36", + "nativeSrc": "18889:56:34", "nodeType": "YulIf", - "src": "18889:56:36" + "src": "18889:56:34" }, { "expression": { "arguments": [ { "name": "slot", - "nativeSrc": "18998:4:36", + "nativeSrc": "18998:4:34", "nodeType": "YulIdentifier", - "src": "18998:4:36" + "src": "18998:4:34" }, { "arguments": [ @@ -101818,115 +100828,115 @@ "arguments": [ { "name": "slot", - "nativeSrc": "19036:4:36", + "nativeSrc": "19036:4:34", "nodeType": "YulIdentifier", - "src": "19036:4:36" + "src": "19036:4:34" } ], "functionName": { "name": "sload", - "nativeSrc": "19030:5:36", + "nativeSrc": "19030:5:34", "nodeType": "YulIdentifier", - "src": "19030:5:36" + "src": "19030:5:34" }, - "nativeSrc": "19030:11:36", + "nativeSrc": "19030:11:34", "nodeType": "YulFunctionCall", - "src": "19030:11:36" + "src": "19030:11:34" } ], "functionName": { "name": "extract_byte_array_length", - "nativeSrc": "19004:25:36", + "nativeSrc": "19004:25:34", "nodeType": "YulIdentifier", - "src": "19004:25:36" + "src": "19004:25:34" }, - "nativeSrc": "19004:38:36", + "nativeSrc": "19004:38:34", "nodeType": "YulFunctionCall", - "src": "19004:38:36" + "src": "19004:38:34" }, { "name": "newLen", - "nativeSrc": "19044:6:36", + "nativeSrc": "19044:6:34", "nodeType": "YulIdentifier", - "src": "19044:6:36" + "src": "19044:6:34" } ], "functionName": { "name": "clean_up_bytearray_end_slots_string_storage", - "nativeSrc": "18954:43:36", + "nativeSrc": "18954:43:34", "nodeType": "YulIdentifier", - "src": "18954:43:36" + "src": "18954:43:34" }, - "nativeSrc": "18954:97:36", + "nativeSrc": "18954:97:34", "nodeType": "YulFunctionCall", - "src": "18954:97:36" + "src": "18954:97:34" }, - "nativeSrc": "18954:97:36", + "nativeSrc": "18954:97:34", "nodeType": "YulExpressionStatement", - "src": "18954:97:36" + "src": "18954:97:34" }, { - "nativeSrc": "19060:18:36", + "nativeSrc": "19060:18:34", "nodeType": "YulVariableDeclaration", - "src": "19060:18:36", + "src": "19060:18:34", "value": { "kind": "number", - "nativeSrc": "19077:1:36", + "nativeSrc": "19077:1:34", "nodeType": "YulLiteral", - "src": "19077:1:36", + "src": "19077:1:34", "type": "", "value": "0" }, "variables": [ { "name": "srcOffset", - "nativeSrc": "19064:9:36", + "nativeSrc": "19064:9:34", "nodeType": "YulTypedName", - "src": "19064:9:36", + "src": "19064:9:34", "type": "" } ] }, { - "nativeSrc": "19087:23:36", + "nativeSrc": "19087:23:34", "nodeType": "YulVariableDeclaration", - "src": "19087:23:36", + "src": "19087:23:34", "value": { "kind": "number", - "nativeSrc": "19106:4:36", + "nativeSrc": "19106:4:34", "nodeType": "YulLiteral", - "src": "19106:4:36", + "src": "19106:4:34", "type": "", "value": "0x20" }, "variables": [ { "name": "srcOffset_1", - "nativeSrc": "19091:11:36", + "nativeSrc": "19091:11:34", "nodeType": "YulTypedName", - "src": "19091:11:36", + "src": "19091:11:34", "type": "" } ] }, { - "nativeSrc": "19119:17:36", + "nativeSrc": "19119:17:34", "nodeType": "YulAssignment", - "src": "19119:17:36", + "src": "19119:17:34", "value": { "kind": "number", - "nativeSrc": "19132:4:36", + "nativeSrc": "19132:4:34", "nodeType": "YulLiteral", - "src": "19132:4:36", + "src": "19132:4:34", "type": "", "value": "0x20" }, "variableNames": [ { "name": "srcOffset", - "nativeSrc": "19119:9:36", + "nativeSrc": "19119:9:34", "nodeType": "YulIdentifier", - "src": "19119:9:36" + "src": "19119:9:34" } ] }, @@ -101934,133 +100944,133 @@ "cases": [ { "body": { - "nativeSrc": "19182:656:36", + "nativeSrc": "19182:656:34", "nodeType": "YulBlock", - "src": "19182:656:36", + "src": "19182:656:34", "statements": [ { - "nativeSrc": "19196:35:36", + "nativeSrc": "19196:35:34", "nodeType": "YulVariableDeclaration", - "src": "19196:35:36", + "src": "19196:35:34", "value": { "arguments": [ { "name": "newLen", - "nativeSrc": "19215:6:36", + "nativeSrc": "19215:6:34", "nodeType": "YulIdentifier", - "src": "19215:6:36" + "src": "19215:6:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "19227:2:36", + "nativeSrc": "19227:2:34", "nodeType": "YulLiteral", - "src": "19227:2:36", + "src": "19227:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "19223:3:36", + "nativeSrc": "19223:3:34", "nodeType": "YulIdentifier", - "src": "19223:3:36" + "src": "19223:3:34" }, - "nativeSrc": "19223:7:36", + "nativeSrc": "19223:7:34", "nodeType": "YulFunctionCall", - "src": "19223:7:36" + "src": "19223:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "19211:3:36", + "nativeSrc": "19211:3:34", "nodeType": "YulIdentifier", - "src": "19211:3:36" + "src": "19211:3:34" }, - "nativeSrc": "19211:20:36", + "nativeSrc": "19211:20:34", "nodeType": "YulFunctionCall", - "src": "19211:20:36" + "src": "19211:20:34" }, "variables": [ { "name": "loopEnd", - "nativeSrc": "19200:7:36", + "nativeSrc": "19200:7:34", "nodeType": "YulTypedName", - "src": "19200:7:36", + "src": "19200:7:34", "type": "" } ] }, { - "nativeSrc": "19244:49:36", + "nativeSrc": "19244:49:34", "nodeType": "YulVariableDeclaration", - "src": "19244:49:36", + "src": "19244:49:34", "value": { "arguments": [ { "name": "slot", - "nativeSrc": "19288:4:36", + "nativeSrc": "19288:4:34", "nodeType": "YulIdentifier", - "src": "19288:4:36" + "src": "19288:4:34" } ], "functionName": { "name": "array_dataslot_string_storage", - "nativeSrc": "19258:29:36", + "nativeSrc": "19258:29:34", "nodeType": "YulIdentifier", - "src": "19258:29:36" + "src": "19258:29:34" }, - "nativeSrc": "19258:35:36", + "nativeSrc": "19258:35:34", "nodeType": "YulFunctionCall", - "src": "19258:35:36" + "src": "19258:35:34" }, "variables": [ { "name": "dstPtr", - "nativeSrc": "19248:6:36", + "nativeSrc": "19248:6:34", "nodeType": "YulTypedName", - "src": "19248:6:36", + "src": "19248:6:34", "type": "" } ] }, { - "nativeSrc": "19306:10:36", + "nativeSrc": "19306:10:34", "nodeType": "YulVariableDeclaration", - "src": "19306:10:36", + "src": "19306:10:34", "value": { "kind": "number", - "nativeSrc": "19315:1:36", + "nativeSrc": "19315:1:34", "nodeType": "YulLiteral", - "src": "19315:1:36", + "src": "19315:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "19310:1:36", + "nativeSrc": "19310:1:34", "nodeType": "YulTypedName", - "src": "19310:1:36", + "src": "19310:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "19393:172:36", + "nativeSrc": "19393:172:34", "nodeType": "YulBlock", - "src": "19393:172:36", + "src": "19393:172:34", "statements": [ { "expression": { "arguments": [ { "name": "dstPtr", - "nativeSrc": "19418:6:36", + "nativeSrc": "19418:6:34", "nodeType": "YulIdentifier", - "src": "19418:6:36" + "src": "19418:6:34" }, { "arguments": [ @@ -102068,128 +101078,128 @@ "arguments": [ { "name": "src", - "nativeSrc": "19436:3:36", + "nativeSrc": "19436:3:34", "nodeType": "YulIdentifier", - "src": "19436:3:36" + "src": "19436:3:34" }, { "name": "srcOffset", - "nativeSrc": "19441:9:36", + "nativeSrc": "19441:9:34", "nodeType": "YulIdentifier", - "src": "19441:9:36" + "src": "19441:9:34" } ], "functionName": { "name": "add", - "nativeSrc": "19432:3:36", + "nativeSrc": "19432:3:34", "nodeType": "YulIdentifier", - "src": "19432:3:36" + "src": "19432:3:34" }, - "nativeSrc": "19432:19:36", + "nativeSrc": "19432:19:34", "nodeType": "YulFunctionCall", - "src": "19432:19:36" + "src": "19432:19:34" } ], "functionName": { "name": "mload", - "nativeSrc": "19426:5:36", + "nativeSrc": "19426:5:34", "nodeType": "YulIdentifier", - "src": "19426:5:36" + "src": "19426:5:34" }, - "nativeSrc": "19426:26:36", + "nativeSrc": "19426:26:34", "nodeType": "YulFunctionCall", - "src": "19426:26:36" + "src": "19426:26:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "19411:6:36", + "nativeSrc": "19411:6:34", "nodeType": "YulIdentifier", - "src": "19411:6:36" + "src": "19411:6:34" }, - "nativeSrc": "19411:42:36", + "nativeSrc": "19411:42:34", "nodeType": "YulFunctionCall", - "src": "19411:42:36" + "src": "19411:42:34" }, - "nativeSrc": "19411:42:36", + "nativeSrc": "19411:42:34", "nodeType": "YulExpressionStatement", - "src": "19411:42:36" + "src": "19411:42:34" }, { - "nativeSrc": "19470:24:36", + "nativeSrc": "19470:24:34", "nodeType": "YulAssignment", - "src": "19470:24:36", + "src": "19470:24:34", "value": { "arguments": [ { "name": "dstPtr", - "nativeSrc": "19484:6:36", + "nativeSrc": "19484:6:34", "nodeType": "YulIdentifier", - "src": "19484:6:36" + "src": "19484:6:34" }, { "kind": "number", - "nativeSrc": "19492:1:36", + "nativeSrc": "19492:1:34", "nodeType": "YulLiteral", - "src": "19492:1:36", + "src": "19492:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "19480:3:36", + "nativeSrc": "19480:3:34", "nodeType": "YulIdentifier", - "src": "19480:3:36" + "src": "19480:3:34" }, - "nativeSrc": "19480:14:36", + "nativeSrc": "19480:14:34", "nodeType": "YulFunctionCall", - "src": "19480:14:36" + "src": "19480:14:34" }, "variableNames": [ { "name": "dstPtr", - "nativeSrc": "19470:6:36", + "nativeSrc": "19470:6:34", "nodeType": "YulIdentifier", - "src": "19470:6:36" + "src": "19470:6:34" } ] }, { - "nativeSrc": "19511:40:36", + "nativeSrc": "19511:40:34", "nodeType": "YulAssignment", - "src": "19511:40:36", + "src": "19511:40:34", "value": { "arguments": [ { "name": "srcOffset", - "nativeSrc": "19528:9:36", + "nativeSrc": "19528:9:34", "nodeType": "YulIdentifier", - "src": "19528:9:36" + "src": "19528:9:34" }, { "name": "srcOffset_1", - "nativeSrc": "19539:11:36", + "nativeSrc": "19539:11:34", "nodeType": "YulIdentifier", - "src": "19539:11:36" + "src": "19539:11:34" } ], "functionName": { "name": "add", - "nativeSrc": "19524:3:36", + "nativeSrc": "19524:3:34", "nodeType": "YulIdentifier", - "src": "19524:3:36" + "src": "19524:3:34" }, - "nativeSrc": "19524:27:36", + "nativeSrc": "19524:27:34", "nodeType": "YulFunctionCall", - "src": "19524:27:36" + "src": "19524:27:34" }, "variableNames": [ { "name": "srcOffset", - "nativeSrc": "19511:9:36", + "nativeSrc": "19511:9:34", "nodeType": "YulIdentifier", - "src": "19511:9:36" + "src": "19511:9:34" } ] } @@ -102199,136 +101209,136 @@ "arguments": [ { "name": "i", - "nativeSrc": "19340:1:36", + "nativeSrc": "19340:1:34", "nodeType": "YulIdentifier", - "src": "19340:1:36" + "src": "19340:1:34" }, { "name": "loopEnd", - "nativeSrc": "19343:7:36", + "nativeSrc": "19343:7:34", "nodeType": "YulIdentifier", - "src": "19343:7:36" + "src": "19343:7:34" } ], "functionName": { "name": "lt", - "nativeSrc": "19337:2:36", + "nativeSrc": "19337:2:34", "nodeType": "YulIdentifier", - "src": "19337:2:36" + "src": "19337:2:34" }, - "nativeSrc": "19337:14:36", + "nativeSrc": "19337:14:34", "nodeType": "YulFunctionCall", - "src": "19337:14:36" + "src": "19337:14:34" }, - "nativeSrc": "19329:236:36", + "nativeSrc": "19329:236:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "19352:28:36", + "nativeSrc": "19352:28:34", "nodeType": "YulBlock", - "src": "19352:28:36", + "src": "19352:28:34", "statements": [ { - "nativeSrc": "19354:24:36", + "nativeSrc": "19354:24:34", "nodeType": "YulAssignment", - "src": "19354:24:36", + "src": "19354:24:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "19363:1:36", + "nativeSrc": "19363:1:34", "nodeType": "YulIdentifier", - "src": "19363:1:36" + "src": "19363:1:34" }, { "name": "srcOffset_1", - "nativeSrc": "19366:11:36", + "nativeSrc": "19366:11:34", "nodeType": "YulIdentifier", - "src": "19366:11:36" + "src": "19366:11:34" } ], "functionName": { "name": "add", - "nativeSrc": "19359:3:36", + "nativeSrc": "19359:3:34", "nodeType": "YulIdentifier", - "src": "19359:3:36" + "src": "19359:3:34" }, - "nativeSrc": "19359:19:36", + "nativeSrc": "19359:19:34", "nodeType": "YulFunctionCall", - "src": "19359:19:36" + "src": "19359:19:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "19354:1:36", + "nativeSrc": "19354:1:34", "nodeType": "YulIdentifier", - "src": "19354:1:36" + "src": "19354:1:34" } ] } ] }, "pre": { - "nativeSrc": "19333:3:36", + "nativeSrc": "19333:3:34", "nodeType": "YulBlock", - "src": "19333:3:36", + "src": "19333:3:34", "statements": [] }, - "src": "19329:236:36" + "src": "19329:236:34" }, { "body": { - "nativeSrc": "19613:166:36", + "nativeSrc": "19613:166:34", "nodeType": "YulBlock", - "src": "19613:166:36", + "src": "19613:166:34", "statements": [ { - "nativeSrc": "19631:43:36", + "nativeSrc": "19631:43:34", "nodeType": "YulVariableDeclaration", - "src": "19631:43:36", + "src": "19631:43:34", "value": { "arguments": [ { "arguments": [ { "name": "src", - "nativeSrc": "19658:3:36", + "nativeSrc": "19658:3:34", "nodeType": "YulIdentifier", - "src": "19658:3:36" + "src": "19658:3:34" }, { "name": "srcOffset", - "nativeSrc": "19663:9:36", + "nativeSrc": "19663:9:34", "nodeType": "YulIdentifier", - "src": "19663:9:36" + "src": "19663:9:34" } ], "functionName": { "name": "add", - "nativeSrc": "19654:3:36", + "nativeSrc": "19654:3:34", "nodeType": "YulIdentifier", - "src": "19654:3:36" + "src": "19654:3:34" }, - "nativeSrc": "19654:19:36", + "nativeSrc": "19654:19:34", "nodeType": "YulFunctionCall", - "src": "19654:19:36" + "src": "19654:19:34" } ], "functionName": { "name": "mload", - "nativeSrc": "19648:5:36", + "nativeSrc": "19648:5:34", "nodeType": "YulIdentifier", - "src": "19648:5:36" + "src": "19648:5:34" }, - "nativeSrc": "19648:26:36", + "nativeSrc": "19648:26:34", "nodeType": "YulFunctionCall", - "src": "19648:26:36" + "src": "19648:26:34" }, "variables": [ { "name": "lastValue", - "nativeSrc": "19635:9:36", + "nativeSrc": "19635:9:34", "nodeType": "YulTypedName", - "src": "19635:9:36", + "src": "19635:9:34", "type": "" } ] @@ -102338,17 +101348,17 @@ "arguments": [ { "name": "dstPtr", - "nativeSrc": "19698:6:36", + "nativeSrc": "19698:6:34", "nodeType": "YulIdentifier", - "src": "19698:6:36" + "src": "19698:6:34" }, { "arguments": [ { "name": "lastValue", - "nativeSrc": "19710:9:36", + "nativeSrc": "19710:9:34", "nodeType": "YulIdentifier", - "src": "19710:9:36" + "src": "19710:9:34" }, { "arguments": [ @@ -102360,116 +101370,116 @@ "arguments": [ { "kind": "number", - "nativeSrc": "19737:1:36", + "nativeSrc": "19737:1:34", "nodeType": "YulLiteral", - "src": "19737:1:36", + "src": "19737:1:34", "type": "", "value": "3" }, { "name": "newLen", - "nativeSrc": "19740:6:36", + "nativeSrc": "19740:6:34", "nodeType": "YulIdentifier", - "src": "19740:6:36" + "src": "19740:6:34" } ], "functionName": { "name": "shl", - "nativeSrc": "19733:3:36", + "nativeSrc": "19733:3:34", "nodeType": "YulIdentifier", - "src": "19733:3:36" + "src": "19733:3:34" }, - "nativeSrc": "19733:14:36", + "nativeSrc": "19733:14:34", "nodeType": "YulFunctionCall", - "src": "19733:14:36" + "src": "19733:14:34" }, { "kind": "number", - "nativeSrc": "19749:3:36", + "nativeSrc": "19749:3:34", "nodeType": "YulLiteral", - "src": "19749:3:36", + "src": "19749:3:34", "type": "", "value": "248" } ], "functionName": { "name": "and", - "nativeSrc": "19729:3:36", + "nativeSrc": "19729:3:34", "nodeType": "YulIdentifier", - "src": "19729:3:36" + "src": "19729:3:34" }, - "nativeSrc": "19729:24:36", + "nativeSrc": "19729:24:34", "nodeType": "YulFunctionCall", - "src": "19729:24:36" + "src": "19729:24:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "19759:1:36", + "nativeSrc": "19759:1:34", "nodeType": "YulLiteral", - "src": "19759:1:36", + "src": "19759:1:34", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "19755:3:36", + "nativeSrc": "19755:3:34", "nodeType": "YulIdentifier", - "src": "19755:3:36" + "src": "19755:3:34" }, - "nativeSrc": "19755:6:36", + "nativeSrc": "19755:6:34", "nodeType": "YulFunctionCall", - "src": "19755:6:36" + "src": "19755:6:34" } ], "functionName": { "name": "shr", - "nativeSrc": "19725:3:36", + "nativeSrc": "19725:3:34", "nodeType": "YulIdentifier", - "src": "19725:3:36" + "src": "19725:3:34" }, - "nativeSrc": "19725:37:36", + "nativeSrc": "19725:37:34", "nodeType": "YulFunctionCall", - "src": "19725:37:36" + "src": "19725:37:34" } ], "functionName": { "name": "not", - "nativeSrc": "19721:3:36", + "nativeSrc": "19721:3:34", "nodeType": "YulIdentifier", - "src": "19721:3:36" + "src": "19721:3:34" }, - "nativeSrc": "19721:42:36", + "nativeSrc": "19721:42:34", "nodeType": "YulFunctionCall", - "src": "19721:42:36" + "src": "19721:42:34" } ], "functionName": { "name": "and", - "nativeSrc": "19706:3:36", + "nativeSrc": "19706:3:34", "nodeType": "YulIdentifier", - "src": "19706:3:36" + "src": "19706:3:34" }, - "nativeSrc": "19706:58:36", + "nativeSrc": "19706:58:34", "nodeType": "YulFunctionCall", - "src": "19706:58:36" + "src": "19706:58:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "19691:6:36", + "nativeSrc": "19691:6:34", "nodeType": "YulIdentifier", - "src": "19691:6:36" + "src": "19691:6:34" }, - "nativeSrc": "19691:74:36", + "nativeSrc": "19691:74:34", "nodeType": "YulFunctionCall", - "src": "19691:74:36" + "src": "19691:74:34" }, - "nativeSrc": "19691:74:36", + "nativeSrc": "19691:74:34", "nodeType": "YulExpressionStatement", - "src": "19691:74:36" + "src": "19691:74:34" } ] }, @@ -102477,39 +101487,39 @@ "arguments": [ { "name": "loopEnd", - "nativeSrc": "19584:7:36", + "nativeSrc": "19584:7:34", "nodeType": "YulIdentifier", - "src": "19584:7:36" + "src": "19584:7:34" }, { "name": "newLen", - "nativeSrc": "19593:6:36", + "nativeSrc": "19593:6:34", "nodeType": "YulIdentifier", - "src": "19593:6:36" + "src": "19593:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "19581:2:36", + "nativeSrc": "19581:2:34", "nodeType": "YulIdentifier", - "src": "19581:2:36" + "src": "19581:2:34" }, - "nativeSrc": "19581:19:36", + "nativeSrc": "19581:19:34", "nodeType": "YulFunctionCall", - "src": "19581:19:36" + "src": "19581:19:34" }, - "nativeSrc": "19578:201:36", + "nativeSrc": "19578:201:34", "nodeType": "YulIf", - "src": "19578:201:36" + "src": "19578:201:34" }, { "expression": { "arguments": [ { "name": "slot", - "nativeSrc": "19799:4:36", + "nativeSrc": "19799:4:34", "nodeType": "YulIdentifier", - "src": "19799:4:36" + "src": "19799:4:34" }, { "arguments": [ @@ -102517,159 +101527,159 @@ "arguments": [ { "kind": "number", - "nativeSrc": "19813:1:36", + "nativeSrc": "19813:1:34", "nodeType": "YulLiteral", - "src": "19813:1:36", + "src": "19813:1:34", "type": "", "value": "1" }, { "name": "newLen", - "nativeSrc": "19816:6:36", + "nativeSrc": "19816:6:34", "nodeType": "YulIdentifier", - "src": "19816:6:36" + "src": "19816:6:34" } ], "functionName": { "name": "shl", - "nativeSrc": "19809:3:36", + "nativeSrc": "19809:3:34", "nodeType": "YulIdentifier", - "src": "19809:3:36" + "src": "19809:3:34" }, - "nativeSrc": "19809:14:36", + "nativeSrc": "19809:14:34", "nodeType": "YulFunctionCall", - "src": "19809:14:36" + "src": "19809:14:34" }, { "kind": "number", - "nativeSrc": "19825:1:36", + "nativeSrc": "19825:1:34", "nodeType": "YulLiteral", - "src": "19825:1:36", + "src": "19825:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "19805:3:36", + "nativeSrc": "19805:3:34", "nodeType": "YulIdentifier", - "src": "19805:3:36" + "src": "19805:3:34" }, - "nativeSrc": "19805:22:36", + "nativeSrc": "19805:22:34", "nodeType": "YulFunctionCall", - "src": "19805:22:36" + "src": "19805:22:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "19792:6:36", + "nativeSrc": "19792:6:34", "nodeType": "YulIdentifier", - "src": "19792:6:36" + "src": "19792:6:34" }, - "nativeSrc": "19792:36:36", + "nativeSrc": "19792:36:34", "nodeType": "YulFunctionCall", - "src": "19792:36:36" + "src": "19792:36:34" }, - "nativeSrc": "19792:36:36", + "nativeSrc": "19792:36:34", "nodeType": "YulExpressionStatement", - "src": "19792:36:36" + "src": "19792:36:34" } ] }, - "nativeSrc": "19175:663:36", + "nativeSrc": "19175:663:34", "nodeType": "YulCase", - "src": "19175:663:36", + "src": "19175:663:34", "value": { "kind": "number", - "nativeSrc": "19180:1:36", + "nativeSrc": "19180:1:34", "nodeType": "YulLiteral", - "src": "19180:1:36", + "src": "19180:1:34", "type": "", "value": "1" } }, { "body": { - "nativeSrc": "19855:234:36", + "nativeSrc": "19855:234:34", "nodeType": "YulBlock", - "src": "19855:234:36", + "src": "19855:234:34", "statements": [ { - "nativeSrc": "19869:14:36", + "nativeSrc": "19869:14:34", "nodeType": "YulVariableDeclaration", - "src": "19869:14:36", + "src": "19869:14:34", "value": { "kind": "number", - "nativeSrc": "19882:1:36", + "nativeSrc": "19882:1:34", "nodeType": "YulLiteral", - "src": "19882:1:36", + "src": "19882:1:34", "type": "", "value": "0" }, "variables": [ { "name": "value", - "nativeSrc": "19873:5:36", + "nativeSrc": "19873:5:34", "nodeType": "YulTypedName", - "src": "19873:5:36", + "src": "19873:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "19918:67:36", + "nativeSrc": "19918:67:34", "nodeType": "YulBlock", - "src": "19918:67:36", + "src": "19918:67:34", "statements": [ { - "nativeSrc": "19936:35:36", + "nativeSrc": "19936:35:34", "nodeType": "YulAssignment", - "src": "19936:35:36", + "src": "19936:35:34", "value": { "arguments": [ { "arguments": [ { "name": "src", - "nativeSrc": "19955:3:36", + "nativeSrc": "19955:3:34", "nodeType": "YulIdentifier", - "src": "19955:3:36" + "src": "19955:3:34" }, { "name": "srcOffset", - "nativeSrc": "19960:9:36", + "nativeSrc": "19960:9:34", "nodeType": "YulIdentifier", - "src": "19960:9:36" + "src": "19960:9:34" } ], "functionName": { "name": "add", - "nativeSrc": "19951:3:36", + "nativeSrc": "19951:3:34", "nodeType": "YulIdentifier", - "src": "19951:3:36" + "src": "19951:3:34" }, - "nativeSrc": "19951:19:36", + "nativeSrc": "19951:19:34", "nodeType": "YulFunctionCall", - "src": "19951:19:36" + "src": "19951:19:34" } ], "functionName": { "name": "mload", - "nativeSrc": "19945:5:36", + "nativeSrc": "19945:5:34", "nodeType": "YulIdentifier", - "src": "19945:5:36" + "src": "19945:5:34" }, - "nativeSrc": "19945:26:36", + "nativeSrc": "19945:26:34", "nodeType": "YulFunctionCall", - "src": "19945:26:36" + "src": "19945:26:34" }, "variableNames": [ { "name": "value", - "nativeSrc": "19936:5:36", + "nativeSrc": "19936:5:34", "nodeType": "YulIdentifier", - "src": "19936:5:36" + "src": "19936:5:34" } ] } @@ -102677,68 +101687,68 @@ }, "condition": { "name": "newLen", - "nativeSrc": "19899:6:36", + "nativeSrc": "19899:6:34", "nodeType": "YulIdentifier", - "src": "19899:6:36" + "src": "19899:6:34" }, - "nativeSrc": "19896:89:36", + "nativeSrc": "19896:89:34", "nodeType": "YulIf", - "src": "19896:89:36" + "src": "19896:89:34" }, { "expression": { "arguments": [ { "name": "slot", - "nativeSrc": "20005:4:36", + "nativeSrc": "20005:4:34", "nodeType": "YulIdentifier", - "src": "20005:4:36" + "src": "20005:4:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "20064:5:36", + "nativeSrc": "20064:5:34", "nodeType": "YulIdentifier", - "src": "20064:5:36" + "src": "20064:5:34" }, { "name": "newLen", - "nativeSrc": "20071:6:36", + "nativeSrc": "20071:6:34", "nodeType": "YulIdentifier", - "src": "20071:6:36" + "src": "20071:6:34" } ], "functionName": { "name": "extract_used_part_and_set_length_of_short_byte_array", - "nativeSrc": "20011:52:36", + "nativeSrc": "20011:52:34", "nodeType": "YulIdentifier", - "src": "20011:52:36" + "src": "20011:52:34" }, - "nativeSrc": "20011:67:36", + "nativeSrc": "20011:67:34", "nodeType": "YulFunctionCall", - "src": "20011:67:36" + "src": "20011:67:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "19998:6:36", + "nativeSrc": "19998:6:34", "nodeType": "YulIdentifier", - "src": "19998:6:36" + "src": "19998:6:34" }, - "nativeSrc": "19998:81:36", + "nativeSrc": "19998:81:34", "nodeType": "YulFunctionCall", - "src": "19998:81:36" + "src": "19998:81:34" }, - "nativeSrc": "19998:81:36", + "nativeSrc": "19998:81:34", "nodeType": "YulExpressionStatement", - "src": "19998:81:36" + "src": "19998:81:34" } ] }, - "nativeSrc": "19847:242:36", + "nativeSrc": "19847:242:34", "nodeType": "YulCase", - "src": "19847:242:36", + "src": "19847:242:34", "value": "default" } ], @@ -102746,150 +101756,150 @@ "arguments": [ { "name": "newLen", - "nativeSrc": "19155:6:36", + "nativeSrc": "19155:6:34", "nodeType": "YulIdentifier", - "src": "19155:6:36" + "src": "19155:6:34" }, { "kind": "number", - "nativeSrc": "19163:2:36", + "nativeSrc": "19163:2:34", "nodeType": "YulLiteral", - "src": "19163:2:36", + "src": "19163:2:34", "type": "", "value": "31" } ], "functionName": { "name": "gt", - "nativeSrc": "19152:2:36", + "nativeSrc": "19152:2:34", "nodeType": "YulIdentifier", - "src": "19152:2:36" + "src": "19152:2:34" }, - "nativeSrc": "19152:14:36", + "nativeSrc": "19152:14:34", "nodeType": "YulFunctionCall", - "src": "19152:14:36" + "src": "19152:14:34" }, - "nativeSrc": "19145:944:36", + "nativeSrc": "19145:944:34", "nodeType": "YulSwitch", - "src": "19145:944:36" + "src": "19145:944:34" } ] }, "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nativeSrc": "18750:1345:36", + "nativeSrc": "18750:1345:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "slot", - "nativeSrc": "18831:4:36", + "nativeSrc": "18831:4:34", "nodeType": "YulTypedName", - "src": "18831:4:36", + "src": "18831:4:34", "type": "" }, { "name": "src", - "nativeSrc": "18837:3:36", + "nativeSrc": "18837:3:34", "nodeType": "YulTypedName", - "src": "18837:3:36", + "src": "18837:3:34", "type": "" } ], - "src": "18750:1345:36" + "src": "18750:1345:34" }, { "body": { - "nativeSrc": "20269:214:36", + "nativeSrc": "20269:214:34", "nodeType": "YulBlock", - "src": "20269:214:36", + "src": "20269:214:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "20286:9:36", + "nativeSrc": "20286:9:34", "nodeType": "YulIdentifier", - "src": "20286:9:36" + "src": "20286:9:34" }, { "kind": "number", - "nativeSrc": "20297:2:36", + "nativeSrc": "20297:2:34", "nodeType": "YulLiteral", - "src": "20297:2:36", + "src": "20297:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mstore", - "nativeSrc": "20279:6:36", + "nativeSrc": "20279:6:34", "nodeType": "YulIdentifier", - "src": "20279:6:36" + "src": "20279:6:34" }, - "nativeSrc": "20279:21:36", + "nativeSrc": "20279:21:34", "nodeType": "YulFunctionCall", - "src": "20279:21:36" + "src": "20279:21:34" }, - "nativeSrc": "20279:21:36", + "nativeSrc": "20279:21:34", "nodeType": "YulExpressionStatement", - "src": "20279:21:36" + "src": "20279:21:34" }, { - "nativeSrc": "20309:59:36", + "nativeSrc": "20309:59:34", "nodeType": "YulVariableDeclaration", - "src": "20309:59:36", + "src": "20309:59:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "20341:6:36", + "nativeSrc": "20341:6:34", "nodeType": "YulIdentifier", - "src": "20341:6:36" + "src": "20341:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "20353:9:36", + "nativeSrc": "20353:9:34", "nodeType": "YulIdentifier", - "src": "20353:9:36" + "src": "20353:9:34" }, { "kind": "number", - "nativeSrc": "20364:2:36", + "nativeSrc": "20364:2:34", "nodeType": "YulLiteral", - "src": "20364:2:36", + "src": "20364:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "20349:3:36", + "nativeSrc": "20349:3:34", "nodeType": "YulIdentifier", - "src": "20349:3:36" + "src": "20349:3:34" }, - "nativeSrc": "20349:18:36", + "nativeSrc": "20349:18:34", "nodeType": "YulFunctionCall", - "src": "20349:18:36" + "src": "20349:18:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "20323:17:36", + "nativeSrc": "20323:17:34", "nodeType": "YulIdentifier", - "src": "20323:17:36" + "src": "20323:17:34" }, - "nativeSrc": "20323:45:36", + "nativeSrc": "20323:45:34", "nodeType": "YulFunctionCall", - "src": "20323:45:36" + "src": "20323:45:34" }, "variables": [ { "name": "tail_1", - "nativeSrc": "20313:6:36", + "nativeSrc": "20313:6:34", "nodeType": "YulTypedName", - "src": "20313:6:36", + "src": "20313:6:34", "type": "" } ] @@ -102901,183 +101911,183 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "20388:9:36", + "nativeSrc": "20388:9:34", "nodeType": "YulIdentifier", - "src": "20388:9:36" + "src": "20388:9:34" }, { "kind": "number", - "nativeSrc": "20399:2:36", + "nativeSrc": "20399:2:34", "nodeType": "YulLiteral", - "src": "20399:2:36", + "src": "20399:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "20384:3:36", + "nativeSrc": "20384:3:34", "nodeType": "YulIdentifier", - "src": "20384:3:36" + "src": "20384:3:34" }, - "nativeSrc": "20384:18:36", + "nativeSrc": "20384:18:34", "nodeType": "YulFunctionCall", - "src": "20384:18:36" + "src": "20384:18:34" }, { "arguments": [ { "name": "tail_1", - "nativeSrc": "20408:6:36", + "nativeSrc": "20408:6:34", "nodeType": "YulIdentifier", - "src": "20408:6:36" + "src": "20408:6:34" }, { "name": "headStart", - "nativeSrc": "20416:9:36", + "nativeSrc": "20416:9:34", "nodeType": "YulIdentifier", - "src": "20416:9:36" + "src": "20416:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "20404:3:36", + "nativeSrc": "20404:3:34", "nodeType": "YulIdentifier", - "src": "20404:3:36" + "src": "20404:3:34" }, - "nativeSrc": "20404:22:36", + "nativeSrc": "20404:22:34", "nodeType": "YulFunctionCall", - "src": "20404:22:36" + "src": "20404:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "20377:6:36", + "nativeSrc": "20377:6:34", "nodeType": "YulIdentifier", - "src": "20377:6:36" + "src": "20377:6:34" }, - "nativeSrc": "20377:50:36", + "nativeSrc": "20377:50:34", "nodeType": "YulFunctionCall", - "src": "20377:50:36" + "src": "20377:50:34" }, - "nativeSrc": "20377:50:36", + "nativeSrc": "20377:50:34", "nodeType": "YulExpressionStatement", - "src": "20377:50:36" + "src": "20377:50:34" }, { - "nativeSrc": "20436:41:36", + "nativeSrc": "20436:41:34", "nodeType": "YulAssignment", - "src": "20436:41:36", + "src": "20436:41:34", "value": { "arguments": [ { "name": "value1", - "nativeSrc": "20462:6:36", + "nativeSrc": "20462:6:34", "nodeType": "YulIdentifier", - "src": "20462:6:36" + "src": "20462:6:34" }, { "name": "tail_1", - "nativeSrc": "20470:6:36", + "nativeSrc": "20470:6:34", "nodeType": "YulIdentifier", - "src": "20470:6:36" + "src": "20470:6:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "20444:17:36", + "nativeSrc": "20444:17:34", "nodeType": "YulIdentifier", - "src": "20444:17:36" + "src": "20444:17:34" }, - "nativeSrc": "20444:33:36", + "nativeSrc": "20444:33:34", "nodeType": "YulFunctionCall", - "src": "20444:33:36" + "src": "20444:33:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "20436:4:36", + "nativeSrc": "20436:4:34", "nodeType": "YulIdentifier", - "src": "20436:4:36" + "src": "20436:4:34" } ] } ] }, "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "20100:383:36", + "nativeSrc": "20100:383:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "20230:9:36", + "nativeSrc": "20230:9:34", "nodeType": "YulTypedName", - "src": "20230:9:36", + "src": "20230:9:34", "type": "" }, { "name": "value1", - "nativeSrc": "20241:6:36", + "nativeSrc": "20241:6:34", "nodeType": "YulTypedName", - "src": "20241:6:36", + "src": "20241:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "20249:6:36", + "nativeSrc": "20249:6:34", "nodeType": "YulTypedName", - "src": "20249:6:36", + "src": "20249:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "20260:4:36", + "nativeSrc": "20260:4:34", "nodeType": "YulTypedName", - "src": "20260:4:36", + "src": "20260:4:34", "type": "" } ], - "src": "20100:383:36" + "src": "20100:383:34" }, { "body": { - "nativeSrc": "20662:165:36", + "nativeSrc": "20662:165:34", "nodeType": "YulBlock", - "src": "20662:165:36", + "src": "20662:165:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "20679:9:36", + "nativeSrc": "20679:9:34", "nodeType": "YulIdentifier", - "src": "20679:9:36" + "src": "20679:9:34" }, { "kind": "number", - "nativeSrc": "20690:2:36", + "nativeSrc": "20690:2:34", "nodeType": "YulLiteral", - "src": "20690:2:36", + "src": "20690:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "20672:6:36", + "nativeSrc": "20672:6:34", "nodeType": "YulIdentifier", - "src": "20672:6:36" + "src": "20672:6:34" }, - "nativeSrc": "20672:21:36", + "nativeSrc": "20672:21:34", "nodeType": "YulFunctionCall", - "src": "20672:21:36" + "src": "20672:21:34" }, - "nativeSrc": "20672:21:36", + "nativeSrc": "20672:21:34", "nodeType": "YulExpressionStatement", - "src": "20672:21:36" + "src": "20672:21:34" }, { "expression": { @@ -103086,51 +102096,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "20713:9:36", + "nativeSrc": "20713:9:34", "nodeType": "YulIdentifier", - "src": "20713:9:36" + "src": "20713:9:34" }, { "kind": "number", - "nativeSrc": "20724:2:36", + "nativeSrc": "20724:2:34", "nodeType": "YulLiteral", - "src": "20724:2:36", + "src": "20724:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "20709:3:36", + "nativeSrc": "20709:3:34", "nodeType": "YulIdentifier", - "src": "20709:3:36" + "src": "20709:3:34" }, - "nativeSrc": "20709:18:36", + "nativeSrc": "20709:18:34", "nodeType": "YulFunctionCall", - "src": "20709:18:36" + "src": "20709:18:34" }, { "kind": "number", - "nativeSrc": "20729:2:36", + "nativeSrc": "20729:2:34", "nodeType": "YulLiteral", - "src": "20729:2:36", + "src": "20729:2:34", "type": "", "value": "15" } ], "functionName": { "name": "mstore", - "nativeSrc": "20702:6:36", + "nativeSrc": "20702:6:34", "nodeType": "YulIdentifier", - "src": "20702:6:36" + "src": "20702:6:34" }, - "nativeSrc": "20702:30:36", + "nativeSrc": "20702:30:34", "nodeType": "YulFunctionCall", - "src": "20702:30:36" + "src": "20702:30:34" }, - "nativeSrc": "20702:30:36", + "nativeSrc": "20702:30:34", "nodeType": "YulExpressionStatement", - "src": "20702:30:36" + "src": "20702:30:34" }, { "expression": { @@ -103139,153 +102149,153 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "20752:9:36", + "nativeSrc": "20752:9:34", "nodeType": "YulIdentifier", - "src": "20752:9:36" + "src": "20752:9:34" }, { "kind": "number", - "nativeSrc": "20763:2:36", + "nativeSrc": "20763:2:34", "nodeType": "YulLiteral", - "src": "20763:2:36", + "src": "20763:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "20748:3:36", + "nativeSrc": "20748:3:34", "nodeType": "YulIdentifier", - "src": "20748:3:36" + "src": "20748:3:34" }, - "nativeSrc": "20748:18:36", + "nativeSrc": "20748:18:34", "nodeType": "YulFunctionCall", - "src": "20748:18:36" + "src": "20748:18:34" }, { "hexValue": "496e76616c69642061646472657373", "kind": "string", - "nativeSrc": "20768:17:36", + "nativeSrc": "20768:17:34", "nodeType": "YulLiteral", - "src": "20768:17:36", + "src": "20768:17:34", "type": "", "value": "Invalid address" } ], "functionName": { "name": "mstore", - "nativeSrc": "20741:6:36", + "nativeSrc": "20741:6:34", "nodeType": "YulIdentifier", - "src": "20741:6:36" + "src": "20741:6:34" }, - "nativeSrc": "20741:45:36", + "nativeSrc": "20741:45:34", "nodeType": "YulFunctionCall", - "src": "20741:45:36" + "src": "20741:45:34" }, - "nativeSrc": "20741:45:36", + "nativeSrc": "20741:45:34", "nodeType": "YulExpressionStatement", - "src": "20741:45:36" + "src": "20741:45:34" }, { - "nativeSrc": "20795:26:36", + "nativeSrc": "20795:26:34", "nodeType": "YulAssignment", - "src": "20795:26:36", + "src": "20795:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "20807:9:36", + "nativeSrc": "20807:9:34", "nodeType": "YulIdentifier", - "src": "20807:9:36" + "src": "20807:9:34" }, { "kind": "number", - "nativeSrc": "20818:2:36", + "nativeSrc": "20818:2:34", "nodeType": "YulLiteral", - "src": "20818:2:36", + "src": "20818:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "20803:3:36", + "nativeSrc": "20803:3:34", "nodeType": "YulIdentifier", - "src": "20803:3:36" + "src": "20803:3:34" }, - "nativeSrc": "20803:18:36", + "nativeSrc": "20803:18:34", "nodeType": "YulFunctionCall", - "src": "20803:18:36" + "src": "20803:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "20795:4:36", + "nativeSrc": "20795:4:34", "nodeType": "YulIdentifier", - "src": "20795:4:36" + "src": "20795:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "20488:339:36", + "nativeSrc": "20488:339:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "20639:9:36", + "nativeSrc": "20639:9:34", "nodeType": "YulTypedName", - "src": "20639:9:36", + "src": "20639:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "20653:4:36", + "nativeSrc": "20653:4:34", "nodeType": "YulTypedName", - "src": "20653:4:36", + "src": "20653:4:34", "type": "" } ], - "src": "20488:339:36" + "src": "20488:339:34" }, { "body": { - "nativeSrc": "21037:256:36", + "nativeSrc": "21037:256:34", "nodeType": "YulBlock", - "src": "21037:256:36", + "src": "21037:256:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "21054:9:36", + "nativeSrc": "21054:9:34", "nodeType": "YulIdentifier", - "src": "21054:9:36" + "src": "21054:9:34" }, { "name": "value0", - "nativeSrc": "21065:6:36", + "nativeSrc": "21065:6:34", "nodeType": "YulIdentifier", - "src": "21065:6:36" + "src": "21065:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "21047:6:36", + "nativeSrc": "21047:6:34", "nodeType": "YulIdentifier", - "src": "21047:6:36" + "src": "21047:6:34" }, - "nativeSrc": "21047:25:36", + "nativeSrc": "21047:25:34", "nodeType": "YulFunctionCall", - "src": "21047:25:36" + "src": "21047:25:34" }, - "nativeSrc": "21047:25:36", + "nativeSrc": "21047:25:34", "nodeType": "YulExpressionStatement", - "src": "21047:25:36" + "src": "21047:25:34" }, { "expression": { @@ -103294,108 +102304,108 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "21092:9:36", + "nativeSrc": "21092:9:34", "nodeType": "YulIdentifier", - "src": "21092:9:36" + "src": "21092:9:34" }, { "kind": "number", - "nativeSrc": "21103:2:36", + "nativeSrc": "21103:2:34", "nodeType": "YulLiteral", - "src": "21103:2:36", + "src": "21103:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "21088:3:36", + "nativeSrc": "21088:3:34", "nodeType": "YulIdentifier", - "src": "21088:3:36" + "src": "21088:3:34" }, - "nativeSrc": "21088:18:36", + "nativeSrc": "21088:18:34", "nodeType": "YulFunctionCall", - "src": "21088:18:36" + "src": "21088:18:34" }, { "kind": "number", - "nativeSrc": "21108:3:36", + "nativeSrc": "21108:3:34", "nodeType": "YulLiteral", - "src": "21108:3:36", + "src": "21108:3:34", "type": "", "value": "128" } ], "functionName": { "name": "mstore", - "nativeSrc": "21081:6:36", + "nativeSrc": "21081:6:34", "nodeType": "YulIdentifier", - "src": "21081:6:36" + "src": "21081:6:34" }, - "nativeSrc": "21081:31:36", + "nativeSrc": "21081:31:34", "nodeType": "YulFunctionCall", - "src": "21081:31:36" + "src": "21081:31:34" }, - "nativeSrc": "21081:31:36", + "nativeSrc": "21081:31:34", "nodeType": "YulExpressionStatement", - "src": "21081:31:36" + "src": "21081:31:34" }, { - "nativeSrc": "21121:54:36", + "nativeSrc": "21121:54:34", "nodeType": "YulAssignment", - "src": "21121:54:36", + "src": "21121:54:34", "value": { "arguments": [ { "name": "value1", - "nativeSrc": "21147:6:36", + "nativeSrc": "21147:6:34", "nodeType": "YulIdentifier", - "src": "21147:6:36" + "src": "21147:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "21159:9:36", + "nativeSrc": "21159:9:34", "nodeType": "YulIdentifier", - "src": "21159:9:36" + "src": "21159:9:34" }, { "kind": "number", - "nativeSrc": "21170:3:36", + "nativeSrc": "21170:3:34", "nodeType": "YulLiteral", - "src": "21170:3:36", + "src": "21170:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "21155:3:36", + "nativeSrc": "21155:3:34", "nodeType": "YulIdentifier", - "src": "21155:3:36" + "src": "21155:3:34" }, - "nativeSrc": "21155:19:36", + "nativeSrc": "21155:19:34", "nodeType": "YulFunctionCall", - "src": "21155:19:36" + "src": "21155:19:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "21129:17:36", + "nativeSrc": "21129:17:34", "nodeType": "YulIdentifier", - "src": "21129:17:36" + "src": "21129:17:34" }, - "nativeSrc": "21129:46:36", + "nativeSrc": "21129:46:34", "nodeType": "YulFunctionCall", - "src": "21129:46:36" + "src": "21129:46:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "21121:4:36", + "nativeSrc": "21121:4:34", "nodeType": "YulIdentifier", - "src": "21121:4:36" + "src": "21121:4:34" } ] }, @@ -103406,49 +102416,49 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "21195:9:36", + "nativeSrc": "21195:9:34", "nodeType": "YulIdentifier", - "src": "21195:9:36" + "src": "21195:9:34" }, { "kind": "number", - "nativeSrc": "21206:2:36", + "nativeSrc": "21206:2:34", "nodeType": "YulLiteral", - "src": "21206:2:36", + "src": "21206:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "21191:3:36", + "nativeSrc": "21191:3:34", "nodeType": "YulIdentifier", - "src": "21191:3:36" + "src": "21191:3:34" }, - "nativeSrc": "21191:18:36", + "nativeSrc": "21191:18:34", "nodeType": "YulFunctionCall", - "src": "21191:18:36" + "src": "21191:18:34" }, { "name": "value2", - "nativeSrc": "21211:6:36", + "nativeSrc": "21211:6:34", "nodeType": "YulIdentifier", - "src": "21211:6:36" + "src": "21211:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "21184:6:36", + "nativeSrc": "21184:6:34", "nodeType": "YulIdentifier", - "src": "21184:6:36" + "src": "21184:6:34" }, - "nativeSrc": "21184:34:36", + "nativeSrc": "21184:34:34", "nodeType": "YulFunctionCall", - "src": "21184:34:36" + "src": "21184:34:34" }, - "nativeSrc": "21184:34:36", + "nativeSrc": "21184:34:34", "nodeType": "YulExpressionStatement", - "src": "21184:34:36" + "src": "21184:34:34" }, { "expression": { @@ -103457,36 +102467,36 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "21238:9:36", + "nativeSrc": "21238:9:34", "nodeType": "YulIdentifier", - "src": "21238:9:36" + "src": "21238:9:34" }, { "kind": "number", - "nativeSrc": "21249:2:36", + "nativeSrc": "21249:2:34", "nodeType": "YulLiteral", - "src": "21249:2:36", + "src": "21249:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "21234:3:36", + "nativeSrc": "21234:3:34", "nodeType": "YulIdentifier", - "src": "21234:3:36" + "src": "21234:3:34" }, - "nativeSrc": "21234:18:36", + "nativeSrc": "21234:18:34", "nodeType": "YulFunctionCall", - "src": "21234:18:36" + "src": "21234:18:34" }, { "arguments": [ { "name": "value3", - "nativeSrc": "21258:6:36", + "nativeSrc": "21258:6:34", "nodeType": "YulIdentifier", - "src": "21258:6:36" + "src": "21258:6:34" }, { "arguments": [ @@ -103494,157 +102504,157 @@ "arguments": [ { "kind": "number", - "nativeSrc": "21274:3:36", + "nativeSrc": "21274:3:34", "nodeType": "YulLiteral", - "src": "21274:3:36", + "src": "21274:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "21279:1:36", + "nativeSrc": "21279:1:34", "nodeType": "YulLiteral", - "src": "21279:1:36", + "src": "21279:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "21270:3:36", + "nativeSrc": "21270:3:34", "nodeType": "YulIdentifier", - "src": "21270:3:36" + "src": "21270:3:34" }, - "nativeSrc": "21270:11:36", + "nativeSrc": "21270:11:34", "nodeType": "YulFunctionCall", - "src": "21270:11:36" + "src": "21270:11:34" }, { "kind": "number", - "nativeSrc": "21283:1:36", + "nativeSrc": "21283:1:34", "nodeType": "YulLiteral", - "src": "21283:1:36", + "src": "21283:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "21266:3:36", + "nativeSrc": "21266:3:34", "nodeType": "YulIdentifier", - "src": "21266:3:36" + "src": "21266:3:34" }, - "nativeSrc": "21266:19:36", + "nativeSrc": "21266:19:34", "nodeType": "YulFunctionCall", - "src": "21266:19:36" + "src": "21266:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "21254:3:36", + "nativeSrc": "21254:3:34", "nodeType": "YulIdentifier", - "src": "21254:3:36" + "src": "21254:3:34" }, - "nativeSrc": "21254:32:36", + "nativeSrc": "21254:32:34", "nodeType": "YulFunctionCall", - "src": "21254:32:36" + "src": "21254:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "21227:6:36", + "nativeSrc": "21227:6:34", "nodeType": "YulIdentifier", - "src": "21227:6:36" + "src": "21227:6:34" }, - "nativeSrc": "21227:60:36", + "nativeSrc": "21227:60:34", "nodeType": "YulFunctionCall", - "src": "21227:60:36" + "src": "21227:60:34" }, - "nativeSrc": "21227:60:36", + "nativeSrc": "21227:60:34", "nodeType": "YulExpressionStatement", - "src": "21227:60:36" + "src": "21227:60:34" } ] }, "name": "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_uint256_t_address__to_t_uint256_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed", - "nativeSrc": "20832:461:36", + "nativeSrc": "20832:461:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "20982:9:36", + "nativeSrc": "20982:9:34", "nodeType": "YulTypedName", - "src": "20982:9:36", + "src": "20982:9:34", "type": "" }, { "name": "value3", - "nativeSrc": "20993:6:36", + "nativeSrc": "20993:6:34", "nodeType": "YulTypedName", - "src": "20993:6:36", + "src": "20993:6:34", "type": "" }, { "name": "value2", - "nativeSrc": "21001:6:36", + "nativeSrc": "21001:6:34", "nodeType": "YulTypedName", - "src": "21001:6:36", + "src": "21001:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "21009:6:36", + "nativeSrc": "21009:6:34", "nodeType": "YulTypedName", - "src": "21009:6:36", + "src": "21009:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "21017:6:36", + "nativeSrc": "21017:6:34", "nodeType": "YulTypedName", - "src": "21017:6:36", + "src": "21017:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "21028:4:36", + "nativeSrc": "21028:4:34", "nodeType": "YulTypedName", - "src": "21028:4:36", + "src": "21028:4:34", "type": "" } ], - "src": "20832:461:36" + "src": "20832:461:34" }, { "body": { - "nativeSrc": "21345:88:36", + "nativeSrc": "21345:88:34", "nodeType": "YulBlock", - "src": "21345:88:36", + "src": "21345:88:34", "statements": [ { "body": { - "nativeSrc": "21376:22:36", + "nativeSrc": "21376:22:34", "nodeType": "YulBlock", - "src": "21376:22:36", + "src": "21376:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x11", - "nativeSrc": "21378:16:36", + "nativeSrc": "21378:16:34", "nodeType": "YulIdentifier", - "src": "21378:16:36" + "src": "21378:16:34" }, - "nativeSrc": "21378:18:36", + "nativeSrc": "21378:18:34", "nodeType": "YulFunctionCall", - "src": "21378:18:36" + "src": "21378:18:34" }, - "nativeSrc": "21378:18:36", + "nativeSrc": "21378:18:34", "nodeType": "YulExpressionStatement", - "src": "21378:18:36" + "src": "21378:18:34" } ] }, @@ -103652,156 +102662,156 @@ "arguments": [ { "name": "value", - "nativeSrc": "21361:5:36", + "nativeSrc": "21361:5:34", "nodeType": "YulIdentifier", - "src": "21361:5:36" + "src": "21361:5:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "21372:1:36", + "nativeSrc": "21372:1:34", "nodeType": "YulLiteral", - "src": "21372:1:36", + "src": "21372:1:34", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "21368:3:36", + "nativeSrc": "21368:3:34", "nodeType": "YulIdentifier", - "src": "21368:3:36" + "src": "21368:3:34" }, - "nativeSrc": "21368:6:36", + "nativeSrc": "21368:6:34", "nodeType": "YulFunctionCall", - "src": "21368:6:36" + "src": "21368:6:34" } ], "functionName": { "name": "eq", - "nativeSrc": "21358:2:36", + "nativeSrc": "21358:2:34", "nodeType": "YulIdentifier", - "src": "21358:2:36" + "src": "21358:2:34" }, - "nativeSrc": "21358:17:36", + "nativeSrc": "21358:17:34", "nodeType": "YulFunctionCall", - "src": "21358:17:36" + "src": "21358:17:34" }, - "nativeSrc": "21355:43:36", + "nativeSrc": "21355:43:34", "nodeType": "YulIf", - "src": "21355:43:36" + "src": "21355:43:34" }, { - "nativeSrc": "21407:20:36", + "nativeSrc": "21407:20:34", "nodeType": "YulAssignment", - "src": "21407:20:36", + "src": "21407:20:34", "value": { "arguments": [ { "name": "value", - "nativeSrc": "21418:5:36", + "nativeSrc": "21418:5:34", "nodeType": "YulIdentifier", - "src": "21418:5:36" + "src": "21418:5:34" }, { "kind": "number", - "nativeSrc": "21425:1:36", + "nativeSrc": "21425:1:34", "nodeType": "YulLiteral", - "src": "21425:1:36", + "src": "21425:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "21414:3:36", + "nativeSrc": "21414:3:34", "nodeType": "YulIdentifier", - "src": "21414:3:36" + "src": "21414:3:34" }, - "nativeSrc": "21414:13:36", + "nativeSrc": "21414:13:34", "nodeType": "YulFunctionCall", - "src": "21414:13:36" + "src": "21414:13:34" }, "variableNames": [ { "name": "ret", - "nativeSrc": "21407:3:36", + "nativeSrc": "21407:3:34", "nodeType": "YulIdentifier", - "src": "21407:3:36" + "src": "21407:3:34" } ] } ] }, "name": "increment_t_uint256", - "nativeSrc": "21298:135:36", + "nativeSrc": "21298:135:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "21327:5:36", + "nativeSrc": "21327:5:34", "nodeType": "YulTypedName", - "src": "21327:5:36", + "src": "21327:5:34", "type": "" } ], "returnVariables": [ { "name": "ret", - "nativeSrc": "21337:3:36", + "nativeSrc": "21337:3:34", "nodeType": "YulTypedName", - "src": "21337:3:36", + "src": "21337:3:34", "type": "" } ], - "src": "21298:135:36" + "src": "21298:135:34" }, { "body": { - "nativeSrc": "21519:103:36", + "nativeSrc": "21519:103:34", "nodeType": "YulBlock", - "src": "21519:103:36", + "src": "21519:103:34", "statements": [ { "body": { - "nativeSrc": "21565:16:36", + "nativeSrc": "21565:16:34", "nodeType": "YulBlock", - "src": "21565:16:36", + "src": "21565:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "21574:1:36", + "nativeSrc": "21574:1:34", "nodeType": "YulLiteral", - "src": "21574:1:36", + "src": "21574:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "21577:1:36", + "nativeSrc": "21577:1:34", "nodeType": "YulLiteral", - "src": "21577:1:36", + "src": "21577:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "21567:6:36", + "nativeSrc": "21567:6:34", "nodeType": "YulIdentifier", - "src": "21567:6:36" + "src": "21567:6:34" }, - "nativeSrc": "21567:12:36", + "nativeSrc": "21567:12:34", "nodeType": "YulFunctionCall", - "src": "21567:12:36" + "src": "21567:12:34" }, - "nativeSrc": "21567:12:36", + "nativeSrc": "21567:12:34", "nodeType": "YulExpressionStatement", - "src": "21567:12:36" + "src": "21567:12:34" } ] }, @@ -103811,159 +102821,159 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "21540:7:36", + "nativeSrc": "21540:7:34", "nodeType": "YulIdentifier", - "src": "21540:7:36" + "src": "21540:7:34" }, { "name": "headStart", - "nativeSrc": "21549:9:36", + "nativeSrc": "21549:9:34", "nodeType": "YulIdentifier", - "src": "21549:9:36" + "src": "21549:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "21536:3:36", + "nativeSrc": "21536:3:34", "nodeType": "YulIdentifier", - "src": "21536:3:36" + "src": "21536:3:34" }, - "nativeSrc": "21536:23:36", + "nativeSrc": "21536:23:34", "nodeType": "YulFunctionCall", - "src": "21536:23:36" + "src": "21536:23:34" }, { "kind": "number", - "nativeSrc": "21561:2:36", + "nativeSrc": "21561:2:34", "nodeType": "YulLiteral", - "src": "21561:2:36", + "src": "21561:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "21532:3:36", + "nativeSrc": "21532:3:34", "nodeType": "YulIdentifier", - "src": "21532:3:36" + "src": "21532:3:34" }, - "nativeSrc": "21532:32:36", + "nativeSrc": "21532:32:34", "nodeType": "YulFunctionCall", - "src": "21532:32:36" + "src": "21532:32:34" }, - "nativeSrc": "21529:52:36", + "nativeSrc": "21529:52:34", "nodeType": "YulIf", - "src": "21529:52:36" + "src": "21529:52:34" }, { - "nativeSrc": "21590:26:36", + "nativeSrc": "21590:26:34", "nodeType": "YulAssignment", - "src": "21590:26:36", + "src": "21590:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "21606:9:36", + "nativeSrc": "21606:9:34", "nodeType": "YulIdentifier", - "src": "21606:9:36" + "src": "21606:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "21600:5:36", + "nativeSrc": "21600:5:34", "nodeType": "YulIdentifier", - "src": "21600:5:36" + "src": "21600:5:34" }, - "nativeSrc": "21600:16:36", + "nativeSrc": "21600:16:34", "nodeType": "YulFunctionCall", - "src": "21600:16:36" + "src": "21600:16:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "21590:6:36", + "nativeSrc": "21590:6:34", "nodeType": "YulIdentifier", - "src": "21590:6:36" + "src": "21590:6:34" } ] } ] }, "name": "abi_decode_tuple_t_bytes32_fromMemory", - "nativeSrc": "21438:184:36", + "nativeSrc": "21438:184:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "21485:9:36", + "nativeSrc": "21485:9:34", "nodeType": "YulTypedName", - "src": "21485:9:36", + "src": "21485:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "21496:7:36", + "nativeSrc": "21496:7:34", "nodeType": "YulTypedName", - "src": "21496:7:36", + "src": "21496:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "21508:6:36", + "nativeSrc": "21508:6:34", "nodeType": "YulTypedName", - "src": "21508:6:36", + "src": "21508:6:34", "type": "" } ], - "src": "21438:184:36" + "src": "21438:184:34" }, { "body": { - "nativeSrc": "21708:103:36", + "nativeSrc": "21708:103:34", "nodeType": "YulBlock", - "src": "21708:103:36", + "src": "21708:103:34", "statements": [ { "body": { - "nativeSrc": "21754:16:36", + "nativeSrc": "21754:16:34", "nodeType": "YulBlock", - "src": "21754:16:36", + "src": "21754:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "21763:1:36", + "nativeSrc": "21763:1:34", "nodeType": "YulLiteral", - "src": "21763:1:36", + "src": "21763:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "21766:1:36", + "nativeSrc": "21766:1:34", "nodeType": "YulLiteral", - "src": "21766:1:36", + "src": "21766:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "21756:6:36", + "nativeSrc": "21756:6:34", "nodeType": "YulIdentifier", - "src": "21756:6:36" + "src": "21756:6:34" }, - "nativeSrc": "21756:12:36", + "nativeSrc": "21756:12:34", "nodeType": "YulFunctionCall", - "src": "21756:12:36" + "src": "21756:12:34" }, - "nativeSrc": "21756:12:36", + "nativeSrc": "21756:12:34", "nodeType": "YulExpressionStatement", - "src": "21756:12:36" + "src": "21756:12:34" } ] }, @@ -103973,159 +102983,159 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "21729:7:36", + "nativeSrc": "21729:7:34", "nodeType": "YulIdentifier", - "src": "21729:7:36" + "src": "21729:7:34" }, { "name": "headStart", - "nativeSrc": "21738:9:36", + "nativeSrc": "21738:9:34", "nodeType": "YulIdentifier", - "src": "21738:9:36" + "src": "21738:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "21725:3:36", + "nativeSrc": "21725:3:34", "nodeType": "YulIdentifier", - "src": "21725:3:36" + "src": "21725:3:34" }, - "nativeSrc": "21725:23:36", + "nativeSrc": "21725:23:34", "nodeType": "YulFunctionCall", - "src": "21725:23:36" + "src": "21725:23:34" }, { "kind": "number", - "nativeSrc": "21750:2:36", + "nativeSrc": "21750:2:34", "nodeType": "YulLiteral", - "src": "21750:2:36", + "src": "21750:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "21721:3:36", + "nativeSrc": "21721:3:34", "nodeType": "YulIdentifier", - "src": "21721:3:36" + "src": "21721:3:34" }, - "nativeSrc": "21721:32:36", + "nativeSrc": "21721:32:34", "nodeType": "YulFunctionCall", - "src": "21721:32:36" + "src": "21721:32:34" }, - "nativeSrc": "21718:52:36", + "nativeSrc": "21718:52:34", "nodeType": "YulIf", - "src": "21718:52:36" + "src": "21718:52:34" }, { - "nativeSrc": "21779:26:36", + "nativeSrc": "21779:26:34", "nodeType": "YulAssignment", - "src": "21779:26:36", + "src": "21779:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "21795:9:36", + "nativeSrc": "21795:9:34", "nodeType": "YulIdentifier", - "src": "21795:9:36" + "src": "21795:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "21789:5:36", + "nativeSrc": "21789:5:34", "nodeType": "YulIdentifier", - "src": "21789:5:36" + "src": "21789:5:34" }, - "nativeSrc": "21789:16:36", + "nativeSrc": "21789:16:34", "nodeType": "YulFunctionCall", - "src": "21789:16:36" + "src": "21789:16:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "21779:6:36", + "nativeSrc": "21779:6:34", "nodeType": "YulIdentifier", - "src": "21779:6:36" + "src": "21779:6:34" } ] } ] }, "name": "abi_decode_tuple_t_uint256_fromMemory", - "nativeSrc": "21627:184:36", + "nativeSrc": "21627:184:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "21674:9:36", + "nativeSrc": "21674:9:34", "nodeType": "YulTypedName", - "src": "21674:9:36", + "src": "21674:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "21685:7:36", + "nativeSrc": "21685:7:34", "nodeType": "YulTypedName", - "src": "21685:7:36", + "src": "21685:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "21697:6:36", + "nativeSrc": "21697:6:34", "nodeType": "YulTypedName", - "src": "21697:6:36", + "src": "21697:6:34", "type": "" } ], - "src": "21627:184:36" + "src": "21627:184:34" }, { "body": { - "nativeSrc": "21923:811:36", + "nativeSrc": "21923:811:34", "nodeType": "YulBlock", - "src": "21923:811:36", + "src": "21923:811:34", "statements": [ { "body": { - "nativeSrc": "21969:16:36", + "nativeSrc": "21969:16:34", "nodeType": "YulBlock", - "src": "21969:16:36", + "src": "21969:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "21978:1:36", + "nativeSrc": "21978:1:34", "nodeType": "YulLiteral", - "src": "21978:1:36", + "src": "21978:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "21981:1:36", + "nativeSrc": "21981:1:34", "nodeType": "YulLiteral", - "src": "21981:1:36", + "src": "21981:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "21971:6:36", + "nativeSrc": "21971:6:34", "nodeType": "YulIdentifier", - "src": "21971:6:36" + "src": "21971:6:34" }, - "nativeSrc": "21971:12:36", + "nativeSrc": "21971:12:34", "nodeType": "YulFunctionCall", - "src": "21971:12:36" + "src": "21971:12:34" }, - "nativeSrc": "21971:12:36", + "nativeSrc": "21971:12:34", "nodeType": "YulExpressionStatement", - "src": "21971:12:36" + "src": "21971:12:34" } ] }, @@ -104135,144 +103145,144 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "21944:7:36", + "nativeSrc": "21944:7:34", "nodeType": "YulIdentifier", - "src": "21944:7:36" + "src": "21944:7:34" }, { "name": "headStart", - "nativeSrc": "21953:9:36", + "nativeSrc": "21953:9:34", "nodeType": "YulIdentifier", - "src": "21953:9:36" + "src": "21953:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "21940:3:36", + "nativeSrc": "21940:3:34", "nodeType": "YulIdentifier", - "src": "21940:3:36" + "src": "21940:3:34" }, - "nativeSrc": "21940:23:36", + "nativeSrc": "21940:23:34", "nodeType": "YulFunctionCall", - "src": "21940:23:36" + "src": "21940:23:34" }, { "kind": "number", - "nativeSrc": "21965:2:36", + "nativeSrc": "21965:2:34", "nodeType": "YulLiteral", - "src": "21965:2:36", + "src": "21965:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "21936:3:36", + "nativeSrc": "21936:3:34", "nodeType": "YulIdentifier", - "src": "21936:3:36" + "src": "21936:3:34" }, - "nativeSrc": "21936:32:36", + "nativeSrc": "21936:32:34", "nodeType": "YulFunctionCall", - "src": "21936:32:36" + "src": "21936:32:34" }, - "nativeSrc": "21933:52:36", + "nativeSrc": "21933:52:34", "nodeType": "YulIf", - "src": "21933:52:36" + "src": "21933:52:34" }, { - "nativeSrc": "21994:30:36", + "nativeSrc": "21994:30:34", "nodeType": "YulVariableDeclaration", - "src": "21994:30:36", + "src": "21994:30:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "22014:9:36", + "nativeSrc": "22014:9:34", "nodeType": "YulIdentifier", - "src": "22014:9:36" + "src": "22014:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "22008:5:36", + "nativeSrc": "22008:5:34", "nodeType": "YulIdentifier", - "src": "22008:5:36" + "src": "22008:5:34" }, - "nativeSrc": "22008:16:36", + "nativeSrc": "22008:16:34", "nodeType": "YulFunctionCall", - "src": "22008:16:36" + "src": "22008:16:34" }, "variables": [ { "name": "offset", - "nativeSrc": "21998:6:36", + "nativeSrc": "21998:6:34", "nodeType": "YulTypedName", - "src": "21998:6:36", + "src": "21998:6:34", "type": "" } ] }, { - "nativeSrc": "22033:28:36", + "nativeSrc": "22033:28:34", "nodeType": "YulVariableDeclaration", - "src": "22033:28:36", + "src": "22033:28:34", "value": { "kind": "number", - "nativeSrc": "22043:18:36", + "nativeSrc": "22043:18:34", "nodeType": "YulLiteral", - "src": "22043:18:36", + "src": "22043:18:34", "type": "", "value": "0xffffffffffffffff" }, "variables": [ { "name": "_1", - "nativeSrc": "22037:2:36", + "nativeSrc": "22037:2:34", "nodeType": "YulTypedName", - "src": "22037:2:36", + "src": "22037:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "22088:16:36", + "nativeSrc": "22088:16:34", "nodeType": "YulBlock", - "src": "22088:16:36", + "src": "22088:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22097:1:36", + "nativeSrc": "22097:1:34", "nodeType": "YulLiteral", - "src": "22097:1:36", + "src": "22097:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "22100:1:36", + "nativeSrc": "22100:1:34", "nodeType": "YulLiteral", - "src": "22100:1:36", + "src": "22100:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "22090:6:36", + "nativeSrc": "22090:6:34", "nodeType": "YulIdentifier", - "src": "22090:6:36" + "src": "22090:6:34" }, - "nativeSrc": "22090:12:36", + "nativeSrc": "22090:12:34", "nodeType": "YulFunctionCall", - "src": "22090:12:36" + "src": "22090:12:34" }, - "nativeSrc": "22090:12:36", + "nativeSrc": "22090:12:34", "nodeType": "YulExpressionStatement", - "src": "22090:12:36" + "src": "22090:12:34" } ] }, @@ -104280,109 +103290,109 @@ "arguments": [ { "name": "offset", - "nativeSrc": "22076:6:36", + "nativeSrc": "22076:6:34", "nodeType": "YulIdentifier", - "src": "22076:6:36" + "src": "22076:6:34" }, { "name": "_1", - "nativeSrc": "22084:2:36", + "nativeSrc": "22084:2:34", "nodeType": "YulIdentifier", - "src": "22084:2:36" + "src": "22084:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "22073:2:36", + "nativeSrc": "22073:2:34", "nodeType": "YulIdentifier", - "src": "22073:2:36" + "src": "22073:2:34" }, - "nativeSrc": "22073:14:36", + "nativeSrc": "22073:14:34", "nodeType": "YulFunctionCall", - "src": "22073:14:36" + "src": "22073:14:34" }, - "nativeSrc": "22070:34:36", + "nativeSrc": "22070:34:34", "nodeType": "YulIf", - "src": "22070:34:36" + "src": "22070:34:34" }, { - "nativeSrc": "22113:32:36", + "nativeSrc": "22113:32:34", "nodeType": "YulVariableDeclaration", - "src": "22113:32:36", + "src": "22113:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "22127:9:36", + "nativeSrc": "22127:9:34", "nodeType": "YulIdentifier", - "src": "22127:9:36" + "src": "22127:9:34" }, { "name": "offset", - "nativeSrc": "22138:6:36", + "nativeSrc": "22138:6:34", "nodeType": "YulIdentifier", - "src": "22138:6:36" + "src": "22138:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "22123:3:36", + "nativeSrc": "22123:3:34", "nodeType": "YulIdentifier", - "src": "22123:3:36" + "src": "22123:3:34" }, - "nativeSrc": "22123:22:36", + "nativeSrc": "22123:22:34", "nodeType": "YulFunctionCall", - "src": "22123:22:36" + "src": "22123:22:34" }, "variables": [ { "name": "_2", - "nativeSrc": "22117:2:36", + "nativeSrc": "22117:2:34", "nodeType": "YulTypedName", - "src": "22117:2:36", + "src": "22117:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "22185:16:36", + "nativeSrc": "22185:16:34", "nodeType": "YulBlock", - "src": "22185:16:36", + "src": "22185:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22194:1:36", + "nativeSrc": "22194:1:34", "nodeType": "YulLiteral", - "src": "22194:1:36", + "src": "22194:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "22197:1:36", + "nativeSrc": "22197:1:34", "nodeType": "YulLiteral", - "src": "22197:1:36", + "src": "22197:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "22187:6:36", + "nativeSrc": "22187:6:34", "nodeType": "YulIdentifier", - "src": "22187:6:36" + "src": "22187:6:34" }, - "nativeSrc": "22187:12:36", + "nativeSrc": "22187:12:34", "nodeType": "YulFunctionCall", - "src": "22187:12:36" + "src": "22187:12:34" }, - "nativeSrc": "22187:12:36", + "nativeSrc": "22187:12:34", "nodeType": "YulExpressionStatement", - "src": "22187:12:36" + "src": "22187:12:34" } ] }, @@ -104392,105 +103402,105 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "22165:7:36", + "nativeSrc": "22165:7:34", "nodeType": "YulIdentifier", - "src": "22165:7:36" + "src": "22165:7:34" }, { "name": "_2", - "nativeSrc": "22174:2:36", + "nativeSrc": "22174:2:34", "nodeType": "YulIdentifier", - "src": "22174:2:36" + "src": "22174:2:34" } ], "functionName": { "name": "sub", - "nativeSrc": "22161:3:36", + "nativeSrc": "22161:3:34", "nodeType": "YulIdentifier", - "src": "22161:3:36" + "src": "22161:3:34" }, - "nativeSrc": "22161:16:36", + "nativeSrc": "22161:16:34", "nodeType": "YulFunctionCall", - "src": "22161:16:36" + "src": "22161:16:34" }, { "kind": "number", - "nativeSrc": "22179:4:36", + "nativeSrc": "22179:4:34", "nodeType": "YulLiteral", - "src": "22179:4:36", + "src": "22179:4:34", "type": "", "value": "0xa0" } ], "functionName": { "name": "slt", - "nativeSrc": "22157:3:36", + "nativeSrc": "22157:3:34", "nodeType": "YulIdentifier", - "src": "22157:3:36" + "src": "22157:3:34" }, - "nativeSrc": "22157:27:36", + "nativeSrc": "22157:27:34", "nodeType": "YulFunctionCall", - "src": "22157:27:36" + "src": "22157:27:34" }, - "nativeSrc": "22154:47:36", + "nativeSrc": "22154:47:34", "nodeType": "YulIf", - "src": "22154:47:36" + "src": "22154:47:34" }, { - "nativeSrc": "22210:35:36", + "nativeSrc": "22210:35:34", "nodeType": "YulVariableDeclaration", - "src": "22210:35:36", + "src": "22210:35:34", "value": { "arguments": [], "functionName": { "name": "allocate_memory_3054", - "nativeSrc": "22223:20:36", + "nativeSrc": "22223:20:34", "nodeType": "YulIdentifier", - "src": "22223:20:36" + "src": "22223:20:34" }, - "nativeSrc": "22223:22:36", + "nativeSrc": "22223:22:34", "nodeType": "YulFunctionCall", - "src": "22223:22:36" + "src": "22223:22:34" }, "variables": [ { "name": "value", - "nativeSrc": "22214:5:36", + "nativeSrc": "22214:5:34", "nodeType": "YulTypedName", - "src": "22214:5:36", + "src": "22214:5:34", "type": "" } ] }, { - "nativeSrc": "22254:24:36", + "nativeSrc": "22254:24:34", "nodeType": "YulVariableDeclaration", - "src": "22254:24:36", + "src": "22254:24:34", "value": { "arguments": [ { "name": "_2", - "nativeSrc": "22275:2:36", + "nativeSrc": "22275:2:34", "nodeType": "YulIdentifier", - "src": "22275:2:36" + "src": "22275:2:34" } ], "functionName": { "name": "mload", - "nativeSrc": "22269:5:36", + "nativeSrc": "22269:5:34", "nodeType": "YulIdentifier", - "src": "22269:5:36" + "src": "22269:5:34" }, - "nativeSrc": "22269:9:36", + "nativeSrc": "22269:9:34", "nodeType": "YulFunctionCall", - "src": "22269:9:36" + "src": "22269:9:34" }, "variables": [ { "name": "value_1", - "nativeSrc": "22258:7:36", + "nativeSrc": "22258:7:34", "nodeType": "YulTypedName", - "src": "22258:7:36", + "src": "22258:7:34", "type": "" } ] @@ -104500,148 +103510,148 @@ "arguments": [ { "name": "value_1", - "nativeSrc": "22312:7:36", + "nativeSrc": "22312:7:34", "nodeType": "YulIdentifier", - "src": "22312:7:36" + "src": "22312:7:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "22287:24:36", + "nativeSrc": "22287:24:34", "nodeType": "YulIdentifier", - "src": "22287:24:36" + "src": "22287:24:34" }, - "nativeSrc": "22287:33:36", + "nativeSrc": "22287:33:34", "nodeType": "YulFunctionCall", - "src": "22287:33:36" + "src": "22287:33:34" }, - "nativeSrc": "22287:33:36", + "nativeSrc": "22287:33:34", "nodeType": "YulExpressionStatement", - "src": "22287:33:36" + "src": "22287:33:34" }, { "expression": { "arguments": [ { "name": "value", - "nativeSrc": "22336:5:36", + "nativeSrc": "22336:5:34", "nodeType": "YulIdentifier", - "src": "22336:5:36" + "src": "22336:5:34" }, { "name": "value_1", - "nativeSrc": "22343:7:36", + "nativeSrc": "22343:7:34", "nodeType": "YulIdentifier", - "src": "22343:7:36" + "src": "22343:7:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "22329:6:36", + "nativeSrc": "22329:6:34", "nodeType": "YulIdentifier", - "src": "22329:6:36" + "src": "22329:6:34" }, - "nativeSrc": "22329:22:36", + "nativeSrc": "22329:22:34", "nodeType": "YulFunctionCall", - "src": "22329:22:36" + "src": "22329:22:34" }, - "nativeSrc": "22329:22:36", + "nativeSrc": "22329:22:34", "nodeType": "YulExpressionStatement", - "src": "22329:22:36" + "src": "22329:22:34" }, { - "nativeSrc": "22360:34:36", + "nativeSrc": "22360:34:34", "nodeType": "YulVariableDeclaration", - "src": "22360:34:36", + "src": "22360:34:34", "value": { "arguments": [ { "arguments": [ { "name": "_2", - "nativeSrc": "22386:2:36", + "nativeSrc": "22386:2:34", "nodeType": "YulIdentifier", - "src": "22386:2:36" + "src": "22386:2:34" }, { "kind": "number", - "nativeSrc": "22390:2:36", + "nativeSrc": "22390:2:34", "nodeType": "YulLiteral", - "src": "22390:2:36", + "src": "22390:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "22382:3:36", + "nativeSrc": "22382:3:34", "nodeType": "YulIdentifier", - "src": "22382:3:36" + "src": "22382:3:34" }, - "nativeSrc": "22382:11:36", + "nativeSrc": "22382:11:34", "nodeType": "YulFunctionCall", - "src": "22382:11:36" + "src": "22382:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "22376:5:36", + "nativeSrc": "22376:5:34", "nodeType": "YulIdentifier", - "src": "22376:5:36" + "src": "22376:5:34" }, - "nativeSrc": "22376:18:36", + "nativeSrc": "22376:18:34", "nodeType": "YulFunctionCall", - "src": "22376:18:36" + "src": "22376:18:34" }, "variables": [ { "name": "offset_1", - "nativeSrc": "22364:8:36", + "nativeSrc": "22364:8:34", "nodeType": "YulTypedName", - "src": "22364:8:36", + "src": "22364:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "22423:16:36", + "nativeSrc": "22423:16:34", "nodeType": "YulBlock", - "src": "22423:16:36", + "src": "22423:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22432:1:36", + "nativeSrc": "22432:1:34", "nodeType": "YulLiteral", - "src": "22432:1:36", + "src": "22432:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "22435:1:36", + "nativeSrc": "22435:1:34", "nodeType": "YulLiteral", - "src": "22435:1:36", + "src": "22435:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "22425:6:36", + "nativeSrc": "22425:6:34", "nodeType": "YulIdentifier", - "src": "22425:6:36" + "src": "22425:6:34" }, - "nativeSrc": "22425:12:36", + "nativeSrc": "22425:12:34", "nodeType": "YulFunctionCall", - "src": "22425:12:36" + "src": "22425:12:34" }, - "nativeSrc": "22425:12:36", + "nativeSrc": "22425:12:34", "nodeType": "YulExpressionStatement", - "src": "22425:12:36" + "src": "22425:12:34" } ] }, @@ -104649,30 +103659,30 @@ "arguments": [ { "name": "offset_1", - "nativeSrc": "22409:8:36", + "nativeSrc": "22409:8:34", "nodeType": "YulIdentifier", - "src": "22409:8:36" + "src": "22409:8:34" }, { "name": "_1", - "nativeSrc": "22419:2:36", + "nativeSrc": "22419:2:34", "nodeType": "YulIdentifier", - "src": "22419:2:36" + "src": "22419:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "22406:2:36", + "nativeSrc": "22406:2:34", "nodeType": "YulIdentifier", - "src": "22406:2:36" + "src": "22406:2:34" }, - "nativeSrc": "22406:16:36", + "nativeSrc": "22406:16:34", "nodeType": "YulFunctionCall", - "src": "22406:16:36" + "src": "22406:16:34" }, - "nativeSrc": "22403:36:36", + "nativeSrc": "22403:36:34", "nodeType": "YulIf", - "src": "22403:36:36" + "src": "22403:36:34" }, { "expression": { @@ -104681,28 +103691,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "22459:5:36", + "nativeSrc": "22459:5:34", "nodeType": "YulIdentifier", - "src": "22459:5:36" + "src": "22459:5:34" }, { "kind": "number", - "nativeSrc": "22466:2:36", + "nativeSrc": "22466:2:34", "nodeType": "YulLiteral", - "src": "22466:2:36", + "src": "22466:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "22455:3:36", + "nativeSrc": "22455:3:34", "nodeType": "YulIdentifier", - "src": "22455:3:36" + "src": "22455:3:34" }, - "nativeSrc": "22455:14:36", + "nativeSrc": "22455:14:34", "nodeType": "YulFunctionCall", - "src": "22455:14:36" + "src": "22455:14:34" }, { "arguments": [ @@ -104710,58 +103720,58 @@ "arguments": [ { "name": "_2", - "nativeSrc": "22504:2:36", + "nativeSrc": "22504:2:34", "nodeType": "YulIdentifier", - "src": "22504:2:36" + "src": "22504:2:34" }, { "name": "offset_1", - "nativeSrc": "22508:8:36", + "nativeSrc": "22508:8:34", "nodeType": "YulIdentifier", - "src": "22508:8:36" + "src": "22508:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "22500:3:36", + "nativeSrc": "22500:3:34", "nodeType": "YulIdentifier", - "src": "22500:3:36" + "src": "22500:3:34" }, - "nativeSrc": "22500:17:36", + "nativeSrc": "22500:17:34", "nodeType": "YulFunctionCall", - "src": "22500:17:36" + "src": "22500:17:34" }, { "name": "dataEnd", - "nativeSrc": "22519:7:36", + "nativeSrc": "22519:7:34", "nodeType": "YulIdentifier", - "src": "22519:7:36" + "src": "22519:7:34" } ], "functionName": { "name": "abi_decode_string_fromMemory", - "nativeSrc": "22471:28:36", + "nativeSrc": "22471:28:34", "nodeType": "YulIdentifier", - "src": "22471:28:36" + "src": "22471:28:34" }, - "nativeSrc": "22471:56:36", + "nativeSrc": "22471:56:34", "nodeType": "YulFunctionCall", - "src": "22471:56:36" + "src": "22471:56:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "22448:6:36", + "nativeSrc": "22448:6:34", "nodeType": "YulIdentifier", - "src": "22448:6:36" + "src": "22448:6:34" }, - "nativeSrc": "22448:80:36", + "nativeSrc": "22448:80:34", "nodeType": "YulFunctionCall", - "src": "22448:80:36" + "src": "22448:80:34" }, - "nativeSrc": "22448:80:36", + "nativeSrc": "22448:80:34", "nodeType": "YulExpressionStatement", - "src": "22448:80:36" + "src": "22448:80:34" }, { "expression": { @@ -104770,28 +103780,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "22548:5:36", + "nativeSrc": "22548:5:34", "nodeType": "YulIdentifier", - "src": "22548:5:36" + "src": "22548:5:34" }, { "kind": "number", - "nativeSrc": "22555:2:36", + "nativeSrc": "22555:2:34", "nodeType": "YulLiteral", - "src": "22555:2:36", + "src": "22555:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "22544:3:36", + "nativeSrc": "22544:3:34", "nodeType": "YulIdentifier", - "src": "22544:3:36" + "src": "22544:3:34" }, - "nativeSrc": "22544:14:36", + "nativeSrc": "22544:14:34", "nodeType": "YulFunctionCall", - "src": "22544:14:36" + "src": "22544:14:34" }, { "arguments": [ @@ -104799,54 +103809,54 @@ "arguments": [ { "name": "_2", - "nativeSrc": "22570:2:36", + "nativeSrc": "22570:2:34", "nodeType": "YulIdentifier", - "src": "22570:2:36" + "src": "22570:2:34" }, { "kind": "number", - "nativeSrc": "22574:2:36", + "nativeSrc": "22574:2:34", "nodeType": "YulLiteral", - "src": "22574:2:36", + "src": "22574:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "22566:3:36", + "nativeSrc": "22566:3:34", "nodeType": "YulIdentifier", - "src": "22566:3:36" + "src": "22566:3:34" }, - "nativeSrc": "22566:11:36", + "nativeSrc": "22566:11:34", "nodeType": "YulFunctionCall", - "src": "22566:11:36" + "src": "22566:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "22560:5:36", + "nativeSrc": "22560:5:34", "nodeType": "YulIdentifier", - "src": "22560:5:36" + "src": "22560:5:34" }, - "nativeSrc": "22560:18:36", + "nativeSrc": "22560:18:34", "nodeType": "YulFunctionCall", - "src": "22560:18:36" + "src": "22560:18:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "22537:6:36", + "nativeSrc": "22537:6:34", "nodeType": "YulIdentifier", - "src": "22537:6:36" + "src": "22537:6:34" }, - "nativeSrc": "22537:42:36", + "nativeSrc": "22537:42:34", "nodeType": "YulFunctionCall", - "src": "22537:42:36" + "src": "22537:42:34" }, - "nativeSrc": "22537:42:36", + "nativeSrc": "22537:42:34", "nodeType": "YulExpressionStatement", - "src": "22537:42:36" + "src": "22537:42:34" }, { "expression": { @@ -104855,28 +103865,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "22599:5:36", + "nativeSrc": "22599:5:34", "nodeType": "YulIdentifier", - "src": "22599:5:36" + "src": "22599:5:34" }, { "kind": "number", - "nativeSrc": "22606:2:36", + "nativeSrc": "22606:2:34", "nodeType": "YulLiteral", - "src": "22606:2:36", + "src": "22606:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "22595:3:36", + "nativeSrc": "22595:3:34", "nodeType": "YulIdentifier", - "src": "22595:3:36" + "src": "22595:3:34" }, - "nativeSrc": "22595:14:36", + "nativeSrc": "22595:14:34", "nodeType": "YulFunctionCall", - "src": "22595:14:36" + "src": "22595:14:34" }, { "arguments": [ @@ -104884,54 +103894,54 @@ "arguments": [ { "name": "_2", - "nativeSrc": "22621:2:36", + "nativeSrc": "22621:2:34", "nodeType": "YulIdentifier", - "src": "22621:2:36" + "src": "22621:2:34" }, { "kind": "number", - "nativeSrc": "22625:2:36", + "nativeSrc": "22625:2:34", "nodeType": "YulLiteral", - "src": "22625:2:36", + "src": "22625:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "22617:3:36", + "nativeSrc": "22617:3:34", "nodeType": "YulIdentifier", - "src": "22617:3:36" + "src": "22617:3:34" }, - "nativeSrc": "22617:11:36", + "nativeSrc": "22617:11:34", "nodeType": "YulFunctionCall", - "src": "22617:11:36" + "src": "22617:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "22611:5:36", + "nativeSrc": "22611:5:34", "nodeType": "YulIdentifier", - "src": "22611:5:36" + "src": "22611:5:34" }, - "nativeSrc": "22611:18:36", + "nativeSrc": "22611:18:34", "nodeType": "YulFunctionCall", - "src": "22611:18:36" + "src": "22611:18:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "22588:6:36", + "nativeSrc": "22588:6:34", "nodeType": "YulIdentifier", - "src": "22588:6:36" + "src": "22588:6:34" }, - "nativeSrc": "22588:42:36", + "nativeSrc": "22588:42:34", "nodeType": "YulFunctionCall", - "src": "22588:42:36" + "src": "22588:42:34" }, - "nativeSrc": "22588:42:36", + "nativeSrc": "22588:42:34", "nodeType": "YulExpressionStatement", - "src": "22588:42:36" + "src": "22588:42:34" }, { "expression": { @@ -104940,28 +103950,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "22650:5:36", + "nativeSrc": "22650:5:34", "nodeType": "YulIdentifier", - "src": "22650:5:36" + "src": "22650:5:34" }, { "kind": "number", - "nativeSrc": "22657:3:36", + "nativeSrc": "22657:3:34", "nodeType": "YulLiteral", - "src": "22657:3:36", + "src": "22657:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "22646:3:36", + "nativeSrc": "22646:3:34", "nodeType": "YulIdentifier", - "src": "22646:3:36" + "src": "22646:3:34" }, - "nativeSrc": "22646:15:36", + "nativeSrc": "22646:15:34", "nodeType": "YulFunctionCall", - "src": "22646:15:36" + "src": "22646:15:34" }, { "arguments": [ @@ -104969,151 +103979,151 @@ "arguments": [ { "name": "_2", - "nativeSrc": "22694:2:36", + "nativeSrc": "22694:2:34", "nodeType": "YulIdentifier", - "src": "22694:2:36" + "src": "22694:2:34" }, { "kind": "number", - "nativeSrc": "22698:3:36", + "nativeSrc": "22698:3:34", "nodeType": "YulLiteral", - "src": "22698:3:36", + "src": "22698:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "22690:3:36", + "nativeSrc": "22690:3:34", "nodeType": "YulIdentifier", - "src": "22690:3:36" + "src": "22690:3:34" }, - "nativeSrc": "22690:12:36", + "nativeSrc": "22690:12:34", "nodeType": "YulFunctionCall", - "src": "22690:12:36" + "src": "22690:12:34" } ], "functionName": { "name": "abi_decode_bool_fromMemory", - "nativeSrc": "22663:26:36", + "nativeSrc": "22663:26:34", "nodeType": "YulIdentifier", - "src": "22663:26:36" + "src": "22663:26:34" }, - "nativeSrc": "22663:40:36", + "nativeSrc": "22663:40:34", "nodeType": "YulFunctionCall", - "src": "22663:40:36" + "src": "22663:40:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "22639:6:36", + "nativeSrc": "22639:6:34", "nodeType": "YulIdentifier", - "src": "22639:6:36" + "src": "22639:6:34" }, - "nativeSrc": "22639:65:36", + "nativeSrc": "22639:65:34", "nodeType": "YulFunctionCall", - "src": "22639:65:36" + "src": "22639:65:34" }, - "nativeSrc": "22639:65:36", + "nativeSrc": "22639:65:34", "nodeType": "YulExpressionStatement", - "src": "22639:65:36" + "src": "22639:65:34" }, { - "nativeSrc": "22713:15:36", + "nativeSrc": "22713:15:34", "nodeType": "YulAssignment", - "src": "22713:15:36", + "src": "22713:15:34", "value": { "name": "value", - "nativeSrc": "22723:5:36", + "nativeSrc": "22723:5:34", "nodeType": "YulIdentifier", - "src": "22723:5:36" + "src": "22723:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "22713:6:36", + "nativeSrc": "22713:6:34", "nodeType": "YulIdentifier", - "src": "22713:6:36" + "src": "22713:6:34" } ] } ] }, - "name": "abi_decode_tuple_t_struct$_Proposal_$5300_memory_ptr_fromMemory", - "nativeSrc": "21816:918:36", + "name": "abi_decode_tuple_t_struct$_Proposal_$5270_memory_ptr_fromMemory", + "nativeSrc": "21816:918:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "21889:9:36", + "nativeSrc": "21889:9:34", "nodeType": "YulTypedName", - "src": "21889:9:36", + "src": "21889:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "21900:7:36", + "nativeSrc": "21900:7:34", "nodeType": "YulTypedName", - "src": "21900:7:36", + "src": "21900:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "21912:6:36", + "nativeSrc": "21912:6:34", "nodeType": "YulTypedName", - "src": "21912:6:36", + "src": "21912:6:34", "type": "" } ], - "src": "21816:918:36" + "src": "21816:918:34" }, { "body": { - "nativeSrc": "22820:170:36", + "nativeSrc": "22820:170:34", "nodeType": "YulBlock", - "src": "22820:170:36", + "src": "22820:170:34", "statements": [ { "body": { - "nativeSrc": "22866:16:36", + "nativeSrc": "22866:16:34", "nodeType": "YulBlock", - "src": "22866:16:36", + "src": "22866:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "22875:1:36", + "nativeSrc": "22875:1:34", "nodeType": "YulLiteral", - "src": "22875:1:36", + "src": "22875:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "22878:1:36", + "nativeSrc": "22878:1:34", "nodeType": "YulLiteral", - "src": "22878:1:36", + "src": "22878:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "22868:6:36", + "nativeSrc": "22868:6:34", "nodeType": "YulIdentifier", - "src": "22868:6:36" + "src": "22868:6:34" }, - "nativeSrc": "22868:12:36", + "nativeSrc": "22868:12:34", "nodeType": "YulFunctionCall", - "src": "22868:12:36" + "src": "22868:12:34" }, - "nativeSrc": "22868:12:36", + "nativeSrc": "22868:12:34", "nodeType": "YulExpressionStatement", - "src": "22868:12:36" + "src": "22868:12:34" } ] }, @@ -105123,79 +104133,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "22841:7:36", + "nativeSrc": "22841:7:34", "nodeType": "YulIdentifier", - "src": "22841:7:36" + "src": "22841:7:34" }, { "name": "headStart", - "nativeSrc": "22850:9:36", + "nativeSrc": "22850:9:34", "nodeType": "YulIdentifier", - "src": "22850:9:36" + "src": "22850:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "22837:3:36", + "nativeSrc": "22837:3:34", "nodeType": "YulIdentifier", - "src": "22837:3:36" + "src": "22837:3:34" }, - "nativeSrc": "22837:23:36", + "nativeSrc": "22837:23:34", "nodeType": "YulFunctionCall", - "src": "22837:23:36" + "src": "22837:23:34" }, { "kind": "number", - "nativeSrc": "22862:2:36", + "nativeSrc": "22862:2:34", "nodeType": "YulLiteral", - "src": "22862:2:36", + "src": "22862:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "22833:3:36", + "nativeSrc": "22833:3:34", "nodeType": "YulIdentifier", - "src": "22833:3:36" + "src": "22833:3:34" }, - "nativeSrc": "22833:32:36", + "nativeSrc": "22833:32:34", "nodeType": "YulFunctionCall", - "src": "22833:32:36" + "src": "22833:32:34" }, - "nativeSrc": "22830:52:36", + "nativeSrc": "22830:52:34", "nodeType": "YulIf", - "src": "22830:52:36" + "src": "22830:52:34" }, { - "nativeSrc": "22891:29:36", + "nativeSrc": "22891:29:34", "nodeType": "YulVariableDeclaration", - "src": "22891:29:36", + "src": "22891:29:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "22910:9:36", + "nativeSrc": "22910:9:34", "nodeType": "YulIdentifier", - "src": "22910:9:36" + "src": "22910:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "22904:5:36", + "nativeSrc": "22904:5:34", "nodeType": "YulIdentifier", - "src": "22904:5:36" + "src": "22904:5:34" }, - "nativeSrc": "22904:16:36", + "nativeSrc": "22904:16:34", "nodeType": "YulFunctionCall", - "src": "22904:16:36" + "src": "22904:16:34" }, "variables": [ { "name": "value", - "nativeSrc": "22895:5:36", + "nativeSrc": "22895:5:34", "nodeType": "YulTypedName", - "src": "22895:5:36", + "src": "22895:5:34", "type": "" } ] @@ -105205,121 +104215,121 @@ "arguments": [ { "name": "value", - "nativeSrc": "22954:5:36", + "nativeSrc": "22954:5:34", "nodeType": "YulIdentifier", - "src": "22954:5:36" + "src": "22954:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "22929:24:36", + "nativeSrc": "22929:24:34", "nodeType": "YulIdentifier", - "src": "22929:24:36" + "src": "22929:24:34" }, - "nativeSrc": "22929:31:36", + "nativeSrc": "22929:31:34", "nodeType": "YulFunctionCall", - "src": "22929:31:36" + "src": "22929:31:34" }, - "nativeSrc": "22929:31:36", + "nativeSrc": "22929:31:34", "nodeType": "YulExpressionStatement", - "src": "22929:31:36" + "src": "22929:31:34" }, { - "nativeSrc": "22969:15:36", + "nativeSrc": "22969:15:34", "nodeType": "YulAssignment", - "src": "22969:15:36", + "src": "22969:15:34", "value": { "name": "value", - "nativeSrc": "22979:5:36", + "nativeSrc": "22979:5:34", "nodeType": "YulIdentifier", - "src": "22979:5:36" + "src": "22979:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "22969:6:36", + "nativeSrc": "22969:6:34", "nodeType": "YulIdentifier", - "src": "22969:6:36" + "src": "22969:6:34" } ] } ] }, "name": "abi_decode_tuple_t_address_fromMemory", - "nativeSrc": "22739:251:36", + "nativeSrc": "22739:251:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "22786:9:36", + "nativeSrc": "22786:9:34", "nodeType": "YulTypedName", - "src": "22786:9:36", + "src": "22786:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "22797:7:36", + "nativeSrc": "22797:7:34", "nodeType": "YulTypedName", - "src": "22797:7:36", + "src": "22797:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "22809:6:36", + "nativeSrc": "22809:6:34", "nodeType": "YulTypedName", - "src": "22809:6:36", + "src": "22809:6:34", "type": "" } ], - "src": "22739:251:36" + "src": "22739:251:34" }, { "body": { - "nativeSrc": "23101:937:36", + "nativeSrc": "23101:937:34", "nodeType": "YulBlock", - "src": "23101:937:36", + "src": "23101:937:34", "statements": [ { "body": { - "nativeSrc": "23147:16:36", + "nativeSrc": "23147:16:34", "nodeType": "YulBlock", - "src": "23147:16:36", + "src": "23147:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "23156:1:36", + "nativeSrc": "23156:1:34", "nodeType": "YulLiteral", - "src": "23156:1:36", + "src": "23156:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "23159:1:36", + "nativeSrc": "23159:1:34", "nodeType": "YulLiteral", - "src": "23159:1:36", + "src": "23159:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "23149:6:36", + "nativeSrc": "23149:6:34", "nodeType": "YulIdentifier", - "src": "23149:6:36" + "src": "23149:6:34" }, - "nativeSrc": "23149:12:36", + "nativeSrc": "23149:12:34", "nodeType": "YulFunctionCall", - "src": "23149:12:36" + "src": "23149:12:34" }, - "nativeSrc": "23149:12:36", + "nativeSrc": "23149:12:34", "nodeType": "YulExpressionStatement", - "src": "23149:12:36" + "src": "23149:12:34" } ] }, @@ -105329,144 +104339,144 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "23122:7:36", + "nativeSrc": "23122:7:34", "nodeType": "YulIdentifier", - "src": "23122:7:36" + "src": "23122:7:34" }, { "name": "headStart", - "nativeSrc": "23131:9:36", + "nativeSrc": "23131:9:34", "nodeType": "YulIdentifier", - "src": "23131:9:36" + "src": "23131:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "23118:3:36", + "nativeSrc": "23118:3:34", "nodeType": "YulIdentifier", - "src": "23118:3:36" + "src": "23118:3:34" }, - "nativeSrc": "23118:23:36", + "nativeSrc": "23118:23:34", "nodeType": "YulFunctionCall", - "src": "23118:23:36" + "src": "23118:23:34" }, { "kind": "number", - "nativeSrc": "23143:2:36", + "nativeSrc": "23143:2:34", "nodeType": "YulLiteral", - "src": "23143:2:36", + "src": "23143:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "23114:3:36", + "nativeSrc": "23114:3:34", "nodeType": "YulIdentifier", - "src": "23114:3:36" + "src": "23114:3:34" }, - "nativeSrc": "23114:32:36", + "nativeSrc": "23114:32:34", "nodeType": "YulFunctionCall", - "src": "23114:32:36" + "src": "23114:32:34" }, - "nativeSrc": "23111:52:36", + "nativeSrc": "23111:52:34", "nodeType": "YulIf", - "src": "23111:52:36" + "src": "23111:52:34" }, { - "nativeSrc": "23172:30:36", + "nativeSrc": "23172:30:34", "nodeType": "YulVariableDeclaration", - "src": "23172:30:36", + "src": "23172:30:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "23192:9:36", + "nativeSrc": "23192:9:34", "nodeType": "YulIdentifier", - "src": "23192:9:36" + "src": "23192:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "23186:5:36", + "nativeSrc": "23186:5:34", "nodeType": "YulIdentifier", - "src": "23186:5:36" + "src": "23186:5:34" }, - "nativeSrc": "23186:16:36", + "nativeSrc": "23186:16:34", "nodeType": "YulFunctionCall", - "src": "23186:16:36" + "src": "23186:16:34" }, "variables": [ { "name": "offset", - "nativeSrc": "23176:6:36", + "nativeSrc": "23176:6:34", "nodeType": "YulTypedName", - "src": "23176:6:36", + "src": "23176:6:34", "type": "" } ] }, { - "nativeSrc": "23211:28:36", + "nativeSrc": "23211:28:34", "nodeType": "YulVariableDeclaration", - "src": "23211:28:36", + "src": "23211:28:34", "value": { "kind": "number", - "nativeSrc": "23221:18:36", + "nativeSrc": "23221:18:34", "nodeType": "YulLiteral", - "src": "23221:18:36", + "src": "23221:18:34", "type": "", "value": "0xffffffffffffffff" }, "variables": [ { "name": "_1", - "nativeSrc": "23215:2:36", + "nativeSrc": "23215:2:34", "nodeType": "YulTypedName", - "src": "23215:2:36", + "src": "23215:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "23266:16:36", + "nativeSrc": "23266:16:34", "nodeType": "YulBlock", - "src": "23266:16:36", + "src": "23266:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "23275:1:36", + "nativeSrc": "23275:1:34", "nodeType": "YulLiteral", - "src": "23275:1:36", + "src": "23275:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "23278:1:36", + "nativeSrc": "23278:1:34", "nodeType": "YulLiteral", - "src": "23278:1:36", + "src": "23278:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "23268:6:36", + "nativeSrc": "23268:6:34", "nodeType": "YulIdentifier", - "src": "23268:6:36" + "src": "23268:6:34" }, - "nativeSrc": "23268:12:36", + "nativeSrc": "23268:12:34", "nodeType": "YulFunctionCall", - "src": "23268:12:36" + "src": "23268:12:34" }, - "nativeSrc": "23268:12:36", + "nativeSrc": "23268:12:34", "nodeType": "YulExpressionStatement", - "src": "23268:12:36" + "src": "23268:12:34" } ] }, @@ -105474,109 +104484,109 @@ "arguments": [ { "name": "offset", - "nativeSrc": "23254:6:36", + "nativeSrc": "23254:6:34", "nodeType": "YulIdentifier", - "src": "23254:6:36" + "src": "23254:6:34" }, { "name": "_1", - "nativeSrc": "23262:2:36", + "nativeSrc": "23262:2:34", "nodeType": "YulIdentifier", - "src": "23262:2:36" + "src": "23262:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "23251:2:36", + "nativeSrc": "23251:2:34", "nodeType": "YulIdentifier", - "src": "23251:2:36" + "src": "23251:2:34" }, - "nativeSrc": "23251:14:36", + "nativeSrc": "23251:14:34", "nodeType": "YulFunctionCall", - "src": "23251:14:36" + "src": "23251:14:34" }, - "nativeSrc": "23248:34:36", + "nativeSrc": "23248:34:34", "nodeType": "YulIf", - "src": "23248:34:36" + "src": "23248:34:34" }, { - "nativeSrc": "23291:32:36", + "nativeSrc": "23291:32:34", "nodeType": "YulVariableDeclaration", - "src": "23291:32:36", + "src": "23291:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "23305:9:36", + "nativeSrc": "23305:9:34", "nodeType": "YulIdentifier", - "src": "23305:9:36" + "src": "23305:9:34" }, { "name": "offset", - "nativeSrc": "23316:6:36", + "nativeSrc": "23316:6:34", "nodeType": "YulIdentifier", - "src": "23316:6:36" + "src": "23316:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "23301:3:36", + "nativeSrc": "23301:3:34", "nodeType": "YulIdentifier", - "src": "23301:3:36" + "src": "23301:3:34" }, - "nativeSrc": "23301:22:36", + "nativeSrc": "23301:22:34", "nodeType": "YulFunctionCall", - "src": "23301:22:36" + "src": "23301:22:34" }, "variables": [ { "name": "_2", - "nativeSrc": "23295:2:36", + "nativeSrc": "23295:2:34", "nodeType": "YulTypedName", - "src": "23295:2:36", + "src": "23295:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "23363:16:36", + "nativeSrc": "23363:16:34", "nodeType": "YulBlock", - "src": "23363:16:36", + "src": "23363:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "23372:1:36", + "nativeSrc": "23372:1:34", "nodeType": "YulLiteral", - "src": "23372:1:36", + "src": "23372:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "23375:1:36", + "nativeSrc": "23375:1:34", "nodeType": "YulLiteral", - "src": "23375:1:36", + "src": "23375:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "23365:6:36", + "nativeSrc": "23365:6:34", "nodeType": "YulIdentifier", - "src": "23365:6:36" + "src": "23365:6:34" }, - "nativeSrc": "23365:12:36", + "nativeSrc": "23365:12:34", "nodeType": "YulFunctionCall", - "src": "23365:12:36" + "src": "23365:12:34" }, - "nativeSrc": "23365:12:36", + "nativeSrc": "23365:12:34", "nodeType": "YulExpressionStatement", - "src": "23365:12:36" + "src": "23365:12:34" } ] }, @@ -105586,148 +104596,148 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "23343:7:36", + "nativeSrc": "23343:7:34", "nodeType": "YulIdentifier", - "src": "23343:7:36" + "src": "23343:7:34" }, { "name": "_2", - "nativeSrc": "23352:2:36", + "nativeSrc": "23352:2:34", "nodeType": "YulIdentifier", - "src": "23352:2:36" + "src": "23352:2:34" } ], "functionName": { "name": "sub", - "nativeSrc": "23339:3:36", + "nativeSrc": "23339:3:34", "nodeType": "YulIdentifier", - "src": "23339:3:36" + "src": "23339:3:34" }, - "nativeSrc": "23339:16:36", + "nativeSrc": "23339:16:34", "nodeType": "YulFunctionCall", - "src": "23339:16:36" + "src": "23339:16:34" }, { "kind": "number", - "nativeSrc": "23357:4:36", + "nativeSrc": "23357:4:34", "nodeType": "YulLiteral", - "src": "23357:4:36", + "src": "23357:4:34", "type": "", "value": "0x80" } ], "functionName": { "name": "slt", - "nativeSrc": "23335:3:36", + "nativeSrc": "23335:3:34", "nodeType": "YulIdentifier", - "src": "23335:3:36" + "src": "23335:3:34" }, - "nativeSrc": "23335:27:36", + "nativeSrc": "23335:27:34", "nodeType": "YulFunctionCall", - "src": "23335:27:36" + "src": "23335:27:34" }, - "nativeSrc": "23332:47:36", + "nativeSrc": "23332:47:34", "nodeType": "YulIf", - "src": "23332:47:36" + "src": "23332:47:34" }, { - "nativeSrc": "23388:35:36", + "nativeSrc": "23388:35:34", "nodeType": "YulVariableDeclaration", - "src": "23388:35:36", + "src": "23388:35:34", "value": { "arguments": [], "functionName": { "name": "allocate_memory_3056", - "nativeSrc": "23401:20:36", + "nativeSrc": "23401:20:34", "nodeType": "YulIdentifier", - "src": "23401:20:36" + "src": "23401:20:34" }, - "nativeSrc": "23401:22:36", + "nativeSrc": "23401:22:34", "nodeType": "YulFunctionCall", - "src": "23401:22:36" + "src": "23401:22:34" }, "variables": [ { "name": "value", - "nativeSrc": "23392:5:36", + "nativeSrc": "23392:5:34", "nodeType": "YulTypedName", - "src": "23392:5:36", + "src": "23392:5:34", "type": "" } ] }, { - "nativeSrc": "23432:25:36", + "nativeSrc": "23432:25:34", "nodeType": "YulVariableDeclaration", - "src": "23432:25:36", + "src": "23432:25:34", "value": { "arguments": [ { "name": "_2", - "nativeSrc": "23454:2:36", + "nativeSrc": "23454:2:34", "nodeType": "YulIdentifier", - "src": "23454:2:36" + "src": "23454:2:34" } ], "functionName": { "name": "mload", - "nativeSrc": "23448:5:36", + "nativeSrc": "23448:5:34", "nodeType": "YulIdentifier", - "src": "23448:5:36" + "src": "23448:5:34" }, - "nativeSrc": "23448:9:36", + "nativeSrc": "23448:9:34", "nodeType": "YulFunctionCall", - "src": "23448:9:36" + "src": "23448:9:34" }, "variables": [ { "name": "offset_1", - "nativeSrc": "23436:8:36", + "nativeSrc": "23436:8:34", "nodeType": "YulTypedName", - "src": "23436:8:36", + "src": "23436:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "23486:16:36", + "nativeSrc": "23486:16:34", "nodeType": "YulBlock", - "src": "23486:16:36", + "src": "23486:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "23495:1:36", + "nativeSrc": "23495:1:34", "nodeType": "YulLiteral", - "src": "23495:1:36", + "src": "23495:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "23498:1:36", + "nativeSrc": "23498:1:34", "nodeType": "YulLiteral", - "src": "23498:1:36", + "src": "23498:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "23488:6:36", + "nativeSrc": "23488:6:34", "nodeType": "YulIdentifier", - "src": "23488:6:36" + "src": "23488:6:34" }, - "nativeSrc": "23488:12:36", + "nativeSrc": "23488:12:34", "nodeType": "YulFunctionCall", - "src": "23488:12:36" + "src": "23488:12:34" }, - "nativeSrc": "23488:12:36", + "nativeSrc": "23488:12:34", "nodeType": "YulExpressionStatement", - "src": "23488:12:36" + "src": "23488:12:34" } ] }, @@ -105735,39 +104745,39 @@ "arguments": [ { "name": "offset_1", - "nativeSrc": "23472:8:36", + "nativeSrc": "23472:8:34", "nodeType": "YulIdentifier", - "src": "23472:8:36" + "src": "23472:8:34" }, { "name": "_1", - "nativeSrc": "23482:2:36", + "nativeSrc": "23482:2:34", "nodeType": "YulIdentifier", - "src": "23482:2:36" + "src": "23482:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "23469:2:36", + "nativeSrc": "23469:2:34", "nodeType": "YulIdentifier", - "src": "23469:2:36" + "src": "23469:2:34" }, - "nativeSrc": "23469:16:36", + "nativeSrc": "23469:16:34", "nodeType": "YulFunctionCall", - "src": "23469:16:36" + "src": "23469:16:34" }, - "nativeSrc": "23466:36:36", + "nativeSrc": "23466:36:34", "nodeType": "YulIf", - "src": "23466:36:36" + "src": "23466:36:34" }, { "expression": { "arguments": [ { "name": "value", - "nativeSrc": "23518:5:36", + "nativeSrc": "23518:5:34", "nodeType": "YulIdentifier", - "src": "23518:5:36" + "src": "23518:5:34" }, { "arguments": [ @@ -105775,152 +104785,152 @@ "arguments": [ { "name": "_2", - "nativeSrc": "23558:2:36", + "nativeSrc": "23558:2:34", "nodeType": "YulIdentifier", - "src": "23558:2:36" + "src": "23558:2:34" }, { "name": "offset_1", - "nativeSrc": "23562:8:36", + "nativeSrc": "23562:8:34", "nodeType": "YulIdentifier", - "src": "23562:8:36" + "src": "23562:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "23554:3:36", + "nativeSrc": "23554:3:34", "nodeType": "YulIdentifier", - "src": "23554:3:36" + "src": "23554:3:34" }, - "nativeSrc": "23554:17:36", + "nativeSrc": "23554:17:34", "nodeType": "YulFunctionCall", - "src": "23554:17:36" + "src": "23554:17:34" }, { "name": "dataEnd", - "nativeSrc": "23573:7:36", + "nativeSrc": "23573:7:34", "nodeType": "YulIdentifier", - "src": "23573:7:36" + "src": "23573:7:34" } ], "functionName": { "name": "abi_decode_string_fromMemory", - "nativeSrc": "23525:28:36", + "nativeSrc": "23525:28:34", "nodeType": "YulIdentifier", - "src": "23525:28:36" + "src": "23525:28:34" }, - "nativeSrc": "23525:56:36", + "nativeSrc": "23525:56:34", "nodeType": "YulFunctionCall", - "src": "23525:56:36" + "src": "23525:56:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "23511:6:36", + "nativeSrc": "23511:6:34", "nodeType": "YulIdentifier", - "src": "23511:6:36" + "src": "23511:6:34" }, - "nativeSrc": "23511:71:36", + "nativeSrc": "23511:71:34", "nodeType": "YulFunctionCall", - "src": "23511:71:36" + "src": "23511:71:34" }, - "nativeSrc": "23511:71:36", + "nativeSrc": "23511:71:34", "nodeType": "YulExpressionStatement", - "src": "23511:71:36" + "src": "23511:71:34" }, { - "nativeSrc": "23591:34:36", + "nativeSrc": "23591:34:34", "nodeType": "YulVariableDeclaration", - "src": "23591:34:36", + "src": "23591:34:34", "value": { "arguments": [ { "arguments": [ { "name": "_2", - "nativeSrc": "23617:2:36", + "nativeSrc": "23617:2:34", "nodeType": "YulIdentifier", - "src": "23617:2:36" + "src": "23617:2:34" }, { "kind": "number", - "nativeSrc": "23621:2:36", + "nativeSrc": "23621:2:34", "nodeType": "YulLiteral", - "src": "23621:2:36", + "src": "23621:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "23613:3:36", + "nativeSrc": "23613:3:34", "nodeType": "YulIdentifier", - "src": "23613:3:36" + "src": "23613:3:34" }, - "nativeSrc": "23613:11:36", + "nativeSrc": "23613:11:34", "nodeType": "YulFunctionCall", - "src": "23613:11:36" + "src": "23613:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "23607:5:36", + "nativeSrc": "23607:5:34", "nodeType": "YulIdentifier", - "src": "23607:5:36" + "src": "23607:5:34" }, - "nativeSrc": "23607:18:36", + "nativeSrc": "23607:18:34", "nodeType": "YulFunctionCall", - "src": "23607:18:36" + "src": "23607:18:34" }, "variables": [ { "name": "offset_2", - "nativeSrc": "23595:8:36", + "nativeSrc": "23595:8:34", "nodeType": "YulTypedName", - "src": "23595:8:36", + "src": "23595:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "23654:16:36", + "nativeSrc": "23654:16:34", "nodeType": "YulBlock", - "src": "23654:16:36", + "src": "23654:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "23663:1:36", + "nativeSrc": "23663:1:34", "nodeType": "YulLiteral", - "src": "23663:1:36", + "src": "23663:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "23666:1:36", + "nativeSrc": "23666:1:34", "nodeType": "YulLiteral", - "src": "23666:1:36", + "src": "23666:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "23656:6:36", + "nativeSrc": "23656:6:34", "nodeType": "YulIdentifier", - "src": "23656:6:36" + "src": "23656:6:34" }, - "nativeSrc": "23656:12:36", + "nativeSrc": "23656:12:34", "nodeType": "YulFunctionCall", - "src": "23656:12:36" + "src": "23656:12:34" }, - "nativeSrc": "23656:12:36", + "nativeSrc": "23656:12:34", "nodeType": "YulExpressionStatement", - "src": "23656:12:36" + "src": "23656:12:34" } ] }, @@ -105928,30 +104938,30 @@ "arguments": [ { "name": "offset_2", - "nativeSrc": "23640:8:36", + "nativeSrc": "23640:8:34", "nodeType": "YulIdentifier", - "src": "23640:8:36" + "src": "23640:8:34" }, { "name": "_1", - "nativeSrc": "23650:2:36", + "nativeSrc": "23650:2:34", "nodeType": "YulIdentifier", - "src": "23650:2:36" + "src": "23650:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "23637:2:36", + "nativeSrc": "23637:2:34", "nodeType": "YulIdentifier", - "src": "23637:2:36" + "src": "23637:2:34" }, - "nativeSrc": "23637:16:36", + "nativeSrc": "23637:16:34", "nodeType": "YulFunctionCall", - "src": "23637:16:36" + "src": "23637:16:34" }, - "nativeSrc": "23634:36:36", + "nativeSrc": "23634:36:34", "nodeType": "YulIf", - "src": "23634:36:36" + "src": "23634:36:34" }, { "expression": { @@ -105960,28 +104970,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "23690:5:36", + "nativeSrc": "23690:5:34", "nodeType": "YulIdentifier", - "src": "23690:5:36" + "src": "23690:5:34" }, { "kind": "number", - "nativeSrc": "23697:2:36", + "nativeSrc": "23697:2:34", "nodeType": "YulLiteral", - "src": "23697:2:36", + "src": "23697:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "23686:3:36", + "nativeSrc": "23686:3:34", "nodeType": "YulIdentifier", - "src": "23686:3:36" + "src": "23686:3:34" }, - "nativeSrc": "23686:14:36", + "nativeSrc": "23686:14:34", "nodeType": "YulFunctionCall", - "src": "23686:14:36" + "src": "23686:14:34" }, { "arguments": [ @@ -105989,152 +104999,152 @@ "arguments": [ { "name": "_2", - "nativeSrc": "23735:2:36", + "nativeSrc": "23735:2:34", "nodeType": "YulIdentifier", - "src": "23735:2:36" + "src": "23735:2:34" }, { "name": "offset_2", - "nativeSrc": "23739:8:36", + "nativeSrc": "23739:8:34", "nodeType": "YulIdentifier", - "src": "23739:8:36" + "src": "23739:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "23731:3:36", + "nativeSrc": "23731:3:34", "nodeType": "YulIdentifier", - "src": "23731:3:36" + "src": "23731:3:34" }, - "nativeSrc": "23731:17:36", + "nativeSrc": "23731:17:34", "nodeType": "YulFunctionCall", - "src": "23731:17:36" + "src": "23731:17:34" }, { "name": "dataEnd", - "nativeSrc": "23750:7:36", + "nativeSrc": "23750:7:34", "nodeType": "YulIdentifier", - "src": "23750:7:36" + "src": "23750:7:34" } ], "functionName": { "name": "abi_decode_string_fromMemory", - "nativeSrc": "23702:28:36", + "nativeSrc": "23702:28:34", "nodeType": "YulIdentifier", - "src": "23702:28:36" + "src": "23702:28:34" }, - "nativeSrc": "23702:56:36", + "nativeSrc": "23702:56:34", "nodeType": "YulFunctionCall", - "src": "23702:56:36" + "src": "23702:56:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "23679:6:36", + "nativeSrc": "23679:6:34", "nodeType": "YulIdentifier", - "src": "23679:6:36" + "src": "23679:6:34" }, - "nativeSrc": "23679:80:36", + "nativeSrc": "23679:80:34", "nodeType": "YulFunctionCall", - "src": "23679:80:36" + "src": "23679:80:34" }, - "nativeSrc": "23679:80:36", + "nativeSrc": "23679:80:34", "nodeType": "YulExpressionStatement", - "src": "23679:80:36" + "src": "23679:80:34" }, { - "nativeSrc": "23768:34:36", + "nativeSrc": "23768:34:34", "nodeType": "YulVariableDeclaration", - "src": "23768:34:36", + "src": "23768:34:34", "value": { "arguments": [ { "arguments": [ { "name": "_2", - "nativeSrc": "23794:2:36", + "nativeSrc": "23794:2:34", "nodeType": "YulIdentifier", - "src": "23794:2:36" + "src": "23794:2:34" }, { "kind": "number", - "nativeSrc": "23798:2:36", + "nativeSrc": "23798:2:34", "nodeType": "YulLiteral", - "src": "23798:2:36", + "src": "23798:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "23790:3:36", + "nativeSrc": "23790:3:34", "nodeType": "YulIdentifier", - "src": "23790:3:36" + "src": "23790:3:34" }, - "nativeSrc": "23790:11:36", + "nativeSrc": "23790:11:34", "nodeType": "YulFunctionCall", - "src": "23790:11:36" + "src": "23790:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "23784:5:36", + "nativeSrc": "23784:5:34", "nodeType": "YulIdentifier", - "src": "23784:5:36" + "src": "23784:5:34" }, - "nativeSrc": "23784:18:36", + "nativeSrc": "23784:18:34", "nodeType": "YulFunctionCall", - "src": "23784:18:36" + "src": "23784:18:34" }, "variables": [ { "name": "offset_3", - "nativeSrc": "23772:8:36", + "nativeSrc": "23772:8:34", "nodeType": "YulTypedName", - "src": "23772:8:36", + "src": "23772:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "23831:16:36", + "nativeSrc": "23831:16:34", "nodeType": "YulBlock", - "src": "23831:16:36", + "src": "23831:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "23840:1:36", + "nativeSrc": "23840:1:34", "nodeType": "YulLiteral", - "src": "23840:1:36", + "src": "23840:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "23843:1:36", + "nativeSrc": "23843:1:34", "nodeType": "YulLiteral", - "src": "23843:1:36", + "src": "23843:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "23833:6:36", + "nativeSrc": "23833:6:34", "nodeType": "YulIdentifier", - "src": "23833:6:36" + "src": "23833:6:34" }, - "nativeSrc": "23833:12:36", + "nativeSrc": "23833:12:34", "nodeType": "YulFunctionCall", - "src": "23833:12:36" + "src": "23833:12:34" }, - "nativeSrc": "23833:12:36", + "nativeSrc": "23833:12:34", "nodeType": "YulExpressionStatement", - "src": "23833:12:36" + "src": "23833:12:34" } ] }, @@ -106142,30 +105152,30 @@ "arguments": [ { "name": "offset_3", - "nativeSrc": "23817:8:36", + "nativeSrc": "23817:8:34", "nodeType": "YulIdentifier", - "src": "23817:8:36" + "src": "23817:8:34" }, { "name": "_1", - "nativeSrc": "23827:2:36", + "nativeSrc": "23827:2:34", "nodeType": "YulIdentifier", - "src": "23827:2:36" + "src": "23827:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "23814:2:36", + "nativeSrc": "23814:2:34", "nodeType": "YulIdentifier", - "src": "23814:2:36" + "src": "23814:2:34" }, - "nativeSrc": "23814:16:36", + "nativeSrc": "23814:16:34", "nodeType": "YulFunctionCall", - "src": "23814:16:36" + "src": "23814:16:34" }, - "nativeSrc": "23811:36:36", + "nativeSrc": "23811:36:34", "nodeType": "YulIf", - "src": "23811:36:36" + "src": "23811:36:34" }, { "expression": { @@ -106174,28 +105184,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "23867:5:36", + "nativeSrc": "23867:5:34", "nodeType": "YulIdentifier", - "src": "23867:5:36" + "src": "23867:5:34" }, { "kind": "number", - "nativeSrc": "23874:2:36", + "nativeSrc": "23874:2:34", "nodeType": "YulLiteral", - "src": "23874:2:36", + "src": "23874:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "23863:3:36", + "nativeSrc": "23863:3:34", "nodeType": "YulIdentifier", - "src": "23863:3:36" + "src": "23863:3:34" }, - "nativeSrc": "23863:14:36", + "nativeSrc": "23863:14:34", "nodeType": "YulFunctionCall", - "src": "23863:14:36" + "src": "23863:14:34" }, { "arguments": [ @@ -106203,58 +105213,58 @@ "arguments": [ { "name": "_2", - "nativeSrc": "23912:2:36", + "nativeSrc": "23912:2:34", "nodeType": "YulIdentifier", - "src": "23912:2:36" + "src": "23912:2:34" }, { "name": "offset_3", - "nativeSrc": "23916:8:36", + "nativeSrc": "23916:8:34", "nodeType": "YulIdentifier", - "src": "23916:8:36" + "src": "23916:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "23908:3:36", + "nativeSrc": "23908:3:34", "nodeType": "YulIdentifier", - "src": "23908:3:36" + "src": "23908:3:34" }, - "nativeSrc": "23908:17:36", + "nativeSrc": "23908:17:34", "nodeType": "YulFunctionCall", - "src": "23908:17:36" + "src": "23908:17:34" }, { "name": "dataEnd", - "nativeSrc": "23927:7:36", + "nativeSrc": "23927:7:34", "nodeType": "YulIdentifier", - "src": "23927:7:36" + "src": "23927:7:34" } ], "functionName": { "name": "abi_decode_string_fromMemory", - "nativeSrc": "23879:28:36", + "nativeSrc": "23879:28:34", "nodeType": "YulIdentifier", - "src": "23879:28:36" + "src": "23879:28:34" }, - "nativeSrc": "23879:56:36", + "nativeSrc": "23879:56:34", "nodeType": "YulFunctionCall", - "src": "23879:56:36" + "src": "23879:56:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "23856:6:36", + "nativeSrc": "23856:6:34", "nodeType": "YulIdentifier", - "src": "23856:6:36" + "src": "23856:6:34" }, - "nativeSrc": "23856:80:36", + "nativeSrc": "23856:80:34", "nodeType": "YulFunctionCall", - "src": "23856:80:36" + "src": "23856:80:34" }, - "nativeSrc": "23856:80:36", + "nativeSrc": "23856:80:34", "nodeType": "YulExpressionStatement", - "src": "23856:80:36" + "src": "23856:80:34" }, { "expression": { @@ -106263,28 +105273,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "23956:5:36", + "nativeSrc": "23956:5:34", "nodeType": "YulIdentifier", - "src": "23956:5:36" + "src": "23956:5:34" }, { "kind": "number", - "nativeSrc": "23963:2:36", + "nativeSrc": "23963:2:34", "nodeType": "YulLiteral", - "src": "23963:2:36", + "src": "23963:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "23952:3:36", + "nativeSrc": "23952:3:34", "nodeType": "YulIdentifier", - "src": "23952:3:36" + "src": "23952:3:34" }, - "nativeSrc": "23952:14:36", + "nativeSrc": "23952:14:34", "nodeType": "YulFunctionCall", - "src": "23952:14:36" + "src": "23952:14:34" }, { "arguments": [ @@ -106292,200 +105302,200 @@ "arguments": [ { "name": "_2", - "nativeSrc": "23999:2:36", + "nativeSrc": "23999:2:34", "nodeType": "YulIdentifier", - "src": "23999:2:36" + "src": "23999:2:34" }, { "kind": "number", - "nativeSrc": "24003:2:36", + "nativeSrc": "24003:2:34", "nodeType": "YulLiteral", - "src": "24003:2:36", + "src": "24003:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "23995:3:36", + "nativeSrc": "23995:3:34", "nodeType": "YulIdentifier", - "src": "23995:3:36" + "src": "23995:3:34" }, - "nativeSrc": "23995:11:36", + "nativeSrc": "23995:11:34", "nodeType": "YulFunctionCall", - "src": "23995:11:36" + "src": "23995:11:34" } ], "functionName": { "name": "abi_decode_bool_fromMemory", - "nativeSrc": "23968:26:36", + "nativeSrc": "23968:26:34", "nodeType": "YulIdentifier", - "src": "23968:26:36" + "src": "23968:26:34" }, - "nativeSrc": "23968:39:36", + "nativeSrc": "23968:39:34", "nodeType": "YulFunctionCall", - "src": "23968:39:36" + "src": "23968:39:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "23945:6:36", + "nativeSrc": "23945:6:34", "nodeType": "YulIdentifier", - "src": "23945:6:36" + "src": "23945:6:34" }, - "nativeSrc": "23945:63:36", + "nativeSrc": "23945:63:34", "nodeType": "YulFunctionCall", - "src": "23945:63:36" + "src": "23945:63:34" }, - "nativeSrc": "23945:63:36", + "nativeSrc": "23945:63:34", "nodeType": "YulExpressionStatement", - "src": "23945:63:36" + "src": "23945:63:34" }, { - "nativeSrc": "24017:15:36", + "nativeSrc": "24017:15:34", "nodeType": "YulAssignment", - "src": "24017:15:36", + "src": "24017:15:34", "value": { "name": "value", - "nativeSrc": "24027:5:36", + "nativeSrc": "24027:5:34", "nodeType": "YulIdentifier", - "src": "24027:5:36" + "src": "24027:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "24017:6:36", + "nativeSrc": "24017:6:34", "nodeType": "YulIdentifier", - "src": "24017:6:36" + "src": "24017:6:34" } ] } ] }, - "name": "abi_decode_tuple_t_struct$_Service_$3101_memory_ptr_fromMemory", - "nativeSrc": "22995:1043:36", + "name": "abi_decode_tuple_t_struct$_Service_$3102_memory_ptr_fromMemory", + "nativeSrc": "22995:1043:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "23067:9:36", + "nativeSrc": "23067:9:34", "nodeType": "YulTypedName", - "src": "23067:9:36", + "src": "23067:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "23078:7:36", + "nativeSrc": "23078:7:34", "nodeType": "YulTypedName", - "src": "23078:7:36", + "src": "23078:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "23090:6:36", + "nativeSrc": "23090:6:34", "nodeType": "YulTypedName", - "src": "23090:6:36", + "src": "23090:6:34", "type": "" } ], - "src": "22995:1043:36" + "src": "22995:1043:34" }, { "body": { - "nativeSrc": "24260:329:36", + "nativeSrc": "24260:329:34", "nodeType": "YulBlock", - "src": "24260:329:36", + "src": "24260:329:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "24277:9:36", + "nativeSrc": "24277:9:34", "nodeType": "YulIdentifier", - "src": "24277:9:36" + "src": "24277:9:34" }, { "kind": "number", - "nativeSrc": "24288:2:36", + "nativeSrc": "24288:2:34", "nodeType": "YulLiteral", - "src": "24288:2:36", + "src": "24288:2:34", "type": "", "value": "96" } ], "functionName": { "name": "mstore", - "nativeSrc": "24270:6:36", + "nativeSrc": "24270:6:34", "nodeType": "YulIdentifier", - "src": "24270:6:36" + "src": "24270:6:34" }, - "nativeSrc": "24270:21:36", + "nativeSrc": "24270:21:34", "nodeType": "YulFunctionCall", - "src": "24270:21:36" + "src": "24270:21:34" }, - "nativeSrc": "24270:21:36", + "nativeSrc": "24270:21:34", "nodeType": "YulExpressionStatement", - "src": "24270:21:36" + "src": "24270:21:34" }, { - "nativeSrc": "24300:59:36", + "nativeSrc": "24300:59:34", "nodeType": "YulVariableDeclaration", - "src": "24300:59:36", + "src": "24300:59:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "24332:6:36", + "nativeSrc": "24332:6:34", "nodeType": "YulIdentifier", - "src": "24332:6:36" + "src": "24332:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "24344:9:36", + "nativeSrc": "24344:9:34", "nodeType": "YulIdentifier", - "src": "24344:9:36" + "src": "24344:9:34" }, { "kind": "number", - "nativeSrc": "24355:2:36", + "nativeSrc": "24355:2:34", "nodeType": "YulLiteral", - "src": "24355:2:36", + "src": "24355:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "24340:3:36", + "nativeSrc": "24340:3:34", "nodeType": "YulIdentifier", - "src": "24340:3:36" + "src": "24340:3:34" }, - "nativeSrc": "24340:18:36", + "nativeSrc": "24340:18:34", "nodeType": "YulFunctionCall", - "src": "24340:18:36" + "src": "24340:18:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "24314:17:36", + "nativeSrc": "24314:17:34", "nodeType": "YulIdentifier", - "src": "24314:17:36" + "src": "24314:17:34" }, - "nativeSrc": "24314:45:36", + "nativeSrc": "24314:45:34", "nodeType": "YulFunctionCall", - "src": "24314:45:36" + "src": "24314:45:34" }, "variables": [ { "name": "tail_1", - "nativeSrc": "24304:6:36", + "nativeSrc": "24304:6:34", "nodeType": "YulTypedName", - "src": "24304:6:36", + "src": "24304:6:34", "type": "" } ] @@ -106497,104 +105507,104 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "24379:9:36", + "nativeSrc": "24379:9:34", "nodeType": "YulIdentifier", - "src": "24379:9:36" + "src": "24379:9:34" }, { "kind": "number", - "nativeSrc": "24390:2:36", + "nativeSrc": "24390:2:34", "nodeType": "YulLiteral", - "src": "24390:2:36", + "src": "24390:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "24375:3:36", + "nativeSrc": "24375:3:34", "nodeType": "YulIdentifier", - "src": "24375:3:36" + "src": "24375:3:34" }, - "nativeSrc": "24375:18:36", + "nativeSrc": "24375:18:34", "nodeType": "YulFunctionCall", - "src": "24375:18:36" + "src": "24375:18:34" }, { "arguments": [ { "name": "tail_1", - "nativeSrc": "24399:6:36", + "nativeSrc": "24399:6:34", "nodeType": "YulIdentifier", - "src": "24399:6:36" + "src": "24399:6:34" }, { "name": "headStart", - "nativeSrc": "24407:9:36", + "nativeSrc": "24407:9:34", "nodeType": "YulIdentifier", - "src": "24407:9:36" + "src": "24407:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "24395:3:36", + "nativeSrc": "24395:3:34", "nodeType": "YulIdentifier", - "src": "24395:3:36" + "src": "24395:3:34" }, - "nativeSrc": "24395:22:36", + "nativeSrc": "24395:22:34", "nodeType": "YulFunctionCall", - "src": "24395:22:36" + "src": "24395:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "24368:6:36", + "nativeSrc": "24368:6:34", "nodeType": "YulIdentifier", - "src": "24368:6:36" + "src": "24368:6:34" }, - "nativeSrc": "24368:50:36", + "nativeSrc": "24368:50:34", "nodeType": "YulFunctionCall", - "src": "24368:50:36" + "src": "24368:50:34" }, - "nativeSrc": "24368:50:36", + "nativeSrc": "24368:50:34", "nodeType": "YulExpressionStatement", - "src": "24368:50:36" + "src": "24368:50:34" }, { - "nativeSrc": "24427:47:36", + "nativeSrc": "24427:47:34", "nodeType": "YulVariableDeclaration", - "src": "24427:47:36", + "src": "24427:47:34", "value": { "arguments": [ { "name": "value1", - "nativeSrc": "24459:6:36", + "nativeSrc": "24459:6:34", "nodeType": "YulIdentifier", - "src": "24459:6:36" + "src": "24459:6:34" }, { "name": "tail_1", - "nativeSrc": "24467:6:36", + "nativeSrc": "24467:6:34", "nodeType": "YulIdentifier", - "src": "24467:6:36" + "src": "24467:6:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "24441:17:36", + "nativeSrc": "24441:17:34", "nodeType": "YulIdentifier", - "src": "24441:17:36" + "src": "24441:17:34" }, - "nativeSrc": "24441:33:36", + "nativeSrc": "24441:33:34", "nodeType": "YulFunctionCall", - "src": "24441:33:36" + "src": "24441:33:34" }, "variables": [ { "name": "tail_2", - "nativeSrc": "24431:6:36", + "nativeSrc": "24431:6:34", "nodeType": "YulTypedName", - "src": "24431:6:36", + "src": "24431:6:34", "type": "" } ] @@ -106606,198 +105616,198 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "24494:9:36", + "nativeSrc": "24494:9:34", "nodeType": "YulIdentifier", - "src": "24494:9:36" + "src": "24494:9:34" }, { "kind": "number", - "nativeSrc": "24505:2:36", + "nativeSrc": "24505:2:34", "nodeType": "YulLiteral", - "src": "24505:2:36", + "src": "24505:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "24490:3:36", + "nativeSrc": "24490:3:34", "nodeType": "YulIdentifier", - "src": "24490:3:36" + "src": "24490:3:34" }, - "nativeSrc": "24490:18:36", + "nativeSrc": "24490:18:34", "nodeType": "YulFunctionCall", - "src": "24490:18:36" + "src": "24490:18:34" }, { "arguments": [ { "name": "tail_2", - "nativeSrc": "24514:6:36", + "nativeSrc": "24514:6:34", "nodeType": "YulIdentifier", - "src": "24514:6:36" + "src": "24514:6:34" }, { "name": "headStart", - "nativeSrc": "24522:9:36", + "nativeSrc": "24522:9:34", "nodeType": "YulIdentifier", - "src": "24522:9:36" + "src": "24522:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "24510:3:36", + "nativeSrc": "24510:3:34", "nodeType": "YulIdentifier", - "src": "24510:3:36" + "src": "24510:3:34" }, - "nativeSrc": "24510:22:36", + "nativeSrc": "24510:22:34", "nodeType": "YulFunctionCall", - "src": "24510:22:36" + "src": "24510:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "24483:6:36", + "nativeSrc": "24483:6:34", "nodeType": "YulIdentifier", - "src": "24483:6:36" + "src": "24483:6:34" }, - "nativeSrc": "24483:50:36", + "nativeSrc": "24483:50:34", "nodeType": "YulFunctionCall", - "src": "24483:50:36" + "src": "24483:50:34" }, - "nativeSrc": "24483:50:36", + "nativeSrc": "24483:50:34", "nodeType": "YulExpressionStatement", - "src": "24483:50:36" + "src": "24483:50:34" }, { - "nativeSrc": "24542:41:36", + "nativeSrc": "24542:41:34", "nodeType": "YulAssignment", - "src": "24542:41:36", + "src": "24542:41:34", "value": { "arguments": [ { "name": "value2", - "nativeSrc": "24568:6:36", + "nativeSrc": "24568:6:34", "nodeType": "YulIdentifier", - "src": "24568:6:36" + "src": "24568:6:34" }, { "name": "tail_2", - "nativeSrc": "24576:6:36", + "nativeSrc": "24576:6:34", "nodeType": "YulIdentifier", - "src": "24576:6:36" + "src": "24576:6:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "24550:17:36", + "nativeSrc": "24550:17:34", "nodeType": "YulIdentifier", - "src": "24550:17:36" + "src": "24550:17:34" }, - "nativeSrc": "24550:33:36", + "nativeSrc": "24550:33:34", "nodeType": "YulFunctionCall", - "src": "24550:33:36" + "src": "24550:33:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "24542:4:36", + "nativeSrc": "24542:4:34", "nodeType": "YulIdentifier", - "src": "24542:4:36" + "src": "24542:4:34" } ] } ] }, "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "24043:546:36", + "nativeSrc": "24043:546:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "24213:9:36", + "nativeSrc": "24213:9:34", "nodeType": "YulTypedName", - "src": "24213:9:36", + "src": "24213:9:34", "type": "" }, { "name": "value2", - "nativeSrc": "24224:6:36", + "nativeSrc": "24224:6:34", "nodeType": "YulTypedName", - "src": "24224:6:36", + "src": "24224:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "24232:6:36", + "nativeSrc": "24232:6:34", "nodeType": "YulTypedName", - "src": "24232:6:36", + "src": "24232:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "24240:6:36", + "nativeSrc": "24240:6:34", "nodeType": "YulTypedName", - "src": "24240:6:36", + "src": "24240:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "24251:4:36", + "nativeSrc": "24251:4:34", "nodeType": "YulTypedName", - "src": "24251:4:36", + "src": "24251:4:34", "type": "" } ], - "src": "24043:546:36" + "src": "24043:546:34" }, { "body": { - "nativeSrc": "24700:865:36", + "nativeSrc": "24700:865:34", "nodeType": "YulBlock", - "src": "24700:865:36", + "src": "24700:865:34", "statements": [ { "body": { - "nativeSrc": "24746:16:36", + "nativeSrc": "24746:16:34", "nodeType": "YulBlock", - "src": "24746:16:36", + "src": "24746:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "24755:1:36", + "nativeSrc": "24755:1:34", "nodeType": "YulLiteral", - "src": "24755:1:36", + "src": "24755:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "24758:1:36", + "nativeSrc": "24758:1:34", "nodeType": "YulLiteral", - "src": "24758:1:36", + "src": "24758:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "24748:6:36", + "nativeSrc": "24748:6:34", "nodeType": "YulIdentifier", - "src": "24748:6:36" + "src": "24748:6:34" }, - "nativeSrc": "24748:12:36", + "nativeSrc": "24748:12:34", "nodeType": "YulFunctionCall", - "src": "24748:12:36" + "src": "24748:12:34" }, - "nativeSrc": "24748:12:36", + "nativeSrc": "24748:12:34", "nodeType": "YulExpressionStatement", - "src": "24748:12:36" + "src": "24748:12:34" } ] }, @@ -106807,144 +105817,144 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "24721:7:36", + "nativeSrc": "24721:7:34", "nodeType": "YulIdentifier", - "src": "24721:7:36" + "src": "24721:7:34" }, { "name": "headStart", - "nativeSrc": "24730:9:36", + "nativeSrc": "24730:9:34", "nodeType": "YulIdentifier", - "src": "24730:9:36" + "src": "24730:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "24717:3:36", + "nativeSrc": "24717:3:34", "nodeType": "YulIdentifier", - "src": "24717:3:36" + "src": "24717:3:34" }, - "nativeSrc": "24717:23:36", + "nativeSrc": "24717:23:34", "nodeType": "YulFunctionCall", - "src": "24717:23:36" + "src": "24717:23:34" }, { "kind": "number", - "nativeSrc": "24742:2:36", + "nativeSrc": "24742:2:34", "nodeType": "YulLiteral", - "src": "24742:2:36", + "src": "24742:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "24713:3:36", + "nativeSrc": "24713:3:34", "nodeType": "YulIdentifier", - "src": "24713:3:36" + "src": "24713:3:34" }, - "nativeSrc": "24713:32:36", + "nativeSrc": "24713:32:34", "nodeType": "YulFunctionCall", - "src": "24713:32:36" + "src": "24713:32:34" }, - "nativeSrc": "24710:52:36", + "nativeSrc": "24710:52:34", "nodeType": "YulIf", - "src": "24710:52:36" + "src": "24710:52:34" }, { - "nativeSrc": "24771:30:36", + "nativeSrc": "24771:30:34", "nodeType": "YulVariableDeclaration", - "src": "24771:30:36", + "src": "24771:30:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "24791:9:36", + "nativeSrc": "24791:9:34", "nodeType": "YulIdentifier", - "src": "24791:9:36" + "src": "24791:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "24785:5:36", + "nativeSrc": "24785:5:34", "nodeType": "YulIdentifier", - "src": "24785:5:36" + "src": "24785:5:34" }, - "nativeSrc": "24785:16:36", + "nativeSrc": "24785:16:34", "nodeType": "YulFunctionCall", - "src": "24785:16:36" + "src": "24785:16:34" }, "variables": [ { "name": "offset", - "nativeSrc": "24775:6:36", + "nativeSrc": "24775:6:34", "nodeType": "YulTypedName", - "src": "24775:6:36", + "src": "24775:6:34", "type": "" } ] }, { - "nativeSrc": "24810:28:36", + "nativeSrc": "24810:28:34", "nodeType": "YulVariableDeclaration", - "src": "24810:28:36", + "src": "24810:28:34", "value": { "kind": "number", - "nativeSrc": "24820:18:36", + "nativeSrc": "24820:18:34", "nodeType": "YulLiteral", - "src": "24820:18:36", + "src": "24820:18:34", "type": "", "value": "0xffffffffffffffff" }, "variables": [ { "name": "_1", - "nativeSrc": "24814:2:36", + "nativeSrc": "24814:2:34", "nodeType": "YulTypedName", - "src": "24814:2:36", + "src": "24814:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "24865:16:36", + "nativeSrc": "24865:16:34", "nodeType": "YulBlock", - "src": "24865:16:36", + "src": "24865:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "24874:1:36", + "nativeSrc": "24874:1:34", "nodeType": "YulLiteral", - "src": "24874:1:36", + "src": "24874:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "24877:1:36", + "nativeSrc": "24877:1:34", "nodeType": "YulLiteral", - "src": "24877:1:36", + "src": "24877:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "24867:6:36", + "nativeSrc": "24867:6:34", "nodeType": "YulIdentifier", - "src": "24867:6:36" + "src": "24867:6:34" }, - "nativeSrc": "24867:12:36", + "nativeSrc": "24867:12:34", "nodeType": "YulFunctionCall", - "src": "24867:12:36" + "src": "24867:12:34" }, - "nativeSrc": "24867:12:36", + "nativeSrc": "24867:12:34", "nodeType": "YulExpressionStatement", - "src": "24867:12:36" + "src": "24867:12:34" } ] }, @@ -106952,109 +105962,109 @@ "arguments": [ { "name": "offset", - "nativeSrc": "24853:6:36", + "nativeSrc": "24853:6:34", "nodeType": "YulIdentifier", - "src": "24853:6:36" + "src": "24853:6:34" }, { "name": "_1", - "nativeSrc": "24861:2:36", + "nativeSrc": "24861:2:34", "nodeType": "YulIdentifier", - "src": "24861:2:36" + "src": "24861:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "24850:2:36", + "nativeSrc": "24850:2:34", "nodeType": "YulIdentifier", - "src": "24850:2:36" + "src": "24850:2:34" }, - "nativeSrc": "24850:14:36", + "nativeSrc": "24850:14:34", "nodeType": "YulFunctionCall", - "src": "24850:14:36" + "src": "24850:14:34" }, - "nativeSrc": "24847:34:36", + "nativeSrc": "24847:34:34", "nodeType": "YulIf", - "src": "24847:34:36" + "src": "24847:34:34" }, { - "nativeSrc": "24890:32:36", + "nativeSrc": "24890:32:34", "nodeType": "YulVariableDeclaration", - "src": "24890:32:36", + "src": "24890:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "24904:9:36", + "nativeSrc": "24904:9:34", "nodeType": "YulIdentifier", - "src": "24904:9:36" + "src": "24904:9:34" }, { "name": "offset", - "nativeSrc": "24915:6:36", + "nativeSrc": "24915:6:34", "nodeType": "YulIdentifier", - "src": "24915:6:36" + "src": "24915:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "24900:3:36", + "nativeSrc": "24900:3:34", "nodeType": "YulIdentifier", - "src": "24900:3:36" + "src": "24900:3:34" }, - "nativeSrc": "24900:22:36", + "nativeSrc": "24900:22:34", "nodeType": "YulFunctionCall", - "src": "24900:22:36" + "src": "24900:22:34" }, "variables": [ { "name": "_2", - "nativeSrc": "24894:2:36", + "nativeSrc": "24894:2:34", "nodeType": "YulTypedName", - "src": "24894:2:36", + "src": "24894:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "24962:16:36", + "nativeSrc": "24962:16:34", "nodeType": "YulBlock", - "src": "24962:16:36", + "src": "24962:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "24971:1:36", + "nativeSrc": "24971:1:34", "nodeType": "YulLiteral", - "src": "24971:1:36", + "src": "24971:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "24974:1:36", + "nativeSrc": "24974:1:34", "nodeType": "YulLiteral", - "src": "24974:1:36", + "src": "24974:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "24964:6:36", + "nativeSrc": "24964:6:34", "nodeType": "YulIdentifier", - "src": "24964:6:36" + "src": "24964:6:34" }, - "nativeSrc": "24964:12:36", + "nativeSrc": "24964:12:34", "nodeType": "YulFunctionCall", - "src": "24964:12:36" + "src": "24964:12:34" }, - "nativeSrc": "24964:12:36", + "nativeSrc": "24964:12:34", "nodeType": "YulExpressionStatement", - "src": "24964:12:36" + "src": "24964:12:34" } ] }, @@ -107064,148 +106074,148 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "24942:7:36", + "nativeSrc": "24942:7:34", "nodeType": "YulIdentifier", - "src": "24942:7:36" + "src": "24942:7:34" }, { "name": "_2", - "nativeSrc": "24951:2:36", + "nativeSrc": "24951:2:34", "nodeType": "YulIdentifier", - "src": "24951:2:36" + "src": "24951:2:34" } ], "functionName": { "name": "sub", - "nativeSrc": "24938:3:36", + "nativeSrc": "24938:3:34", "nodeType": "YulIdentifier", - "src": "24938:3:36" + "src": "24938:3:34" }, - "nativeSrc": "24938:16:36", + "nativeSrc": "24938:16:34", "nodeType": "YulFunctionCall", - "src": "24938:16:36" + "src": "24938:16:34" }, { "kind": "number", - "nativeSrc": "24956:4:36", + "nativeSrc": "24956:4:34", "nodeType": "YulLiteral", - "src": "24956:4:36", + "src": "24956:4:34", "type": "", "value": "0x60" } ], "functionName": { "name": "slt", - "nativeSrc": "24934:3:36", + "nativeSrc": "24934:3:34", "nodeType": "YulIdentifier", - "src": "24934:3:36" + "src": "24934:3:34" }, - "nativeSrc": "24934:27:36", + "nativeSrc": "24934:27:34", "nodeType": "YulFunctionCall", - "src": "24934:27:36" + "src": "24934:27:34" }, - "nativeSrc": "24931:47:36", + "nativeSrc": "24931:47:34", "nodeType": "YulIf", - "src": "24931:47:36" + "src": "24931:47:34" }, { - "nativeSrc": "24987:35:36", + "nativeSrc": "24987:35:34", "nodeType": "YulVariableDeclaration", - "src": "24987:35:36", + "src": "24987:35:34", "value": { "arguments": [], "functionName": { "name": "allocate_memory_3058", - "nativeSrc": "25000:20:36", + "nativeSrc": "25000:20:34", "nodeType": "YulIdentifier", - "src": "25000:20:36" + "src": "25000:20:34" }, - "nativeSrc": "25000:22:36", + "nativeSrc": "25000:22:34", "nodeType": "YulFunctionCall", - "src": "25000:22:36" + "src": "25000:22:34" }, "variables": [ { "name": "value", - "nativeSrc": "24991:5:36", + "nativeSrc": "24991:5:34", "nodeType": "YulTypedName", - "src": "24991:5:36", + "src": "24991:5:34", "type": "" } ] }, { - "nativeSrc": "25031:25:36", + "nativeSrc": "25031:25:34", "nodeType": "YulVariableDeclaration", - "src": "25031:25:36", + "src": "25031:25:34", "value": { "arguments": [ { "name": "_2", - "nativeSrc": "25053:2:36", + "nativeSrc": "25053:2:34", "nodeType": "YulIdentifier", - "src": "25053:2:36" + "src": "25053:2:34" } ], "functionName": { "name": "mload", - "nativeSrc": "25047:5:36", + "nativeSrc": "25047:5:34", "nodeType": "YulIdentifier", - "src": "25047:5:36" + "src": "25047:5:34" }, - "nativeSrc": "25047:9:36", + "nativeSrc": "25047:9:34", "nodeType": "YulFunctionCall", - "src": "25047:9:36" + "src": "25047:9:34" }, "variables": [ { "name": "offset_1", - "nativeSrc": "25035:8:36", + "nativeSrc": "25035:8:34", "nodeType": "YulTypedName", - "src": "25035:8:36", + "src": "25035:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "25085:16:36", + "nativeSrc": "25085:16:34", "nodeType": "YulBlock", - "src": "25085:16:36", + "src": "25085:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "25094:1:36", + "nativeSrc": "25094:1:34", "nodeType": "YulLiteral", - "src": "25094:1:36", + "src": "25094:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "25097:1:36", + "nativeSrc": "25097:1:34", "nodeType": "YulLiteral", - "src": "25097:1:36", + "src": "25097:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "25087:6:36", + "nativeSrc": "25087:6:34", "nodeType": "YulIdentifier", - "src": "25087:6:36" + "src": "25087:6:34" }, - "nativeSrc": "25087:12:36", + "nativeSrc": "25087:12:34", "nodeType": "YulFunctionCall", - "src": "25087:12:36" + "src": "25087:12:34" }, - "nativeSrc": "25087:12:36", + "nativeSrc": "25087:12:34", "nodeType": "YulExpressionStatement", - "src": "25087:12:36" + "src": "25087:12:34" } ] }, @@ -107213,39 +106223,39 @@ "arguments": [ { "name": "offset_1", - "nativeSrc": "25071:8:36", + "nativeSrc": "25071:8:34", "nodeType": "YulIdentifier", - "src": "25071:8:36" + "src": "25071:8:34" }, { "name": "_1", - "nativeSrc": "25081:2:36", + "nativeSrc": "25081:2:34", "nodeType": "YulIdentifier", - "src": "25081:2:36" + "src": "25081:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "25068:2:36", + "nativeSrc": "25068:2:34", "nodeType": "YulIdentifier", - "src": "25068:2:36" + "src": "25068:2:34" }, - "nativeSrc": "25068:16:36", + "nativeSrc": "25068:16:34", "nodeType": "YulFunctionCall", - "src": "25068:16:36" + "src": "25068:16:34" }, - "nativeSrc": "25065:36:36", + "nativeSrc": "25065:36:34", "nodeType": "YulIf", - "src": "25065:36:36" + "src": "25065:36:34" }, { "expression": { "arguments": [ { "name": "value", - "nativeSrc": "25117:5:36", + "nativeSrc": "25117:5:34", "nodeType": "YulIdentifier", - "src": "25117:5:36" + "src": "25117:5:34" }, { "arguments": [ @@ -107253,152 +106263,152 @@ "arguments": [ { "name": "_2", - "nativeSrc": "25157:2:36", + "nativeSrc": "25157:2:34", "nodeType": "YulIdentifier", - "src": "25157:2:36" + "src": "25157:2:34" }, { "name": "offset_1", - "nativeSrc": "25161:8:36", + "nativeSrc": "25161:8:34", "nodeType": "YulIdentifier", - "src": "25161:8:36" + "src": "25161:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "25153:3:36", + "nativeSrc": "25153:3:34", "nodeType": "YulIdentifier", - "src": "25153:3:36" + "src": "25153:3:34" }, - "nativeSrc": "25153:17:36", + "nativeSrc": "25153:17:34", "nodeType": "YulFunctionCall", - "src": "25153:17:36" + "src": "25153:17:34" }, { "name": "dataEnd", - "nativeSrc": "25172:7:36", + "nativeSrc": "25172:7:34", "nodeType": "YulIdentifier", - "src": "25172:7:36" + "src": "25172:7:34" } ], "functionName": { "name": "abi_decode_string_fromMemory", - "nativeSrc": "25124:28:36", + "nativeSrc": "25124:28:34", "nodeType": "YulIdentifier", - "src": "25124:28:36" + "src": "25124:28:34" }, - "nativeSrc": "25124:56:36", + "nativeSrc": "25124:56:34", "nodeType": "YulFunctionCall", - "src": "25124:56:36" + "src": "25124:56:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "25110:6:36", + "nativeSrc": "25110:6:34", "nodeType": "YulIdentifier", - "src": "25110:6:36" + "src": "25110:6:34" }, - "nativeSrc": "25110:71:36", + "nativeSrc": "25110:71:34", "nodeType": "YulFunctionCall", - "src": "25110:71:36" + "src": "25110:71:34" }, - "nativeSrc": "25110:71:36", + "nativeSrc": "25110:71:34", "nodeType": "YulExpressionStatement", - "src": "25110:71:36" + "src": "25110:71:34" }, { - "nativeSrc": "25190:34:36", + "nativeSrc": "25190:34:34", "nodeType": "YulVariableDeclaration", - "src": "25190:34:36", + "src": "25190:34:34", "value": { "arguments": [ { "arguments": [ { "name": "_2", - "nativeSrc": "25216:2:36", + "nativeSrc": "25216:2:34", "nodeType": "YulIdentifier", - "src": "25216:2:36" + "src": "25216:2:34" }, { "kind": "number", - "nativeSrc": "25220:2:36", + "nativeSrc": "25220:2:34", "nodeType": "YulLiteral", - "src": "25220:2:36", + "src": "25220:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "25212:3:36", + "nativeSrc": "25212:3:34", "nodeType": "YulIdentifier", - "src": "25212:3:36" + "src": "25212:3:34" }, - "nativeSrc": "25212:11:36", + "nativeSrc": "25212:11:34", "nodeType": "YulFunctionCall", - "src": "25212:11:36" + "src": "25212:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "25206:5:36", + "nativeSrc": "25206:5:34", "nodeType": "YulIdentifier", - "src": "25206:5:36" + "src": "25206:5:34" }, - "nativeSrc": "25206:18:36", + "nativeSrc": "25206:18:34", "nodeType": "YulFunctionCall", - "src": "25206:18:36" + "src": "25206:18:34" }, "variables": [ { "name": "offset_2", - "nativeSrc": "25194:8:36", + "nativeSrc": "25194:8:34", "nodeType": "YulTypedName", - "src": "25194:8:36", + "src": "25194:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "25253:16:36", + "nativeSrc": "25253:16:34", "nodeType": "YulBlock", - "src": "25253:16:36", + "src": "25253:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "25262:1:36", + "nativeSrc": "25262:1:34", "nodeType": "YulLiteral", - "src": "25262:1:36", + "src": "25262:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "25265:1:36", + "nativeSrc": "25265:1:34", "nodeType": "YulLiteral", - "src": "25265:1:36", + "src": "25265:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "25255:6:36", + "nativeSrc": "25255:6:34", "nodeType": "YulIdentifier", - "src": "25255:6:36" + "src": "25255:6:34" }, - "nativeSrc": "25255:12:36", + "nativeSrc": "25255:12:34", "nodeType": "YulFunctionCall", - "src": "25255:12:36" + "src": "25255:12:34" }, - "nativeSrc": "25255:12:36", + "nativeSrc": "25255:12:34", "nodeType": "YulExpressionStatement", - "src": "25255:12:36" + "src": "25255:12:34" } ] }, @@ -107406,30 +106416,30 @@ "arguments": [ { "name": "offset_2", - "nativeSrc": "25239:8:36", + "nativeSrc": "25239:8:34", "nodeType": "YulIdentifier", - "src": "25239:8:36" + "src": "25239:8:34" }, { "name": "_1", - "nativeSrc": "25249:2:36", + "nativeSrc": "25249:2:34", "nodeType": "YulIdentifier", - "src": "25249:2:36" + "src": "25249:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "25236:2:36", + "nativeSrc": "25236:2:34", "nodeType": "YulIdentifier", - "src": "25236:2:36" + "src": "25236:2:34" }, - "nativeSrc": "25236:16:36", + "nativeSrc": "25236:16:34", "nodeType": "YulFunctionCall", - "src": "25236:16:36" + "src": "25236:16:34" }, - "nativeSrc": "25233:36:36", + "nativeSrc": "25233:36:34", "nodeType": "YulIf", - "src": "25233:36:36" + "src": "25233:36:34" }, { "expression": { @@ -107438,28 +106448,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "25289:5:36", + "nativeSrc": "25289:5:34", "nodeType": "YulIdentifier", - "src": "25289:5:36" + "src": "25289:5:34" }, { "kind": "number", - "nativeSrc": "25296:2:36", + "nativeSrc": "25296:2:34", "nodeType": "YulLiteral", - "src": "25296:2:36", + "src": "25296:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "25285:3:36", + "nativeSrc": "25285:3:34", "nodeType": "YulIdentifier", - "src": "25285:3:36" + "src": "25285:3:34" }, - "nativeSrc": "25285:14:36", + "nativeSrc": "25285:14:34", "nodeType": "YulFunctionCall", - "src": "25285:14:36" + "src": "25285:14:34" }, { "arguments": [ @@ -107467,152 +106477,152 @@ "arguments": [ { "name": "_2", - "nativeSrc": "25334:2:36", + "nativeSrc": "25334:2:34", "nodeType": "YulIdentifier", - "src": "25334:2:36" + "src": "25334:2:34" }, { "name": "offset_2", - "nativeSrc": "25338:8:36", + "nativeSrc": "25338:8:34", "nodeType": "YulIdentifier", - "src": "25338:8:36" + "src": "25338:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "25330:3:36", + "nativeSrc": "25330:3:34", "nodeType": "YulIdentifier", - "src": "25330:3:36" + "src": "25330:3:34" }, - "nativeSrc": "25330:17:36", + "nativeSrc": "25330:17:34", "nodeType": "YulFunctionCall", - "src": "25330:17:36" + "src": "25330:17:34" }, { "name": "dataEnd", - "nativeSrc": "25349:7:36", + "nativeSrc": "25349:7:34", "nodeType": "YulIdentifier", - "src": "25349:7:36" + "src": "25349:7:34" } ], "functionName": { "name": "abi_decode_string_fromMemory", - "nativeSrc": "25301:28:36", + "nativeSrc": "25301:28:34", "nodeType": "YulIdentifier", - "src": "25301:28:36" + "src": "25301:28:34" }, - "nativeSrc": "25301:56:36", + "nativeSrc": "25301:56:34", "nodeType": "YulFunctionCall", - "src": "25301:56:36" + "src": "25301:56:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "25278:6:36", + "nativeSrc": "25278:6:34", "nodeType": "YulIdentifier", - "src": "25278:6:36" + "src": "25278:6:34" }, - "nativeSrc": "25278:80:36", + "nativeSrc": "25278:80:34", "nodeType": "YulFunctionCall", - "src": "25278:80:36" + "src": "25278:80:34" }, - "nativeSrc": "25278:80:36", + "nativeSrc": "25278:80:34", "nodeType": "YulExpressionStatement", - "src": "25278:80:36" + "src": "25278:80:34" }, { - "nativeSrc": "25367:34:36", + "nativeSrc": "25367:34:34", "nodeType": "YulVariableDeclaration", - "src": "25367:34:36", + "src": "25367:34:34", "value": { "arguments": [ { "arguments": [ { "name": "_2", - "nativeSrc": "25393:2:36", + "nativeSrc": "25393:2:34", "nodeType": "YulIdentifier", - "src": "25393:2:36" + "src": "25393:2:34" }, { "kind": "number", - "nativeSrc": "25397:2:36", + "nativeSrc": "25397:2:34", "nodeType": "YulLiteral", - "src": "25397:2:36", + "src": "25397:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "25389:3:36", + "nativeSrc": "25389:3:34", "nodeType": "YulIdentifier", - "src": "25389:3:36" + "src": "25389:3:34" }, - "nativeSrc": "25389:11:36", + "nativeSrc": "25389:11:34", "nodeType": "YulFunctionCall", - "src": "25389:11:36" + "src": "25389:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "25383:5:36", + "nativeSrc": "25383:5:34", "nodeType": "YulIdentifier", - "src": "25383:5:36" + "src": "25383:5:34" }, - "nativeSrc": "25383:18:36", + "nativeSrc": "25383:18:34", "nodeType": "YulFunctionCall", - "src": "25383:18:36" + "src": "25383:18:34" }, "variables": [ { "name": "offset_3", - "nativeSrc": "25371:8:36", + "nativeSrc": "25371:8:34", "nodeType": "YulTypedName", - "src": "25371:8:36", + "src": "25371:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "25430:16:36", + "nativeSrc": "25430:16:34", "nodeType": "YulBlock", - "src": "25430:16:36", + "src": "25430:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "25439:1:36", + "nativeSrc": "25439:1:34", "nodeType": "YulLiteral", - "src": "25439:1:36", + "src": "25439:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "25442:1:36", + "nativeSrc": "25442:1:34", "nodeType": "YulLiteral", - "src": "25442:1:36", + "src": "25442:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "25432:6:36", + "nativeSrc": "25432:6:34", "nodeType": "YulIdentifier", - "src": "25432:6:36" + "src": "25432:6:34" }, - "nativeSrc": "25432:12:36", + "nativeSrc": "25432:12:34", "nodeType": "YulFunctionCall", - "src": "25432:12:36" + "src": "25432:12:34" }, - "nativeSrc": "25432:12:36", + "nativeSrc": "25432:12:34", "nodeType": "YulExpressionStatement", - "src": "25432:12:36" + "src": "25432:12:34" } ] }, @@ -107620,30 +106630,30 @@ "arguments": [ { "name": "offset_3", - "nativeSrc": "25416:8:36", + "nativeSrc": "25416:8:34", "nodeType": "YulIdentifier", - "src": "25416:8:36" + "src": "25416:8:34" }, { "name": "_1", - "nativeSrc": "25426:2:36", + "nativeSrc": "25426:2:34", "nodeType": "YulIdentifier", - "src": "25426:2:36" + "src": "25426:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "25413:2:36", + "nativeSrc": "25413:2:34", "nodeType": "YulIdentifier", - "src": "25413:2:36" + "src": "25413:2:34" }, - "nativeSrc": "25413:16:36", + "nativeSrc": "25413:16:34", "nodeType": "YulFunctionCall", - "src": "25413:16:36" + "src": "25413:16:34" }, - "nativeSrc": "25410:36:36", + "nativeSrc": "25410:36:34", "nodeType": "YulIf", - "src": "25410:36:36" + "src": "25410:36:34" }, { "expression": { @@ -107652,28 +106662,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "25466:5:36", + "nativeSrc": "25466:5:34", "nodeType": "YulIdentifier", - "src": "25466:5:36" + "src": "25466:5:34" }, { "kind": "number", - "nativeSrc": "25473:2:36", + "nativeSrc": "25473:2:34", "nodeType": "YulLiteral", - "src": "25473:2:36", + "src": "25473:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "25462:3:36", + "nativeSrc": "25462:3:34", "nodeType": "YulIdentifier", - "src": "25462:3:36" + "src": "25462:3:34" }, - "nativeSrc": "25462:14:36", + "nativeSrc": "25462:14:34", "nodeType": "YulFunctionCall", - "src": "25462:14:36" + "src": "25462:14:34" }, { "arguments": [ @@ -107681,145 +106691,145 @@ "arguments": [ { "name": "_2", - "nativeSrc": "25511:2:36", + "nativeSrc": "25511:2:34", "nodeType": "YulIdentifier", - "src": "25511:2:36" + "src": "25511:2:34" }, { "name": "offset_3", - "nativeSrc": "25515:8:36", + "nativeSrc": "25515:8:34", "nodeType": "YulIdentifier", - "src": "25515:8:36" + "src": "25515:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "25507:3:36", + "nativeSrc": "25507:3:34", "nodeType": "YulIdentifier", - "src": "25507:3:36" + "src": "25507:3:34" }, - "nativeSrc": "25507:17:36", + "nativeSrc": "25507:17:34", "nodeType": "YulFunctionCall", - "src": "25507:17:36" + "src": "25507:17:34" }, { "name": "dataEnd", - "nativeSrc": "25526:7:36", + "nativeSrc": "25526:7:34", "nodeType": "YulIdentifier", - "src": "25526:7:36" + "src": "25526:7:34" } ], "functionName": { "name": "abi_decode_string_fromMemory", - "nativeSrc": "25478:28:36", + "nativeSrc": "25478:28:34", "nodeType": "YulIdentifier", - "src": "25478:28:36" + "src": "25478:28:34" }, - "nativeSrc": "25478:56:36", + "nativeSrc": "25478:56:34", "nodeType": "YulFunctionCall", - "src": "25478:56:36" + "src": "25478:56:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "25455:6:36", + "nativeSrc": "25455:6:34", "nodeType": "YulIdentifier", - "src": "25455:6:36" + "src": "25455:6:34" }, - "nativeSrc": "25455:80:36", + "nativeSrc": "25455:80:34", "nodeType": "YulFunctionCall", - "src": "25455:80:36" + "src": "25455:80:34" }, - "nativeSrc": "25455:80:36", + "nativeSrc": "25455:80:34", "nodeType": "YulExpressionStatement", - "src": "25455:80:36" + "src": "25455:80:34" }, { - "nativeSrc": "25544:15:36", + "nativeSrc": "25544:15:34", "nodeType": "YulAssignment", - "src": "25544:15:36", + "src": "25544:15:34", "value": { "name": "value", - "nativeSrc": "25554:5:36", + "nativeSrc": "25554:5:34", "nodeType": "YulIdentifier", - "src": "25554:5:36" + "src": "25554:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "25544:6:36", + "nativeSrc": "25544:6:34", "nodeType": "YulIdentifier", - "src": "25544:6:36" + "src": "25544:6:34" } ] } ] }, - "name": "abi_decode_tuple_t_struct$_Service_$4420_memory_ptr_fromMemory", - "nativeSrc": "24594:971:36", + "name": "abi_decode_tuple_t_struct$_Service_$4421_memory_ptr_fromMemory", + "nativeSrc": "24594:971:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "24666:9:36", + "nativeSrc": "24666:9:34", "nodeType": "YulTypedName", - "src": "24666:9:36", + "src": "24666:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "24677:7:36", + "nativeSrc": "24677:7:34", "nodeType": "YulTypedName", - "src": "24677:7:36", + "src": "24677:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "24689:6:36", + "nativeSrc": "24689:6:34", "nodeType": "YulTypedName", - "src": "24689:6:36", + "src": "24689:6:34", "type": "" } ], - "src": "24594:971:36" + "src": "24594:971:34" }, { "body": { - "nativeSrc": "25707:150:36", + "nativeSrc": "25707:150:34", "nodeType": "YulBlock", - "src": "25707:150:36", + "src": "25707:150:34", "statements": [ { - "nativeSrc": "25717:27:36", + "nativeSrc": "25717:27:34", "nodeType": "YulVariableDeclaration", - "src": "25717:27:36", + "src": "25717:27:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "25737:6:36", + "nativeSrc": "25737:6:34", "nodeType": "YulIdentifier", - "src": "25737:6:36" + "src": "25737:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "25731:5:36", + "nativeSrc": "25731:5:34", "nodeType": "YulIdentifier", - "src": "25731:5:36" + "src": "25731:5:34" }, - "nativeSrc": "25731:13:36", + "nativeSrc": "25731:13:34", "nodeType": "YulFunctionCall", - "src": "25731:13:36" + "src": "25731:13:34" }, "variables": [ { "name": "length", - "nativeSrc": "25721:6:36", + "nativeSrc": "25721:6:34", "nodeType": "YulTypedName", - "src": "25721:6:36", + "src": "25721:6:34", "type": "" } ] @@ -107831,130 +106841,130 @@ "arguments": [ { "name": "value0", - "nativeSrc": "25792:6:36", + "nativeSrc": "25792:6:34", "nodeType": "YulIdentifier", - "src": "25792:6:36" + "src": "25792:6:34" }, { "kind": "number", - "nativeSrc": "25800:4:36", + "nativeSrc": "25800:4:34", "nodeType": "YulLiteral", - "src": "25800:4:36", + "src": "25800:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "25788:3:36", + "nativeSrc": "25788:3:34", "nodeType": "YulIdentifier", - "src": "25788:3:36" + "src": "25788:3:34" }, - "nativeSrc": "25788:17:36", + "nativeSrc": "25788:17:34", "nodeType": "YulFunctionCall", - "src": "25788:17:36" + "src": "25788:17:34" }, { "name": "pos", - "nativeSrc": "25807:3:36", + "nativeSrc": "25807:3:34", "nodeType": "YulIdentifier", - "src": "25807:3:36" + "src": "25807:3:34" }, { "name": "length", - "nativeSrc": "25812:6:36", + "nativeSrc": "25812:6:34", "nodeType": "YulIdentifier", - "src": "25812:6:36" + "src": "25812:6:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "25753:34:36", + "nativeSrc": "25753:34:34", "nodeType": "YulIdentifier", - "src": "25753:34:36" + "src": "25753:34:34" }, - "nativeSrc": "25753:66:36", + "nativeSrc": "25753:66:34", "nodeType": "YulFunctionCall", - "src": "25753:66:36" + "src": "25753:66:34" }, - "nativeSrc": "25753:66:36", + "nativeSrc": "25753:66:34", "nodeType": "YulExpressionStatement", - "src": "25753:66:36" + "src": "25753:66:34" }, { - "nativeSrc": "25828:23:36", + "nativeSrc": "25828:23:34", "nodeType": "YulAssignment", - "src": "25828:23:36", + "src": "25828:23:34", "value": { "arguments": [ { "name": "pos", - "nativeSrc": "25839:3:36", + "nativeSrc": "25839:3:34", "nodeType": "YulIdentifier", - "src": "25839:3:36" + "src": "25839:3:34" }, { "name": "length", - "nativeSrc": "25844:6:36", + "nativeSrc": "25844:6:34", "nodeType": "YulIdentifier", - "src": "25844:6:36" + "src": "25844:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "25835:3:36", + "nativeSrc": "25835:3:34", "nodeType": "YulIdentifier", - "src": "25835:3:36" + "src": "25835:3:34" }, - "nativeSrc": "25835:16:36", + "nativeSrc": "25835:16:34", "nodeType": "YulFunctionCall", - "src": "25835:16:36" + "src": "25835:16:34" }, "variableNames": [ { "name": "end", - "nativeSrc": "25828:3:36", + "nativeSrc": "25828:3:34", "nodeType": "YulIdentifier", - "src": "25828:3:36" + "src": "25828:3:34" } ] } ] }, "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "25570:287:36", + "nativeSrc": "25570:287:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", - "nativeSrc": "25683:3:36", + "nativeSrc": "25683:3:34", "nodeType": "YulTypedName", - "src": "25683:3:36", + "src": "25683:3:34", "type": "" }, { "name": "value0", - "nativeSrc": "25688:6:36", + "nativeSrc": "25688:6:34", "nodeType": "YulTypedName", - "src": "25688:6:36", + "src": "25688:6:34", "type": "" } ], "returnVariables": [ { "name": "end", - "nativeSrc": "25699:3:36", + "nativeSrc": "25699:3:34", "nodeType": "YulTypedName", - "src": "25699:3:36", + "src": "25699:3:34", "type": "" } ], - "src": "25570:287:36" + "src": "25570:287:34" } ] }, - "contents": "{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\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_string(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_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__to_t_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), 192)\n tail := abi_encode_string(value1, add(headStart, 192))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), and(value3, _1))\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), iszero(iszero(value5)))\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\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_3052() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0xc0)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_3054() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0xa0)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_3056() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x80)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_3058() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x60)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\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_string(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_available_length_string(src, length, end) -> array\n {\n array := allocate_memory(array_allocation_size_string(length))\n mstore(array, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(array, 0x20), src, length)\n mstore(add(add(array, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_uint256t_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n value3 := abi_decode_string(add(headStart, offset_2), dataEnd)\n value4 := calldataload(add(headStart, 128))\n let value_1 := calldataload(add(headStart, 160))\n validator_revert_address(value_1)\n value5 := value_1\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_contract$_IAgentRegistryV1_$5327t_contract$_ServiceRegistryUpgradeable_$4615(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\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 validator_revert_address(value)\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 value1 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset_1), dataEnd)\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_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 abi_encode_tuple_t_struct$_AgentData_$3132_memory_ptr__to_t_struct$_AgentData_$3132_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let memberValue0 := mload(value0)\n mstore(add(headStart, 32), 0xc0)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 224))\n let memberValue0_1 := mload(add(value0, 32))\n mstore(add(headStart, 64), add(sub(tail_1, headStart), not(31)))\n let tail_2 := abi_encode_string(memberValue0_1, tail_1)\n let memberValue0_2 := mload(add(value0, 64))\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 96), and(memberValue0_2, _1))\n mstore(add(headStart, 128), and(mload(add(value0, 96)), _1))\n mstore(add(headStart, 160), mload(add(value0, 128)))\n mstore(add(headStart, 0xc0), mload(add(value0, 160)))\n tail := tail_2\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_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_string_memory_ptrt_uint256t_address(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n value2 := calldataload(add(headStart, 64))\n let value_1 := calldataload(add(headStart, 96))\n validator_revert_address(value_1)\n value3 := value_1\n }\n function abi_encode_tuple_t_struct$_ServiceProposal_$5342_memory_ptr__to_t_struct$_ServiceProposal_$5342_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 32), and(mload(value0), _1))\n let memberValue0 := mload(add(value0, 32))\n mstore(add(headStart, 64), 0xc0)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 224))\n mstore(add(headStart, 96), mload(add(value0, 64)))\n mstore(add(headStart, 128), and(mload(add(value0, 96)), _1))\n mstore(add(headStart, 160), mload(add(value0, 128)))\n mstore(add(headStart, 0xc0), iszero(iszero(mload(add(value0, 160)))))\n tail := tail_1\n }\n function abi_encode_tuple_t_contract$_ServiceRegistryUpgradeable_$4615__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 abi_encode_tuple_t_contract$_IAgentRegistryV1_$5327__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 abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 192)\n let tail_1 := abi_encode_string(value0, add(headStart, 192))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_string(value1, tail_1)\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 64), and(value2, _1))\n mstore(add(headStart, 96), and(value3, _1))\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Agent already registered\")\n tail := add(headStart, 96)\n }\n function abi_decode_bool_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_bool_fromMemory(headStart)\n }\n function abi_encode_tuple_t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"Service not registered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffff))\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let array_1 := allocate_memory(array_allocation_size_string(_1))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(array_1, 0x20), _1)\n array := array_1\n }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n validator_revert_address(value)\n }\n function abi_decode_tuple_t_struct$_AgentData_$5289_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0xc0) { revert(0, 0) }\n let value := allocate_memory_3052()\n let offset_1 := mload(_2)\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(value, abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 32))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, 32), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n mstore(add(value, 64), abi_decode_address_fromMemory(add(_2, 64)))\n mstore(add(value, 96), abi_decode_address_fromMemory(add(_2, 96)))\n mstore(add(value, 128), mload(add(_2, 128)))\n mstore(add(value, 160), mload(add(_2, 160)))\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_50182bd41cda0e194d07720f94dca7a677e712fa34d7dd8998809213f4730ecf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Not owner or agent owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ab4f7bdcd44e35f2fe5cd34e07194c1c227455329229f7f3f1e8494de9e5c74c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Not the TaskRegistry contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e__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), \"Rating must be between 0 and 100\")\n tail := add(headStart, 96)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function abi_encode_tuple_t_stringliteral_333080ba9ab8738c4a0b47b5b79d2c142d573a23f488baafda66363f88786955__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Not the owner of the agent\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ServiceProposal not found\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6b24a63f053c9f60b33a6142346432678adff778fb93a8ecec9013d5a898e395__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Agent not registered\")\n tail := add(headStart, 96)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(0, array)\n let data := keccak256(0, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := 0x20\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n let tail_1 := abi_encode_string(value0, add(headStart, 64))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_string(value1, tail_1)\n }\n function abi_encode_tuple_t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Invalid address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_uint256_t_string_memory_ptr_t_uint256_t_address__to_t_uint256_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), 128)\n tail := abi_encode_string(value1, add(headStart, 128))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), and(value3, sub(shl(160, 1), 1)))\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\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_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_struct$_Proposal_$5300_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0xa0) { revert(0, 0) }\n let value := allocate_memory_3054()\n let value_1 := mload(_2)\n validator_revert_address(value_1)\n mstore(value, value_1)\n let offset_1 := mload(add(_2, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(add(value, 32), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n mstore(add(value, 64), mload(add(_2, 64)))\n mstore(add(value, 96), mload(add(_2, 96)))\n mstore(add(value, 128), abi_decode_bool_fromMemory(add(_2, 128)))\n value0 := value\n }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_decode_tuple_t_struct$_Service_$3101_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0x80) { revert(0, 0) }\n let value := allocate_memory_3056()\n let offset_1 := mload(_2)\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(value, abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 32))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, 32), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n let offset_3 := mload(add(_2, 64))\n if gt(offset_3, _1) { revert(0, 0) }\n mstore(add(value, 64), abi_decode_string_fromMemory(add(_2, offset_3), dataEnd))\n mstore(add(value, 96), abi_decode_bool_fromMemory(add(_2, 96)))\n value0 := value\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 96)\n let tail_1 := abi_encode_string(value0, add(headStart, 96))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_string(value2, tail_2)\n }\n function abi_decode_tuple_t_struct$_Service_$4420_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0x60) { revert(0, 0) }\n let value := allocate_memory_3058()\n let offset_1 := mload(_2)\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(value, abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 32))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, 32), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n let offset_3 := mload(add(_2, 64))\n if gt(offset_3, _1) { revert(0, 0) }\n mstore(add(value, 64), abi_decode_string_fromMemory(add(_2, offset_3), dataEnd))\n value0 := value\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}", - "id": 36, + "contents": "{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\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_string(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_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__to_t_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), 192)\n tail := abi_encode_string(value1, add(headStart, 192))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), and(value3, _1))\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), iszero(iszero(value5)))\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\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_3052() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0xc0)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_3054() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0xa0)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_3056() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x80)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_3058() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x60)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\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_string(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_available_length_string(src, length, end) -> array\n {\n array := allocate_memory(array_allocation_size_string(length))\n mstore(array, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(array, 0x20), src, length)\n mstore(add(add(array, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_uint256t_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n value3 := abi_decode_string(add(headStart, offset_2), dataEnd)\n value4 := calldataload(add(headStart, 128))\n let value_1 := calldataload(add(headStart, 160))\n validator_revert_address(value_1)\n value5 := value_1\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_contract$_IAgentRegistryV1_$5297t_contract$_ServiceRegistryUpgradeable_$4616(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\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 validator_revert_address(value)\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 value1 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset_1), dataEnd)\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_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 abi_encode_tuple_t_struct$_AgentData_$3133_memory_ptr__to_t_struct$_AgentData_$3133_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let memberValue0 := mload(value0)\n mstore(add(headStart, 32), 0xc0)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 224))\n let memberValue0_1 := mload(add(value0, 32))\n mstore(add(headStart, 64), add(sub(tail_1, headStart), not(31)))\n let tail_2 := abi_encode_string(memberValue0_1, tail_1)\n let memberValue0_2 := mload(add(value0, 64))\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 96), and(memberValue0_2, _1))\n mstore(add(headStart, 128), and(mload(add(value0, 96)), _1))\n mstore(add(headStart, 160), mload(add(value0, 128)))\n mstore(add(headStart, 0xc0), mload(add(value0, 160)))\n tail := tail_2\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_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_string_memory_ptrt_uint256t_address(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n value2 := calldataload(add(headStart, 64))\n let value_1 := calldataload(add(headStart, 96))\n validator_revert_address(value_1)\n value3 := value_1\n }\n function abi_encode_tuple_t_struct$_ServiceProposal_$5312_memory_ptr__to_t_struct$_ServiceProposal_$5312_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 32), and(mload(value0), _1))\n let memberValue0 := mload(add(value0, 32))\n mstore(add(headStart, 64), 0xc0)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 224))\n mstore(add(headStart, 96), mload(add(value0, 64)))\n mstore(add(headStart, 128), and(mload(add(value0, 96)), _1))\n mstore(add(headStart, 160), mload(add(value0, 128)))\n mstore(add(headStart, 0xc0), iszero(iszero(mload(add(value0, 160)))))\n tail := tail_1\n }\n function abi_encode_tuple_t_contract$_ServiceRegistryUpgradeable_$4616__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 abi_encode_tuple_t_contract$_IAgentRegistryV1_$5297__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 abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 192)\n let tail_1 := abi_encode_string(value0, add(headStart, 192))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_string(value1, tail_1)\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 64), and(value2, _1))\n mstore(add(headStart, 96), and(value3, _1))\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Agent already registered\")\n tail := add(headStart, 96)\n }\n function abi_decode_bool_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_bool_fromMemory(headStart)\n }\n function abi_encode_tuple_t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"Service not registered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffff))\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let array_1 := allocate_memory(array_allocation_size_string(_1))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(array_1, 0x20), _1)\n array := array_1\n }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n validator_revert_address(value)\n }\n function abi_decode_tuple_t_struct$_AgentData_$5259_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0xc0) { revert(0, 0) }\n let value := allocate_memory_3052()\n let offset_1 := mload(_2)\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(value, abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 32))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, 32), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n mstore(add(value, 64), abi_decode_address_fromMemory(add(_2, 64)))\n mstore(add(value, 96), abi_decode_address_fromMemory(add(_2, 96)))\n mstore(add(value, 128), mload(add(_2, 128)))\n mstore(add(value, 160), mload(add(_2, 160)))\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_50182bd41cda0e194d07720f94dca7a677e712fa34d7dd8998809213f4730ecf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Not owner or agent owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ab4f7bdcd44e35f2fe5cd34e07194c1c227455329229f7f3f1e8494de9e5c74c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Not the TaskRegistry contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e__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), \"Rating must be between 0 and 100\")\n tail := add(headStart, 96)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function abi_encode_tuple_t_stringliteral_333080ba9ab8738c4a0b47b5b79d2c142d573a23f488baafda66363f88786955__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Not the owner of the agent\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ServiceProposal not found\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6b24a63f053c9f60b33a6142346432678adff778fb93a8ecec9013d5a898e395__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Agent not registered\")\n tail := add(headStart, 96)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(0, array)\n let data := keccak256(0, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := 0x20\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n let tail_1 := abi_encode_string(value0, add(headStart, 64))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_string(value1, tail_1)\n }\n function abi_encode_tuple_t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Invalid address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_uint256_t_string_memory_ptr_t_uint256_t_address__to_t_uint256_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), 128)\n tail := abi_encode_string(value1, add(headStart, 128))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), and(value3, sub(shl(160, 1), 1)))\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\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_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_struct$_Proposal_$5270_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0xa0) { revert(0, 0) }\n let value := allocate_memory_3054()\n let value_1 := mload(_2)\n validator_revert_address(value_1)\n mstore(value, value_1)\n let offset_1 := mload(add(_2, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(add(value, 32), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n mstore(add(value, 64), mload(add(_2, 64)))\n mstore(add(value, 96), mload(add(_2, 96)))\n mstore(add(value, 128), abi_decode_bool_fromMemory(add(_2, 128)))\n value0 := value\n }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_decode_tuple_t_struct$_Service_$3102_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0x80) { revert(0, 0) }\n let value := allocate_memory_3056()\n let offset_1 := mload(_2)\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(value, abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 32))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, 32), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n let offset_3 := mload(add(_2, 64))\n if gt(offset_3, _1) { revert(0, 0) }\n mstore(add(value, 64), abi_decode_string_fromMemory(add(_2, offset_3), dataEnd))\n mstore(add(value, 96), abi_decode_bool_fromMemory(add(_2, 96)))\n value0 := value\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 96)\n let tail_1 := abi_encode_string(value0, add(headStart, 96))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_string(value2, tail_2)\n }\n function abi_decode_tuple_t_struct$_Service_$4421_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0x60) { revert(0, 0) }\n let value := allocate_memory_3058()\n let offset_1 := mload(_2)\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(value, abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 32))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, 32), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n let offset_3 := mload(add(_2, 64))\n if gt(offset_3, _1) { revert(0, 0) }\n mstore(add(value, 64), abi_decode_string_fromMemory(add(_2, offset_3), dataEnd))\n value0 := value\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}", + "id": 34, "language": "Yul", "name": "#utility.yul" } @@ -107976,9 +106986,9 @@ ] }, "linkReferences": {}, - "object": "6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b1461018657806309b6d8a7146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d4565b610544565b6040516101b89695949392919061223d565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f5565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ac565b610736565b6101e16102353660046124e5565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612548565b6108a8565b34801561027b57600080fd5b506101f961028a366004612565565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612591565b610bd9565b3480156102d057600080fd5b506102e46102df366004612565565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612591565b610d9d565b34801561034d57600080fd5b506101e161035c366004612548565b610ecf565b34801561036d57600080fd5b506101f961037c366004612548565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612548565b611035565b6040516101b89190612606565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612682565b34801561043157600080fd5b506101e1610440366004612695565b611207565b34801561045157600080fd5b506101e1610460366004612548565b61130e565b34801561047157600080fd5b506104856104803660046121d4565b611380565b6040516101b89190612700565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612548565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612548565b61153a565b34801561051e57600080fd5b5061053261052d366004612548565b611578565b6040516101b896959493929190612768565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bc565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f6565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612682565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612842565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5c83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f6565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b5565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612994565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a7565b6001600160a01b038616600090815260036020526040902060040154610b3491906129ba565b610b3e9190612994565b610b4891906129d1565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f6565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f3565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a72565b506001600160a01b0384166000908152600360205260409020600101610e858382612a72565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b31565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612186565b610fc7600183016000612186565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bc565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bc565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f3565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612682565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612842565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bc565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bc565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bc565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a72565b50600181016116fd8582612a72565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b31565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a72565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b56565b60405180910390a26005805490600061189783612b90565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5c833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba9565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5c8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba9565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc2565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612682565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612842565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c66565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612682565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c83565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d48565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8b565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3f565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612192906127bc565b6000825580601f106121a2575050565b601f01602090049060005260206000209081019061157591905b808211156121d057600081556001016121bc565b5090565b6000602082840312156121e657600080fd5b5035919050565b60005b838110156122085781810151838201526020016121f0565b50506000910152565b600081518084526122298160208601602086016121ed565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225f60c0840189612211565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d4576122d461229c565b60405290565b60405160a081016001600160401b03811182821017156122d4576122d461229c565b604051608081016001600160401b03811182821017156122d4576122d461229c565b604051606081016001600160401b03811182821017156122d4576122d461229c565b604051601f8201601f191681016001600160401b03811182821017156123685761236861229c565b604052919050565b60006001600160401b038211156123895761238961229c565b50601f01601f191660200190565b60006123aa6123a584612370565b612340565b90508281528383830111156123be57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e657600080fd5b61215683833560208501612397565b60008060008060008060c0878903121561240e57600080fd5b863561241981612287565b955060208701356001600160401b038082111561243557600080fd5b6124418a838b016123d5565b9650604089013591508082111561245757600080fd5b6124638a838b016123d5565b9550606089013591508082111561247957600080fd5b5061248689828a016123d5565b9350506080870135915060a087013561249e81612287565b809150509295509295509295565b600080604083850312156124bf57600080fd5b82356124ca81612287565b915060208301356124da81612287565b809150509250929050565b600080604083850312156124f857600080fd5b823561250381612287565b915060208301356001600160401b0381111561251e57600080fd5b8301601f8101851361252f57600080fd5b61253e85823560208401612397565b9150509250929050565b60006020828403121561255a57600080fd5b813561215681612287565b6000806040838503121561257857600080fd5b823561258381612287565b946020939093013593505050565b6000806000606084860312156125a657600080fd5b83356125b181612287565b925060208401356001600160401b03808211156125cd57600080fd5b6125d9878388016123d5565b935060408601359150808211156125ef57600080fd5b506125fc868287016123d5565b9150509250925092565b602081526000825160c0602084015261262260e0840182612211565b90506020840151601f1984830301604085015261263f8282612211565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612211565b600080600080608085870312156126ab57600080fd5b84356126b681612287565b935060208501356001600160401b038111156126d157600080fd5b6126dd878288016123d5565b9350506040850135915060608501356126f581612287565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272f60e0850182612211565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277b60c0830189612211565b828103602084015261278d8189612211565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127d057607f821691505b6020821081036127f057634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283d57600080fd5b919050565b60006020828403121561285457600080fd5b6121568261282d565b600082601f83011261286e57600080fd5b815161287c6123a582612370565b81815284602083860101111561289157600080fd5b6128a28260208301602087016121ed565b949350505050565b805161283d81612287565b6000602082840312156128c757600080fd5b81516001600160401b03808211156128de57600080fd5b9083019060c082860312156128f257600080fd5b6128fa6122b2565b82518281111561290957600080fd5b6129158782860161285d565b82525060208301518281111561292a57600080fd5b6129368782860161285d565b602083015250612948604084016128aa565b6040820152612959606084016128aa565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297e565b81810381811115610bbf57610bbf61297e565b8082028115828204841417610bbf57610bbf61297e565b6000826129ee57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a535750805b601f850160051c820191505b8181101561072e57828155600101612a5f565b81516001600160401b03811115612a8b57612a8b61229c565b612a9f81612a9984546127bc565b84612a2a565b602080601f831160018114612ad45760008415612abc5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0357888601518255948401946001909101908401612ae4565b5085821015612b215787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b446040830185612211565b82810360208401526120d68185612211565b848152608060208201526000612b6f6080830186612211565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba257612ba261297e565b5060010190565b600060208284031215612bbb57600080fd5b5051919050565b600060208284031215612bd457600080fd5b81516001600160401b0380821115612beb57600080fd5b9083019060a08286031215612bff57600080fd5b612c076122da565b8251612c1281612287565b8152602083015182811115612c2657600080fd5b612c328782860161285d565b6020830152506040830151604082015260608301516060820152612c586080840161282d565b608082015295945050505050565b600060208284031215612c7857600080fd5b815161215681612287565b600060208284031215612c9557600080fd5b81516001600160401b0380821115612cac57600080fd5b9083019060808286031215612cc057600080fd5b612cc86122fc565b825182811115612cd757600080fd5b612ce38782860161285d565b825250602083015182811115612cf857600080fd5b612d048782860161285d565b602083015250604083015182811115612d1c57600080fd5b612d288782860161285d565b604083015250612d3a6060840161282d565b606082015295945050505050565b606081526000612d5b6060830186612211565b8281036020840152612d6d8186612211565b90508281036040840152612d818185612211565b9695505050505050565b600060208284031215612d9d57600080fd5b81516001600160401b0380821115612db457600080fd5b9083019060608286031215612dc857600080fd5b612dd061231e565b825182811115612ddf57600080fd5b612deb8782860161285d565b825250602083015182811115612e0057600080fd5b612e0c8782860161285d565b602083015250604083015182811115612e2457600080fd5b612e308782860161285d565b60408301525095945050505050565b60008251612e518184602087016121ed565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c6dc0e94a614dd50e9378ddd58ca325a82f9f97158cc4a88aeddddc585efe7c364736f6c63430008160033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x181 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x97A6278E GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xB2D78069 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD7071B1F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD7071B1F EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0xDCA60776 EQ PUSH2 0x4D2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4F2 JUMPI DUP1 PUSH4 0xFD66091E EQ PUSH2 0x512 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xB2D78069 EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0xC7F758A8 EQ PUSH2 0x465 JUMPI DUP1 PUSH4 0xCBCF252A EQ PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x97A6278E EQ PUSH2 0x341 JUMPI DUP1 PUSH4 0x9C89A0E2 EQ PUSH2 0x361 JUMPI DUP1 PUSH4 0x9E498F16 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0xAAC9F15A EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x3E7 JUMPI DUP1 PUSH4 0xAEBFD80E EQ PUSH2 0x425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x7216FE48 GT PUSH2 0x118 JUMPI DUP1 PUSH4 0x7216FE48 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0x7B5C219D EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x96A45139 EQ PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0x70370A81 EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x28F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x13CF08B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x9B6D8A7 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x2AB09D14 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x485CC955 EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x23A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D4 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x223D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0x23F5 JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x24AC JUMP JUMPDEST PUSH2 0x736 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x24E5 JUMP JUMPDEST PUSH2 0x86C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x88B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x8A8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x28A CALLDATASIZE PUSH1 0x4 PUSH2 0x2565 JUMP JUMPDEST PUSH2 0xA07 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0xBC5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x2BF CALLDATASIZE PUSH1 0x4 PUSH2 0x2591 JUMP JUMPDEST PUSH2 0xBD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E4 PUSH2 0x2DF CALLDATASIZE PUSH1 0x4 PUSH2 0x2565 JUMP JUMPDEST PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x309 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x33C CALLDATASIZE PUSH1 0x4 PUSH2 0x2591 JUMP JUMPDEST PUSH2 0xD9D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x35C CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0xECF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DA PUSH2 0x3D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2606 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x418 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2682 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x440 CALLDATASIZE PUSH1 0x4 PUSH2 0x2695 JUMP JUMPDEST PUSH2 0x1207 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x451 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x460 CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x130E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x485 PUSH2 0x480 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D4 JUMP JUMPDEST PUSH2 0x1380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2700 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x4CD CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x14C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x50D CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x153A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x532 PUSH2 0x52D CALLDATASIZE PUSH1 0x4 PUSH2 0x2548 JUMP JUMPDEST PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2768 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 SWAP2 PUSH2 0x570 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x59C SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP2 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 POP PUSH1 0xFF AND DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x65E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x68E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6AB 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 0x6CF SWAP2 SWAP1 PUSH2 0x2842 JUMP JUMPDEST PUSH2 0x714 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x722 DUP7 DUP7 DUP7 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x72E DUP7 DUP5 DUP5 DUP5 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x740 PUSH2 0x18A3 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x767 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x783 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x791 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x7AF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x7D9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x7E2 CALLER PUSH2 0x18CC JUMP JUMPDEST PUSH2 0x7EA PUSH2 0x18DD JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP3 DUP10 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR DUP2 SSTORE PUSH1 0x5 SSTORE DUP4 ISZERO PUSH2 0x863 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x874 PUSH2 0x18E5 JUMP JUMPDEST PUSH2 0x87D DUP3 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x887 DUP3 DUP3 PUSH2 0x1992 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x895 PUSH2 0x1A4F JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x8E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F6 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5564F8AD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xAAC9F15A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x92F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x957 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x28B5 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x995 JUMPI POP PUSH2 0x980 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x9E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F74206F776E6572206F72206167656E74206F776E65720000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x9FE DUP3 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x20 ADD MLOAD DUP5 PUSH1 0x40 ADD MLOAD DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x887 DUP3 PUSH2 0x1A98 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865205461736B526567697374727920636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x64 DUP3 GT ISZERO PUSH2 0xAB5 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0xAE1 SWAP1 DUP5 SWAP1 PUSH2 0x2994 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP3 PUSH2 0xB0E PUSH1 0x1 DUP4 PUSH2 0x29A7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH2 0xB34 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0xB3E SWAP2 SWAP1 PUSH2 0x2994 JUMP JUMPDEST PUSH2 0xB48 SWAP2 SWAP1 PUSH2 0x29D1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP4 SWAP1 SSTORE MLOAD SWAP1 SWAP2 PUSH32 0xFC577563F1B9A0461E24ABEF1E1FCC0D33D3D881F20B5DF6DDA59DE4AAE2C821 SWAP2 PUSH2 0xB99 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBCD PUSH2 0x1BEF JUMP JUMPDEST PUSH2 0xBD7 PUSH1 0x0 PUSH2 0x1C21 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0xC15 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F6 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 DUP4 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP2 DUP5 SWAP2 AND CALLER EQ PUSH2 0xC68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND SWAP2 AND EQ PUSH2 0xCD1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0xCFB PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2186 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP5 SWAP2 AND CALLER EQ PUSH2 0xDDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xE3D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xE5F DUP5 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD PUSH2 0xE85 DUP4 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x244B747F2AC491B7662C44209B5F6110934A8725F40D2BD91805F9D919A78B10 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xEC1 SWAP3 SWAP2 SWAP1 PUSH2 0x2B31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP2 AND CALLER EQ PUSH2 0xF0D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xF6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD AND PUSH2 0xF96 DUP4 PUSH2 0x1C92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0xFB9 DUP3 DUP3 PUSH2 0x2186 JUMP JUMPDEST PUSH2 0xFC7 PUSH1 0x1 DUP4 ADD PUSH1 0x0 PUSH2 0x2186 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP3 SWAP1 DUP7 AND SWAP2 PUSH32 0x4CE8B3FE8E0BF47A6FEFBECDFD7C799755CEDE6061655521B10FC2E4B1FCC6B3 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1080 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD SWAP1 SWAP2 SWAP1 DUP3 SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH2 0x10B7 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10E3 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1130 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1105 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1130 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1113 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1149 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1175 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11C2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1197 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11C2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11A5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x3 DUP4 ADD SLOAD AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP6 SWAP2 AND CALLER EQ PUSH2 0x1245 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F3 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1275 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1292 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 0x12B6 SWAP2 SWAP1 PUSH2 0x2842 JUMP JUMPDEST PUSH2 0x12FB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1307 DUP6 DUP6 DUP6 DUP6 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1316 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x135E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x13CD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x1409 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1435 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1482 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1457 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1482 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1465 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14D0 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1518 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x156C JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1C21 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP2 SWAP1 PUSH2 0x1593 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x15BF SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x160C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x160C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x15EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1621 SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x164D SWAP1 PUSH2 0x27BC JUMP JUMPDEST DUP1 ISZERO PUSH2 0x169A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x166F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x169A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x167D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP5 SWAP3 SWAP1 SWAP2 AND SWAP3 POP SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 PUSH2 0x16EE DUP7 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0x16FD DUP6 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP2 DUP11 AND SWAP2 SWAP1 SWAP3 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP4 ADD DUP5 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x2A562EFB52E7CEC209321F57200606311256DA6D2A1B19D44DB7837A3209DE28 SWAP1 PUSH2 0x176B SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH2 0x2B31 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP8 DUP2 MSTORE DUP4 DUP6 ADD DUP8 SWAP1 MSTORE DUP6 DUP4 AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x5 SLOAD PUSH1 0x80 DUP6 ADD DUP2 SWAP1 MSTORE PUSH1 0x1 PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x4 SWAP1 SWAP4 MSTORE SWAP5 SWAP1 SWAP5 KECCAK256 DUP4 MLOAD DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR DUP3 SSTORE SWAP3 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP3 ADD SWAP1 PUSH2 0x17F3 SWAP1 DUP3 PUSH2 0x2A72 JUMP JUMPDEST POP PUSH1 0x40 DUP3 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x3 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND OR SWAP1 SSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x4 DUP5 ADD SSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD MLOAD PUSH1 0x5 SWAP3 DUP4 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE SWAP1 SLOAD SWAP1 MLOAD SWAP2 DUP8 AND SWAP2 PUSH32 0xA6E87A4BA187A506BB81720F5FBD241C879EC33DF712DE8C1BFCCC354DBE450F SWAP2 PUSH2 0x187F SWAP2 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH2 0x2B56 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x5 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x1897 DUP4 PUSH2 0x2B90 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0xBBF JUMP JUMPDEST PUSH2 0x18D4 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1DA0 JUMP JUMPDEST PUSH2 0xBD7 PUSH2 0x1D7B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x196C JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1960 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1575 PUSH2 0x1BEF JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x19EC JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x19E9 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2BA9 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1A14 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x1A45 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 PUSH2 0x1DA8 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2AB09D14 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 0x1AEC 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 0x1B10 SWAP2 SWAP1 PUSH2 0x2BA9 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1B8F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2BC2 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x1BB8 JUMPI POP DUP1 PUSH1 0x80 ADD MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x1BC3 JUMPI POP PUSH2 0x1BE7 JUMP JUMPDEST PUSH2 0x1BD0 DUP2 PUSH1 0x20 ADD MLOAD PUSH2 0x1DFE JUMP JUMPDEST PUSH2 0x1BE5 DUP5 DUP3 PUSH1 0x20 ADD MLOAD DUP4 PUSH1 0x40 ADD MLOAD PUSH1 0x0 PUSH2 0x177B JUMP JUMPDEST POP JUMPDEST PUSH1 0x1 ADD PUSH2 0x1B15 JUMP JUMPDEST CALLER PUSH2 0x1BF8 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 SLOAD DUP2 LT ISZERO PUSH2 0x887 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP2 AND EQ DUP1 ISZERO PUSH2 0x1CD9 JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x1D73 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0x1D08 PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2186 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST PUSH1 0x1 ADD PUSH2 0x1C95 JUMP JUMPDEST PUSH2 0x1D83 PUSH2 0x1FEA JUMP JUMPDEST PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1542 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1DB1 DUP3 PUSH2 0x2004 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1DF6 JUMPI PUSH2 0xC23 DUP3 DUP3 PUSH2 0x2069 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1E2E SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E4B 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 0x1E6F SWAP2 SWAP1 PUSH2 0x2842 JUMP JUMPDEST PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xCBCF252A 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 0x1EC7 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 0x1EEB SWAP2 SWAP1 PUSH2 0x2C66 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3CA3AC5F PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 POP DUP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x794758BE SWAP1 PUSH2 0x1F1F SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2682 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F3C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1F64 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2C83 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD SWAP1 MLOAD PUSH4 0x3BD5F621 PUSH1 0xE2 SHL DUP2 MSTORE SWAP5 SWAP6 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP4 PUSH4 0xEF57D884 SWAP4 PUSH2 0x1FA3 SWAP4 SWAP3 SWAP2 PUSH1 0x4 ADD PUSH2 0x2D48 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1FC2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1307 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D8B JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF4 PUSH2 0x18A3 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x203A JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5C DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x2086 SWAP2 SWAP1 PUSH2 0x2E3F JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x20C1 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 0x20C6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x20D6 DUP6 DUP4 DUP4 PUSH2 0x20FE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x2113 JUMPI PUSH2 0x210E DUP3 PUSH2 0x215D JUMP JUMPDEST PUSH2 0x2156 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x212A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2153 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x216D JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP1 SLOAD PUSH2 0x2192 SWAP1 PUSH2 0x27BC JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x21A2 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1575 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x21D0 JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x21BC JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x21E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2208 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x21F0 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x2229 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x21ED JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP10 AND DUP4 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x225F PUSH1 0xC0 DUP5 ADD DUP10 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD SWAP8 SWAP1 SWAP8 MSTORE SWAP5 SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xA0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x80 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D4 JUMPI PUSH2 0x22D4 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x2368 JUMPI PUSH2 0x2368 PUSH2 0x229C JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x2389 JUMPI PUSH2 0x2389 PUSH2 0x229C JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23AA PUSH2 0x23A5 DUP5 PUSH2 0x2370 JUMP JUMPDEST PUSH2 0x2340 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x23BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x23E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x2397 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x240E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x2419 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2435 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2441 DUP11 DUP4 DUP12 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2463 DUP11 DUP4 DUP12 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2479 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2486 DUP10 DUP3 DUP11 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x249E DUP2 PUSH2 0x2287 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x24CA DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x24DA DUP2 PUSH2 0x2287 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2503 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x251E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x252F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x253E DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x2397 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x255A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2156 DUP2 PUSH2 0x2287 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2578 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2583 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x25A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x25B1 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x25CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x25D9 DUP8 DUP4 DUP9 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x25EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25FC DUP7 DUP3 DUP8 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2622 PUSH1 0xE0 DUP5 ADD DUP3 PUSH2 0x2211 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP5 DUP4 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x263F DUP3 DUP3 PUSH2 0x2211 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x60 DUP7 ADD MSTORE DUP1 PUSH1 0x60 DUP8 ADD MLOAD AND PUSH1 0x80 DUP7 ADD MSTORE POP POP PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2156 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x26AB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x26B6 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26D1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26DD DUP8 DUP3 DUP9 ADD PUSH2 0x23D5 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x26F5 DUP2 PUSH2 0x2287 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP5 MLOAD AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0xC0 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x272F PUSH1 0xE0 DUP6 ADD DUP3 PUSH2 0x2211 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP2 PUSH1 0x60 DUP7 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xA0 DUP6 ADD MLOAD ISZERO ISZERO PUSH1 0xC0 DUP6 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x277B PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x2211 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x278D DUP2 DUP10 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND PUSH1 0x40 DUP6 ADD MSTORE SWAP6 SWAP1 SWAP7 AND PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x27D0 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x27F0 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x18 SWAP1 DUP3 ADD MSTORE PUSH32 0x4167656E7420616C726561647920726567697374657265640000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x283D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2854 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP3 PUSH2 0x282D JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x286E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x287C PUSH2 0x23A5 DUP3 PUSH2 0x2370 JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x2891 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28A2 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x21ED JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH2 0x283D DUP2 PUSH2 0x2287 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x28DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x28F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28FA PUSH2 0x22B2 JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2909 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2915 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x292A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2936 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x2948 PUSH1 0x40 DUP5 ADD PUSH2 0x28AA JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2959 PUSH1 0x60 DUP5 ADD PUSH2 0x28AA JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297E JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297E JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297E JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x29EE JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865206F776E6572206F6620746865206167656E74000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2A53 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2A5F JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2A8B JUMPI PUSH2 0x2A8B PUSH2 0x229C JUMP JUMPDEST PUSH2 0x2A9F DUP2 PUSH2 0x2A99 DUP5 SLOAD PUSH2 0x27BC JUMP JUMPDEST DUP5 PUSH2 0x2A2A JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2AD4 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2ABC JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2B03 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2AE4 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x2B21 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2B44 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2211 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x20D6 DUP2 DUP6 PUSH2 0x2211 JUMP JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2B6F PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2211 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2BA2 JUMPI PUSH2 0x2BA2 PUSH2 0x297E JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BBB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2BEB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xA0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2BFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C07 PUSH2 0x22DA JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2C12 DUP2 PUSH2 0x2287 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2C26 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C32 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x2C58 PUSH1 0x80 DUP5 ADD PUSH2 0x282D JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C78 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2156 DUP2 PUSH2 0x2287 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C95 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2CAC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x80 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2CC0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CC8 PUSH2 0x22FC JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CD7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CE3 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CF8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D04 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2D1C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D28 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH2 0x2D3A PUSH1 0x60 DUP5 ADD PUSH2 0x282D JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2D5B PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2211 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2D6D DUP2 DUP7 PUSH2 0x2211 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x2D81 DUP2 DUP6 PUSH2 0x2211 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D9D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DB4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x60 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2DC8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DD0 PUSH2 0x231E JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DDF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DEB DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E00 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E0C DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E24 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E30 DUP8 DUP3 DUP7 ADD PUSH2 0x285D JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2E51 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x21ED JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220C6 0xDC 0xE SWAP5 0xA6 EQ 0xDD POP 0xE9 CALLDATACOPY DUP14 0xDD PC 0xCA ORIGIN GAS DUP3 0xF9 0xF9 PUSH18 0x58CC4A88AEDDDDC585EFE7C364736F6C6343 STOP ADDMOD AND STOP CALLER ", - "sourceMap": "961:13135:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1436:52;;;;;;;;;;-1:-1:-1;1436:52:26;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;5118:577;;;;;;;;;;-1:-1:-1;5118:577:26;;;;;:::i;:::-;;:::i;:::-;;1494:29;;;;;;;;;;;;;;;;;;;4963:25:36;;;4951:2;4936:18;1494:29:26;4817:177:36;2023:343:26;;;;;;;;;;-1:-1:-1;2023:343:26;;;;;:::i;:::-;;:::i;4161:214:2:-;;;;;;:::i;:::-;;:::i;3708:134::-;;;;;;;;;;;;;:::i;7428:536:26:-;;;;;;;;;;-1:-1:-1;7428:536:26;;;;;:::i;:::-;;:::i;7970:643::-;;;;;;;;;;-1:-1:-1;7970:643:26;;;;;:::i;:::-;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;4302:269:26:-;;;;;;;;;;-1:-1:-1;4302:269:26;;;;;:::i;:::-;;:::i;6965:364::-;;;;;;;;;;-1:-1:-1;6965:364:26;;;;;:::i;:::-;;:::i;:::-;;;7644:14:36;;7637:22;7619:41;;7607:2;7592:18;6965:364:26;7479:187:36;2441:144:0;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;7835:32:36;;;7817:51;;7805:2;7790:18;2441:144:0;7671:203:36;9635:375:26;;;;;;;;;;-1:-1:-1;9635:375:26;;;;;:::i;:::-;;:::i;10390:435::-;;;;;;;;;;-1:-1:-1;10390:435:26;;;;;:::i;:::-;;:::i;8619:118::-;;;;;;;;;;-1:-1:-1;8619:118:26;;;;;:::i;:::-;-1:-1:-1;;;;;8706:13:26;8680:7;8706:13;;;:6;:13;;;;;:24;;;;8619:118;1353:27;;;;;;;;;;-1:-1:-1;1353:27:26;;;;-1:-1:-1;;;;;1353:27:26;;;8896:170;;;;;;;;;;-1:-1:-1;8896:170:26;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1819:58:2:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;6125:382:26:-;;;;;;;;;;-1:-1:-1;6125:382:26;;;;;:::i;:::-;;:::i;3319:177::-;;;;;;;;;;-1:-1:-1;3319:177:26;;;;;:::i;:::-;;:::i;9072:147::-;;;;;;;;;;-1:-1:-1;9072:147:26;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1298:49::-;;;;;;;;;;-1:-1:-1;1298:49:26;;;;-1:-1:-1;;;;;1298:49:26;;;3656:220;;;;;;;;;;-1:-1:-1;3656:220:26;;;;;:::i;:::-;;:::i;1253:39::-;;;;;;;;;;-1:-1:-1;1253:39:26;;;;-1:-1:-1;;;;;1253:39:26;;;3405:215:0;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;1387:43:26:-;;;;;;;;;;-1:-1:-1;1387:43:26;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;1436:52::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1436:52:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1436:52:26;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1436:52:26;;;;-1:-1:-1;1436:52:26;;;:::o;5118:577::-;-1:-1:-1;;;;;5364:13:26;;;5395:1;5364:13;;;:6;:13;;;;;;;;:19;;;:33;5356:70;;;;-1:-1:-1;;;5356:70:26;;;;;;;:::i;:::-;;;;;;;;;5457:15;;:48;;-1:-1:-1;;;5457:48:26;;-1:-1:-1;;;;;5457:15:26;;;;:35;;:48;;5493:11;;5457:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5436:117;;;;-1:-1:-1;;;5436:117:26;;12974:2:36;5436:117:26;;;12956:21:36;13013:2;12993:18;;;12986:30;-1:-1:-1;;;13032:18:36;;;13025:52;13094:18;;5436:117:26;12772:346:36;5436:117:26;5564:50;5577:5;5584:4;5590:8;5600:10;5612:1;5564:12;:50::i;:::-;5625:63;5641:5;5648:11;5661:12;5675;5625:15;:63::i;:::-;5118:577;;;;;;:::o;2023:343::-;4158:30:1;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:1;-1:-1:-1;;;4302:15:1;;;4301:16;;-1:-1:-1;;;;;4348:14:1;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;-1:-1:-1;;;;;4788:16:1;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;2174:26:26::1;2189:10;2174:14;:26::i;:::-;2210:24;:22;:24::i;:::-;2253:15;:34:::0;;-1:-1:-1;;;;;2253:34:26;;::::1;-1:-1:-1::0;;;;;;2253:34:26;;::::1;;::::0;;;;2297;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;2341:14:::1;:18:::0;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;13276:50:36;;5140:14:1;;13264:2:36;13249:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;2023:343:26;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;7428:536:26:-;-1:-1:-1;;;;;7492:13:26;;;7523:1;7492:13;;;:6;:13;;;;;;;;:19;;;:33;7484:70;;;;-1:-1:-1;;;7484:70:26;;;;;;;:::i;:::-;7565:45;7630:15;;7613:53;;-1:-1:-1;;;7613:53:26;;-1:-1:-1;;;;;7835:32:36;;;7613:53:26;;;7817:51:36;7630:15:26;;;;7613:46;;7790:18:36;;7613:53:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7613:53:26;;;;;;;;;;;;:::i;:::-;7565:101;;7712:11;:17;;;-1:-1:-1;;;;;7698:31:26;:10;-1:-1:-1;;;;;7698:31:26;;:56;;;;7747:7;:5;:7::i;:::-;-1:-1:-1;;;;;7733:21:26;:10;-1:-1:-1;;;;;7733:21:26;;7698:56;7677:127;;;;-1:-1:-1;;;7677:127:26;;15187:2:36;7677:127:26;;;15169:21:36;15226:2;15206:18;;;15199:30;15265:26;15245:18;;;15238:54;15309:18;;7677:127:26;14985:348:36;7677:127:26;7815:102;7828:5;7835:11;:16;;;7853:11;:20;;;7875:11;:17;;;7894:11;:22;;;7815:12;:102::i;:::-;7928:29;7951:5;7928:22;:29::i;7970:643::-;8100:12;;8059:7;;-1:-1:-1;;;;;8100:12:26;8086:10;:26;8078:68;;;;-1:-1:-1;;;8078:68:26;;15540:2:36;8078:68:26;;;15522:21:36;15579:2;15559:18;;;15552:30;15618:31;15598:18;;;15591:59;15667:18;;8078:68:26;15338:353:36;8078:68:26;8204:3;8193:7;:14;;8156:109;;;;-1:-1:-1;;;8156:109:26;;15898:2:36;8156:109:26;;;15880:21:36;;;15917:18;;;15910:30;15976:34;15956:18;;;15949:62;16028:18;;8156:109:26;15696:356:36;8156:109:26;-1:-1:-1;;;;;8275:13:26;;;;;;:6;:13;;;;;:26;;:31;;8305:1;;8275:13;:31;;8305:1;;8275:31;:::i;:::-;;;;-1:-1:-1;;;;;;;8473:13:26;;;;;;:6;:13;;;;;:26;;;8450:7;8400:30;8429:1;8473:26;8400:30;:::i;:::-;-1:-1:-1;;;;;8356:13:26;;;;;;:6;:13;;;;;:24;;;:75;;;;:::i;:::-;:101;;;;:::i;:::-;8355:144;;;;:::i;:::-;-1:-1:-1;;;;;8316:13:26;;;;;;:6;:13;;;;;;;:24;;:183;;;8514:50;8316:13;;8514:50;;;;4963:25:36;;4951:2;4936:18;;4817:177;8514:50:26;;;;;;;;-1:-1:-1;;;;;;8582:13:26;;;;;;:6;:13;;;;;:24;;;7970:643;;;;;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;4302:269:26:-;-1:-1:-1;;;;;4441:13:26;;;4472:1;4441:13;;;:6;:13;;;;;;;;:19;;;:33;4433:70;;;;-1:-1:-1;;;4433:70:26;;;;;;;:::i;:::-;4514:50;4527:5;4534:4;4540:8;4550:10;4562:1;4514:12;:50::i;:::-;4302:269;;;:::o;6965:364::-;-1:-1:-1;;;;;1600:13:26;;;7086:4;1600:13;;;:6;:13;;;;;:19;;;7086:4;;7070:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:26;;;;;;;:::i;:::-;7123:21:::1;::::0;;;:9:::1;:21;::::0;;;;:28;-1:-1:-1;;;;;7123:37:26;;::::1;:28:::0;::::1;:37;7102:109;;;::::0;-1:-1:-1;;;7102:109:26;;17404:2:36;7102:109:26::1;::::0;::::1;17386:21:36::0;17443:2;17423:18;;;17416:30;17482:27;17462:18;;;17455:55;17527:18;;7102:109:26::1;17202:349:36::0;7102:109:26::1;7229:21;::::0;;;:9:::1;:21;::::0;;;;7222:28;;-1:-1:-1;;;;;;7222:28:26::1;::::0;;7229:21;7222:28:::1;::::0;;::::1;7229:21:::0;7222:28:::1;:::i;:::-;-1:-1:-1::0;7222:28:26::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;7222:28:26::1;::::0;;::::1;::::0;::::1;::::0;::::1;;::::0;;-1:-1:-1;;7222:28:26::1;::::0;;7266:34:::1;::::0;4963:25:36;;;-1:-1:-1;;;;;7266:34:26;::::1;::::0;::::1;::::0;4951:2:36;4936:18;7266:34:26::1;;;;;;;-1:-1:-1::0;7318:4:26::1;::::0;6965:364;-1:-1:-1;;;6965:364:26:o;2441:144:0:-;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144::o;9635:375:26:-;-1:-1:-1;;;;;1600:13:26;;;;;;;:6;:13;;;;;:19;;;9770:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;9795:13:26;;::::1;9826:1;9795:13:::0;;;:6:::1;:13;::::0;;;;;;;:19:::1;::::0;::::1;9787:66;;;::::0;-1:-1:-1;;;9787:66:26;;17758:2:36;9787:66:26::1;::::0;::::1;17740:21:36::0;17797:2;17777:18;;;17770:30;-1:-1:-1;;;17816:18:36;;;17809:50;17876:18;;9787:66:26::1;17556:344:36::0;9787:66:26::1;-1:-1:-1::0;;;;;9872:13:26;::::1;;::::0;;;:6:::1;:13;::::0;;;;:25:::1;9893:4:::0;9872:13;:25:::1;:::i;:::-;-1:-1:-1::0;;;;;;9907:13:26;::::1;;::::0;;;:6:::1;:13;::::0;;;;:22:::1;;:33;9932:8:::0;9907:22;:33:::1;:::i;:::-;;9981:5;-1:-1:-1::0;;;;;9964:39:26::1;;9988:4;9994:8;9964:39;;;;;;;:::i;:::-;;;;;;;;9635:375:::0;;;;:::o;10390:435::-;-1:-1:-1;;;;;1600:13:26;;;;;;;:6;:13;;;;;:19;;;10450:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;10475:13:26;;::::1;10506:1;10475:13:::0;;;:6:::1;:13;::::0;;;;;;;:19:::1;::::0;::::1;10467:66;;;::::0;-1:-1:-1;;;10467:66:26;;17758:2:36;10467:66:26::1;::::0;::::1;17740:21:36::0;17797:2;17777:18;;;17770:30;-1:-1:-1;;;17816:18:36;;;17809:50;17876:18;;10467:66:26::1;17556:344:36::0;10467:66:26::1;-1:-1:-1::0;;;;;10573:13:26;;::::1;10552:18;10573:13:::0;;;:6:::1;:13;::::0;;;;:19:::1;;::::0;::::1;10665:31;10580:5:::0;10665:24:::1;:31::i;:::-;-1:-1:-1::0;;;;;10750:13:26;::::1;;::::0;;;:6:::1;:13;::::0;;;;;10743:20:::1;10750:13:::0;;10743:20:::1;:::i;:::-;;;::::0;::::1;;;:::i;:::-;-1:-1:-1::0;10743:20:26::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;10743:20:26;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;10787:31:::1;::::0;-1:-1:-1;;;;;10787:31:26;;::::1;::::0;;;::::1;::::0;::::1;::::0;10743:20;10787:31:::1;10457:368;10390:435:::0;;:::o;8896:170::-;8971:16;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8971:16:26;-1:-1:-1;;;;;9024:14:26;;8999:22;9024:14;;;:6;:14;;;;;;;9048:11;;;;;;;;;;9024:14;;9048:11;9024:14;;9048:11;;9024:14;;9048:11;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9048:11:26;;;-1:-1:-1;;9048:11:26;;;;-1:-1:-1;;;;;9048:11:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8896:170;-1:-1:-1;;;8896:170:26:o;6125:382::-;-1:-1:-1;;;;;1600:13:26;;;;;;;:6;:13;;;;;:19;;;6292:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:26;;;;;;;:::i;:::-;6330:15:::1;::::0;:48:::1;::::0;-1:-1:-1;;;6330:48:26;;-1:-1:-1;;;;;6330:15:26;;::::1;::::0;:35:::1;::::0;:48:::1;::::0;6366:11;;6330:48:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6309:117;;;::::0;-1:-1:-1;;;6309:117:26;;12974:2:36;6309:117:26::1;::::0;::::1;12956:21:36::0;13013:2;12993:18;;;12986:30;-1:-1:-1;;;13032:18:36;;;13025:52;13094:18;;6309:117:26::1;12772:346:36::0;6309:117:26::1;6437:63;6453:5;6460:11;6473:12;6487;6437:15;:63::i;:::-;6125:382:::0;;;;;:::o;3319:177::-;2334:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3404:27:26;::::1;3396:55;;;::::0;-1:-1:-1;;;3396:55:26;;20690:2:36;3396:55:26::1;::::0;::::1;20672:21:36::0;20729:2;20709:18;;;20702:30;-1:-1:-1;;;20748:18:36;;;20741:45;20803:18;;3396:55:26::1;20488:339:36::0;3396:55:26::1;3461:12;:28:::0;;-1:-1:-1;;;;;;3461:28:26::1;-1:-1:-1::0;;;;;3461:28:26;;;::::1;::::0;;;::::1;::::0;;3319:177::o;9072:147::-;9150:22;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9150:22:26;9191:21;;;;:9;:21;;;;;;;;;9184:28;;;;;;;;;;-1:-1:-1;;;;;9184:28:26;;;;;;;;9191:21;;9184:28;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9184:28:26;;;-1:-1:-1;;9184:28:26;;;;;;;;;;;;-1:-1:-1;;;;;9184:28:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;9072:147;-1:-1:-1;;9072:147:26:o;3656:220::-;2334:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3747:30:26;::::1;3739:58;;;::::0;-1:-1:-1;;;3739:58:26;;20690:2:36;3739:58:26::1;::::0;::::1;20672:21:36::0;20729:2;20709:18;;;20702:30;-1:-1:-1;;;20748:18:36;;;20741:45;20803:18;;3739:58:26::1;20488:339:36::0;3739:58:26::1;3807:15;:62:::0;;-1:-1:-1;;;;;;3807:62:26::1;-1:-1:-1::0;;;;;3807:62:26;;;::::1;::::0;;;::::1;::::0;;3656:220::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;7817:51:36::0;7790:18;;3534:31:0::1;7671:203:36::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;1387:43:26:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1387:43:26;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1387:43:26;;;;;;;;;-1:-1:-1;1387:43:26;;:::o;10831:470::-;-1:-1:-1;;;;;11041:13:26;;11011:27;11041:13;;;:6;:13;;;;;;11064:21;11081:4;11041:13;11064:21;:::i;:::-;-1:-1:-1;11095:18:26;;;:29;11116:8;11095:18;:29;:::i;:::-;-1:-1:-1;11134:15:26;;;:23;;-1:-1:-1;;;;;11134:23:26;;;-1:-1:-1;;;;;;11134:23:26;;;;;;;;11167:15;;;:23;;;;;;;;;;;;;;11200:20;;;:33;;;11249:45;;;;;;11279:4;;11285:8;;11249:45;:::i;:::-;;;;;;;;11001:300;10831:470;;;;;:::o;11307:548::-;11511:167;;;;;;;;-1:-1:-1;;;;;11511:167:26;;;;;;;;;;;;;;;;;;;;;;;;;11636:14;;11511:167;;;;;;11664:4;11511:167;;;;;;-1:-1:-1;11689:25:26;;;:9;:25;;;;;;;:39;;;;-1:-1:-1;;;;;;11689:39:26;;;;;;;;;;;11511:167;;;;11689:39;;;;;;;;:::i;:::-;-1:-1:-1;11689:39:26;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11689:39:26;-1:-1:-1;;;;;11689:39:26;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11689:39:26;;;;;;;;;;11765:14;;11744:77;;;;;;;;;;11781:11;;11794:12;;11808;;11744:77;:::i;:::-;;;;;;;;11832:14;:16;;;:14;:16;;;:::i;:::-;;;;;;11464:391;11307:548;;;;:::o;9071:205:1:-;9129:30;;3147:66;9186:27;8819:122;1847:127:0;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:11;-1:-1:-1;;;;;1519:53:11;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;13918:84:26;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;7835:32:36;;6493:60:2;;;7817:51:36;7790:18;;6493:60:2;7671:203:36;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;4963:25:36;;;4936:18;;6292:34:2;4817:177:36;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;12535:633:26;12600:30;12650:15;;;;;;;;;-1:-1:-1;;;;;12650:15:26;-1:-1:-1;;;;;12633:61:26;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12600:96;;12712:9;12707:455;12731:22;12727:1;:26;12707:455;;;12774:41;12852:15;;12818:78;;-1:-1:-1;;;12818:78:26;;;;;4963:25:36;;;-1:-1:-1;;;;;12852:15:26;;;;12818:75;;4936:18:36;;12818:78:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12818:78:26;;;;;;;;;;;;:::i;:::-;12774:122;;12934:5;-1:-1:-1;;;;;12915:24:26;:8;:15;;;-1:-1:-1;;;;;12915:24:26;;;:46;;;;12944:8;:17;;;12943:18;12915:46;12911:93;;;12981:8;;;12911:93;13018:46;13043:8;:20;;;13018:24;:46::i;:::-;13079:72;13095:5;13102:8;:20;;;13124:8;:14;;;13148:1;13079:15;:72::i;:::-;12760:402;12707:455;12755:3;;12707:455;;2658:162:0;966:10:3;2717:7:0;:5;:7::i;:::-;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;7817:51:36;7790:18;;2763:40:0;7671:203:36;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;13350:379:26:-;13512:1;13495:228;13519:14;;13515:1;:18;13495:228;;;13558:12;;;;:9;:12;;;;;:19;-1:-1:-1;;;;;13558:28:26;;;:19;;:28;:53;;;;-1:-1:-1;13590:12:26;;;;:9;:12;;;;;:21;;;;;13558:53;13554:159;;;13638:12;;;;:9;:12;;;;;13631:19;;-1:-1:-1;;;;;;13631:19:26;;;13638:12;13631:19;;;;13638:12;13631:19;:::i;:::-;-1:-1:-1;13631:19:26;;;;;;;;;;;;-1:-1:-1;;;;;;13631:19:26;;;;;;;;;;;-1:-1:-1;;13631:19:26;;;13673:25;;4963::36;;;-1:-1:-1;;;;;13673:25:26;;;;;4951:2:36;4936:18;13673:25:26;;;;;;;13554:159;13535:3;;13495:228;;7082:141:1;7149:17;:15;:17::i;:::-;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;2264:344:11:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:11;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;11861:668:26:-;11945:15;;:48;;-1:-1:-1;;;11945:48:26;;-1:-1:-1;;;;;11945:15:26;;;;:35;;:48;;11981:11;;11945:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11940:583;;12009:29;12058:15;;;;;;;;;-1:-1:-1;;;;;12058:15:26;-1:-1:-1;;;;;12041:66:26;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12293:58;;-1:-1:-1;;;12293:58:26;;12009:100;;-1:-1:-1;12009:100:26;;12124:36;;-1:-1:-1;;;;;12293:45:26;;;;;:58;;12339:11;;12293:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12293:58:26;;;;;;;;;;;;:::i;:::-;12366:15;;12415:12;;12445:16;;;;12479:19;;;;;12366:146;;-1:-1:-1;;;12366:146:26;;12249:102;;-1:-1:-1;;;;;;12366:15:26;;;;:31;;:146;;12415:12;12445:16;12366:146;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12366:146:26;;;;;;;;;;;;:::i;8485:120:1:-;8535:4;8558:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8558:40:1;;;;;;-1:-1:-1;8485:120:1:o;1671:281:11:-;1748:17;-1:-1:-1;;;;;1748:29:11;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:11;;-1:-1:-1;;;;;7835:32:36;;1805:47:11;;;7817:51:36;7790:18;;1805:47:11;7671:203:36;1744:119:11;-1:-1:-1;;;;;;;;;;;1872:73:11;;-1:-1:-1;;;;;;1872:73:11;-1:-1:-1;;;;;1872:73:11;;;;;;;;;;1671:281::o;3916:253:20:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:20;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:20:o;6113:122:11:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:11;;;;;;;;;;;4437:582:20;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:20;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:20;;-1:-1:-1;;;;;7835:32:36;;4933:24:20;;;7817:51:36;7790:18;;4933:24:20;7671:203:36;4853:119:20;-1:-1:-1;4992:10:20;4605:408;4437:582;;;;;:::o;5559:487::-;5690:17;;:21;5686:354;;5887:10;5881:17;5943:15;5930:10;5926:2;5922:19;5915:44;5686:354;6010:19;;-1:-1:-1;;;6010:19:20;;;;;;;;;;;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:36:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:36;;14:180;-1:-1:-1;14:180:36:o;199:250::-;284:1;294:113;308:6;305:1;302:13;294:113;;;384:11;;;378:18;365:11;;;358:39;330:2;323:10;294:113;;;-1:-1:-1;;441:1:36;423:16;;416:27;199:250::o;454:271::-;496:3;534:5;528:12;561:6;556:3;549:19;577:76;646:6;639:4;634:3;630:14;623:4;616:5;612:16;577:76;:::i;:::-;707:2;686:15;-1:-1:-1;;682:29:36;673:39;;;;714:4;669:50;;454:271;-1:-1:-1;;454:271:36:o;730:645::-;976:4;1022:1;1018;1013:3;1009:11;1005:19;1063:2;1055:6;1051:15;1040:9;1033:34;1103:3;1098:2;1087:9;1083:18;1076:31;1124:46;1165:3;1154:9;1150:19;1142:6;1124:46;:::i;:::-;1201:2;1186:18;;1179:34;;;;1249:15;;;;1244:2;1229:18;;1222:43;1296:3;1281:19;;1274:35;;;;1353:14;1346:22;1340:3;1325:19;;;1318:51;-1:-1:-1;1116:54:36;730:645;-1:-1:-1;;730:645:36:o;1380:131::-;-1:-1:-1;;;;;1455:31:36;;1445:42;;1435:70;;1501:1;1498;1491:12;1516:127;1577:10;1572:3;1568:20;1565:1;1558:31;1608:4;1605:1;1598:15;1632:4;1629:1;1622:15;1648:253;1720:2;1714:9;1762:4;1750:17;;-1:-1:-1;;;;;1782:34:36;;1818:22;;;1779:62;1776:88;;;1844:18;;:::i;:::-;1880:2;1873:22;1648:253;:::o;1906:::-;1978:2;1972:9;2020:4;2008:17;;-1:-1:-1;;;;;2040:34:36;;2076:22;;;2037:62;2034:88;;;2102:18;;:::i;2164:253::-;2236:2;2230:9;2278:4;2266:17;;-1:-1:-1;;;;;2298:34:36;;2334:22;;;2295:62;2292:88;;;2360:18;;:::i;2422:253::-;2494:2;2488:9;2536:4;2524:17;;-1:-1:-1;;;;;2556:34:36;;2592:22;;;2553:62;2550:88;;;2618:18;;:::i;2680:275::-;2751:2;2745:9;2816:2;2797:13;;-1:-1:-1;;2793:27:36;2781:40;;-1:-1:-1;;;;;2836:34:36;;2872:22;;;2833:62;2830:88;;;2898:18;;:::i;:::-;2934:2;2927:22;2680:275;;-1:-1:-1;2680:275:36:o;2960:187::-;3009:4;-1:-1:-1;;;;;3034:6:36;3031:30;3028:56;;;3064:18;;:::i;:::-;-1:-1:-1;3130:2:36;3109:15;-1:-1:-1;;3105:29:36;3136:4;3101:40;;2960:187::o;3152:338::-;3217:5;3246:53;3262:36;3291:6;3262:36;:::i;:::-;3246:53;:::i;:::-;3237:62;;3322:6;3315:5;3308:21;3362:3;3353:6;3348:3;3344:16;3341:25;3338:45;;;3379:1;3376;3369:12;3338:45;3428:6;3423:3;3416:4;3409:5;3405:16;3392:43;3482:1;3475:4;3466:6;3459:5;3455:18;3451:29;3444:40;3152:338;;;;;:::o;3495:222::-;3538:5;3591:3;3584:4;3576:6;3572:17;3568:27;3558:55;;3609:1;3606;3599:12;3558:55;3631:80;3707:3;3698:6;3685:20;3678:4;3670:6;3666:17;3631:80;:::i;3722:1090::-;3856:6;3864;3872;3880;3888;3896;3949:3;3937:9;3928:7;3924:23;3920:33;3917:53;;;3966:1;3963;3956:12;3917:53;4005:9;3992:23;4024:31;4049:5;4024:31;:::i;:::-;4074:5;-1:-1:-1;4130:2:36;4115:18;;4102:32;-1:-1:-1;;;;;4183:14:36;;;4180:34;;;4210:1;4207;4200:12;4180:34;4233:50;4275:7;4266:6;4255:9;4251:22;4233:50;:::i;:::-;4223:60;;4336:2;4325:9;4321:18;4308:32;4292:48;;4365:2;4355:8;4352:16;4349:36;;;4381:1;4378;4371:12;4349:36;4404:52;4448:7;4437:8;4426:9;4422:24;4404:52;:::i;:::-;4394:62;;4509:2;4498:9;4494:18;4481:32;4465:48;;4538:2;4528:8;4525:16;4522:36;;;4554:1;4551;4544:12;4522:36;;4577:52;4621:7;4610:8;4599:9;4595:24;4577:52;:::i;:::-;4567:62;;;4676:3;4665:9;4661:19;4648:33;4638:43;;4733:3;4722:9;4718:19;4705:33;4747;4772:7;4747:33;:::i;:::-;4799:7;4789:17;;;3722:1090;;;;;;;;:::o;4999:448::-;5127:6;5135;5188:2;5176:9;5167:7;5163:23;5159:32;5156:52;;;5204:1;5201;5194:12;5156:52;5243:9;5230:23;5262:31;5287:5;5262:31;:::i;:::-;5312:5;-1:-1:-1;5369:2:36;5354:18;;5341:32;5382:33;5341:32;5382:33;:::i;:::-;5434:7;5424:17;;;4999:448;;;;;:::o;5452:585::-;5529:6;5537;5590:2;5578:9;5569:7;5565:23;5561:32;5558:52;;;5606:1;5603;5596:12;5558:52;5645:9;5632:23;5664:31;5689:5;5664:31;:::i;:::-;5714:5;-1:-1:-1;5770:2:36;5755:18;;5742:32;-1:-1:-1;;;;;5786:30:36;;5783:50;;;5829:1;5826;5819:12;5783:50;5852:22;;5905:4;5897:13;;5893:27;-1:-1:-1;5883:55:36;;5934:1;5931;5924:12;5883:55;5957:74;6023:7;6018:2;6005:16;6000:2;5996;5992:11;5957:74;:::i;:::-;5947:84;;;5452:585;;;;;:::o;6224:247::-;6283:6;6336:2;6324:9;6315:7;6311:23;6307:32;6304:52;;;6352:1;6349;6342:12;6304:52;6391:9;6378:23;6410:31;6435:5;6410:31;:::i;6476:315::-;6544:6;6552;6605:2;6593:9;6584:7;6580:23;6576:32;6573:52;;;6621:1;6618;6611:12;6573:52;6660:9;6647:23;6679:31;6704:5;6679:31;:::i;:::-;6729:5;6781:2;6766:18;;;;6753:32;;-1:-1:-1;;;6476:315:36:o;6796:678::-;6893:6;6901;6909;6962:2;6950:9;6941:7;6937:23;6933:32;6930:52;;;6978:1;6975;6968:12;6930:52;7017:9;7004:23;7036:31;7061:5;7036:31;:::i;:::-;7086:5;-1:-1:-1;7142:2:36;7127:18;;7114:32;-1:-1:-1;;;;;7195:14:36;;;7192:34;;;7222:1;7219;7212:12;7192:34;7245:50;7287:7;7278:6;7267:9;7263:22;7245:50;:::i;:::-;7235:60;;7348:2;7337:9;7333:18;7320:32;7304:48;;7377:2;7367:8;7364:16;7361:36;;;7393:1;7390;7383:12;7361:36;;7416:52;7460:7;7449:8;7438:9;7434:24;7416:52;:::i;:::-;7406:62;;;6796:678;;;;;:::o;7879:906::-;8062:2;8051:9;8044:21;8025:4;8100:6;8094:13;8143:4;8138:2;8127:9;8123:18;8116:32;8171:52;8218:3;8207:9;8203:19;8189:12;8171:52;:::i;:::-;8157:66;;8272:2;8264:6;8260:15;8254:22;8344:2;8340:7;8328:9;8320:6;8316:22;8312:36;8307:2;8296:9;8292:18;8285:64;8372:41;8406:6;8390:14;8372:41;:::i;:::-;8358:55;;;8462:2;8454:6;8450:15;8444:22;8502:1;8498;8493:3;8489:11;8485:19;8560:2;8544:14;8540:23;8535:2;8524:9;8520:18;8513:51;8629:2;8623;8615:6;8611:15;8605:22;8601:31;8595:3;8584:9;8580:19;8573:60;;;8688:3;8680:6;8676:16;8670:23;8664:3;8653:9;8649:19;8642:52;8750:3;8742:6;8738:16;8732:23;8725:4;8714:9;8710:20;8703:53;8773:6;8765:14;;;7879:906;;;;:::o;8790:220::-;8939:2;8928:9;8921:21;8902:4;8959:45;9000:2;8989:9;8985:18;8977:6;8959:45;:::i;9015:667::-;9111:6;9119;9127;9135;9188:3;9176:9;9167:7;9163:23;9159:33;9156:53;;;9205:1;9202;9195:12;9156:53;9244:9;9231:23;9263:31;9288:5;9263:31;:::i;:::-;9313:5;-1:-1:-1;9369:2:36;9354:18;;9341:32;-1:-1:-1;;;;;9385:30:36;;9382:50;;;9428:1;9425;9418:12;9382:50;9451;9493:7;9484:6;9473:9;9469:22;9451:50;:::i;:::-;9441:60;;;9548:2;9537:9;9533:18;9520:32;9510:42;;9604:2;9593:9;9589:18;9576:32;9617:33;9642:7;9617:33;:::i;:::-;9015:667;;;;-1:-1:-1;9015:667:36;;-1:-1:-1;;9015:667:36:o;9687:758::-;9882:2;9871:9;9864:21;9845:4;9921:1;9917;9912:3;9908:11;9904:19;9978:2;9969:6;9963:13;9959:22;9954:2;9943:9;9939:18;9932:50;10029:2;10021:6;10017:15;10011:22;10069:4;10064:2;10053:9;10049:18;10042:32;10097:52;10144:3;10133:9;10129:19;10115:12;10097:52;:::i;:::-;10083:66;;10203:2;10195:6;10191:15;10185:22;10180:2;10169:9;10165:18;10158:50;10273:2;10267;10259:6;10255:15;10249:22;10245:31;10239:3;10228:9;10224:19;10217:60;10332:3;10324:6;10320:16;10314:23;10308:3;10297:9;10293:19;10286:52;10408:3;10400:6;10396:16;10390:23;10383:31;10376:39;10369:4;10358:9;10354:20;10347:69;10433:6;10425:14;;;;9687:758;;;;:::o;10926:727::-;11235:3;11224:9;11217:22;11198:4;11262:46;11303:3;11292:9;11288:19;11280:6;11262:46;:::i;:::-;11356:9;11348:6;11344:22;11339:2;11328:9;11324:18;11317:50;11384:33;11410:6;11402;11384:33;:::i;:::-;-1:-1:-1;;;;;11491:15:36;;;11486:2;11471:18;;11464:43;11543:15;;;;11538:2;11523:18;;11516:43;-1:-1:-1;11590:3:36;11575:19;;11568:35;;;;11444:3;11619:19;;;11612:35;11543:15;11376:41;-1:-1:-1;;;10926:727:36:o;11658:380::-;11737:1;11733:12;;;;11780;;;11801:61;;11855:4;11847:6;11843:17;11833:27;;11801:61;11908:2;11900:6;11897:14;11877:18;11874:38;11871:161;;11954:10;11949:3;11945:20;11942:1;11935:31;11989:4;11986:1;11979:15;12017:4;12014:1;12007:15;11871:161;;11658:380;;;:::o;12043:348::-;12245:2;12227:21;;;12284:2;12264:18;;;12257:30;12323:26;12318:2;12303:18;;12296:54;12382:2;12367:18;;12043:348::o;12396:164::-;12472:13;;12521;;12514:21;12504:32;;12494:60;;12550:1;12547;12540:12;12494:60;12396:164;;;:::o;12565:202::-;12632:6;12685:2;12673:9;12664:7;12660:23;12656:32;12653:52;;;12701:1;12698;12691:12;12653:52;12724:37;12751:9;12724:37;:::i;13337:443::-;13391:5;13444:3;13437:4;13429:6;13425:17;13421:27;13411:55;;13462:1;13459;13452:12;13411:55;13491:6;13485:13;13522:49;13538:32;13567:2;13538:32;:::i;13522:49::-;13596:2;13587:7;13580:19;13642:3;13635:4;13630:2;13622:6;13618:15;13614:26;13611:35;13608:55;;;13659:1;13656;13649:12;13608:55;13672:77;13746:2;13739:4;13730:7;13726:18;13719:4;13711:6;13707:17;13672:77;:::i;:::-;13767:7;13337:443;-1:-1:-1;;;;13337:443:36:o;13785:138::-;13864:13;;13886:31;13864:13;13886:31;:::i;13928:1052::-;14025:6;14078:2;14066:9;14057:7;14053:23;14049:32;14046:52;;;14094:1;14091;14084:12;14046:52;14127:9;14121:16;-1:-1:-1;;;;;14197:2:36;14189:6;14186:14;14183:34;;;14213:1;14210;14203:12;14183:34;14236:22;;;;14292:4;14274:16;;;14270:27;14267:47;;;14310:1;14307;14300:12;14267:47;14336:22;;:::i;:::-;14389:2;14383:9;14417:2;14407:8;14404:16;14401:36;;;14433:1;14430;14423:12;14401:36;14460:56;14508:7;14497:8;14493:2;14489:17;14460:56;:::i;:::-;14453:5;14446:71;;14556:2;14552;14548:11;14542:18;14585:2;14575:8;14572:16;14569:36;;;14601:1;14598;14591:12;14569:36;14637:56;14685:7;14674:8;14670:2;14666:17;14637:56;:::i;:::-;14632:2;14625:5;14621:14;14614:80;;14726:42;14764:2;14760;14756:11;14726:42;:::i;:::-;14721:2;14714:5;14710:14;14703:66;14801:42;14839:2;14835;14831:11;14801:42;:::i;:::-;14796:2;14789:5;14785:14;14778:66;14891:3;14887:2;14883:12;14877:19;14871:3;14864:5;14860:15;14853:44;14944:3;14940:2;14936:12;14930:19;14924:3;14917:5;14913:15;14906:44;14969:5;14959:15;;;;;13928:1052;;;;:::o;16057:127::-;16118:10;16113:3;16109:20;16106:1;16099:31;16149:4;16146:1;16139:15;16173:4;16170:1;16163:15;16189:125;16254:9;;;16275:10;;;16272:36;;;16288:18;;:::i;16319:128::-;16386:9;;;16407:11;;;16404:37;;;16421:18;;:::i;16452:168::-;16525:9;;;16556;;16573:15;;;16567:22;;16553:37;16543:71;;16594:18;;:::i;16625:217::-;16665:1;16691;16681:132;;16735:10;16730:3;16726:20;16723:1;16716:31;16770:4;16767:1;16760:15;16798:4;16795:1;16788:15;16681:132;-1:-1:-1;16827:9:36;;16625:217::o;16847:350::-;17049:2;17031:21;;;17088:2;17068:18;;;17061:30;17127:28;17122:2;17107:18;;17100:56;17188:2;17173:18;;16847:350::o;18031:543::-;18133:2;18128:3;18125:11;18122:446;;;18169:1;18193:5;18190:1;18183:16;18237:4;18234:1;18224:18;18307:2;18295:10;18291:19;18288:1;18284:27;18278:4;18274:38;18343:4;18331:10;18328:20;18325:47;;;-1:-1:-1;18366:4:36;18325:47;18421:2;18416:3;18412:12;18409:1;18405:20;18399:4;18395:31;18385:41;;18476:82;18494:2;18487:5;18484:13;18476:82;;;18539:17;;;18520:1;18509:13;18476:82;;18750:1345;18876:3;18870:10;-1:-1:-1;;;;;18895:6:36;18892:30;18889:56;;;18925:18;;:::i;:::-;18954:97;19044:6;19004:38;19036:4;19030:11;19004:38;:::i;:::-;18998:4;18954:97;:::i;:::-;19106:4;;19163:2;19152:14;;19180:1;19175:663;;;;19882:1;19899:6;19896:89;;;-1:-1:-1;19951:19:36;;;19945:26;19896:89;-1:-1:-1;;18707:1:36;18703:11;;;18699:24;18695:29;18685:40;18731:1;18727:11;;;18682:57;19998:81;;19145:944;;19175:663;17978:1;17971:14;;;18015:4;18002:18;;-1:-1:-1;;19211:20:36;;;19329:236;19343:7;19340:1;19337:14;19329:236;;;19432:19;;;19426:26;19411:42;;19524:27;;;;19492:1;19480:14;;;;19359:19;;19329:236;;;19333:3;19593:6;19584:7;19581:19;19578:201;;;19654:19;;;19648:26;-1:-1:-1;;19737:1:36;19733:14;;;19749:3;19729:24;19725:37;19721:42;19706:58;19691:74;;19578:201;-1:-1:-1;;;;;19825:1:36;19809:14;;;19805:22;19792:36;;-1:-1:-1;18750:1345:36:o;20100:383::-;20297:2;20286:9;20279:21;20260:4;20323:45;20364:2;20353:9;20349:18;20341:6;20323:45;:::i;:::-;20416:9;20408:6;20404:22;20399:2;20388:9;20384:18;20377:50;20444:33;20470:6;20462;20444:33;:::i;20832:461::-;21065:6;21054:9;21047:25;21108:3;21103:2;21092:9;21088:18;21081:31;21028:4;21129:46;21170:3;21159:9;21155:19;21147:6;21129:46;:::i;:::-;21206:2;21191:18;;21184:34;;;;-1:-1:-1;;;;;;21254:32:36;;;;21249:2;21234:18;;;21227:60;21121:54;20832:461;-1:-1:-1;;20832:461:36:o;21298:135::-;21337:3;21358:17;;;21355:43;;21378:18;;:::i;:::-;-1:-1:-1;21425:1:36;21414:13;;21298:135::o;21438:184::-;21508:6;21561:2;21549:9;21540:7;21536:23;21532:32;21529:52;;;21577:1;21574;21567:12;21529:52;-1:-1:-1;21600:16:36;;21438:184;-1:-1:-1;21438:184:36:o;21816:918::-;21912:6;21965:2;21953:9;21944:7;21940:23;21936:32;21933:52;;;21981:1;21978;21971:12;21933:52;22014:9;22008:16;-1:-1:-1;;;;;22084:2:36;22076:6;22073:14;22070:34;;;22100:1;22097;22090:12;22070:34;22123:22;;;;22179:4;22161:16;;;22157:27;22154:47;;;22197:1;22194;22187:12;22154:47;22223:22;;:::i;:::-;22275:2;22269:9;22287:33;22312:7;22287:33;:::i;:::-;22329:22;;22390:2;22382:11;;22376:18;22406:16;;;22403:36;;;22435:1;22432;22425:12;22403:36;22471:56;22519:7;22508:8;22504:2;22500:17;22471:56;:::i;:::-;22466:2;22459:5;22455:14;22448:80;;22574:2;22570;22566:11;22560:18;22555:2;22548:5;22544:14;22537:42;22625:2;22621;22617:11;22611:18;22606:2;22599:5;22595:14;22588:42;22663:40;22698:3;22694:2;22690:12;22663:40;:::i;:::-;22657:3;22646:15;;22639:65;22650:5;21816:918;-1:-1:-1;;;;;21816:918:36:o;22739:251::-;22809:6;22862:2;22850:9;22841:7;22837:23;22833:32;22830:52;;;22878:1;22875;22868:12;22830:52;22910:9;22904:16;22929:31;22954:5;22929:31;:::i;22995:1043::-;23090:6;23143:2;23131:9;23122:7;23118:23;23114:32;23111:52;;;23159:1;23156;23149:12;23111:52;23192:9;23186:16;-1:-1:-1;;;;;23262:2:36;23254:6;23251:14;23248:34;;;23278:1;23275;23268:12;23248:34;23301:22;;;;23357:4;23339:16;;;23335:27;23332:47;;;23375:1;23372;23365:12;23332:47;23401:22;;:::i;:::-;23454:2;23448:9;23482:2;23472:8;23469:16;23466:36;;;23498:1;23495;23488:12;23466:36;23525:56;23573:7;23562:8;23558:2;23554:17;23525:56;:::i;:::-;23518:5;23511:71;;23621:2;23617;23613:11;23607:18;23650:2;23640:8;23637:16;23634:36;;;23666:1;23663;23656:12;23634:36;23702:56;23750:7;23739:8;23735:2;23731:17;23702:56;:::i;:::-;23697:2;23690:5;23686:14;23679:80;;23798:2;23794;23790:11;23784:18;23827:2;23817:8;23814:16;23811:36;;;23843:1;23840;23833:12;23811:36;23879:56;23927:7;23916:8;23912:2;23908:17;23879:56;:::i;:::-;23874:2;23867:5;23863:14;23856:80;;23968:39;24003:2;23999;23995:11;23968:39;:::i;:::-;23963:2;23952:14;;23945:63;23956:5;22995:1043;-1:-1:-1;;;;;22995:1043:36:o;24043:546::-;24288:2;24277:9;24270:21;24251:4;24314:45;24355:2;24344:9;24340:18;24332:6;24314:45;:::i;:::-;24407:9;24399:6;24395:22;24390:2;24379:9;24375:18;24368:50;24441:33;24467:6;24459;24441:33;:::i;:::-;24427:47;;24522:9;24514:6;24510:22;24505:2;24494:9;24490:18;24483:50;24550:33;24576:6;24568;24550:33;:::i;:::-;24542:41;24043:546;-1:-1:-1;;;;;;24043:546:36:o;24594:971::-;24689:6;24742:2;24730:9;24721:7;24717:23;24713:32;24710:52;;;24758:1;24755;24748:12;24710:52;24791:9;24785:16;-1:-1:-1;;;;;24861:2:36;24853:6;24850:14;24847:34;;;24877:1;24874;24867:12;24847:34;24900:22;;;;24956:4;24938:16;;;24934:27;24931:47;;;24974:1;24971;24964:12;24931:47;25000:22;;:::i;:::-;25053:2;25047:9;25081:2;25071:8;25068:16;25065:36;;;25097:1;25094;25087:12;25065:36;25124:56;25172:7;25161:8;25157:2;25153:17;25124:56;:::i;:::-;25117:5;25110:71;;25220:2;25216;25212:11;25206:18;25249:2;25239:8;25236:16;25233:36;;;25265:1;25262;25255:12;25233:36;25301:56;25349:7;25338:8;25334:2;25330:17;25301:56;:::i;:::-;25296:2;25289:5;25285:14;25278:80;;25397:2;25393;25389:11;25383:18;25426:2;25416:8;25413:16;25410:36;;;25442:1;25439;25432:12;25410:36;25478:56;25526:7;25515:8;25511:2;25507:17;25478:56;:::i;:::-;25473:2;25462:14;;25455:80;-1:-1:-1;25466:5:36;24594:971;-1:-1:-1;;;;;24594:971:36:o;25570:287::-;25699:3;25737:6;25731:13;25753:66;25812:6;25807:3;25800:4;25792:6;25788:17;25753:66;:::i;:::-;25835:16;;;;;25570:287;-1:-1:-1;;25570:287:36:o" + "object": "6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x181 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x97A6278E GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xB2D78069 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD7071B1F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD7071B1F EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0xDCA60776 EQ PUSH2 0x4D2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4F2 JUMPI DUP1 PUSH4 0xFD66091E EQ PUSH2 0x512 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xB2D78069 EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0xC7F758A8 EQ PUSH2 0x465 JUMPI DUP1 PUSH4 0xCBCF252A EQ PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x97A6278E EQ PUSH2 0x341 JUMPI DUP1 PUSH4 0x9C89A0E2 EQ PUSH2 0x361 JUMPI DUP1 PUSH4 0x9E498F16 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0xAAC9F15A EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x3E7 JUMPI DUP1 PUSH4 0xAEBFD80E EQ PUSH2 0x425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x7216FE48 GT PUSH2 0x118 JUMPI DUP1 PUSH4 0x7216FE48 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0x7B5C219D EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x96A45139 EQ PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0x70370A81 EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x28F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x13CF08B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x270BAAA8 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x2AB09D14 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x485CC955 EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x23A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D3 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x223C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0x23F4 JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x24AB JUMP JUMPDEST PUSH2 0x736 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x24E4 JUMP JUMPDEST PUSH2 0x86C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x88B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x8A8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x28A CALLDATASIZE PUSH1 0x4 PUSH2 0x2564 JUMP JUMPDEST PUSH2 0xA07 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0xBC5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x2BF CALLDATASIZE PUSH1 0x4 PUSH2 0x2590 JUMP JUMPDEST PUSH2 0xBD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E4 PUSH2 0x2DF CALLDATASIZE PUSH1 0x4 PUSH2 0x2564 JUMP JUMPDEST PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x309 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x33C CALLDATASIZE PUSH1 0x4 PUSH2 0x2590 JUMP JUMPDEST PUSH2 0xD9D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x35C CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0xECF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DA PUSH2 0x3D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2605 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x418 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2681 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x440 CALLDATASIZE PUSH1 0x4 PUSH2 0x2694 JUMP JUMPDEST PUSH2 0x1207 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x451 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x460 CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x130E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x485 PUSH2 0x480 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D3 JUMP JUMPDEST PUSH2 0x1380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x26FF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x4CD CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x14C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x50D CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x153A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x532 PUSH2 0x52D CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2767 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 SWAP2 PUSH2 0x570 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x59C SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP2 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 POP PUSH1 0xFF AND DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x65E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x68E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6AB 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 0x6CF SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x714 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x722 DUP7 DUP7 DUP7 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x72E DUP7 DUP5 DUP5 DUP5 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x740 PUSH2 0x18A3 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x767 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x783 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x791 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x7AF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x7D9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x7E2 CALLER PUSH2 0x18CC JUMP JUMPDEST PUSH2 0x7EA PUSH2 0x18DD JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP3 DUP10 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR DUP2 SSTORE PUSH1 0x5 SSTORE DUP4 ISZERO PUSH2 0x863 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x874 PUSH2 0x18E5 JUMP JUMPDEST PUSH2 0x87D DUP3 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x887 DUP3 DUP3 PUSH2 0x1992 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x895 PUSH2 0x1A4F JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x8E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5564F8AD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xAAC9F15A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x92F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x957 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x28B4 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x995 JUMPI POP PUSH2 0x980 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x9E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F74206F776E6572206F72206167656E74206F776E65720000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x9FE DUP3 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x20 ADD MLOAD DUP5 PUSH1 0x40 ADD MLOAD DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x887 DUP3 PUSH2 0x1A98 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865205461736B526567697374727920636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x64 DUP3 GT ISZERO PUSH2 0xAB5 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0xAE1 SWAP1 DUP5 SWAP1 PUSH2 0x2993 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP3 PUSH2 0xB0E PUSH1 0x1 DUP4 PUSH2 0x29A6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH2 0xB34 SWAP2 SWAP1 PUSH2 0x29B9 JUMP JUMPDEST PUSH2 0xB3E SWAP2 SWAP1 PUSH2 0x2993 JUMP JUMPDEST PUSH2 0xB48 SWAP2 SWAP1 PUSH2 0x29D0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP4 SWAP1 SSTORE MLOAD SWAP1 SWAP2 PUSH32 0xFC577563F1B9A0461E24ABEF1E1FCC0D33D3D881F20B5DF6DDA59DE4AAE2C821 SWAP2 PUSH2 0xB99 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBCD PUSH2 0x1BEF JUMP JUMPDEST PUSH2 0xBD7 PUSH1 0x0 PUSH2 0x1C21 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0xC15 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 DUP4 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP2 DUP5 SWAP2 AND CALLER EQ PUSH2 0xC68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND SWAP2 AND EQ PUSH2 0xCD1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0xCFB PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP5 SWAP2 AND CALLER EQ PUSH2 0xDDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xE3D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xE5F DUP5 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD PUSH2 0xE85 DUP4 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x244B747F2AC491B7662C44209B5F6110934A8725F40D2BD91805F9D919A78B10 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xEC1 SWAP3 SWAP2 SWAP1 PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP2 AND CALLER EQ PUSH2 0xF0D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xF6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD AND PUSH2 0xF96 DUP4 PUSH2 0x1C92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0xFB9 DUP3 DUP3 PUSH2 0x2185 JUMP JUMPDEST PUSH2 0xFC7 PUSH1 0x1 DUP4 ADD PUSH1 0x0 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP3 SWAP1 DUP7 AND SWAP2 PUSH32 0x4CE8B3FE8E0BF47A6FEFBECDFD7C799755CEDE6061655521B10FC2E4B1FCC6B3 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1080 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD SWAP1 SWAP2 SWAP1 DUP3 SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH2 0x10B7 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10E3 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1130 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1105 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1130 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1113 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1149 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1175 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11C2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1197 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11C2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11A5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x3 DUP4 ADD SLOAD AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP6 SWAP2 AND CALLER EQ PUSH2 0x1245 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1275 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1292 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 0x12B6 SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x12FB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1307 DUP6 DUP6 DUP6 DUP6 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1316 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x135E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x13CD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x1409 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1435 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1482 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1457 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1482 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1465 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14D0 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1518 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x156C JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1C21 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP2 SWAP1 PUSH2 0x1593 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x15BF SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x160C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x160C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x15EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1621 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x164D SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x169A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x166F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x169A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x167D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP5 SWAP3 SWAP1 SWAP2 AND SWAP3 POP SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 PUSH2 0x16EE DUP7 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0x16FD DUP6 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP2 DUP11 AND SWAP2 SWAP1 SWAP3 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP4 ADD DUP5 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x2A562EFB52E7CEC209321F57200606311256DA6D2A1B19D44DB7837A3209DE28 SWAP1 PUSH2 0x176B SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP8 DUP2 MSTORE DUP4 DUP6 ADD DUP8 SWAP1 MSTORE DUP6 DUP4 AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x5 SLOAD PUSH1 0x80 DUP6 ADD DUP2 SWAP1 MSTORE PUSH1 0x1 PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x4 SWAP1 SWAP4 MSTORE SWAP5 SWAP1 SWAP5 KECCAK256 DUP4 MLOAD DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR DUP3 SSTORE SWAP3 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP3 ADD SWAP1 PUSH2 0x17F3 SWAP1 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x40 DUP3 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x3 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND OR SWAP1 SSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x4 DUP5 ADD SSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD MLOAD PUSH1 0x5 SWAP3 DUP4 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE SWAP1 SLOAD SWAP1 MLOAD SWAP2 DUP8 AND SWAP2 PUSH32 0xA6E87A4BA187A506BB81720F5FBD241C879EC33DF712DE8C1BFCCC354DBE450F SWAP2 PUSH2 0x187F SWAP2 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH2 0x2B55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x5 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x1897 DUP4 PUSH2 0x2B8F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0xBBF JUMP JUMPDEST PUSH2 0x18D4 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1DA0 JUMP JUMPDEST PUSH2 0xBD7 PUSH2 0x1D7B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x196C JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1960 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1575 PUSH2 0x1BEF JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x19EC JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x19E9 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1A14 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x1A45 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 PUSH2 0x1DA8 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2AB09D14 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 0x1AEC 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 0x1B10 SWAP2 SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1B8F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2BC1 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x1BB8 JUMPI POP DUP1 PUSH1 0x80 ADD MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x1BC3 JUMPI POP PUSH2 0x1BE7 JUMP JUMPDEST PUSH2 0x1BD0 DUP2 PUSH1 0x20 ADD MLOAD PUSH2 0x1DFE JUMP JUMPDEST PUSH2 0x1BE5 DUP5 DUP3 PUSH1 0x20 ADD MLOAD DUP4 PUSH1 0x40 ADD MLOAD PUSH1 0x0 PUSH2 0x177B JUMP JUMPDEST POP JUMPDEST PUSH1 0x1 ADD PUSH2 0x1B15 JUMP JUMPDEST CALLER PUSH2 0x1BF8 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 SLOAD DUP2 LT ISZERO PUSH2 0x887 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP2 AND EQ DUP1 ISZERO PUSH2 0x1CD9 JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x1D73 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0x1D08 PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST PUSH1 0x1 ADD PUSH2 0x1C95 JUMP JUMPDEST PUSH2 0x1D83 PUSH2 0x1FEA JUMP JUMPDEST PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1542 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1DB1 DUP3 PUSH2 0x2004 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1DF6 JUMPI PUSH2 0xC23 DUP3 DUP3 PUSH2 0x2069 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1E2E SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E4B 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 0x1E6F SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xCBCF252A 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 0x1EC7 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 0x1EEB SWAP2 SWAP1 PUSH2 0x2C65 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3CA3AC5F PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 POP DUP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x794758BE SWAP1 PUSH2 0x1F1F SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F3C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1F64 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2C82 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD SWAP1 MLOAD PUSH4 0x3BD5F621 PUSH1 0xE2 SHL DUP2 MSTORE SWAP5 SWAP6 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP4 PUSH4 0xEF57D884 SWAP4 PUSH2 0x1FA3 SWAP4 SWAP3 SWAP2 PUSH1 0x4 ADD PUSH2 0x2D47 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1FC2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1307 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D8A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF4 PUSH2 0x18A3 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x203A JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x2086 SWAP2 SWAP1 PUSH2 0x2E3E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x20C1 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 0x20C6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x20D6 DUP6 DUP4 DUP4 PUSH2 0x20FE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x2113 JUMPI PUSH2 0x210E DUP3 PUSH2 0x215D JUMP JUMPDEST PUSH2 0x2156 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x212A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2153 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x216C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP1 SLOAD PUSH2 0x2191 SWAP1 PUSH2 0x27BB JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x21A1 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1575 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x21CF JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x21BB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x21E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2207 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x21EF JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x2228 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x21EC JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP10 AND DUP4 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x225E PUSH1 0xC0 DUP5 ADD DUP10 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD SWAP8 SWAP1 SWAP8 MSTORE SWAP5 SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xA0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x80 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x2367 JUMPI PUSH2 0x2367 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x2388 JUMPI PUSH2 0x2388 PUSH2 0x229B JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23A9 PUSH2 0x23A4 DUP5 PUSH2 0x236F JUMP JUMPDEST PUSH2 0x233F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x23BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x23E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x2396 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x240D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x2418 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2434 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2440 DUP11 DUP4 DUP12 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2456 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2462 DUP11 DUP4 DUP12 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2478 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2485 DUP10 DUP3 DUP11 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x249D DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x24C9 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x24D9 DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2502 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x251D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x252E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x253D DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x2396 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2559 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2156 DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2577 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2582 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x25A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x25B0 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x25CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x25D8 DUP8 DUP4 DUP9 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x25EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25FB DUP7 DUP3 DUP8 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2621 PUSH1 0xE0 DUP5 ADD DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP5 DUP4 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x263E DUP3 DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x60 DUP7 ADD MSTORE DUP1 PUSH1 0x60 DUP8 ADD MLOAD AND PUSH1 0x80 DUP7 ADD MSTORE POP POP PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2156 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x26AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x26B5 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26DC DUP8 DUP3 DUP9 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x26F4 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP5 MLOAD AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0xC0 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x272E PUSH1 0xE0 DUP6 ADD DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP2 PUSH1 0x60 DUP7 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xA0 DUP6 ADD MLOAD ISZERO ISZERO PUSH1 0xC0 DUP6 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x277A PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x278C DUP2 DUP10 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND PUSH1 0x40 DUP6 ADD MSTORE SWAP6 SWAP1 SWAP7 AND PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x27CF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x27EF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x18 SWAP1 DUP3 ADD MSTORE PUSH32 0x4167656E7420616C726561647920726567697374657265640000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x283C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP3 PUSH2 0x282C JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x286D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x287B PUSH2 0x23A4 DUP3 PUSH2 0x236F JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x2890 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28A1 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x21EC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH2 0x283C DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x28DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x28F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28F9 PUSH2 0x22B1 JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2908 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2914 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2929 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2935 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x2947 PUSH1 0x40 DUP5 ADD PUSH2 0x28A9 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2958 PUSH1 0x60 DUP5 ADD PUSH2 0x28A9 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x29ED JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865206F776E6572206F6620746865206167656E74000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2A52 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2A5E JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2A8A JUMPI PUSH2 0x2A8A PUSH2 0x229B JUMP JUMPDEST PUSH2 0x2A9E DUP2 PUSH2 0x2A98 DUP5 SLOAD PUSH2 0x27BB JUMP JUMPDEST DUP5 PUSH2 0x2A29 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2AD3 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2ABB JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2B02 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2AE3 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x2B20 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2B43 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x20D6 DUP2 DUP6 PUSH2 0x2210 JUMP JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2B6E PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2BA1 JUMPI PUSH2 0x2BA1 PUSH2 0x297D JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2BEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xA0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2BFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C06 PUSH2 0x22D9 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2C11 DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2C25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C31 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x2C57 PUSH1 0x80 DUP5 ADD PUSH2 0x282C JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C77 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2156 DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2CAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x80 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2CBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CC7 PUSH2 0x22FB JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CE2 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D03 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2D1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D27 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH2 0x2D39 PUSH1 0x60 DUP5 ADD PUSH2 0x282C JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2D5A PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2D6C DUP2 DUP7 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x2D80 DUP2 DUP6 PUSH2 0x2210 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x60 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2DC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DCF PUSH2 0x231D JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DEA DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E0B DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E2F DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2E50 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x21EC JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220E6 PUSH28 0x6B991D09FEF792E3DB660BFACD5075339C91E8CDDAD24262B3C4C2FC 0xDC 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "961:13134:26:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1436:52;;;;;;;;;;-1:-1:-1;1436:52:26;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;5118:576;;;;;;;;;;-1:-1:-1;5118:576:26;;;;;:::i;:::-;;:::i;:::-;;1494:29;;;;;;;;;;;;;;;;;;;4963:25:34;;;4951:2;4936:18;1494:29:26;4817:177:34;2023:343:26;;;;;;;;;;-1:-1:-1;2023:343:26;;;;;:::i;:::-;;:::i;4161:214:2:-;;;;;;:::i;:::-;;:::i;3708:134::-;;;;;;;;;;;;;:::i;7427:536:26:-;;;;;;;;;;-1:-1:-1;7427:536:26;;;;;:::i;:::-;;:::i;7969:643::-;;;;;;;;;;-1:-1:-1;7969:643:26;;;;;:::i;:::-;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;4302:269:26:-;;;;;;;;;;-1:-1:-1;4302:269:26;;;;;:::i;:::-;;:::i;6964:364::-;;;;;;;;;;-1:-1:-1;6964:364:26;;;;;:::i;:::-;;:::i;:::-;;;7644:14:34;;7637:22;7619:41;;7607:2;7592:18;6964:364:26;7479:187:34;2441:144:0;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;7835:32:34;;;7817:51;;7805:2;7790:18;2441:144:0;7671:203:34;9634:375:26;;;;;;;;;;-1:-1:-1;9634:375:26;;;;;:::i;:::-;;:::i;10389:435::-;;;;;;;;;;-1:-1:-1;10389:435:26;;;;;:::i;:::-;;:::i;8618:118::-;;;;;;;;;;-1:-1:-1;8618:118:26;;;;;:::i;:::-;-1:-1:-1;;;;;8705:13:26;8679:7;8705:13;;;:6;:13;;;;;:24;;;;8618:118;1353:27;;;;;;;;;;-1:-1:-1;1353:27:26;;;;-1:-1:-1;;;;;1353:27:26;;;8895:170;;;;;;;;;;-1:-1:-1;8895:170:26;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1819:58:2:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;6124:382:26:-;;;;;;;;;;-1:-1:-1;6124:382:26;;;;;:::i;:::-;;:::i;3319:177::-;;;;;;;;;;-1:-1:-1;3319:177:26;;;;;:::i;:::-;;:::i;9071:147::-;;;;;;;;;;-1:-1:-1;9071:147:26;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1298:49::-;;;;;;;;;;-1:-1:-1;1298:49:26;;;;-1:-1:-1;;;;;1298:49:26;;;3656:220;;;;;;;;;;-1:-1:-1;3656:220:26;;;;;:::i;:::-;;:::i;1253:39::-;;;;;;;;;;-1:-1:-1;1253:39:26;;;;-1:-1:-1;;;;;1253:39:26;;;3405:215:0;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;1387:43:26:-;;;;;;;;;;-1:-1:-1;1387:43:26;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;1436:52::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1436:52:26;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1436:52:26;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1436:52:26;;;;-1:-1:-1;1436:52:26;;;:::o;5118:576::-;-1:-1:-1;;;;;5363:13:26;;;5394:1;5363:13;;;:6;:13;;;;;;;;:19;;;:33;5355:70;;;;-1:-1:-1;;;5355:70:26;;;;;;;:::i;:::-;;;;;;;;;5456:15;;:48;;-1:-1:-1;;;5456:48:26;;-1:-1:-1;;;;;5456:15:26;;;;:35;;:48;;5492:11;;5456:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5435:117;;;;-1:-1:-1;;;5435:117:26;;12974:2:34;5435:117:26;;;12956:21:34;13013:2;12993:18;;;12986:30;-1:-1:-1;;;13032:18:34;;;13025:52;13094:18;;5435:117:26;12772:346:34;5435:117:26;5563:50;5576:5;5583:4;5589:8;5599:10;5611:1;5563:12;:50::i;:::-;5624:63;5640:5;5647:11;5660:12;5674;5624:15;:63::i;:::-;5118:576;;;;;;:::o;2023:343::-;4158:30:1;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:1;-1:-1:-1;;;4302:15:1;;;4301:16;;-1:-1:-1;;;;;4348:14:1;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;-1:-1:-1;;;;;4788:16:1;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;2174:26:26::1;2189:10;2174:14;:26::i;:::-;2210:24;:22;:24::i;:::-;2253:15;:34:::0;;-1:-1:-1;;;;;2253:34:26;;::::1;-1:-1:-1::0;;;;;;2253:34:26;;::::1;;::::0;;;;2297;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;2341:14:::1;:18:::0;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;13276:50:34;;5140:14:1;;13264:2:34;13249:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;2023:343:26;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;7427:536:26:-;-1:-1:-1;;;;;7491:13:26;;;7522:1;7491:13;;;:6;:13;;;;;;;;:19;;;:33;7483:70;;;;-1:-1:-1;;;7483:70:26;;;;;;;:::i;:::-;7564:45;7629:15;;7612:53;;-1:-1:-1;;;7612:53:26;;-1:-1:-1;;;;;7835:32:34;;;7612:53:26;;;7817:51:34;7629:15:26;;;;7612:46;;7790:18:34;;7612:53:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7612:53:26;;;;;;;;;;;;:::i;:::-;7564:101;;7711:11;:17;;;-1:-1:-1;;;;;7697:31:26;:10;-1:-1:-1;;;;;7697:31:26;;:56;;;;7746:7;:5;:7::i;:::-;-1:-1:-1;;;;;7732:21:26;:10;-1:-1:-1;;;;;7732:21:26;;7697:56;7676:127;;;;-1:-1:-1;;;7676:127:26;;15187:2:34;7676:127:26;;;15169:21:34;15226:2;15206:18;;;15199:30;15265:26;15245:18;;;15238:54;15309:18;;7676:127:26;14985:348:34;7676:127:26;7814:102;7827:5;7834:11;:16;;;7852:11;:20;;;7874:11;:17;;;7893:11;:22;;;7814:12;:102::i;:::-;7927:29;7950:5;7927:22;:29::i;7969:643::-;8099:12;;8058:7;;-1:-1:-1;;;;;8099:12:26;8085:10;:26;8077:68;;;;-1:-1:-1;;;8077:68:26;;15540:2:34;8077:68:26;;;15522:21:34;15579:2;15559:18;;;15552:30;15618:31;15598:18;;;15591:59;15667:18;;8077:68:26;15338:353:34;8077:68:26;8203:3;8192:7;:14;;8155:109;;;;-1:-1:-1;;;8155:109:26;;15898:2:34;8155:109:26;;;15880:21:34;;;15917:18;;;15910:30;15976:34;15956:18;;;15949:62;16028:18;;8155:109:26;15696:356:34;8155:109:26;-1:-1:-1;;;;;8274:13:26;;;;;;:6;:13;;;;;:26;;:31;;8304:1;;8274:13;:31;;8304:1;;8274:31;:::i;:::-;;;;-1:-1:-1;;;;;;;8472:13:26;;;;;;:6;:13;;;;;:26;;;8449:7;8399:30;8428:1;8472:26;8399:30;:::i;:::-;-1:-1:-1;;;;;8355:13:26;;;;;;:6;:13;;;;;:24;;;:75;;;;:::i;:::-;:101;;;;:::i;:::-;8354:144;;;;:::i;:::-;-1:-1:-1;;;;;8315:13:26;;;;;;:6;:13;;;;;;;:24;;:183;;;8513:50;8315:13;;8513:50;;;;4963:25:34;;4951:2;4936:18;;4817:177;8513:50:26;;;;;;;;-1:-1:-1;;;;;;8581:13:26;;;;;;:6;:13;;;;;:24;;;7969:643;;;;;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;4302:269:26:-;-1:-1:-1;;;;;4441:13:26;;;4472:1;4441:13;;;:6;:13;;;;;;;;:19;;;:33;4433:70;;;;-1:-1:-1;;;4433:70:26;;;;;;;:::i;:::-;4514:50;4527:5;4534:4;4540:8;4550:10;4562:1;4514:12;:50::i;:::-;4302:269;;;:::o;6964:364::-;-1:-1:-1;;;;;1600:13:26;;;7085:4;1600:13;;;:6;:13;;;;;:19;;;7085:4;;7069:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:26;;;;;;;:::i;:::-;7122:21:::1;::::0;;;:9:::1;:21;::::0;;;;:28;-1:-1:-1;;;;;7122:37:26;;::::1;:28:::0;::::1;:37;7101:109;;;::::0;-1:-1:-1;;;7101:109:26;;17404:2:34;7101:109:26::1;::::0;::::1;17386:21:34::0;17443:2;17423:18;;;17416:30;17482:27;17462:18;;;17455:55;17527:18;;7101:109:26::1;17202:349:34::0;7101:109:26::1;7228:21;::::0;;;:9:::1;:21;::::0;;;;7221:28;;-1:-1:-1;;;;;;7221:28:26::1;::::0;;7228:21;7221:28:::1;::::0;;::::1;7228:21:::0;7221:28:::1;:::i;:::-;-1:-1:-1::0;7221:28:26::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;7221:28:26::1;::::0;;::::1;::::0;::::1;::::0;::::1;;::::0;;-1:-1:-1;;7221:28:26::1;::::0;;7265:34:::1;::::0;4963:25:34;;;-1:-1:-1;;;;;7265:34:26;::::1;::::0;::::1;::::0;4951:2:34;4936:18;7265:34:26::1;;;;;;;-1:-1:-1::0;7317:4:26::1;::::0;6964:364;-1:-1:-1;;;6964:364:26:o;2441:144:0:-;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144::o;9634:375:26:-;-1:-1:-1;;;;;1600:13:26;;;;;;;:6;:13;;;;;:19;;;9769:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;9794:13:26;;::::1;9825:1;9794:13:::0;;;:6:::1;:13;::::0;;;;;;;:19:::1;::::0;::::1;9786:66;;;::::0;-1:-1:-1;;;9786:66:26;;17758:2:34;9786:66:26::1;::::0;::::1;17740:21:34::0;17797:2;17777:18;;;17770:30;-1:-1:-1;;;17816:18:34;;;17809:50;17876:18;;9786:66:26::1;17556:344:34::0;9786:66:26::1;-1:-1:-1::0;;;;;9871:13:26;::::1;;::::0;;;:6:::1;:13;::::0;;;;:25:::1;9892:4:::0;9871:13;:25:::1;:::i;:::-;-1:-1:-1::0;;;;;;9906:13:26;::::1;;::::0;;;:6:::1;:13;::::0;;;;:22:::1;;:33;9931:8:::0;9906:22;:33:::1;:::i;:::-;;9980:5;-1:-1:-1::0;;;;;9963:39:26::1;;9987:4;9993:8;9963:39;;;;;;;:::i;:::-;;;;;;;;9634:375:::0;;;;:::o;10389:435::-;-1:-1:-1;;;;;1600:13:26;;;;;;;:6;:13;;;;;:19;;;10449:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:26;;;;;;;:::i;:::-;-1:-1:-1;;;;;10474:13:26;;::::1;10505:1;10474:13:::0;;;:6:::1;:13;::::0;;;;;;;:19:::1;::::0;::::1;10466:66;;;::::0;-1:-1:-1;;;10466:66:26;;17758:2:34;10466:66:26::1;::::0;::::1;17740:21:34::0;17797:2;17777:18;;;17770:30;-1:-1:-1;;;17816:18:34;;;17809:50;17876:18;;10466:66:26::1;17556:344:34::0;10466:66:26::1;-1:-1:-1::0;;;;;10572:13:26;;::::1;10551:18;10572:13:::0;;;:6:::1;:13;::::0;;;;:19:::1;;::::0;::::1;10664:31;10579:5:::0;10664:24:::1;:31::i;:::-;-1:-1:-1::0;;;;;10749:13:26;::::1;;::::0;;;:6:::1;:13;::::0;;;;;10742:20:::1;10749:13:::0;;10742:20:::1;:::i;:::-;;;::::0;::::1;;;:::i;:::-;-1:-1:-1::0;10742:20:26::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;10742:20:26;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;10786:31:::1;::::0;-1:-1:-1;;;;;10786:31:26;;::::1;::::0;;;::::1;::::0;::::1;::::0;10742:20;10786:31:::1;10456:368;10389:435:::0;;:::o;8895:170::-;8970:16;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8970:16:26;-1:-1:-1;;;;;9023:14:26;;8998:22;9023:14;;;:6;:14;;;;;;;9047:11;;;;;;;;;;9023:14;;9047:11;9023:14;;9047:11;;9023:14;;9047:11;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9047:11:26;;;-1:-1:-1;;9047:11:26;;;;-1:-1:-1;;;;;9047:11:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8895:170;-1:-1:-1;;;8895:170:26:o;6124:382::-;-1:-1:-1;;;;;1600:13:26;;;;;;;:6;:13;;;;;:19;;;6291:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:26;;;;;;;:::i;:::-;6329:15:::1;::::0;:48:::1;::::0;-1:-1:-1;;;6329:48:26;;-1:-1:-1;;;;;6329:15:26;;::::1;::::0;:35:::1;::::0;:48:::1;::::0;6365:11;;6329:48:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6308:117;;;::::0;-1:-1:-1;;;6308:117:26;;12974:2:34;6308:117:26::1;::::0;::::1;12956:21:34::0;13013:2;12993:18;;;12986:30;-1:-1:-1;;;13032:18:34;;;13025:52;13094:18;;6308:117:26::1;12772:346:34::0;6308:117:26::1;6436:63;6452:5;6459:11;6472:12;6486;6436:15;:63::i;:::-;6124:382:::0;;;;;:::o;3319:177::-;2334:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3404:27:26;::::1;3396:55;;;::::0;-1:-1:-1;;;3396:55:26;;20690:2:34;3396:55:26::1;::::0;::::1;20672:21:34::0;20729:2;20709:18;;;20702:30;-1:-1:-1;;;20748:18:34;;;20741:45;20803:18;;3396:55:26::1;20488:339:34::0;3396:55:26::1;3461:12;:28:::0;;-1:-1:-1;;;;;;3461:28:26::1;-1:-1:-1::0;;;;;3461:28:26;;;::::1;::::0;;;::::1;::::0;;3319:177::o;9071:147::-;9149:22;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9149:22:26;9190:21;;;;:9;:21;;;;;;;;;9183:28;;;;;;;;;;-1:-1:-1;;;;;9183:28:26;;;;;;;;9190:21;;9183:28;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9183:28:26;;;-1:-1:-1;;9183:28:26;;;;;;;;;;;;-1:-1:-1;;;;;9183:28:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;9071:147;-1:-1:-1;;9071:147:26:o;3656:220::-;2334:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3747:30:26;::::1;3739:58;;;::::0;-1:-1:-1;;;3739:58:26;;20690:2:34;3739:58:26::1;::::0;::::1;20672:21:34::0;20729:2;20709:18;;;20702:30;-1:-1:-1;;;20748:18:34;;;20741:45;20803:18;;3739:58:26::1;20488:339:34::0;3739:58:26::1;3807:15;:62:::0;;-1:-1:-1;;;;;;3807:62:26::1;-1:-1:-1::0;;;;;3807:62:26;;;::::1;::::0;;;::::1;::::0;;3656:220::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;7817:51:34::0;7790:18;;3534:31:0::1;7671:203:34::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;1387:43:26:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1387:43:26;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1387:43:26;;;;;;;;;-1:-1:-1;1387:43:26;;:::o;10830:470::-;-1:-1:-1;;;;;11040:13:26;;11010:27;11040:13;;;:6;:13;;;;;;11063:21;11080:4;11040:13;11063:21;:::i;:::-;-1:-1:-1;11094:18:26;;;:29;11115:8;11094:18;:29;:::i;:::-;-1:-1:-1;11133:15:26;;;:23;;-1:-1:-1;;;;;11133:23:26;;;-1:-1:-1;;;;;;11133:23:26;;;;;;;;11166:15;;;:23;;;;;;;;;;;;;;11199:20;;;:33;;;11248:45;;;;;;11278:4;;11284:8;;11248:45;:::i;:::-;;;;;;;;11000:300;10830:470;;;;;:::o;11306:548::-;11510:167;;;;;;;;-1:-1:-1;;;;;11510:167:26;;;;;;;;;;;;;;;;;;;;;;;;;11635:14;;11510:167;;;;;;11663:4;11510:167;;;;;;-1:-1:-1;11688:25:26;;;:9;:25;;;;;;;:39;;;;-1:-1:-1;;;;;;11688:39:26;;;;;;;;;;;11510:167;;;;11688:39;;;;;;;;:::i;:::-;-1:-1:-1;11688:39:26;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11688:39:26;-1:-1:-1;;;;;11688:39:26;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11688:39:26;;;;;;;;;;11764:14;;11743:77;;;;;;;;;;11780:11;;11793:12;;11807;;11743:77;:::i;:::-;;;;;;;;11831:14;:16;;;:14;:16;;;:::i;:::-;;;;;;11463:391;11306:548;;;;:::o;9071:205:1:-;9129:30;;3147:66;9186:27;8819:122;1847:127:0;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:11;-1:-1:-1;;;;;1519:53:11;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;13917:84:26;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;7835:32:34;;6493:60:2;;;7817:51:34;7790:18;;6493:60:2;7671:203:34;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;4963:25:34;;;4936:18;;6292:34:2;4817:177:34;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;12534:633:26;12599:30;12649:15;;;;;;;;;-1:-1:-1;;;;;12649:15:26;-1:-1:-1;;;;;12632:61:26;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12599:96;;12711:9;12706:455;12730:22;12726:1;:26;12706:455;;;12773:41;12851:15;;12817:78;;-1:-1:-1;;;12817:78:26;;;;;4963:25:34;;;-1:-1:-1;;;;;12851:15:26;;;;12817:75;;4936:18:34;;12817:78:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12817:78:26;;;;;;;;;;;;:::i;:::-;12773:122;;12933:5;-1:-1:-1;;;;;12914:24:26;:8;:15;;;-1:-1:-1;;;;;12914:24:26;;;:46;;;;12943:8;:17;;;12942:18;12914:46;12910:93;;;12980:8;;;12910:93;13017:46;13042:8;:20;;;13017:24;:46::i;:::-;13078:72;13094:5;13101:8;:20;;;13123:8;:14;;;13147:1;13078:15;:72::i;:::-;12759:402;12706:455;12754:3;;12706:455;;2658:162:0;966:10:3;2717:7:0;:5;:7::i;:::-;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;7817:51:34;7790:18;;2763:40:0;7671:203:34;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;13349:379:26:-;13511:1;13494:228;13518:14;;13514:1;:18;13494:228;;;13557:12;;;;:9;:12;;;;;:19;-1:-1:-1;;;;;13557:28:26;;;:19;;:28;:53;;;;-1:-1:-1;13589:12:26;;;;:9;:12;;;;;:21;;;;;13557:53;13553:159;;;13637:12;;;;:9;:12;;;;;13630:19;;-1:-1:-1;;;;;;13630:19:26;;;13637:12;13630:19;;;;13637:12;13630:19;:::i;:::-;-1:-1:-1;13630:19:26;;;;;;;;;;;;-1:-1:-1;;;;;;13630:19:26;;;;;;;;;;;-1:-1:-1;;13630:19:26;;;13672:25;;4963::34;;;-1:-1:-1;;;;;13672:25:26;;;;;4951:2:34;4936:18;13672:25:26;;;;;;;13553:159;13534:3;;13494:228;;7082:141:1;7149:17;:15;:17::i;:::-;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;2264:344:11:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:11;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;11860:668:26:-;11944:15;;:48;;-1:-1:-1;;;11944:48:26;;-1:-1:-1;;;;;11944:15:26;;;;:35;;:48;;11980:11;;11944:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11939:583;;12008:29;12057:15;;;;;;;;;-1:-1:-1;;;;;12057:15:26;-1:-1:-1;;;;;12040:66:26;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12292:58;;-1:-1:-1;;;12292:58:26;;12008:100;;-1:-1:-1;12008:100:26;;12123:36;;-1:-1:-1;;;;;12292:45:26;;;;;:58;;12338:11;;12292:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12292:58:26;;;;;;;;;;;;:::i;:::-;12365:15;;12414:12;;12444:16;;;;12478:19;;;;;12365:146;;-1:-1:-1;;;12365:146:26;;12248:102;;-1:-1:-1;;;;;;12365:15:26;;;;:31;;:146;;12414:12;12444:16;12365:146;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12365:146:26;;;;;;;;;;;;:::i;8485:120:1:-;8535:4;8558:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8558:40:1;;;;;;-1:-1:-1;8485:120:1:o;1671:281:11:-;1748:17;-1:-1:-1;;;;;1748:29:11;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:11;;-1:-1:-1;;;;;7835:32:34;;1805:47:11;;;7817:51:34;7790:18;;1805:47:11;7671:203:34;1744:119:11;-1:-1:-1;;;;;;;;;;;1872:73:11;;-1:-1:-1;;;;;;1872:73:11;-1:-1:-1;;;;;1872:73:11;;;;;;;;;;1671:281::o;3916:253:20:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:20;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:20:o;6113:122:11:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:11;;;;;;;;;;;4437:582:20;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:20;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:20;;-1:-1:-1;;;;;7835:32:34;;4933:24:20;;;7817:51:34;7790:18;;4933:24:20;7671:203:34;4853:119:20;-1:-1:-1;4992:10:20;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:20;;;;;;;;;;;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:34:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:34;;14:180;-1:-1:-1;14:180:34:o;199:250::-;284:1;294:113;308:6;305:1;302:13;294:113;;;384:11;;;378:18;365:11;;;358:39;330:2;323:10;294:113;;;-1:-1:-1;;441:1:34;423:16;;416:27;199:250::o;454:271::-;496:3;534:5;528:12;561:6;556:3;549:19;577:76;646:6;639:4;634:3;630:14;623:4;616:5;612:16;577:76;:::i;:::-;707:2;686:15;-1:-1:-1;;682:29:34;673:39;;;;714:4;669:50;;454:271;-1:-1:-1;;454:271:34:o;730:645::-;976:4;1022:1;1018;1013:3;1009:11;1005:19;1063:2;1055:6;1051:15;1040:9;1033:34;1103:3;1098:2;1087:9;1083:18;1076:31;1124:46;1165:3;1154:9;1150:19;1142:6;1124:46;:::i;:::-;1201:2;1186:18;;1179:34;;;;1249:15;;;;1244:2;1229:18;;1222:43;1296:3;1281:19;;1274:35;;;;1353:14;1346:22;1340:3;1325:19;;;1318:51;-1:-1:-1;1116:54:34;730:645;-1:-1:-1;;730:645:34:o;1380:131::-;-1:-1:-1;;;;;1455:31:34;;1445:42;;1435:70;;1501:1;1498;1491:12;1516:127;1577:10;1572:3;1568:20;1565:1;1558:31;1608:4;1605:1;1598:15;1632:4;1629:1;1622:15;1648:253;1720:2;1714:9;1762:4;1750:17;;-1:-1:-1;;;;;1782:34:34;;1818:22;;;1779:62;1776:88;;;1844:18;;:::i;:::-;1880:2;1873:22;1648:253;:::o;1906:::-;1978:2;1972:9;2020:4;2008:17;;-1:-1:-1;;;;;2040:34:34;;2076:22;;;2037:62;2034:88;;;2102:18;;:::i;2164:253::-;2236:2;2230:9;2278:4;2266:17;;-1:-1:-1;;;;;2298:34:34;;2334:22;;;2295:62;2292:88;;;2360:18;;:::i;2422:253::-;2494:2;2488:9;2536:4;2524:17;;-1:-1:-1;;;;;2556:34:34;;2592:22;;;2553:62;2550:88;;;2618:18;;:::i;2680:275::-;2751:2;2745:9;2816:2;2797:13;;-1:-1:-1;;2793:27:34;2781:40;;-1:-1:-1;;;;;2836:34:34;;2872:22;;;2833:62;2830:88;;;2898:18;;:::i;:::-;2934:2;2927:22;2680:275;;-1:-1:-1;2680:275:34:o;2960:187::-;3009:4;-1:-1:-1;;;;;3034:6:34;3031:30;3028:56;;;3064:18;;:::i;:::-;-1:-1:-1;3130:2:34;3109:15;-1:-1:-1;;3105:29:34;3136:4;3101:40;;2960:187::o;3152:338::-;3217:5;3246:53;3262:36;3291:6;3262:36;:::i;:::-;3246:53;:::i;:::-;3237:62;;3322:6;3315:5;3308:21;3362:3;3353:6;3348:3;3344:16;3341:25;3338:45;;;3379:1;3376;3369:12;3338:45;3428:6;3423:3;3416:4;3409:5;3405:16;3392:43;3482:1;3475:4;3466:6;3459:5;3455:18;3451:29;3444:40;3152:338;;;;;:::o;3495:222::-;3538:5;3591:3;3584:4;3576:6;3572:17;3568:27;3558:55;;3609:1;3606;3599:12;3558:55;3631:80;3707:3;3698:6;3685:20;3678:4;3670:6;3666:17;3631:80;:::i;3722:1090::-;3856:6;3864;3872;3880;3888;3896;3949:3;3937:9;3928:7;3924:23;3920:33;3917:53;;;3966:1;3963;3956:12;3917:53;4005:9;3992:23;4024:31;4049:5;4024:31;:::i;:::-;4074:5;-1:-1:-1;4130:2:34;4115:18;;4102:32;-1:-1:-1;;;;;4183:14:34;;;4180:34;;;4210:1;4207;4200:12;4180:34;4233:50;4275:7;4266:6;4255:9;4251:22;4233:50;:::i;:::-;4223:60;;4336:2;4325:9;4321:18;4308:32;4292:48;;4365:2;4355:8;4352:16;4349:36;;;4381:1;4378;4371:12;4349:36;4404:52;4448:7;4437:8;4426:9;4422:24;4404:52;:::i;:::-;4394:62;;4509:2;4498:9;4494:18;4481:32;4465:48;;4538:2;4528:8;4525:16;4522:36;;;4554:1;4551;4544:12;4522:36;;4577:52;4621:7;4610:8;4599:9;4595:24;4577:52;:::i;:::-;4567:62;;;4676:3;4665:9;4661:19;4648:33;4638:43;;4733:3;4722:9;4718:19;4705:33;4747;4772:7;4747:33;:::i;:::-;4799:7;4789:17;;;3722:1090;;;;;;;;:::o;4999:448::-;5127:6;5135;5188:2;5176:9;5167:7;5163:23;5159:32;5156:52;;;5204:1;5201;5194:12;5156:52;5243:9;5230:23;5262:31;5287:5;5262:31;:::i;:::-;5312:5;-1:-1:-1;5369:2:34;5354:18;;5341:32;5382:33;5341:32;5382:33;:::i;:::-;5434:7;5424:17;;;4999:448;;;;;:::o;5452:585::-;5529:6;5537;5590:2;5578:9;5569:7;5565:23;5561:32;5558:52;;;5606:1;5603;5596:12;5558:52;5645:9;5632:23;5664:31;5689:5;5664:31;:::i;:::-;5714:5;-1:-1:-1;5770:2:34;5755:18;;5742:32;-1:-1:-1;;;;;5786:30:34;;5783:50;;;5829:1;5826;5819:12;5783:50;5852:22;;5905:4;5897:13;;5893:27;-1:-1:-1;5883:55:34;;5934:1;5931;5924:12;5883:55;5957:74;6023:7;6018:2;6005:16;6000:2;5996;5992:11;5957:74;:::i;:::-;5947:84;;;5452:585;;;;;:::o;6224:247::-;6283:6;6336:2;6324:9;6315:7;6311:23;6307:32;6304:52;;;6352:1;6349;6342:12;6304:52;6391:9;6378:23;6410:31;6435:5;6410:31;:::i;6476:315::-;6544:6;6552;6605:2;6593:9;6584:7;6580:23;6576:32;6573:52;;;6621:1;6618;6611:12;6573:52;6660:9;6647:23;6679:31;6704:5;6679:31;:::i;:::-;6729:5;6781:2;6766:18;;;;6753:32;;-1:-1:-1;;;6476:315:34:o;6796:678::-;6893:6;6901;6909;6962:2;6950:9;6941:7;6937:23;6933:32;6930:52;;;6978:1;6975;6968:12;6930:52;7017:9;7004:23;7036:31;7061:5;7036:31;:::i;:::-;7086:5;-1:-1:-1;7142:2:34;7127:18;;7114:32;-1:-1:-1;;;;;7195:14:34;;;7192:34;;;7222:1;7219;7212:12;7192:34;7245:50;7287:7;7278:6;7267:9;7263:22;7245:50;:::i;:::-;7235:60;;7348:2;7337:9;7333:18;7320:32;7304:48;;7377:2;7367:8;7364:16;7361:36;;;7393:1;7390;7383:12;7361:36;;7416:52;7460:7;7449:8;7438:9;7434:24;7416:52;:::i;:::-;7406:62;;;6796:678;;;;;:::o;7879:906::-;8062:2;8051:9;8044:21;8025:4;8100:6;8094:13;8143:4;8138:2;8127:9;8123:18;8116:32;8171:52;8218:3;8207:9;8203:19;8189:12;8171:52;:::i;:::-;8157:66;;8272:2;8264:6;8260:15;8254:22;8344:2;8340:7;8328:9;8320:6;8316:22;8312:36;8307:2;8296:9;8292:18;8285:64;8372:41;8406:6;8390:14;8372:41;:::i;:::-;8358:55;;;8462:2;8454:6;8450:15;8444:22;8502:1;8498;8493:3;8489:11;8485:19;8560:2;8544:14;8540:23;8535:2;8524:9;8520:18;8513:51;8629:2;8623;8615:6;8611:15;8605:22;8601:31;8595:3;8584:9;8580:19;8573:60;;;8688:3;8680:6;8676:16;8670:23;8664:3;8653:9;8649:19;8642:52;8750:3;8742:6;8738:16;8732:23;8725:4;8714:9;8710:20;8703:53;8773:6;8765:14;;;7879:906;;;;:::o;8790:220::-;8939:2;8928:9;8921:21;8902:4;8959:45;9000:2;8989:9;8985:18;8977:6;8959:45;:::i;9015:667::-;9111:6;9119;9127;9135;9188:3;9176:9;9167:7;9163:23;9159:33;9156:53;;;9205:1;9202;9195:12;9156:53;9244:9;9231:23;9263:31;9288:5;9263:31;:::i;:::-;9313:5;-1:-1:-1;9369:2:34;9354:18;;9341:32;-1:-1:-1;;;;;9385:30:34;;9382:50;;;9428:1;9425;9418:12;9382:50;9451;9493:7;9484:6;9473:9;9469:22;9451:50;:::i;:::-;9441:60;;;9548:2;9537:9;9533:18;9520:32;9510:42;;9604:2;9593:9;9589:18;9576:32;9617:33;9642:7;9617:33;:::i;:::-;9015:667;;;;-1:-1:-1;9015:667:34;;-1:-1:-1;;9015:667:34:o;9687:758::-;9882:2;9871:9;9864:21;9845:4;9921:1;9917;9912:3;9908:11;9904:19;9978:2;9969:6;9963:13;9959:22;9954:2;9943:9;9939:18;9932:50;10029:2;10021:6;10017:15;10011:22;10069:4;10064:2;10053:9;10049:18;10042:32;10097:52;10144:3;10133:9;10129:19;10115:12;10097:52;:::i;:::-;10083:66;;10203:2;10195:6;10191:15;10185:22;10180:2;10169:9;10165:18;10158:50;10273:2;10267;10259:6;10255:15;10249:22;10245:31;10239:3;10228:9;10224:19;10217:60;10332:3;10324:6;10320:16;10314:23;10308:3;10297:9;10293:19;10286:52;10408:3;10400:6;10396:16;10390:23;10383:31;10376:39;10369:4;10358:9;10354:20;10347:69;10433:6;10425:14;;;;9687:758;;;;:::o;10926:727::-;11235:3;11224:9;11217:22;11198:4;11262:46;11303:3;11292:9;11288:19;11280:6;11262:46;:::i;:::-;11356:9;11348:6;11344:22;11339:2;11328:9;11324:18;11317:50;11384:33;11410:6;11402;11384:33;:::i;:::-;-1:-1:-1;;;;;11491:15:34;;;11486:2;11471:18;;11464:43;11543:15;;;;11538:2;11523:18;;11516:43;-1:-1:-1;11590:3:34;11575:19;;11568:35;;;;11444:3;11619:19;;;11612:35;11543:15;11376:41;-1:-1:-1;;;10926:727:34:o;11658:380::-;11737:1;11733:12;;;;11780;;;11801:61;;11855:4;11847:6;11843:17;11833:27;;11801:61;11908:2;11900:6;11897:14;11877:18;11874:38;11871:161;;11954:10;11949:3;11945:20;11942:1;11935:31;11989:4;11986:1;11979:15;12017:4;12014:1;12007:15;11871:161;;11658:380;;;:::o;12043:348::-;12245:2;12227:21;;;12284:2;12264:18;;;12257:30;12323:26;12318:2;12303:18;;12296:54;12382:2;12367:18;;12043:348::o;12396:164::-;12472:13;;12521;;12514:21;12504:32;;12494:60;;12550:1;12547;12540:12;12494:60;12396:164;;;:::o;12565:202::-;12632:6;12685:2;12673:9;12664:7;12660:23;12656:32;12653:52;;;12701:1;12698;12691:12;12653:52;12724:37;12751:9;12724:37;:::i;13337:443::-;13391:5;13444:3;13437:4;13429:6;13425:17;13421:27;13411:55;;13462:1;13459;13452:12;13411:55;13491:6;13485:13;13522:49;13538:32;13567:2;13538:32;:::i;13522:49::-;13596:2;13587:7;13580:19;13642:3;13635:4;13630:2;13622:6;13618:15;13614:26;13611:35;13608:55;;;13659:1;13656;13649:12;13608:55;13672:77;13746:2;13739:4;13730:7;13726:18;13719:4;13711:6;13707:17;13672:77;:::i;:::-;13767:7;13337:443;-1:-1:-1;;;;13337:443:34:o;13785:138::-;13864:13;;13886:31;13864:13;13886:31;:::i;13928:1052::-;14025:6;14078:2;14066:9;14057:7;14053:23;14049:32;14046:52;;;14094:1;14091;14084:12;14046:52;14127:9;14121:16;-1:-1:-1;;;;;14197:2:34;14189:6;14186:14;14183:34;;;14213:1;14210;14203:12;14183:34;14236:22;;;;14292:4;14274:16;;;14270:27;14267:47;;;14310:1;14307;14300:12;14267:47;14336:22;;:::i;:::-;14389:2;14383:9;14417:2;14407:8;14404:16;14401:36;;;14433:1;14430;14423:12;14401:36;14460:56;14508:7;14497:8;14493:2;14489:17;14460:56;:::i;:::-;14453:5;14446:71;;14556:2;14552;14548:11;14542:18;14585:2;14575:8;14572:16;14569:36;;;14601:1;14598;14591:12;14569:36;14637:56;14685:7;14674:8;14670:2;14666:17;14637:56;:::i;:::-;14632:2;14625:5;14621:14;14614:80;;14726:42;14764:2;14760;14756:11;14726:42;:::i;:::-;14721:2;14714:5;14710:14;14703:66;14801:42;14839:2;14835;14831:11;14801:42;:::i;:::-;14796:2;14789:5;14785:14;14778:66;14891:3;14887:2;14883:12;14877:19;14871:3;14864:5;14860:15;14853:44;14944:3;14940:2;14936:12;14930:19;14924:3;14917:5;14913:15;14906:44;14969:5;14959:15;;;;;13928:1052;;;;:::o;16057:127::-;16118:10;16113:3;16109:20;16106:1;16099:31;16149:4;16146:1;16139:15;16173:4;16170:1;16163:15;16189:125;16254:9;;;16275:10;;;16272:36;;;16288:18;;:::i;16319:128::-;16386:9;;;16407:11;;;16404:37;;;16421:18;;:::i;16452:168::-;16525:9;;;16556;;16573:15;;;16567:22;;16553:37;16543:71;;16594:18;;:::i;16625:217::-;16665:1;16691;16681:132;;16735:10;16730:3;16726:20;16723:1;16716:31;16770:4;16767:1;16760:15;16798:4;16795:1;16788:15;16681:132;-1:-1:-1;16827:9:34;;16625:217::o;16847:350::-;17049:2;17031:21;;;17088:2;17068:18;;;17061:30;17127:28;17122:2;17107:18;;17100:56;17188:2;17173:18;;16847:350::o;18031:543::-;18133:2;18128:3;18125:11;18122:446;;;18169:1;18193:5;18190:1;18183:16;18237:4;18234:1;18224:18;18307:2;18295:10;18291:19;18288:1;18284:27;18278:4;18274:38;18343:4;18331:10;18328:20;18325:47;;;-1:-1:-1;18366:4:34;18325:47;18421:2;18416:3;18412:12;18409:1;18405:20;18399:4;18395:31;18385:41;;18476:82;18494:2;18487:5;18484:13;18476:82;;;18539:17;;;18520:1;18509:13;18476:82;;18750:1345;18876:3;18870:10;-1:-1:-1;;;;;18895:6:34;18892:30;18889:56;;;18925:18;;:::i;:::-;18954:97;19044:6;19004:38;19036:4;19030:11;19004:38;:::i;:::-;18998:4;18954:97;:::i;:::-;19106:4;;19163:2;19152:14;;19180:1;19175:663;;;;19882:1;19899:6;19896:89;;;-1:-1:-1;19951:19:34;;;19945:26;19896:89;-1:-1:-1;;18707:1:34;18703:11;;;18699:24;18695:29;18685:40;18731:1;18727:11;;;18682:57;19998:81;;19145:944;;19175:663;17978:1;17971:14;;;18015:4;18002:18;;-1:-1:-1;;19211:20:34;;;19329:236;19343:7;19340:1;19337:14;19329:236;;;19432:19;;;19426:26;19411:42;;19524:27;;;;19492:1;19480:14;;;;19359:19;;19329:236;;;19333:3;19593:6;19584:7;19581:19;19578:201;;;19654:19;;;19648:26;-1:-1:-1;;19737:1:34;19733:14;;;19749:3;19729:24;19725:37;19721:42;19706:58;19691:74;;19578:201;-1:-1:-1;;;;;19825:1:34;19809:14;;;19805:22;19792:36;;-1:-1:-1;18750:1345:34:o;20100:383::-;20297:2;20286:9;20279:21;20260:4;20323:45;20364:2;20353:9;20349:18;20341:6;20323:45;:::i;:::-;20416:9;20408:6;20404:22;20399:2;20388:9;20384:18;20377:50;20444:33;20470:6;20462;20444:33;:::i;20832:461::-;21065:6;21054:9;21047:25;21108:3;21103:2;21092:9;21088:18;21081:31;21028:4;21129:46;21170:3;21159:9;21155:19;21147:6;21129:46;:::i;:::-;21206:2;21191:18;;21184:34;;;;-1:-1:-1;;;;;;21254:32:34;;;;21249:2;21234:18;;;21227:60;21121:54;20832:461;-1:-1:-1;;20832:461:34:o;21298:135::-;21337:3;21358:17;;;21355:43;;21378:18;;:::i;:::-;-1:-1:-1;21425:1:34;21414:13;;21298:135::o;21438:184::-;21508:6;21561:2;21549:9;21540:7;21536:23;21532:32;21529:52;;;21577:1;21574;21567:12;21529:52;-1:-1:-1;21600:16:34;;21438:184;-1:-1:-1;21438:184:34:o;21816:918::-;21912:6;21965:2;21953:9;21944:7;21940:23;21936:32;21933:52;;;21981:1;21978;21971:12;21933:52;22014:9;22008:16;-1:-1:-1;;;;;22084:2:34;22076:6;22073:14;22070:34;;;22100:1;22097;22090:12;22070:34;22123:22;;;;22179:4;22161:16;;;22157:27;22154:47;;;22197:1;22194;22187:12;22154:47;22223:22;;:::i;:::-;22275:2;22269:9;22287:33;22312:7;22287:33;:::i;:::-;22329:22;;22390:2;22382:11;;22376:18;22406:16;;;22403:36;;;22435:1;22432;22425:12;22403:36;22471:56;22519:7;22508:8;22504:2;22500:17;22471:56;:::i;:::-;22466:2;22459:5;22455:14;22448:80;;22574:2;22570;22566:11;22560:18;22555:2;22548:5;22544:14;22537:42;22625:2;22621;22617:11;22611:18;22606:2;22599:5;22595:14;22588:42;22663:40;22698:3;22694:2;22690:12;22663:40;:::i;:::-;22657:3;22646:15;;22639:65;22650:5;21816:918;-1:-1:-1;;;;;21816:918:34:o;22739:251::-;22809:6;22862:2;22850:9;22841:7;22837:23;22833:32;22830:52;;;22878:1;22875;22868:12;22830:52;22910:9;22904:16;22929:31;22954:5;22929:31;:::i;22995:1043::-;23090:6;23143:2;23131:9;23122:7;23118:23;23114:32;23111:52;;;23159:1;23156;23149:12;23111:52;23192:9;23186:16;-1:-1:-1;;;;;23262:2:34;23254:6;23251:14;23248:34;;;23278:1;23275;23268:12;23248:34;23301:22;;;;23357:4;23339:16;;;23335:27;23332:47;;;23375:1;23372;23365:12;23332:47;23401:22;;:::i;:::-;23454:2;23448:9;23482:2;23472:8;23469:16;23466:36;;;23498:1;23495;23488:12;23466:36;23525:56;23573:7;23562:8;23558:2;23554:17;23525:56;:::i;:::-;23518:5;23511:71;;23621:2;23617;23613:11;23607:18;23650:2;23640:8;23637:16;23634:36;;;23666:1;23663;23656:12;23634:36;23702:56;23750:7;23739:8;23735:2;23731:17;23702:56;:::i;:::-;23697:2;23690:5;23686:14;23679:80;;23798:2;23794;23790:11;23784:18;23827:2;23817:8;23814:16;23811:36;;;23843:1;23840;23833:12;23811:36;23879:56;23927:7;23916:8;23912:2;23908:17;23879:56;:::i;:::-;23874:2;23867:5;23863:14;23856:80;;23968:39;24003:2;23999;23995:11;23968:39;:::i;:::-;23963:2;23952:14;;23945:63;23956:5;22995:1043;-1:-1:-1;;;;;22995:1043:34:o;24043:546::-;24288:2;24277:9;24270:21;24251:4;24314:45;24355:2;24344:9;24340:18;24332:6;24314:45;:::i;:::-;24407:9;24399:6;24395:22;24390:2;24379:9;24375:18;24368:50;24441:33;24467:6;24459;24441:33;:::i;:::-;24427:47;;24522:9;24514:6;24510:22;24505:2;24494:9;24490:18;24483:50;24550:33;24576:6;24568;24550:33;:::i;:::-;24542:41;24043:546;-1:-1:-1;;;;;;24043:546:34:o;24594:971::-;24689:6;24742:2;24730:9;24721:7;24717:23;24713:32;24710:52;;;24758:1;24755;24748:12;24710:52;24791:9;24785:16;-1:-1:-1;;;;;24861:2:34;24853:6;24850:14;24847:34;;;24877:1;24874;24867:12;24847:34;24900:22;;;;24956:4;24938:16;;;24934:27;24931:47;;;24974:1;24971;24964:12;24931:47;25000:22;;:::i;:::-;25053:2;25047:9;25081:2;25071:8;25068:16;25065:36;;;25097:1;25094;25087:12;25065:36;25124:56;25172:7;25161:8;25157:2;25153:17;25124:56;:::i;:::-;25117:5;25110:71;;25220:2;25216;25212:11;25206:18;25249:2;25239:8;25236:16;25233:36;;;25265:1;25262;25255:12;25233:36;25301:56;25349:7;25338:8;25334:2;25330:17;25301:56;:::i;:::-;25296:2;25289:5;25285:14;25278:80;;25397:2;25393;25389:11;25383:18;25426:2;25416:8;25413:16;25410:36;;;25442:1;25439;25432:12;25410:36;25478:56;25526:7;25515:8;25511:2;25507:17;25478:56;:::i;:::-;25473:2;25462:14;;25455:80;-1:-1:-1;25466:5:34;24594:971;-1:-1:-1;;;;;24594:971:34:o;25570:287::-;25699:3;25737:6;25731:13;25753:66;25812:6;25807:3;25800:4;25792:6;25788:17;25753:66;:::i;:::-;25835:16;;;;;25570:287;-1:-1:-1;;25570:287:34:o" }, "methodIdentifiers": { "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", @@ -107996,7 +107006,7 @@ "proposals(uint256)": "013cf08b", "proxiableUUID()": "52d1902d", "registerAgent(address,string,string)": "7216fe48", - "registerAgentWithProposal(address,string,string,string,uint256,address)": "09b6d8a7", + "registerAgentWithService(address,string,string,string,uint256,address)": "270baaa8", "removeAgent(address)": "97a6278e", "removeProposal(address,uint256)": "7b5c219d", "renounceOwnership()": "715018a6", @@ -108009,27 +107019,27 @@ "upgradeToAndCall(address,bytes)": "4f1ef286" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"AgentDataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"AgentRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AgentRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"ProposalAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"ProposalUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newReputation\",\"type\":\"uint256\"}],\"name\":\"ReputationUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"servicePrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"addProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_rating\",\"type\":\"uint256\"}],\"name\":\"addRating\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"agentRegistryV1\",\"outputs\":[{\"internalType\":\"contract IAgentRegistryV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"agents\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reputation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalRatings\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_agent\",\"type\":\"address\"}],\"name\":\"getAgentData\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reputation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalRatings\",\"type\":\"uint256\"}],\"internalType\":\"struct AgentsRegistryUpgradeable.AgentData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct IProposalStruct.ServiceProposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"getReputation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IAgentRegistryV1\",\"name\":\"_agentRegistryV1\",\"type\":\"address\"},{\"internalType\":\"contract ServiceRegistryUpgradeable\",\"name\":\"_serviceRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"migrateAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"registerAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"servicePrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"registerAgentWithProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"removeAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"removeProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"serviceRegistry\",\"outputs\":[{\"internalType\":\"contract ServiceRegistryUpgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"setAgentData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_serviceRegistry\",\"type\":\"address\"}],\"name\":\"setServiceRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_taskRegistry\",\"type\":\"address\"}],\"name\":\"setTaskRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"taskRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"addProposal(address,string,uint256,address)\":{\"details\":\"Adds a new proposal for an agent.\",\"params\":{\"agent\":\"The address of the agent.\",\"serviceName\":\"The name of the service.\",\"servicePrice\":\"The price of the service. Requirements: - The caller must be the owner of the agent. - The agent must be registered. - The service must be registered. Emits a {ProposalAdded} event.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getAgentData(address)\":{\"details\":\"Returns the data of an agent.\",\"params\":{\"_agent\":\"The address of the agent.\"},\"returns\":{\"_0\":\"AgentData The data of the agent.\"}},\"initialize(address,address)\":{\"details\":\"Initializes the contract\",\"params\":{\"_agentRegistryV1\":\"The address of the V1 agent registry for migration\",\"_serviceRegistry\":\"The address of the service registry\"}},\"migrateAgent(address)\":{\"details\":\"Migrates an agent.\",\"params\":{\"agent\":\"The address of the agent.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerAgent(address,string,string)\":{\"details\":\"Registers a new agent with the given details.\",\"params\":{\"agent\":\"The address of the agent. Requirements: - The agent must not already be registered. - The caller will be set as the owner of the agent. Emits an {AgentRegistered} event.\",\"agentUri\":\"The URI pointing to the agent's metadata.\",\"name\":\"The name of the agent.\"}},\"registerAgentWithProposal(address,string,string,string,uint256,address)\":{\"details\":\"Registers a new agent with the given details and the proposal.\",\"params\":{\"agent\":\"The address of the agent.\",\"agentUri\":\"The URI pointing to the agent's metadata.\",\"name\":\"The name of the agent.\",\"serviceName\":\"The name of the service.\",\"servicePrice\":\"The price of the service. Requirements: - The agent must not already be registered. - The caller will be set as the owner of the agent. Emits an {AgentRegistered} event.\"}},\"removeAgent(address)\":{\"details\":\"Removes an existing agent and removes all associated proposals.\",\"params\":{\"agent\":\"The address of the agent to remove. Requirements: - The caller must be the owner of the agent. - The agent must be registered. Emits an {AgentRemoved} event and {ProposalRemoved} events for each removed proposal.\"}},\"removeProposal(address,uint256)\":{\"details\":\"Removes a proposal for an agent.\",\"params\":{\"agent\":\"The address of the agent.\",\"proposalId\":\"The ID of the proposal to remove.\"},\"returns\":{\"_0\":\"true if the proposal was removed successfully, false otherwise. Requirements: - The caller must be the owner of the agent. - The agent must be registered. - The proposal must exist. Emits a {ProposalRemoved} event.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setAgentData(address,string,string)\":{\"details\":\"Sets the data of an existing agent.\",\"params\":{\"agent\":\"The address of the agent to update.\",\"agentUri\":\"The new URI pointing to the agent's metadata. Requirements: - The caller must be the owner of the agent. - The agent must be registered. Emits an {AgentDataUpdated} event.\",\"name\":\"The new name of the agent.\"}},\"setServiceRegistry(address)\":{\"details\":\"Sets the address of the ServiceRegistry contract.\",\"params\":{\"_serviceRegistry\":\"The address of the ServiceRegistry contract.\"}},\"setTaskRegistry(address)\":{\"details\":\"Sets the address of the TaskRegistry contract.\",\"params\":{\"_taskRegistry\":\"The address of the TaskRegistry contract.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"AgentsRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the agents, and the services proposals provided by the agents.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AgentsRegistryUpgradeable.sol\":\"AgentsRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xee5c1f59c302ac75878ec65de4d8d72024bc894a9153ceeea188a1a4f101efda\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc3c7395807331fdc4943184c3673d5f4a6bf3a75a63d2a72c67848ad7865235\",\"dweb:/ipfs/QmThXzp6LaMLY5azq1gGebt7Ev2FDvB5jexhadYgzbs96P\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"AgentDataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"AgentRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AgentRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"ProposalAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"ProposalUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newReputation\",\"type\":\"uint256\"}],\"name\":\"ReputationUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"servicePrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"addProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_rating\",\"type\":\"uint256\"}],\"name\":\"addRating\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"agentRegistryV1\",\"outputs\":[{\"internalType\":\"contract IAgentRegistryV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"agents\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reputation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalRatings\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_agent\",\"type\":\"address\"}],\"name\":\"getAgentData\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reputation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalRatings\",\"type\":\"uint256\"}],\"internalType\":\"struct AgentsRegistryUpgradeable.AgentData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct IProposalStruct.ServiceProposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"getReputation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IAgentRegistryV1\",\"name\":\"_agentRegistryV1\",\"type\":\"address\"},{\"internalType\":\"contract ServiceRegistryUpgradeable\",\"name\":\"_serviceRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"migrateAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"registerAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"servicePrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"registerAgentWithService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"removeAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"removeProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"serviceRegistry\",\"outputs\":[{\"internalType\":\"contract ServiceRegistryUpgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"setAgentData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_serviceRegistry\",\"type\":\"address\"}],\"name\":\"setServiceRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_taskRegistry\",\"type\":\"address\"}],\"name\":\"setTaskRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"taskRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"addProposal(address,string,uint256,address)\":{\"details\":\"Adds a new proposal for an agent.\",\"params\":{\"agent\":\"The address of the agent.\",\"serviceName\":\"The name of the service.\",\"servicePrice\":\"The price of the service. Requirements: - The caller must be the owner of the agent. - The agent must be registered. - The service must be registered. Emits a {ProposalAdded} event.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getAgentData(address)\":{\"details\":\"Returns the data of an agent.\",\"params\":{\"_agent\":\"The address of the agent.\"},\"returns\":{\"_0\":\"AgentData The data of the agent.\"}},\"initialize(address,address)\":{\"details\":\"Initializes the contract\",\"params\":{\"_agentRegistryV1\":\"The address of the V1 agent registry for migration\",\"_serviceRegistry\":\"The address of the service registry\"}},\"migrateAgent(address)\":{\"details\":\"Migrates an agent.\",\"params\":{\"agent\":\"The address of the agent.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerAgent(address,string,string)\":{\"details\":\"Registers a new agent with the given details.\",\"params\":{\"agent\":\"The address of the agent. Requirements: - The agent must not already be registered. - The caller will be set as the owner of the agent. Emits an {AgentRegistered} event.\",\"agentUri\":\"The URI pointing to the agent's metadata.\",\"name\":\"The name of the agent.\"}},\"registerAgentWithService(address,string,string,string,uint256,address)\":{\"details\":\"Registers a new agent with the given details and the proposal.\",\"params\":{\"agent\":\"The address of the agent.\",\"agentUri\":\"The URI pointing to the agent's metadata.\",\"name\":\"The name of the agent.\",\"serviceName\":\"The name of the service.\",\"servicePrice\":\"The price of the service. Requirements: - The agent must not already be registered. - The caller will be set as the owner of the agent. Emits an {AgentRegistered} event.\"}},\"removeAgent(address)\":{\"details\":\"Removes an existing agent and removes all associated proposals.\",\"params\":{\"agent\":\"The address of the agent to remove. Requirements: - The caller must be the owner of the agent. - The agent must be registered. Emits an {AgentRemoved} event and {ProposalRemoved} events for each removed proposal.\"}},\"removeProposal(address,uint256)\":{\"details\":\"Removes a proposal for an agent.\",\"params\":{\"agent\":\"The address of the agent.\",\"proposalId\":\"The ID of the proposal to remove.\"},\"returns\":{\"_0\":\"true if the proposal was removed successfully, false otherwise. Requirements: - The caller must be the owner of the agent. - The agent must be registered. - The proposal must exist. Emits a {ProposalRemoved} event.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setAgentData(address,string,string)\":{\"details\":\"Sets the data of an existing agent.\",\"params\":{\"agent\":\"The address of the agent to update.\",\"agentUri\":\"The new URI pointing to the agent's metadata. Requirements: - The caller must be the owner of the agent. - The agent must be registered. Emits an {AgentDataUpdated} event.\",\"name\":\"The new name of the agent.\"}},\"setServiceRegistry(address)\":{\"details\":\"Sets the address of the ServiceRegistry contract.\",\"params\":{\"_serviceRegistry\":\"The address of the ServiceRegistry contract.\"}},\"setTaskRegistry(address)\":{\"details\":\"Sets the address of the TaskRegistry contract.\",\"params\":{\"_taskRegistry\":\"The address of the TaskRegistry contract.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"AgentsRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the agents, and the services proposals provided by the agents.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AgentsRegistryUpgradeable.sol\":\"AgentsRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xe5149f631a8e1a7a69acb078fe71de57ee8cceafd8fbd853f7e06608123c76a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31c481c3cc50228da8d41963f7c84a3d1c29a5ef31e6fee38857a7cdbe4e884e\",\"dweb:/ipfs/QmYFgcoeARWkTwEks7Vie9ezcFmHssGYAqxDfo5TnUkdBc\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]}},\"version\":1}", "storageLayout": { "storage": [ { - "astId": 3135, + "astId": 3136, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "agentRegistryV1", "offset": 0, "slot": "0", - "type": "t_contract(IAgentRegistryV1)5327" + "type": "t_contract(IAgentRegistryV1)5297" }, { - "astId": 3138, + "astId": 3139, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "serviceRegistry", "offset": 0, "slot": "1", - "type": "t_contract(ServiceRegistryUpgradeable)4615" + "type": "t_contract(ServiceRegistryUpgradeable)4616" }, { - "astId": 3140, + "astId": 3141, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "taskRegistry", "offset": 0, @@ -108037,23 +107047,23 @@ "type": "t_address" }, { - "astId": 3145, + "astId": 3146, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "agents", "offset": 0, "slot": "3", - "type": "t_mapping(t_address,t_struct(AgentData)3132_storage)" + "type": "t_mapping(t_address,t_struct(AgentData)3133_storage)" }, { - "astId": 3150, + "astId": 3151, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "proposals", "offset": 0, "slot": "4", - "type": "t_mapping(t_uint256,t_struct(ServiceProposal)5342_storage)" + "type": "t_mapping(t_uint256,t_struct(ServiceProposal)5312_storage)" }, { - "astId": 3152, + "astId": 3153, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "nextProposalId", "offset": 0, @@ -108061,7 +107071,7 @@ "type": "t_uint256" }, { - "astId": 4015, + "astId": 4016, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "__gap", "offset": 0, @@ -108086,41 +107096,41 @@ "label": "bool", "numberOfBytes": "1" }, - "t_contract(IAgentRegistryV1)5327": { + "t_contract(IAgentRegistryV1)5297": { "encoding": "inplace", "label": "contract IAgentRegistryV1", "numberOfBytes": "20" }, - "t_contract(ServiceRegistryUpgradeable)4615": { + "t_contract(ServiceRegistryUpgradeable)4616": { "encoding": "inplace", "label": "contract ServiceRegistryUpgradeable", "numberOfBytes": "20" }, - "t_mapping(t_address,t_struct(AgentData)3132_storage)": { + "t_mapping(t_address,t_struct(AgentData)3133_storage)": { "encoding": "mapping", "key": "t_address", "label": "mapping(address => struct AgentsRegistryUpgradeable.AgentData)", "numberOfBytes": "32", - "value": "t_struct(AgentData)3132_storage" + "value": "t_struct(AgentData)3133_storage" }, - "t_mapping(t_uint256,t_struct(ServiceProposal)5342_storage)": { + "t_mapping(t_uint256,t_struct(ServiceProposal)5312_storage)": { "encoding": "mapping", "key": "t_uint256", "label": "mapping(uint256 => struct IProposalStruct.ServiceProposal)", "numberOfBytes": "32", - "value": "t_struct(ServiceProposal)5342_storage" + "value": "t_struct(ServiceProposal)5312_storage" }, "t_string_storage": { "encoding": "bytes", "label": "string", "numberOfBytes": "32" }, - "t_struct(AgentData)3132_storage": { + "t_struct(AgentData)3133_storage": { "encoding": "inplace", "label": "struct AgentsRegistryUpgradeable.AgentData", "members": [ { - "astId": 3121, + "astId": 3122, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "name", "offset": 0, @@ -108128,7 +107138,7 @@ "type": "t_string_storage" }, { - "astId": 3123, + "astId": 3124, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "agentUri", "offset": 0, @@ -108136,7 +107146,7 @@ "type": "t_string_storage" }, { - "astId": 3125, + "astId": 3126, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "owner", "offset": 0, @@ -108144,7 +107154,7 @@ "type": "t_address" }, { - "astId": 3127, + "astId": 3128, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "agent", "offset": 0, @@ -108152,7 +107162,7 @@ "type": "t_address" }, { - "astId": 3129, + "astId": 3130, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "reputation", "offset": 0, @@ -108160,7 +107170,7 @@ "type": "t_uint256" }, { - "astId": 3131, + "astId": 3132, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "totalRatings", "offset": 0, @@ -108170,12 +107180,12 @@ ], "numberOfBytes": "192" }, - "t_struct(ServiceProposal)5342_storage": { + "t_struct(ServiceProposal)5312_storage": { "encoding": "inplace", "label": "struct IProposalStruct.ServiceProposal", "members": [ { - "astId": 5331, + "astId": 5301, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "issuer", "offset": 0, @@ -108183,7 +107193,7 @@ "type": "t_address" }, { - "astId": 5333, + "astId": 5303, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "serviceName", "offset": 0, @@ -108191,7 +107201,7 @@ "type": "t_string_storage" }, { - "astId": 5335, + "astId": 5305, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "price", "offset": 0, @@ -108199,7 +107209,7 @@ "type": "t_uint256" }, { - "astId": 5337, + "astId": 5307, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "tokenAddress", "offset": 0, @@ -108207,7 +107217,7 @@ "type": "t_address" }, { - "astId": 5339, + "astId": 5309, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "proposalId", "offset": 0, @@ -108215,7 +107225,7 @@ "type": "t_uint256" }, { - "astId": 5341, + "astId": 5311, "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", "label": "isActive", "offset": 0, @@ -108299,7 +107309,7 @@ "getService(string)": "794758be" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"}],\"name\":\"getService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct IServiceRegistryV1.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AgentsRegistryUpgradeable.sol\":\"IServiceRegistryV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xee5c1f59c302ac75878ec65de4d8d72024bc894a9153ceeea188a1a4f101efda\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc3c7395807331fdc4943184c3673d5f4a6bf3a75a63d2a72c67848ad7865235\",\"dweb:/ipfs/QmThXzp6LaMLY5azq1gGebt7Ev2FDvB5jexhadYgzbs96P\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"}],\"name\":\"getService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct IServiceRegistryV1.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AgentsRegistryUpgradeable.sol\":\"IServiceRegistryV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xe5149f631a8e1a7a69acb078fe71de57ee8cceafd8fbd853f7e06608123c76a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31c481c3cc50228da8d41963f7c84a3d1c29a5ef31e6fee38857a7cdbe4e884e\",\"dweb:/ipfs/QmYFgcoeARWkTwEks7Vie9ezcFmHssGYAqxDfo5TnUkdBc\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]}},\"version\":1}", "storageLayout": { "storage": [], "types": null @@ -109101,57 +108111,57 @@ "evm": { "bytecode": { "functionDebugData": { - "@_1999": { + "@_2000": { "entryPoint": null, - "id": 1999, + "id": 2000, "parameterSlots": 2, "returnSlots": 0 }, - "@_4121": { + "@_4122": { "entryPoint": null, - "id": 4121, + "id": 4122, "parameterSlots": 4, "returnSlots": 0 }, - "@_grantRole_947": { + "@_grantRole_948": { "entryPoint": 367, - "id": 947, + "id": 948, "parameterSlots": 2, "returnSlots": 1 }, - "@_mint_2302": { + "@_mint_2303": { "entryPoint": 621, - "id": 2302, + "id": 2303, "parameterSlots": 2, "returnSlots": 0 }, - "@_msgSender_2884": { + "@_msgSender_2885": { "entryPoint": null, - "id": 2884, + "id": 2885, "parameterSlots": 0, "returnSlots": 1 }, - "@_setRoleAdmin_908": { + "@_setRoleAdmin_909": { "entryPoint": 546, - "id": 908, + "id": 909, "parameterSlots": 2, "returnSlots": 0 }, - "@_update_2269": { + "@_update_2270": { "entryPoint": 683, - "id": 2269, + "id": 2270, "parameterSlots": 3, "returnSlots": 0 }, - "@getRoleAdmin_819": { + "@getRoleAdmin_820": { "entryPoint": null, - "id": 819, + "id": 820, "parameterSlots": 1, "returnSlots": 1 }, - "@hasRole_771": { + "@hasRole_772": { "entryPoint": null, - "id": 771, + "id": 772, "parameterSlots": 2, "returnSlots": 1 }, @@ -109237,30 +108247,30 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:5749:36", + "nativeSrc": "0:5749:34", "nodeType": "YulBlock", - "src": "0:5749:36", + "src": "0:5749:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "46:95:36", + "nativeSrc": "46:95:34", "nodeType": "YulBlock", - "src": "46:95:36", + "src": "46:95:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "63:1:36", + "nativeSrc": "63:1:34", "nodeType": "YulLiteral", - "src": "63:1:36", + "src": "63:1:34", "type": "", "value": "0" }, @@ -109268,166 +108278,166 @@ "arguments": [ { "kind": "number", - "nativeSrc": "70:3:36", + "nativeSrc": "70:3:34", "nodeType": "YulLiteral", - "src": "70:3:36", + "src": "70:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "75:10:36", + "nativeSrc": "75:10:34", "nodeType": "YulLiteral", - "src": "75:10:36", + "src": "75:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "66:3:36", + "nativeSrc": "66:3:34", "nodeType": "YulIdentifier", - "src": "66:3:36" + "src": "66:3:34" }, - "nativeSrc": "66:20:36", + "nativeSrc": "66:20:34", "nodeType": "YulFunctionCall", - "src": "66:20:36" + "src": "66:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "56:6:36", + "nativeSrc": "56:6:34", "nodeType": "YulIdentifier", - "src": "56:6:36" + "src": "56:6:34" }, - "nativeSrc": "56:31:36", + "nativeSrc": "56:31:34", "nodeType": "YulFunctionCall", - "src": "56:31:36" + "src": "56:31:34" }, - "nativeSrc": "56:31:36", + "nativeSrc": "56:31:34", "nodeType": "YulExpressionStatement", - "src": "56:31:36" + "src": "56:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "103:1:36", + "nativeSrc": "103:1:34", "nodeType": "YulLiteral", - "src": "103:1:36", + "src": "103:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "106:4:36", + "nativeSrc": "106:4:34", "nodeType": "YulLiteral", - "src": "106:4:36", + "src": "106:4:34", "type": "", "value": "0x41" } ], "functionName": { "name": "mstore", - "nativeSrc": "96:6:36", + "nativeSrc": "96:6:34", "nodeType": "YulIdentifier", - "src": "96:6:36" + "src": "96:6:34" }, - "nativeSrc": "96:15:36", + "nativeSrc": "96:15:34", "nodeType": "YulFunctionCall", - "src": "96:15:36" + "src": "96:15:34" }, - "nativeSrc": "96:15:36", + "nativeSrc": "96:15:34", "nodeType": "YulExpressionStatement", - "src": "96:15:36" + "src": "96:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "127:1:36", + "nativeSrc": "127:1:34", "nodeType": "YulLiteral", - "src": "127:1:36", + "src": "127:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "130:4:36", + "nativeSrc": "130:4:34", "nodeType": "YulLiteral", - "src": "130:4:36", + "src": "130:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "120:6:36", + "nativeSrc": "120:6:34", "nodeType": "YulIdentifier", - "src": "120:6:36" + "src": "120:6:34" }, - "nativeSrc": "120:15:36", + "nativeSrc": "120:15:34", "nodeType": "YulFunctionCall", - "src": "120:15:36" + "src": "120:15:34" }, - "nativeSrc": "120:15:36", + "nativeSrc": "120:15:34", "nodeType": "YulExpressionStatement", - "src": "120:15:36" + "src": "120:15:34" } ] }, "name": "panic_error_0x41", - "nativeSrc": "14:127:36", + "nativeSrc": "14:127:34", "nodeType": "YulFunctionDefinition", - "src": "14:127:36" + "src": "14:127:34" }, { "body": { - "nativeSrc": "210:780:36", + "nativeSrc": "210:780:34", "nodeType": "YulBlock", - "src": "210:780:36", + "src": "210:780:34", "statements": [ { "body": { - "nativeSrc": "259:16:36", + "nativeSrc": "259:16:34", "nodeType": "YulBlock", - "src": "259:16:36", + "src": "259:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "268:1:36", + "nativeSrc": "268:1:34", "nodeType": "YulLiteral", - "src": "268:1:36", + "src": "268:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "271:1:36", + "nativeSrc": "271:1:34", "nodeType": "YulLiteral", - "src": "271:1:36", + "src": "271:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "261:6:36", + "nativeSrc": "261:6:34", "nodeType": "YulIdentifier", - "src": "261:6:36" + "src": "261:6:34" }, - "nativeSrc": "261:12:36", + "nativeSrc": "261:12:34", "nodeType": "YulFunctionCall", - "src": "261:12:36" + "src": "261:12:34" }, - "nativeSrc": "261:12:36", + "nativeSrc": "261:12:34", "nodeType": "YulExpressionStatement", - "src": "261:12:36" + "src": "261:12:34" } ] }, @@ -109439,180 +108449,180 @@ "arguments": [ { "name": "offset", - "nativeSrc": "238:6:36", + "nativeSrc": "238:6:34", "nodeType": "YulIdentifier", - "src": "238:6:36" + "src": "238:6:34" }, { "kind": "number", - "nativeSrc": "246:4:36", + "nativeSrc": "246:4:34", "nodeType": "YulLiteral", - "src": "246:4:36", + "src": "246:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "234:3:36", + "nativeSrc": "234:3:34", "nodeType": "YulIdentifier", - "src": "234:3:36" + "src": "234:3:34" }, - "nativeSrc": "234:17:36", + "nativeSrc": "234:17:34", "nodeType": "YulFunctionCall", - "src": "234:17:36" + "src": "234:17:34" }, { "name": "end", - "nativeSrc": "253:3:36", + "nativeSrc": "253:3:34", "nodeType": "YulIdentifier", - "src": "253:3:36" + "src": "253:3:34" } ], "functionName": { "name": "slt", - "nativeSrc": "230:3:36", + "nativeSrc": "230:3:34", "nodeType": "YulIdentifier", - "src": "230:3:36" + "src": "230:3:34" }, - "nativeSrc": "230:27:36", + "nativeSrc": "230:27:34", "nodeType": "YulFunctionCall", - "src": "230:27:36" + "src": "230:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "223:6:36", + "nativeSrc": "223:6:34", "nodeType": "YulIdentifier", - "src": "223:6:36" + "src": "223:6:34" }, - "nativeSrc": "223:35:36", + "nativeSrc": "223:35:34", "nodeType": "YulFunctionCall", - "src": "223:35:36" + "src": "223:35:34" }, - "nativeSrc": "220:55:36", + "nativeSrc": "220:55:34", "nodeType": "YulIf", - "src": "220:55:36" + "src": "220:55:34" }, { - "nativeSrc": "284:23:36", + "nativeSrc": "284:23:34", "nodeType": "YulVariableDeclaration", - "src": "284:23:36", + "src": "284:23:34", "value": { "arguments": [ { "name": "offset", - "nativeSrc": "300:6:36", + "nativeSrc": "300:6:34", "nodeType": "YulIdentifier", - "src": "300:6:36" + "src": "300:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "294:5:36", + "nativeSrc": "294:5:34", "nodeType": "YulIdentifier", - "src": "294:5:36" + "src": "294:5:34" }, - "nativeSrc": "294:13:36", + "nativeSrc": "294:13:34", "nodeType": "YulFunctionCall", - "src": "294:13:36" + "src": "294:13:34" }, "variables": [ { "name": "_1", - "nativeSrc": "288:2:36", + "nativeSrc": "288:2:34", "nodeType": "YulTypedName", - "src": "288:2:36", + "src": "288:2:34", "type": "" } ] }, { - "nativeSrc": "316:28:36", + "nativeSrc": "316:28:34", "nodeType": "YulVariableDeclaration", - "src": "316:28:36", + "src": "316:28:34", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "334:2:36", + "nativeSrc": "334:2:34", "nodeType": "YulLiteral", - "src": "334:2:36", + "src": "334:2:34", "type": "", "value": "64" }, { "kind": "number", - "nativeSrc": "338:1:36", + "nativeSrc": "338:1:34", "nodeType": "YulLiteral", - "src": "338:1:36", + "src": "338:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "330:3:36", + "nativeSrc": "330:3:34", "nodeType": "YulIdentifier", - "src": "330:3:36" + "src": "330:3:34" }, - "nativeSrc": "330:10:36", + "nativeSrc": "330:10:34", "nodeType": "YulFunctionCall", - "src": "330:10:36" + "src": "330:10:34" }, { "kind": "number", - "nativeSrc": "342:1:36", + "nativeSrc": "342:1:34", "nodeType": "YulLiteral", - "src": "342:1:36", + "src": "342:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "326:3:36", + "nativeSrc": "326:3:34", "nodeType": "YulIdentifier", - "src": "326:3:36" + "src": "326:3:34" }, - "nativeSrc": "326:18:36", + "nativeSrc": "326:18:34", "nodeType": "YulFunctionCall", - "src": "326:18:36" + "src": "326:18:34" }, "variables": [ { "name": "_2", - "nativeSrc": "320:2:36", + "nativeSrc": "320:2:34", "nodeType": "YulTypedName", - "src": "320:2:36", + "src": "320:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "367:22:36", + "nativeSrc": "367:22:34", "nodeType": "YulBlock", - "src": "367:22:36", + "src": "367:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "369:16:36", + "nativeSrc": "369:16:34", "nodeType": "YulIdentifier", - "src": "369:16:36" + "src": "369:16:34" }, - "nativeSrc": "369:18:36", + "nativeSrc": "369:18:34", "nodeType": "YulFunctionCall", - "src": "369:18:36" + "src": "369:18:34" }, - "nativeSrc": "369:18:36", + "nativeSrc": "369:18:34", "nodeType": "YulExpressionStatement", - "src": "369:18:36" + "src": "369:18:34" } ] }, @@ -109620,112 +108630,112 @@ "arguments": [ { "name": "_1", - "nativeSrc": "359:2:36", + "nativeSrc": "359:2:34", "nodeType": "YulIdentifier", - "src": "359:2:36" + "src": "359:2:34" }, { "name": "_2", - "nativeSrc": "363:2:36", + "nativeSrc": "363:2:34", "nodeType": "YulIdentifier", - "src": "363:2:36" + "src": "363:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "356:2:36", + "nativeSrc": "356:2:34", "nodeType": "YulIdentifier", - "src": "356:2:36" + "src": "356:2:34" }, - "nativeSrc": "356:10:36", + "nativeSrc": "356:10:34", "nodeType": "YulFunctionCall", - "src": "356:10:36" + "src": "356:10:34" }, - "nativeSrc": "353:36:36", + "nativeSrc": "353:36:34", "nodeType": "YulIf", - "src": "353:36:36" + "src": "353:36:34" }, { - "nativeSrc": "398:17:36", + "nativeSrc": "398:17:34", "nodeType": "YulVariableDeclaration", - "src": "398:17:36", + "src": "398:17:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "412:2:36", + "nativeSrc": "412:2:34", "nodeType": "YulLiteral", - "src": "412:2:36", + "src": "412:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "408:3:36", + "nativeSrc": "408:3:34", "nodeType": "YulIdentifier", - "src": "408:3:36" + "src": "408:3:34" }, - "nativeSrc": "408:7:36", + "nativeSrc": "408:7:34", "nodeType": "YulFunctionCall", - "src": "408:7:36" + "src": "408:7:34" }, "variables": [ { "name": "_3", - "nativeSrc": "402:2:36", + "nativeSrc": "402:2:34", "nodeType": "YulTypedName", - "src": "402:2:36", + "src": "402:2:34", "type": "" } ] }, { - "nativeSrc": "424:23:36", + "nativeSrc": "424:23:34", "nodeType": "YulVariableDeclaration", - "src": "424:23:36", + "src": "424:23:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "444:2:36", + "nativeSrc": "444:2:34", "nodeType": "YulLiteral", - "src": "444:2:36", + "src": "444:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "438:5:36", + "nativeSrc": "438:5:34", "nodeType": "YulIdentifier", - "src": "438:5:36" + "src": "438:5:34" }, - "nativeSrc": "438:9:36", + "nativeSrc": "438:9:34", "nodeType": "YulFunctionCall", - "src": "438:9:36" + "src": "438:9:34" }, "variables": [ { "name": "memPtr", - "nativeSrc": "428:6:36", + "nativeSrc": "428:6:34", "nodeType": "YulTypedName", - "src": "428:6:36", + "src": "428:6:34", "type": "" } ] }, { - "nativeSrc": "456:71:36", + "nativeSrc": "456:71:34", "nodeType": "YulVariableDeclaration", - "src": "456:71:36", + "src": "456:71:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "478:6:36", + "nativeSrc": "478:6:34", "nodeType": "YulIdentifier", - "src": "478:6:36" + "src": "478:6:34" }, { "arguments": [ @@ -109737,125 +108747,125 @@ "arguments": [ { "name": "_1", - "nativeSrc": "502:2:36", + "nativeSrc": "502:2:34", "nodeType": "YulIdentifier", - "src": "502:2:36" + "src": "502:2:34" }, { "kind": "number", - "nativeSrc": "506:4:36", + "nativeSrc": "506:4:34", "nodeType": "YulLiteral", - "src": "506:4:36", + "src": "506:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "498:3:36", + "nativeSrc": "498:3:34", "nodeType": "YulIdentifier", - "src": "498:3:36" + "src": "498:3:34" }, - "nativeSrc": "498:13:36", + "nativeSrc": "498:13:34", "nodeType": "YulFunctionCall", - "src": "498:13:36" + "src": "498:13:34" }, { "name": "_3", - "nativeSrc": "513:2:36", + "nativeSrc": "513:2:34", "nodeType": "YulIdentifier", - "src": "513:2:36" + "src": "513:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "494:3:36", + "nativeSrc": "494:3:34", "nodeType": "YulIdentifier", - "src": "494:3:36" + "src": "494:3:34" }, - "nativeSrc": "494:22:36", + "nativeSrc": "494:22:34", "nodeType": "YulFunctionCall", - "src": "494:22:36" + "src": "494:22:34" }, { "kind": "number", - "nativeSrc": "518:2:36", + "nativeSrc": "518:2:34", "nodeType": "YulLiteral", - "src": "518:2:36", + "src": "518:2:34", "type": "", "value": "63" } ], "functionName": { "name": "add", - "nativeSrc": "490:3:36", + "nativeSrc": "490:3:34", "nodeType": "YulIdentifier", - "src": "490:3:36" + "src": "490:3:34" }, - "nativeSrc": "490:31:36", + "nativeSrc": "490:31:34", "nodeType": "YulFunctionCall", - "src": "490:31:36" + "src": "490:31:34" }, { "name": "_3", - "nativeSrc": "523:2:36", + "nativeSrc": "523:2:34", "nodeType": "YulIdentifier", - "src": "523:2:36" + "src": "523:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "486:3:36", + "nativeSrc": "486:3:34", "nodeType": "YulIdentifier", - "src": "486:3:36" + "src": "486:3:34" }, - "nativeSrc": "486:40:36", + "nativeSrc": "486:40:34", "nodeType": "YulFunctionCall", - "src": "486:40:36" + "src": "486:40:34" } ], "functionName": { "name": "add", - "nativeSrc": "474:3:36", + "nativeSrc": "474:3:34", "nodeType": "YulIdentifier", - "src": "474:3:36" + "src": "474:3:34" }, - "nativeSrc": "474:53:36", + "nativeSrc": "474:53:34", "nodeType": "YulFunctionCall", - "src": "474:53:36" + "src": "474:53:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "460:10:36", + "nativeSrc": "460:10:34", "nodeType": "YulTypedName", - "src": "460:10:36", + "src": "460:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "586:22:36", + "nativeSrc": "586:22:34", "nodeType": "YulBlock", - "src": "586:22:36", + "src": "586:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "588:16:36", + "nativeSrc": "588:16:34", "nodeType": "YulIdentifier", - "src": "588:16:36" + "src": "588:16:34" }, - "nativeSrc": "588:18:36", + "nativeSrc": "588:18:34", "nodeType": "YulFunctionCall", - "src": "588:18:36" + "src": "588:18:34" }, - "nativeSrc": "588:18:36", + "nativeSrc": "588:18:34", "nodeType": "YulExpressionStatement", - "src": "588:18:36" + "src": "588:18:34" } ] }, @@ -109865,190 +108875,190 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "545:10:36", + "nativeSrc": "545:10:34", "nodeType": "YulIdentifier", - "src": "545:10:36" + "src": "545:10:34" }, { "name": "_2", - "nativeSrc": "557:2:36", + "nativeSrc": "557:2:34", "nodeType": "YulIdentifier", - "src": "557:2:36" + "src": "557:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "542:2:36", + "nativeSrc": "542:2:34", "nodeType": "YulIdentifier", - "src": "542:2:36" + "src": "542:2:34" }, - "nativeSrc": "542:18:36", + "nativeSrc": "542:18:34", "nodeType": "YulFunctionCall", - "src": "542:18:36" + "src": "542:18:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "565:10:36", + "nativeSrc": "565:10:34", "nodeType": "YulIdentifier", - "src": "565:10:36" + "src": "565:10:34" }, { "name": "memPtr", - "nativeSrc": "577:6:36", + "nativeSrc": "577:6:34", "nodeType": "YulIdentifier", - "src": "577:6:36" + "src": "577:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "562:2:36", + "nativeSrc": "562:2:34", "nodeType": "YulIdentifier", - "src": "562:2:36" + "src": "562:2:34" }, - "nativeSrc": "562:22:36", + "nativeSrc": "562:22:34", "nodeType": "YulFunctionCall", - "src": "562:22:36" + "src": "562:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "539:2:36", + "nativeSrc": "539:2:34", "nodeType": "YulIdentifier", - "src": "539:2:36" + "src": "539:2:34" }, - "nativeSrc": "539:46:36", + "nativeSrc": "539:46:34", "nodeType": "YulFunctionCall", - "src": "539:46:36" + "src": "539:46:34" }, - "nativeSrc": "536:72:36", + "nativeSrc": "536:72:34", "nodeType": "YulIf", - "src": "536:72:36" + "src": "536:72:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "624:2:36", + "nativeSrc": "624:2:34", "nodeType": "YulLiteral", - "src": "624:2:36", + "src": "624:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "628:10:36", + "nativeSrc": "628:10:34", "nodeType": "YulIdentifier", - "src": "628:10:36" + "src": "628:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "617:6:36", + "nativeSrc": "617:6:34", "nodeType": "YulIdentifier", - "src": "617:6:36" + "src": "617:6:34" }, - "nativeSrc": "617:22:36", + "nativeSrc": "617:22:34", "nodeType": "YulFunctionCall", - "src": "617:22:36" + "src": "617:22:34" }, - "nativeSrc": "617:22:36", + "nativeSrc": "617:22:34", "nodeType": "YulExpressionStatement", - "src": "617:22:36" + "src": "617:22:34" }, { "expression": { "arguments": [ { "name": "memPtr", - "nativeSrc": "655:6:36", + "nativeSrc": "655:6:34", "nodeType": "YulIdentifier", - "src": "655:6:36" + "src": "655:6:34" }, { "name": "_1", - "nativeSrc": "663:2:36", + "nativeSrc": "663:2:34", "nodeType": "YulIdentifier", - "src": "663:2:36" + "src": "663:2:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "648:6:36", + "nativeSrc": "648:6:34", "nodeType": "YulIdentifier", - "src": "648:6:36" + "src": "648:6:34" }, - "nativeSrc": "648:18:36", + "nativeSrc": "648:18:34", "nodeType": "YulFunctionCall", - "src": "648:18:36" + "src": "648:18:34" }, - "nativeSrc": "648:18:36", + "nativeSrc": "648:18:34", "nodeType": "YulExpressionStatement", - "src": "648:18:36" + "src": "648:18:34" }, { - "nativeSrc": "675:14:36", + "nativeSrc": "675:14:34", "nodeType": "YulVariableDeclaration", - "src": "675:14:36", + "src": "675:14:34", "value": { "kind": "number", - "nativeSrc": "685:4:36", + "nativeSrc": "685:4:34", "nodeType": "YulLiteral", - "src": "685:4:36", + "src": "685:4:34", "type": "", "value": "0x20" }, "variables": [ { "name": "_4", - "nativeSrc": "679:2:36", + "nativeSrc": "679:2:34", "nodeType": "YulTypedName", - "src": "679:2:36", + "src": "679:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "737:16:36", + "nativeSrc": "737:16:34", "nodeType": "YulBlock", - "src": "737:16:36", + "src": "737:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "746:1:36", + "nativeSrc": "746:1:34", "nodeType": "YulLiteral", - "src": "746:1:36", + "src": "746:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "749:1:36", + "nativeSrc": "749:1:34", "nodeType": "YulLiteral", - "src": "749:1:36", + "src": "749:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "739:6:36", + "nativeSrc": "739:6:34", "nodeType": "YulIdentifier", - "src": "739:6:36" + "src": "739:6:34" }, - "nativeSrc": "739:12:36", + "nativeSrc": "739:12:34", "nodeType": "YulFunctionCall", - "src": "739:12:36" + "src": "739:12:34" }, - "nativeSrc": "739:12:36", + "nativeSrc": "739:12:34", "nodeType": "YulExpressionStatement", - "src": "739:12:36" + "src": "739:12:34" } ] }, @@ -110060,94 +109070,94 @@ "arguments": [ { "name": "offset", - "nativeSrc": "712:6:36", + "nativeSrc": "712:6:34", "nodeType": "YulIdentifier", - "src": "712:6:36" + "src": "712:6:34" }, { "name": "_1", - "nativeSrc": "720:2:36", + "nativeSrc": "720:2:34", "nodeType": "YulIdentifier", - "src": "720:2:36" + "src": "720:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "708:3:36", + "nativeSrc": "708:3:34", "nodeType": "YulIdentifier", - "src": "708:3:36" + "src": "708:3:34" }, - "nativeSrc": "708:15:36", + "nativeSrc": "708:15:34", "nodeType": "YulFunctionCall", - "src": "708:15:36" + "src": "708:15:34" }, { "kind": "number", - "nativeSrc": "725:4:36", + "nativeSrc": "725:4:34", "nodeType": "YulLiteral", - "src": "725:4:36", + "src": "725:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "704:3:36", + "nativeSrc": "704:3:34", "nodeType": "YulIdentifier", - "src": "704:3:36" + "src": "704:3:34" }, - "nativeSrc": "704:26:36", + "nativeSrc": "704:26:34", "nodeType": "YulFunctionCall", - "src": "704:26:36" + "src": "704:26:34" }, { "name": "end", - "nativeSrc": "732:3:36", + "nativeSrc": "732:3:34", "nodeType": "YulIdentifier", - "src": "732:3:36" + "src": "732:3:34" } ], "functionName": { "name": "gt", - "nativeSrc": "701:2:36", + "nativeSrc": "701:2:34", "nodeType": "YulIdentifier", - "src": "701:2:36" + "src": "701:2:34" }, - "nativeSrc": "701:35:36", + "nativeSrc": "701:35:34", "nodeType": "YulFunctionCall", - "src": "701:35:36" + "src": "701:35:34" }, - "nativeSrc": "698:55:36", + "nativeSrc": "698:55:34", "nodeType": "YulIf", - "src": "698:55:36" + "src": "698:55:34" }, { - "nativeSrc": "762:10:36", + "nativeSrc": "762:10:34", "nodeType": "YulVariableDeclaration", - "src": "762:10:36", + "src": "762:10:34", "value": { "kind": "number", - "nativeSrc": "771:1:36", + "nativeSrc": "771:1:34", "nodeType": "YulLiteral", - "src": "771:1:36", + "src": "771:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "766:1:36", + "nativeSrc": "766:1:34", "nodeType": "YulTypedName", - "src": "766:1:36", + "src": "766:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "827:87:36", + "nativeSrc": "827:87:34", "nodeType": "YulBlock", - "src": "827:87:36", + "src": "827:87:34", "statements": [ { "expression": { @@ -110158,43 +109168,43 @@ "arguments": [ { "name": "memPtr", - "nativeSrc": "856:6:36", + "nativeSrc": "856:6:34", "nodeType": "YulIdentifier", - "src": "856:6:36" + "src": "856:6:34" }, { "name": "i", - "nativeSrc": "864:1:36", + "nativeSrc": "864:1:34", "nodeType": "YulIdentifier", - "src": "864:1:36" + "src": "864:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "852:3:36", + "nativeSrc": "852:3:34", "nodeType": "YulIdentifier", - "src": "852:3:36" + "src": "852:3:34" }, - "nativeSrc": "852:14:36", + "nativeSrc": "852:14:34", "nodeType": "YulFunctionCall", - "src": "852:14:36" + "src": "852:14:34" }, { "name": "_4", - "nativeSrc": "868:2:36", + "nativeSrc": "868:2:34", "nodeType": "YulIdentifier", - "src": "868:2:36" + "src": "868:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "848:3:36", + "nativeSrc": "848:3:34", "nodeType": "YulIdentifier", - "src": "848:3:36" + "src": "848:3:34" }, - "nativeSrc": "848:23:36", + "nativeSrc": "848:23:34", "nodeType": "YulFunctionCall", - "src": "848:23:36" + "src": "848:23:34" }, { "arguments": [ @@ -110204,69 +109214,69 @@ "arguments": [ { "name": "offset", - "nativeSrc": "887:6:36", + "nativeSrc": "887:6:34", "nodeType": "YulIdentifier", - "src": "887:6:36" + "src": "887:6:34" }, { "name": "i", - "nativeSrc": "895:1:36", + "nativeSrc": "895:1:34", "nodeType": "YulIdentifier", - "src": "895:1:36" + "src": "895:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "883:3:36", + "nativeSrc": "883:3:34", "nodeType": "YulIdentifier", - "src": "883:3:36" + "src": "883:3:34" }, - "nativeSrc": "883:14:36", + "nativeSrc": "883:14:34", "nodeType": "YulFunctionCall", - "src": "883:14:36" + "src": "883:14:34" }, { "name": "_4", - "nativeSrc": "899:2:36", + "nativeSrc": "899:2:34", "nodeType": "YulIdentifier", - "src": "899:2:36" + "src": "899:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "879:3:36", + "nativeSrc": "879:3:34", "nodeType": "YulIdentifier", - "src": "879:3:36" + "src": "879:3:34" }, - "nativeSrc": "879:23:36", + "nativeSrc": "879:23:34", "nodeType": "YulFunctionCall", - "src": "879:23:36" + "src": "879:23:34" } ], "functionName": { "name": "mload", - "nativeSrc": "873:5:36", + "nativeSrc": "873:5:34", "nodeType": "YulIdentifier", - "src": "873:5:36" + "src": "873:5:34" }, - "nativeSrc": "873:30:36", + "nativeSrc": "873:30:34", "nodeType": "YulFunctionCall", - "src": "873:30:36" + "src": "873:30:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "841:6:36", + "nativeSrc": "841:6:34", "nodeType": "YulIdentifier", - "src": "841:6:36" + "src": "841:6:34" }, - "nativeSrc": "841:63:36", + "nativeSrc": "841:63:34", "nodeType": "YulFunctionCall", - "src": "841:63:36" + "src": "841:63:34" }, - "nativeSrc": "841:63:36", + "nativeSrc": "841:63:34", "nodeType": "YulExpressionStatement", - "src": "841:63:36" + "src": "841:63:34" } ] }, @@ -110274,81 +109284,81 @@ "arguments": [ { "name": "i", - "nativeSrc": "792:1:36", + "nativeSrc": "792:1:34", "nodeType": "YulIdentifier", - "src": "792:1:36" + "src": "792:1:34" }, { "name": "_1", - "nativeSrc": "795:2:36", + "nativeSrc": "795:2:34", "nodeType": "YulIdentifier", - "src": "795:2:36" + "src": "795:2:34" } ], "functionName": { "name": "lt", - "nativeSrc": "789:2:36", + "nativeSrc": "789:2:34", "nodeType": "YulIdentifier", - "src": "789:2:36" + "src": "789:2:34" }, - "nativeSrc": "789:9:36", + "nativeSrc": "789:9:34", "nodeType": "YulFunctionCall", - "src": "789:9:36" + "src": "789:9:34" }, - "nativeSrc": "781:133:36", + "nativeSrc": "781:133:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "799:19:36", + "nativeSrc": "799:19:34", "nodeType": "YulBlock", - "src": "799:19:36", + "src": "799:19:34", "statements": [ { - "nativeSrc": "801:15:36", + "nativeSrc": "801:15:34", "nodeType": "YulAssignment", - "src": "801:15:36", + "src": "801:15:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "810:1:36", + "nativeSrc": "810:1:34", "nodeType": "YulIdentifier", - "src": "810:1:36" + "src": "810:1:34" }, { "name": "_4", - "nativeSrc": "813:2:36", + "nativeSrc": "813:2:34", "nodeType": "YulIdentifier", - "src": "813:2:36" + "src": "813:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "806:3:36", + "nativeSrc": "806:3:34", "nodeType": "YulIdentifier", - "src": "806:3:36" + "src": "806:3:34" }, - "nativeSrc": "806:10:36", + "nativeSrc": "806:10:34", "nodeType": "YulFunctionCall", - "src": "806:10:36" + "src": "806:10:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "801:1:36", + "nativeSrc": "801:1:34", "nodeType": "YulIdentifier", - "src": "801:1:36" + "src": "801:1:34" } ] } ] }, "pre": { - "nativeSrc": "785:3:36", + "nativeSrc": "785:3:34", "nodeType": "YulBlock", - "src": "785:3:36", + "src": "785:3:34", "statements": [] }, - "src": "781:133:36" + "src": "781:133:34" }, { "expression": { @@ -110359,165 +109369,165 @@ "arguments": [ { "name": "memPtr", - "nativeSrc": "938:6:36", + "nativeSrc": "938:6:34", "nodeType": "YulIdentifier", - "src": "938:6:36" + "src": "938:6:34" }, { "name": "_1", - "nativeSrc": "946:2:36", + "nativeSrc": "946:2:34", "nodeType": "YulIdentifier", - "src": "946:2:36" + "src": "946:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "934:3:36", + "nativeSrc": "934:3:34", "nodeType": "YulIdentifier", - "src": "934:3:36" + "src": "934:3:34" }, - "nativeSrc": "934:15:36", + "nativeSrc": "934:15:34", "nodeType": "YulFunctionCall", - "src": "934:15:36" + "src": "934:15:34" }, { "kind": "number", - "nativeSrc": "951:4:36", + "nativeSrc": "951:4:34", "nodeType": "YulLiteral", - "src": "951:4:36", + "src": "951:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "930:3:36", + "nativeSrc": "930:3:34", "nodeType": "YulIdentifier", - "src": "930:3:36" + "src": "930:3:34" }, - "nativeSrc": "930:26:36", + "nativeSrc": "930:26:34", "nodeType": "YulFunctionCall", - "src": "930:26:36" + "src": "930:26:34" }, { "kind": "number", - "nativeSrc": "958:1:36", + "nativeSrc": "958:1:34", "nodeType": "YulLiteral", - "src": "958:1:36", + "src": "958:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "923:6:36", + "nativeSrc": "923:6:34", "nodeType": "YulIdentifier", - "src": "923:6:36" + "src": "923:6:34" }, - "nativeSrc": "923:37:36", + "nativeSrc": "923:37:34", "nodeType": "YulFunctionCall", - "src": "923:37:36" + "src": "923:37:34" }, - "nativeSrc": "923:37:36", + "nativeSrc": "923:37:34", "nodeType": "YulExpressionStatement", - "src": "923:37:36" + "src": "923:37:34" }, { - "nativeSrc": "969:15:36", + "nativeSrc": "969:15:34", "nodeType": "YulAssignment", - "src": "969:15:36", + "src": "969:15:34", "value": { "name": "memPtr", - "nativeSrc": "978:6:36", + "nativeSrc": "978:6:34", "nodeType": "YulIdentifier", - "src": "978:6:36" + "src": "978:6:34" }, "variableNames": [ { "name": "array", - "nativeSrc": "969:5:36", + "nativeSrc": "969:5:34", "nodeType": "YulIdentifier", - "src": "969:5:36" + "src": "969:5:34" } ] } ] }, "name": "abi_decode_string_fromMemory", - "nativeSrc": "146:844:36", + "nativeSrc": "146:844:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "184:6:36", + "nativeSrc": "184:6:34", "nodeType": "YulTypedName", - "src": "184:6:36", + "src": "184:6:34", "type": "" }, { "name": "end", - "nativeSrc": "192:3:36", + "nativeSrc": "192:3:34", "nodeType": "YulTypedName", - "src": "192:3:36", + "src": "192:3:34", "type": "" } ], "returnVariables": [ { "name": "array", - "nativeSrc": "200:5:36", + "nativeSrc": "200:5:34", "nodeType": "YulTypedName", - "src": "200:5:36", + "src": "200:5:34", "type": "" } ], - "src": "146:844:36" + "src": "146:844:34" }, { "body": { - "nativeSrc": "1147:639:36", + "nativeSrc": "1147:639:34", "nodeType": "YulBlock", - "src": "1147:639:36", + "src": "1147:639:34", "statements": [ { "body": { - "nativeSrc": "1194:16:36", + "nativeSrc": "1194:16:34", "nodeType": "YulBlock", - "src": "1194:16:36", + "src": "1194:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1203:1:36", + "nativeSrc": "1203:1:34", "nodeType": "YulLiteral", - "src": "1203:1:36", + "src": "1203:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1206:1:36", + "nativeSrc": "1206:1:34", "nodeType": "YulLiteral", - "src": "1206:1:36", + "src": "1206:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1196:6:36", + "nativeSrc": "1196:6:34", "nodeType": "YulIdentifier", - "src": "1196:6:36" + "src": "1196:6:34" }, - "nativeSrc": "1196:12:36", + "nativeSrc": "1196:12:34", "nodeType": "YulFunctionCall", - "src": "1196:12:36" + "src": "1196:12:34" }, - "nativeSrc": "1196:12:36", + "nativeSrc": "1196:12:34", "nodeType": "YulExpressionStatement", - "src": "1196:12:36" + "src": "1196:12:34" } ] }, @@ -110527,186 +109537,186 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "1168:7:36", + "nativeSrc": "1168:7:34", "nodeType": "YulIdentifier", - "src": "1168:7:36" + "src": "1168:7:34" }, { "name": "headStart", - "nativeSrc": "1177:9:36", + "nativeSrc": "1177:9:34", "nodeType": "YulIdentifier", - "src": "1177:9:36" + "src": "1177:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "1164:3:36", + "nativeSrc": "1164:3:34", "nodeType": "YulIdentifier", - "src": "1164:3:36" + "src": "1164:3:34" }, - "nativeSrc": "1164:23:36", + "nativeSrc": "1164:23:34", "nodeType": "YulFunctionCall", - "src": "1164:23:36" + "src": "1164:23:34" }, { "kind": "number", - "nativeSrc": "1189:3:36", + "nativeSrc": "1189:3:34", "nodeType": "YulLiteral", - "src": "1189:3:36", + "src": "1189:3:34", "type": "", "value": "128" } ], "functionName": { "name": "slt", - "nativeSrc": "1160:3:36", + "nativeSrc": "1160:3:34", "nodeType": "YulIdentifier", - "src": "1160:3:36" + "src": "1160:3:34" }, - "nativeSrc": "1160:33:36", + "nativeSrc": "1160:33:34", "nodeType": "YulFunctionCall", - "src": "1160:33:36" + "src": "1160:33:34" }, - "nativeSrc": "1157:53:36", + "nativeSrc": "1157:53:34", "nodeType": "YulIf", - "src": "1157:53:36" + "src": "1157:53:34" }, { - "nativeSrc": "1219:30:36", + "nativeSrc": "1219:30:34", "nodeType": "YulVariableDeclaration", - "src": "1219:30:36", + "src": "1219:30:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "1239:9:36", + "nativeSrc": "1239:9:34", "nodeType": "YulIdentifier", - "src": "1239:9:36" + "src": "1239:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "1233:5:36", + "nativeSrc": "1233:5:34", "nodeType": "YulIdentifier", - "src": "1233:5:36" + "src": "1233:5:34" }, - "nativeSrc": "1233:16:36", + "nativeSrc": "1233:16:34", "nodeType": "YulFunctionCall", - "src": "1233:16:36" + "src": "1233:16:34" }, "variables": [ { "name": "offset", - "nativeSrc": "1223:6:36", + "nativeSrc": "1223:6:34", "nodeType": "YulTypedName", - "src": "1223:6:36", + "src": "1223:6:34", "type": "" } ] }, { - "nativeSrc": "1258:28:36", + "nativeSrc": "1258:28:34", "nodeType": "YulVariableDeclaration", - "src": "1258:28:36", + "src": "1258:28:34", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "1276:2:36", + "nativeSrc": "1276:2:34", "nodeType": "YulLiteral", - "src": "1276:2:36", + "src": "1276:2:34", "type": "", "value": "64" }, { "kind": "number", - "nativeSrc": "1280:1:36", + "nativeSrc": "1280:1:34", "nodeType": "YulLiteral", - "src": "1280:1:36", + "src": "1280:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "1272:3:36", + "nativeSrc": "1272:3:34", "nodeType": "YulIdentifier", - "src": "1272:3:36" + "src": "1272:3:34" }, - "nativeSrc": "1272:10:36", + "nativeSrc": "1272:10:34", "nodeType": "YulFunctionCall", - "src": "1272:10:36" + "src": "1272:10:34" }, { "kind": "number", - "nativeSrc": "1284:1:36", + "nativeSrc": "1284:1:34", "nodeType": "YulLiteral", - "src": "1284:1:36", + "src": "1284:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "1268:3:36", + "nativeSrc": "1268:3:34", "nodeType": "YulIdentifier", - "src": "1268:3:36" + "src": "1268:3:34" }, - "nativeSrc": "1268:18:36", + "nativeSrc": "1268:18:34", "nodeType": "YulFunctionCall", - "src": "1268:18:36" + "src": "1268:18:34" }, "variables": [ { "name": "_1", - "nativeSrc": "1262:2:36", + "nativeSrc": "1262:2:34", "nodeType": "YulTypedName", - "src": "1262:2:36", + "src": "1262:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "1313:16:36", + "nativeSrc": "1313:16:34", "nodeType": "YulBlock", - "src": "1313:16:36", + "src": "1313:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1322:1:36", + "nativeSrc": "1322:1:34", "nodeType": "YulLiteral", - "src": "1322:1:36", + "src": "1322:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1325:1:36", + "nativeSrc": "1325:1:34", "nodeType": "YulLiteral", - "src": "1325:1:36", + "src": "1325:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1315:6:36", + "nativeSrc": "1315:6:34", "nodeType": "YulIdentifier", - "src": "1315:6:36" + "src": "1315:6:34" }, - "nativeSrc": "1315:12:36", + "nativeSrc": "1315:12:34", "nodeType": "YulFunctionCall", - "src": "1315:12:36" + "src": "1315:12:34" }, - "nativeSrc": "1315:12:36", + "nativeSrc": "1315:12:34", "nodeType": "YulExpressionStatement", - "src": "1315:12:36" + "src": "1315:12:34" } ] }, @@ -110714,181 +109724,181 @@ "arguments": [ { "name": "offset", - "nativeSrc": "1301:6:36", + "nativeSrc": "1301:6:34", "nodeType": "YulIdentifier", - "src": "1301:6:36" + "src": "1301:6:34" }, { "name": "_1", - "nativeSrc": "1309:2:36", + "nativeSrc": "1309:2:34", "nodeType": "YulIdentifier", - "src": "1309:2:36" + "src": "1309:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1298:2:36", + "nativeSrc": "1298:2:34", "nodeType": "YulIdentifier", - "src": "1298:2:36" + "src": "1298:2:34" }, - "nativeSrc": "1298:14:36", + "nativeSrc": "1298:14:34", "nodeType": "YulFunctionCall", - "src": "1298:14:36" + "src": "1298:14:34" }, - "nativeSrc": "1295:34:36", + "nativeSrc": "1295:34:34", "nodeType": "YulIf", - "src": "1295:34:36" + "src": "1295:34:34" }, { - "nativeSrc": "1338:71:36", + "nativeSrc": "1338:71:34", "nodeType": "YulAssignment", - "src": "1338:71:36", + "src": "1338:71:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "1381:9:36", + "nativeSrc": "1381:9:34", "nodeType": "YulIdentifier", - "src": "1381:9:36" + "src": "1381:9:34" }, { "name": "offset", - "nativeSrc": "1392:6:36", + "nativeSrc": "1392:6:34", "nodeType": "YulIdentifier", - "src": "1392:6:36" + "src": "1392:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "1377:3:36", + "nativeSrc": "1377:3:34", "nodeType": "YulIdentifier", - "src": "1377:3:36" + "src": "1377:3:34" }, - "nativeSrc": "1377:22:36", + "nativeSrc": "1377:22:34", "nodeType": "YulFunctionCall", - "src": "1377:22:36" + "src": "1377:22:34" }, { "name": "dataEnd", - "nativeSrc": "1401:7:36", + "nativeSrc": "1401:7:34", "nodeType": "YulIdentifier", - "src": "1401:7:36" + "src": "1401:7:34" } ], "functionName": { "name": "abi_decode_string_fromMemory", - "nativeSrc": "1348:28:36", + "nativeSrc": "1348:28:34", "nodeType": "YulIdentifier", - "src": "1348:28:36" + "src": "1348:28:34" }, - "nativeSrc": "1348:61:36", + "nativeSrc": "1348:61:34", "nodeType": "YulFunctionCall", - "src": "1348:61:36" + "src": "1348:61:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "1338:6:36", + "nativeSrc": "1338:6:34", "nodeType": "YulIdentifier", - "src": "1338:6:36" + "src": "1338:6:34" } ] }, { - "nativeSrc": "1418:41:36", + "nativeSrc": "1418:41:34", "nodeType": "YulVariableDeclaration", - "src": "1418:41:36", + "src": "1418:41:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "1444:9:36", + "nativeSrc": "1444:9:34", "nodeType": "YulIdentifier", - "src": "1444:9:36" + "src": "1444:9:34" }, { "kind": "number", - "nativeSrc": "1455:2:36", + "nativeSrc": "1455:2:34", "nodeType": "YulLiteral", - "src": "1455:2:36", + "src": "1455:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1440:3:36", + "nativeSrc": "1440:3:34", "nodeType": "YulIdentifier", - "src": "1440:3:36" + "src": "1440:3:34" }, - "nativeSrc": "1440:18:36", + "nativeSrc": "1440:18:34", "nodeType": "YulFunctionCall", - "src": "1440:18:36" + "src": "1440:18:34" } ], "functionName": { "name": "mload", - "nativeSrc": "1434:5:36", + "nativeSrc": "1434:5:34", "nodeType": "YulIdentifier", - "src": "1434:5:36" + "src": "1434:5:34" }, - "nativeSrc": "1434:25:36", + "nativeSrc": "1434:25:34", "nodeType": "YulFunctionCall", - "src": "1434:25:36" + "src": "1434:25:34" }, "variables": [ { "name": "offset_1", - "nativeSrc": "1422:8:36", + "nativeSrc": "1422:8:34", "nodeType": "YulTypedName", - "src": "1422:8:36", + "src": "1422:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "1488:16:36", + "nativeSrc": "1488:16:34", "nodeType": "YulBlock", - "src": "1488:16:36", + "src": "1488:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1497:1:36", + "nativeSrc": "1497:1:34", "nodeType": "YulLiteral", - "src": "1497:1:36", + "src": "1497:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1500:1:36", + "nativeSrc": "1500:1:34", "nodeType": "YulLiteral", - "src": "1500:1:36", + "src": "1500:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1490:6:36", + "nativeSrc": "1490:6:34", "nodeType": "YulIdentifier", - "src": "1490:6:36" + "src": "1490:6:34" }, - "nativeSrc": "1490:12:36", + "nativeSrc": "1490:12:34", "nodeType": "YulFunctionCall", - "src": "1490:12:36" + "src": "1490:12:34" }, - "nativeSrc": "1490:12:36", + "nativeSrc": "1490:12:34", "nodeType": "YulExpressionStatement", - "src": "1490:12:36" + "src": "1490:12:34" } ] }, @@ -110896,181 +109906,181 @@ "arguments": [ { "name": "offset_1", - "nativeSrc": "1474:8:36", + "nativeSrc": "1474:8:34", "nodeType": "YulIdentifier", - "src": "1474:8:36" + "src": "1474:8:34" }, { "name": "_1", - "nativeSrc": "1484:2:36", + "nativeSrc": "1484:2:34", "nodeType": "YulIdentifier", - "src": "1484:2:36" + "src": "1484:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1471:2:36", + "nativeSrc": "1471:2:34", "nodeType": "YulIdentifier", - "src": "1471:2:36" + "src": "1471:2:34" }, - "nativeSrc": "1471:16:36", + "nativeSrc": "1471:16:34", "nodeType": "YulFunctionCall", - "src": "1471:16:36" + "src": "1471:16:34" }, - "nativeSrc": "1468:36:36", + "nativeSrc": "1468:36:34", "nodeType": "YulIf", - "src": "1468:36:36" + "src": "1468:36:34" }, { - "nativeSrc": "1513:73:36", + "nativeSrc": "1513:73:34", "nodeType": "YulAssignment", - "src": "1513:73:36", + "src": "1513:73:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "1556:9:36", + "nativeSrc": "1556:9:34", "nodeType": "YulIdentifier", - "src": "1556:9:36" + "src": "1556:9:34" }, { "name": "offset_1", - "nativeSrc": "1567:8:36", + "nativeSrc": "1567:8:34", "nodeType": "YulIdentifier", - "src": "1567:8:36" + "src": "1567:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "1552:3:36", + "nativeSrc": "1552:3:34", "nodeType": "YulIdentifier", - "src": "1552:3:36" + "src": "1552:3:34" }, - "nativeSrc": "1552:24:36", + "nativeSrc": "1552:24:34", "nodeType": "YulFunctionCall", - "src": "1552:24:36" + "src": "1552:24:34" }, { "name": "dataEnd", - "nativeSrc": "1578:7:36", + "nativeSrc": "1578:7:34", "nodeType": "YulIdentifier", - "src": "1578:7:36" + "src": "1578:7:34" } ], "functionName": { "name": "abi_decode_string_fromMemory", - "nativeSrc": "1523:28:36", + "nativeSrc": "1523:28:34", "nodeType": "YulIdentifier", - "src": "1523:28:36" + "src": "1523:28:34" }, - "nativeSrc": "1523:63:36", + "nativeSrc": "1523:63:34", "nodeType": "YulFunctionCall", - "src": "1523:63:36" + "src": "1523:63:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "1513:6:36", + "nativeSrc": "1513:6:34", "nodeType": "YulIdentifier", - "src": "1513:6:36" + "src": "1513:6:34" } ] }, { - "nativeSrc": "1595:38:36", + "nativeSrc": "1595:38:34", "nodeType": "YulVariableDeclaration", - "src": "1595:38:36", + "src": "1595:38:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "1618:9:36", + "nativeSrc": "1618:9:34", "nodeType": "YulIdentifier", - "src": "1618:9:36" + "src": "1618:9:34" }, { "kind": "number", - "nativeSrc": "1629:2:36", + "nativeSrc": "1629:2:34", "nodeType": "YulLiteral", - "src": "1629:2:36", + "src": "1629:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "1614:3:36", + "nativeSrc": "1614:3:34", "nodeType": "YulIdentifier", - "src": "1614:3:36" + "src": "1614:3:34" }, - "nativeSrc": "1614:18:36", + "nativeSrc": "1614:18:34", "nodeType": "YulFunctionCall", - "src": "1614:18:36" + "src": "1614:18:34" } ], "functionName": { "name": "mload", - "nativeSrc": "1608:5:36", + "nativeSrc": "1608:5:34", "nodeType": "YulIdentifier", - "src": "1608:5:36" + "src": "1608:5:34" }, - "nativeSrc": "1608:25:36", + "nativeSrc": "1608:25:34", "nodeType": "YulFunctionCall", - "src": "1608:25:36" + "src": "1608:25:34" }, "variables": [ { "name": "value", - "nativeSrc": "1599:5:36", + "nativeSrc": "1599:5:34", "nodeType": "YulTypedName", - "src": "1599:5:36", + "src": "1599:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "1696:16:36", + "nativeSrc": "1696:16:34", "nodeType": "YulBlock", - "src": "1696:16:36", + "src": "1696:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1705:1:36", + "nativeSrc": "1705:1:34", "nodeType": "YulLiteral", - "src": "1705:1:36", + "src": "1705:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1708:1:36", + "nativeSrc": "1708:1:34", "nodeType": "YulLiteral", - "src": "1708:1:36", + "src": "1708:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1698:6:36", + "nativeSrc": "1698:6:34", "nodeType": "YulIdentifier", - "src": "1698:6:36" + "src": "1698:6:34" }, - "nativeSrc": "1698:12:36", + "nativeSrc": "1698:12:34", "nodeType": "YulFunctionCall", - "src": "1698:12:36" + "src": "1698:12:34" }, - "nativeSrc": "1698:12:36", + "nativeSrc": "1698:12:34", "nodeType": "YulExpressionStatement", - "src": "1698:12:36" + "src": "1698:12:34" } ] }, @@ -111080,17 +110090,17 @@ "arguments": [ { "name": "value", - "nativeSrc": "1655:5:36", + "nativeSrc": "1655:5:34", "nodeType": "YulIdentifier", - "src": "1655:5:36" + "src": "1655:5:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "1666:5:36", + "nativeSrc": "1666:5:34", "nodeType": "YulIdentifier", - "src": "1666:5:36" + "src": "1666:5:34" }, { "arguments": [ @@ -111098,342 +110108,342 @@ "arguments": [ { "kind": "number", - "nativeSrc": "1681:3:36", + "nativeSrc": "1681:3:34", "nodeType": "YulLiteral", - "src": "1681:3:36", + "src": "1681:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "1686:1:36", + "nativeSrc": "1686:1:34", "nodeType": "YulLiteral", - "src": "1686:1:36", + "src": "1686:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "1677:3:36", + "nativeSrc": "1677:3:34", "nodeType": "YulIdentifier", - "src": "1677:3:36" + "src": "1677:3:34" }, - "nativeSrc": "1677:11:36", + "nativeSrc": "1677:11:34", "nodeType": "YulFunctionCall", - "src": "1677:11:36" + "src": "1677:11:34" }, { "kind": "number", - "nativeSrc": "1690:1:36", + "nativeSrc": "1690:1:34", "nodeType": "YulLiteral", - "src": "1690:1:36", + "src": "1690:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "1673:3:36", + "nativeSrc": "1673:3:34", "nodeType": "YulIdentifier", - "src": "1673:3:36" + "src": "1673:3:34" }, - "nativeSrc": "1673:19:36", + "nativeSrc": "1673:19:34", "nodeType": "YulFunctionCall", - "src": "1673:19:36" + "src": "1673:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "1662:3:36", + "nativeSrc": "1662:3:34", "nodeType": "YulIdentifier", - "src": "1662:3:36" + "src": "1662:3:34" }, - "nativeSrc": "1662:31:36", + "nativeSrc": "1662:31:34", "nodeType": "YulFunctionCall", - "src": "1662:31:36" + "src": "1662:31:34" } ], "functionName": { "name": "eq", - "nativeSrc": "1652:2:36", + "nativeSrc": "1652:2:34", "nodeType": "YulIdentifier", - "src": "1652:2:36" + "src": "1652:2:34" }, - "nativeSrc": "1652:42:36", + "nativeSrc": "1652:42:34", "nodeType": "YulFunctionCall", - "src": "1652:42:36" + "src": "1652:42:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "1645:6:36", + "nativeSrc": "1645:6:34", "nodeType": "YulIdentifier", - "src": "1645:6:36" + "src": "1645:6:34" }, - "nativeSrc": "1645:50:36", + "nativeSrc": "1645:50:34", "nodeType": "YulFunctionCall", - "src": "1645:50:36" + "src": "1645:50:34" }, - "nativeSrc": "1642:70:36", + "nativeSrc": "1642:70:34", "nodeType": "YulIf", - "src": "1642:70:36" + "src": "1642:70:34" }, { - "nativeSrc": "1721:15:36", + "nativeSrc": "1721:15:34", "nodeType": "YulAssignment", - "src": "1721:15:36", + "src": "1721:15:34", "value": { "name": "value", - "nativeSrc": "1731:5:36", + "nativeSrc": "1731:5:34", "nodeType": "YulIdentifier", - "src": "1731:5:36" + "src": "1731:5:34" }, "variableNames": [ { "name": "value2", - "nativeSrc": "1721:6:36", + "nativeSrc": "1721:6:34", "nodeType": "YulIdentifier", - "src": "1721:6:36" + "src": "1721:6:34" } ] }, { - "nativeSrc": "1745:35:36", + "nativeSrc": "1745:35:34", "nodeType": "YulAssignment", - "src": "1745:35:36", + "src": "1745:35:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "1765:9:36", + "nativeSrc": "1765:9:34", "nodeType": "YulIdentifier", - "src": "1765:9:36" + "src": "1765:9:34" }, { "kind": "number", - "nativeSrc": "1776:2:36", + "nativeSrc": "1776:2:34", "nodeType": "YulLiteral", - "src": "1776:2:36", + "src": "1776:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "1761:3:36", + "nativeSrc": "1761:3:34", "nodeType": "YulIdentifier", - "src": "1761:3:36" + "src": "1761:3:34" }, - "nativeSrc": "1761:18:36", + "nativeSrc": "1761:18:34", "nodeType": "YulFunctionCall", - "src": "1761:18:36" + "src": "1761:18:34" } ], "functionName": { "name": "mload", - "nativeSrc": "1755:5:36", + "nativeSrc": "1755:5:34", "nodeType": "YulIdentifier", - "src": "1755:5:36" + "src": "1755:5:34" }, - "nativeSrc": "1755:25:36", + "nativeSrc": "1755:25:34", "nodeType": "YulFunctionCall", - "src": "1755:25:36" + "src": "1755:25:34" }, "variableNames": [ { "name": "value3", - "nativeSrc": "1745:6:36", + "nativeSrc": "1745:6:34", "nodeType": "YulIdentifier", - "src": "1745:6:36" + "src": "1745:6:34" } ] } ] }, "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_addresst_uint256_fromMemory", - "nativeSrc": "995:791:36", + "nativeSrc": "995:791:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "1089:9:36", + "nativeSrc": "1089:9:34", "nodeType": "YulTypedName", - "src": "1089:9:36", + "src": "1089:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "1100:7:36", + "nativeSrc": "1100:7:34", "nodeType": "YulTypedName", - "src": "1100:7:36", + "src": "1100:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "1112:6:36", + "nativeSrc": "1112:6:34", "nodeType": "YulTypedName", - "src": "1112:6:36", + "src": "1112:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "1120:6:36", + "nativeSrc": "1120:6:34", "nodeType": "YulTypedName", - "src": "1120:6:36", + "src": "1120:6:34", "type": "" }, { "name": "value2", - "nativeSrc": "1128:6:36", + "nativeSrc": "1128:6:34", "nodeType": "YulTypedName", - "src": "1128:6:36", + "src": "1128:6:34", "type": "" }, { "name": "value3", - "nativeSrc": "1136:6:36", + "nativeSrc": "1136:6:34", "nodeType": "YulTypedName", - "src": "1136:6:36", + "src": "1136:6:34", "type": "" } ], - "src": "995:791:36" + "src": "995:791:34" }, { "body": { - "nativeSrc": "1846:325:36", + "nativeSrc": "1846:325:34", "nodeType": "YulBlock", - "src": "1846:325:36", + "src": "1846:325:34", "statements": [ { - "nativeSrc": "1856:22:36", + "nativeSrc": "1856:22:34", "nodeType": "YulAssignment", - "src": "1856:22:36", + "src": "1856:22:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "1870:1:36", + "nativeSrc": "1870:1:34", "nodeType": "YulLiteral", - "src": "1870:1:36", + "src": "1870:1:34", "type": "", "value": "1" }, { "name": "data", - "nativeSrc": "1873:4:36", + "nativeSrc": "1873:4:34", "nodeType": "YulIdentifier", - "src": "1873:4:36" + "src": "1873:4:34" } ], "functionName": { "name": "shr", - "nativeSrc": "1866:3:36", + "nativeSrc": "1866:3:34", "nodeType": "YulIdentifier", - "src": "1866:3:36" + "src": "1866:3:34" }, - "nativeSrc": "1866:12:36", + "nativeSrc": "1866:12:34", "nodeType": "YulFunctionCall", - "src": "1866:12:36" + "src": "1866:12:34" }, "variableNames": [ { "name": "length", - "nativeSrc": "1856:6:36", + "nativeSrc": "1856:6:34", "nodeType": "YulIdentifier", - "src": "1856:6:36" + "src": "1856:6:34" } ] }, { - "nativeSrc": "1887:38:36", + "nativeSrc": "1887:38:34", "nodeType": "YulVariableDeclaration", - "src": "1887:38:36", + "src": "1887:38:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "1917:4:36", + "nativeSrc": "1917:4:34", "nodeType": "YulIdentifier", - "src": "1917:4:36" + "src": "1917:4:34" }, { "kind": "number", - "nativeSrc": "1923:1:36", + "nativeSrc": "1923:1:34", "nodeType": "YulLiteral", - "src": "1923:1:36", + "src": "1923:1:34", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "1913:3:36", + "nativeSrc": "1913:3:34", "nodeType": "YulIdentifier", - "src": "1913:3:36" + "src": "1913:3:34" }, - "nativeSrc": "1913:12:36", + "nativeSrc": "1913:12:34", "nodeType": "YulFunctionCall", - "src": "1913:12:36" + "src": "1913:12:34" }, "variables": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "1891:18:36", + "nativeSrc": "1891:18:34", "nodeType": "YulTypedName", - "src": "1891:18:36", + "src": "1891:18:34", "type": "" } ] }, { "body": { - "nativeSrc": "1964:31:36", + "nativeSrc": "1964:31:34", "nodeType": "YulBlock", - "src": "1964:31:36", + "src": "1964:31:34", "statements": [ { - "nativeSrc": "1966:27:36", + "nativeSrc": "1966:27:34", "nodeType": "YulAssignment", - "src": "1966:27:36", + "src": "1966:27:34", "value": { "arguments": [ { "name": "length", - "nativeSrc": "1980:6:36", + "nativeSrc": "1980:6:34", "nodeType": "YulIdentifier", - "src": "1980:6:36" + "src": "1980:6:34" }, { "kind": "number", - "nativeSrc": "1988:4:36", + "nativeSrc": "1988:4:34", "nodeType": "YulLiteral", - "src": "1988:4:36", + "src": "1988:4:34", "type": "", "value": "0x7f" } ], "functionName": { "name": "and", - "nativeSrc": "1976:3:36", + "nativeSrc": "1976:3:34", "nodeType": "YulIdentifier", - "src": "1976:3:36" + "src": "1976:3:34" }, - "nativeSrc": "1976:17:36", + "nativeSrc": "1976:17:34", "nodeType": "YulFunctionCall", - "src": "1976:17:36" + "src": "1976:17:34" }, "variableNames": [ { "name": "length", - "nativeSrc": "1966:6:36", + "nativeSrc": "1966:6:34", "nodeType": "YulIdentifier", - "src": "1966:6:36" + "src": "1966:6:34" } ] } @@ -111443,39 +110453,39 @@ "arguments": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "1944:18:36", + "nativeSrc": "1944:18:34", "nodeType": "YulIdentifier", - "src": "1944:18:36" + "src": "1944:18:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "1937:6:36", + "nativeSrc": "1937:6:34", "nodeType": "YulIdentifier", - "src": "1937:6:36" + "src": "1937:6:34" }, - "nativeSrc": "1937:26:36", + "nativeSrc": "1937:26:34", "nodeType": "YulFunctionCall", - "src": "1937:26:36" + "src": "1937:26:34" }, - "nativeSrc": "1934:61:36", + "nativeSrc": "1934:61:34", "nodeType": "YulIf", - "src": "1934:61:36" + "src": "1934:61:34" }, { "body": { - "nativeSrc": "2054:111:36", + "nativeSrc": "2054:111:34", "nodeType": "YulBlock", - "src": "2054:111:36", + "src": "2054:111:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2075:1:36", + "nativeSrc": "2075:1:34", "nodeType": "YulLiteral", - "src": "2075:1:36", + "src": "2075:1:34", "type": "", "value": "0" }, @@ -111483,113 +110493,113 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2082:3:36", + "nativeSrc": "2082:3:34", "nodeType": "YulLiteral", - "src": "2082:3:36", + "src": "2082:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "2087:10:36", + "nativeSrc": "2087:10:34", "nodeType": "YulLiteral", - "src": "2087:10:36", + "src": "2087:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "2078:3:36", + "nativeSrc": "2078:3:34", "nodeType": "YulIdentifier", - "src": "2078:3:36" + "src": "2078:3:34" }, - "nativeSrc": "2078:20:36", + "nativeSrc": "2078:20:34", "nodeType": "YulFunctionCall", - "src": "2078:20:36" + "src": "2078:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2068:6:36", + "nativeSrc": "2068:6:34", "nodeType": "YulIdentifier", - "src": "2068:6:36" + "src": "2068:6:34" }, - "nativeSrc": "2068:31:36", + "nativeSrc": "2068:31:34", "nodeType": "YulFunctionCall", - "src": "2068:31:36" + "src": "2068:31:34" }, - "nativeSrc": "2068:31:36", + "nativeSrc": "2068:31:34", "nodeType": "YulExpressionStatement", - "src": "2068:31:36" + "src": "2068:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2119:1:36", + "nativeSrc": "2119:1:34", "nodeType": "YulLiteral", - "src": "2119:1:36", + "src": "2119:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "2122:4:36", + "nativeSrc": "2122:4:34", "nodeType": "YulLiteral", - "src": "2122:4:36", + "src": "2122:4:34", "type": "", "value": "0x22" } ], "functionName": { "name": "mstore", - "nativeSrc": "2112:6:36", + "nativeSrc": "2112:6:34", "nodeType": "YulIdentifier", - "src": "2112:6:36" + "src": "2112:6:34" }, - "nativeSrc": "2112:15:36", + "nativeSrc": "2112:15:34", "nodeType": "YulFunctionCall", - "src": "2112:15:36" + "src": "2112:15:34" }, - "nativeSrc": "2112:15:36", + "nativeSrc": "2112:15:34", "nodeType": "YulExpressionStatement", - "src": "2112:15:36" + "src": "2112:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2147:1:36", + "nativeSrc": "2147:1:34", "nodeType": "YulLiteral", - "src": "2147:1:36", + "src": "2147:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "2150:4:36", + "nativeSrc": "2150:4:34", "nodeType": "YulLiteral", - "src": "2150:4:36", + "src": "2150:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "2140:6:36", + "nativeSrc": "2140:6:34", "nodeType": "YulIdentifier", - "src": "2140:6:36" + "src": "2140:6:34" }, - "nativeSrc": "2140:15:36", + "nativeSrc": "2140:15:34", "nodeType": "YulFunctionCall", - "src": "2140:15:36" + "src": "2140:15:34" }, - "nativeSrc": "2140:15:36", + "nativeSrc": "2140:15:34", "nodeType": "YulExpressionStatement", - "src": "2140:15:36" + "src": "2140:15:34" } ] }, @@ -111597,212 +110607,212 @@ "arguments": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "2010:18:36", + "nativeSrc": "2010:18:34", "nodeType": "YulIdentifier", - "src": "2010:18:36" + "src": "2010:18:34" }, { "arguments": [ { "name": "length", - "nativeSrc": "2033:6:36", + "nativeSrc": "2033:6:34", "nodeType": "YulIdentifier", - "src": "2033:6:36" + "src": "2033:6:34" }, { "kind": "number", - "nativeSrc": "2041:2:36", + "nativeSrc": "2041:2:34", "nodeType": "YulLiteral", - "src": "2041:2:36", + "src": "2041:2:34", "type": "", "value": "32" } ], "functionName": { "name": "lt", - "nativeSrc": "2030:2:36", + "nativeSrc": "2030:2:34", "nodeType": "YulIdentifier", - "src": "2030:2:36" + "src": "2030:2:34" }, - "nativeSrc": "2030:14:36", + "nativeSrc": "2030:14:34", "nodeType": "YulFunctionCall", - "src": "2030:14:36" + "src": "2030:14:34" } ], "functionName": { "name": "eq", - "nativeSrc": "2007:2:36", + "nativeSrc": "2007:2:34", "nodeType": "YulIdentifier", - "src": "2007:2:36" + "src": "2007:2:34" }, - "nativeSrc": "2007:38:36", + "nativeSrc": "2007:38:34", "nodeType": "YulFunctionCall", - "src": "2007:38:36" + "src": "2007:38:34" }, - "nativeSrc": "2004:161:36", + "nativeSrc": "2004:161:34", "nodeType": "YulIf", - "src": "2004:161:36" + "src": "2004:161:34" } ] }, "name": "extract_byte_array_length", - "nativeSrc": "1791:380:36", + "nativeSrc": "1791:380:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "data", - "nativeSrc": "1826:4:36", + "nativeSrc": "1826:4:34", "nodeType": "YulTypedName", - "src": "1826:4:36", + "src": "1826:4:34", "type": "" } ], "returnVariables": [ { "name": "length", - "nativeSrc": "1835:6:36", + "nativeSrc": "1835:6:34", "nodeType": "YulTypedName", - "src": "1835:6:36", + "src": "1835:6:34", "type": "" } ], - "src": "1791:380:36" + "src": "1791:380:34" }, { "body": { - "nativeSrc": "2232:65:36", + "nativeSrc": "2232:65:34", "nodeType": "YulBlock", - "src": "2232:65:36", + "src": "2232:65:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2249:1:36", + "nativeSrc": "2249:1:34", "nodeType": "YulLiteral", - "src": "2249:1:36", + "src": "2249:1:34", "type": "", "value": "0" }, { "name": "ptr", - "nativeSrc": "2252:3:36", + "nativeSrc": "2252:3:34", "nodeType": "YulIdentifier", - "src": "2252:3:36" + "src": "2252:3:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2242:6:36", + "nativeSrc": "2242:6:34", "nodeType": "YulIdentifier", - "src": "2242:6:36" + "src": "2242:6:34" }, - "nativeSrc": "2242:14:36", + "nativeSrc": "2242:14:34", "nodeType": "YulFunctionCall", - "src": "2242:14:36" + "src": "2242:14:34" }, - "nativeSrc": "2242:14:36", + "nativeSrc": "2242:14:34", "nodeType": "YulExpressionStatement", - "src": "2242:14:36" + "src": "2242:14:34" }, { - "nativeSrc": "2265:26:36", + "nativeSrc": "2265:26:34", "nodeType": "YulAssignment", - "src": "2265:26:36", + "src": "2265:26:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "2283:1:36", + "nativeSrc": "2283:1:34", "nodeType": "YulLiteral", - "src": "2283:1:36", + "src": "2283:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "2286:4:36", + "nativeSrc": "2286:4:34", "nodeType": "YulLiteral", - "src": "2286:4:36", + "src": "2286:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "2273:9:36", + "nativeSrc": "2273:9:34", "nodeType": "YulIdentifier", - "src": "2273:9:36" + "src": "2273:9:34" }, - "nativeSrc": "2273:18:36", + "nativeSrc": "2273:18:34", "nodeType": "YulFunctionCall", - "src": "2273:18:36" + "src": "2273:18:34" }, "variableNames": [ { "name": "data", - "nativeSrc": "2265:4:36", + "nativeSrc": "2265:4:34", "nodeType": "YulIdentifier", - "src": "2265:4:36" + "src": "2265:4:34" } ] } ] }, "name": "array_dataslot_string_storage", - "nativeSrc": "2176:121:36", + "nativeSrc": "2176:121:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "ptr", - "nativeSrc": "2215:3:36", + "nativeSrc": "2215:3:34", "nodeType": "YulTypedName", - "src": "2215:3:36", + "src": "2215:3:34", "type": "" } ], "returnVariables": [ { "name": "data", - "nativeSrc": "2223:4:36", + "nativeSrc": "2223:4:34", "nodeType": "YulTypedName", - "src": "2223:4:36", + "src": "2223:4:34", "type": "" } ], - "src": "2176:121:36" + "src": "2176:121:34" }, { "body": { - "nativeSrc": "2383:462:36", + "nativeSrc": "2383:462:34", "nodeType": "YulBlock", - "src": "2383:462:36", + "src": "2383:462:34", "statements": [ { "body": { - "nativeSrc": "2416:423:36", + "nativeSrc": "2416:423:34", "nodeType": "YulBlock", - "src": "2416:423:36", + "src": "2416:423:34", "statements": [ { - "nativeSrc": "2430:11:36", + "nativeSrc": "2430:11:34", "nodeType": "YulVariableDeclaration", - "src": "2430:11:36", + "src": "2430:11:34", "value": { "kind": "number", - "nativeSrc": "2440:1:36", + "nativeSrc": "2440:1:34", "nodeType": "YulLiteral", - "src": "2440:1:36", + "src": "2440:1:34", "type": "", "value": "0" }, "variables": [ { "name": "_1", - "nativeSrc": "2434:2:36", + "nativeSrc": "2434:2:34", "nodeType": "YulTypedName", - "src": "2434:2:36", + "src": "2434:2:34", "type": "" } ] @@ -111812,95 +110822,95 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2461:1:36", + "nativeSrc": "2461:1:34", "nodeType": "YulLiteral", - "src": "2461:1:36", + "src": "2461:1:34", "type": "", "value": "0" }, { "name": "array", - "nativeSrc": "2464:5:36", + "nativeSrc": "2464:5:34", "nodeType": "YulIdentifier", - "src": "2464:5:36" + "src": "2464:5:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2454:6:36", + "nativeSrc": "2454:6:34", "nodeType": "YulIdentifier", - "src": "2454:6:36" + "src": "2454:6:34" }, - "nativeSrc": "2454:16:36", + "nativeSrc": "2454:16:34", "nodeType": "YulFunctionCall", - "src": "2454:16:36" + "src": "2454:16:34" }, - "nativeSrc": "2454:16:36", + "nativeSrc": "2454:16:34", "nodeType": "YulExpressionStatement", - "src": "2454:16:36" + "src": "2454:16:34" }, { - "nativeSrc": "2483:30:36", + "nativeSrc": "2483:30:34", "nodeType": "YulVariableDeclaration", - "src": "2483:30:36", + "src": "2483:30:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "2505:1:36", + "nativeSrc": "2505:1:34", "nodeType": "YulLiteral", - "src": "2505:1:36", + "src": "2505:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "2508:4:36", + "nativeSrc": "2508:4:34", "nodeType": "YulLiteral", - "src": "2508:4:36", + "src": "2508:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "2495:9:36", + "nativeSrc": "2495:9:34", "nodeType": "YulIdentifier", - "src": "2495:9:36" + "src": "2495:9:34" }, - "nativeSrc": "2495:18:36", + "nativeSrc": "2495:18:34", "nodeType": "YulFunctionCall", - "src": "2495:18:36" + "src": "2495:18:34" }, "variables": [ { "name": "data", - "nativeSrc": "2487:4:36", + "nativeSrc": "2487:4:34", "nodeType": "YulTypedName", - "src": "2487:4:36", + "src": "2487:4:34", "type": "" } ] }, { - "nativeSrc": "2526:57:36", + "nativeSrc": "2526:57:34", "nodeType": "YulVariableDeclaration", - "src": "2526:57:36", + "src": "2526:57:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "2549:4:36", + "nativeSrc": "2549:4:34", "nodeType": "YulIdentifier", - "src": "2549:4:36" + "src": "2549:4:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "2559:1:36", + "nativeSrc": "2559:1:34", "nodeType": "YulLiteral", - "src": "2559:1:36", + "src": "2559:1:34", "type": "", "value": "5" }, @@ -111908,83 +110918,83 @@ "arguments": [ { "name": "startIndex", - "nativeSrc": "2566:10:36", + "nativeSrc": "2566:10:34", "nodeType": "YulIdentifier", - "src": "2566:10:36" + "src": "2566:10:34" }, { "kind": "number", - "nativeSrc": "2578:2:36", + "nativeSrc": "2578:2:34", "nodeType": "YulLiteral", - "src": "2578:2:36", + "src": "2578:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "2562:3:36", + "nativeSrc": "2562:3:34", "nodeType": "YulIdentifier", - "src": "2562:3:36" + "src": "2562:3:34" }, - "nativeSrc": "2562:19:36", + "nativeSrc": "2562:19:34", "nodeType": "YulFunctionCall", - "src": "2562:19:36" + "src": "2562:19:34" } ], "functionName": { "name": "shr", - "nativeSrc": "2555:3:36", + "nativeSrc": "2555:3:34", "nodeType": "YulIdentifier", - "src": "2555:3:36" + "src": "2555:3:34" }, - "nativeSrc": "2555:27:36", + "nativeSrc": "2555:27:34", "nodeType": "YulFunctionCall", - "src": "2555:27:36" + "src": "2555:27:34" } ], "functionName": { "name": "add", - "nativeSrc": "2545:3:36", + "nativeSrc": "2545:3:34", "nodeType": "YulIdentifier", - "src": "2545:3:36" + "src": "2545:3:34" }, - "nativeSrc": "2545:38:36", + "nativeSrc": "2545:38:34", "nodeType": "YulFunctionCall", - "src": "2545:38:36" + "src": "2545:38:34" }, "variables": [ { "name": "deleteStart", - "nativeSrc": "2530:11:36", + "nativeSrc": "2530:11:34", "nodeType": "YulTypedName", - "src": "2530:11:36", + "src": "2530:11:34", "type": "" } ] }, { "body": { - "nativeSrc": "2620:23:36", + "nativeSrc": "2620:23:34", "nodeType": "YulBlock", - "src": "2620:23:36", + "src": "2620:23:34", "statements": [ { - "nativeSrc": "2622:19:36", + "nativeSrc": "2622:19:34", "nodeType": "YulAssignment", - "src": "2622:19:36", + "src": "2622:19:34", "value": { "name": "data", - "nativeSrc": "2637:4:36", + "nativeSrc": "2637:4:34", "nodeType": "YulIdentifier", - "src": "2637:4:36" + "src": "2637:4:34" }, "variableNames": [ { "name": "deleteStart", - "nativeSrc": "2622:11:36", + "nativeSrc": "2622:11:34", "nodeType": "YulIdentifier", - "src": "2622:11:36" + "src": "2622:11:34" } ] } @@ -111994,52 +111004,52 @@ "arguments": [ { "name": "startIndex", - "nativeSrc": "2602:10:36", + "nativeSrc": "2602:10:34", "nodeType": "YulIdentifier", - "src": "2602:10:36" + "src": "2602:10:34" }, { "kind": "number", - "nativeSrc": "2614:4:36", + "nativeSrc": "2614:4:34", "nodeType": "YulLiteral", - "src": "2614:4:36", + "src": "2614:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "lt", - "nativeSrc": "2599:2:36", + "nativeSrc": "2599:2:34", "nodeType": "YulIdentifier", - "src": "2599:2:36" + "src": "2599:2:34" }, - "nativeSrc": "2599:20:36", + "nativeSrc": "2599:20:34", "nodeType": "YulFunctionCall", - "src": "2599:20:36" + "src": "2599:20:34" }, - "nativeSrc": "2596:47:36", + "nativeSrc": "2596:47:34", "nodeType": "YulIf", - "src": "2596:47:36" + "src": "2596:47:34" }, { - "nativeSrc": "2656:41:36", + "nativeSrc": "2656:41:34", "nodeType": "YulVariableDeclaration", - "src": "2656:41:36", + "src": "2656:41:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "2670:4:36", + "nativeSrc": "2670:4:34", "nodeType": "YulIdentifier", - "src": "2670:4:36" + "src": "2670:4:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "2680:1:36", + "nativeSrc": "2680:1:34", "nodeType": "YulLiteral", - "src": "2680:1:36", + "src": "2680:1:34", "type": "", "value": "5" }, @@ -112047,116 +111057,116 @@ "arguments": [ { "name": "len", - "nativeSrc": "2687:3:36", + "nativeSrc": "2687:3:34", "nodeType": "YulIdentifier", - "src": "2687:3:36" + "src": "2687:3:34" }, { "kind": "number", - "nativeSrc": "2692:2:36", + "nativeSrc": "2692:2:34", "nodeType": "YulLiteral", - "src": "2692:2:36", + "src": "2692:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "2683:3:36", + "nativeSrc": "2683:3:34", "nodeType": "YulIdentifier", - "src": "2683:3:36" + "src": "2683:3:34" }, - "nativeSrc": "2683:12:36", + "nativeSrc": "2683:12:34", "nodeType": "YulFunctionCall", - "src": "2683:12:36" + "src": "2683:12:34" } ], "functionName": { "name": "shr", - "nativeSrc": "2676:3:36", + "nativeSrc": "2676:3:34", "nodeType": "YulIdentifier", - "src": "2676:3:36" + "src": "2676:3:34" }, - "nativeSrc": "2676:20:36", + "nativeSrc": "2676:20:34", "nodeType": "YulFunctionCall", - "src": "2676:20:36" + "src": "2676:20:34" } ], "functionName": { "name": "add", - "nativeSrc": "2666:3:36", + "nativeSrc": "2666:3:34", "nodeType": "YulIdentifier", - "src": "2666:3:36" + "src": "2666:3:34" }, - "nativeSrc": "2666:31:36", + "nativeSrc": "2666:31:34", "nodeType": "YulFunctionCall", - "src": "2666:31:36" + "src": "2666:31:34" }, "variables": [ { "name": "_2", - "nativeSrc": "2660:2:36", + "nativeSrc": "2660:2:34", "nodeType": "YulTypedName", - "src": "2660:2:36", + "src": "2660:2:34", "type": "" } ] }, { - "nativeSrc": "2710:24:36", + "nativeSrc": "2710:24:34", "nodeType": "YulVariableDeclaration", - "src": "2710:24:36", + "src": "2710:24:34", "value": { "name": "deleteStart", - "nativeSrc": "2723:11:36", + "nativeSrc": "2723:11:34", "nodeType": "YulIdentifier", - "src": "2723:11:36" + "src": "2723:11:34" }, "variables": [ { "name": "start", - "nativeSrc": "2714:5:36", + "nativeSrc": "2714:5:34", "nodeType": "YulTypedName", - "src": "2714:5:36", + "src": "2714:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "2808:21:36", + "nativeSrc": "2808:21:34", "nodeType": "YulBlock", - "src": "2808:21:36", + "src": "2808:21:34", "statements": [ { "expression": { "arguments": [ { "name": "start", - "nativeSrc": "2817:5:36", + "nativeSrc": "2817:5:34", "nodeType": "YulIdentifier", - "src": "2817:5:36" + "src": "2817:5:34" }, { "name": "_1", - "nativeSrc": "2824:2:36", + "nativeSrc": "2824:2:34", "nodeType": "YulIdentifier", - "src": "2824:2:36" + "src": "2824:2:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "2810:6:36", + "nativeSrc": "2810:6:34", "nodeType": "YulIdentifier", - "src": "2810:6:36" + "src": "2810:6:34" }, - "nativeSrc": "2810:17:36", + "nativeSrc": "2810:17:34", "nodeType": "YulFunctionCall", - "src": "2810:17:36" + "src": "2810:17:34" }, - "nativeSrc": "2810:17:36", + "nativeSrc": "2810:17:34", "nodeType": "YulExpressionStatement", - "src": "2810:17:36" + "src": "2810:17:34" } ] }, @@ -112164,83 +111174,83 @@ "arguments": [ { "name": "start", - "nativeSrc": "2758:5:36", + "nativeSrc": "2758:5:34", "nodeType": "YulIdentifier", - "src": "2758:5:36" + "src": "2758:5:34" }, { "name": "_2", - "nativeSrc": "2765:2:36", + "nativeSrc": "2765:2:34", "nodeType": "YulIdentifier", - "src": "2765:2:36" + "src": "2765:2:34" } ], "functionName": { "name": "lt", - "nativeSrc": "2755:2:36", + "nativeSrc": "2755:2:34", "nodeType": "YulIdentifier", - "src": "2755:2:36" + "src": "2755:2:34" }, - "nativeSrc": "2755:13:36", + "nativeSrc": "2755:13:34", "nodeType": "YulFunctionCall", - "src": "2755:13:36" + "src": "2755:13:34" }, - "nativeSrc": "2747:82:36", + "nativeSrc": "2747:82:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "2769:26:36", + "nativeSrc": "2769:26:34", "nodeType": "YulBlock", - "src": "2769:26:36", + "src": "2769:26:34", "statements": [ { - "nativeSrc": "2771:22:36", + "nativeSrc": "2771:22:34", "nodeType": "YulAssignment", - "src": "2771:22:36", + "src": "2771:22:34", "value": { "arguments": [ { "name": "start", - "nativeSrc": "2784:5:36", + "nativeSrc": "2784:5:34", "nodeType": "YulIdentifier", - "src": "2784:5:36" + "src": "2784:5:34" }, { "kind": "number", - "nativeSrc": "2791:1:36", + "nativeSrc": "2791:1:34", "nodeType": "YulLiteral", - "src": "2791:1:36", + "src": "2791:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "2780:3:36", + "nativeSrc": "2780:3:34", "nodeType": "YulIdentifier", - "src": "2780:3:36" + "src": "2780:3:34" }, - "nativeSrc": "2780:13:36", + "nativeSrc": "2780:13:34", "nodeType": "YulFunctionCall", - "src": "2780:13:36" + "src": "2780:13:34" }, "variableNames": [ { "name": "start", - "nativeSrc": "2771:5:36", + "nativeSrc": "2771:5:34", "nodeType": "YulIdentifier", - "src": "2771:5:36" + "src": "2771:5:34" } ] } ] }, "pre": { - "nativeSrc": "2751:3:36", + "nativeSrc": "2751:3:34", "nodeType": "YulBlock", - "src": "2751:3:36", + "src": "2751:3:34", "statements": [] }, - "src": "2747:82:36" + "src": "2747:82:34" } ] }, @@ -112248,82 +111258,82 @@ "arguments": [ { "name": "len", - "nativeSrc": "2399:3:36", + "nativeSrc": "2399:3:34", "nodeType": "YulIdentifier", - "src": "2399:3:36" + "src": "2399:3:34" }, { "kind": "number", - "nativeSrc": "2404:2:36", + "nativeSrc": "2404:2:34", "nodeType": "YulLiteral", - "src": "2404:2:36", + "src": "2404:2:34", "type": "", "value": "31" } ], "functionName": { "name": "gt", - "nativeSrc": "2396:2:36", + "nativeSrc": "2396:2:34", "nodeType": "YulIdentifier", - "src": "2396:2:36" + "src": "2396:2:34" }, - "nativeSrc": "2396:11:36", + "nativeSrc": "2396:11:34", "nodeType": "YulFunctionCall", - "src": "2396:11:36" + "src": "2396:11:34" }, - "nativeSrc": "2393:446:36", + "nativeSrc": "2393:446:34", "nodeType": "YulIf", - "src": "2393:446:36" + "src": "2393:446:34" } ] }, "name": "clean_up_bytearray_end_slots_string_storage", - "nativeSrc": "2302:543:36", + "nativeSrc": "2302:543:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "array", - "nativeSrc": "2355:5:36", + "nativeSrc": "2355:5:34", "nodeType": "YulTypedName", - "src": "2355:5:36", + "src": "2355:5:34", "type": "" }, { "name": "len", - "nativeSrc": "2362:3:36", + "nativeSrc": "2362:3:34", "nodeType": "YulTypedName", - "src": "2362:3:36", + "src": "2362:3:34", "type": "" }, { "name": "startIndex", - "nativeSrc": "2367:10:36", + "nativeSrc": "2367:10:34", "nodeType": "YulTypedName", - "src": "2367:10:36", + "src": "2367:10:34", "type": "" } ], - "src": "2302:543:36" + "src": "2302:543:34" }, { "body": { - "nativeSrc": "2935:81:36", + "nativeSrc": "2935:81:34", "nodeType": "YulBlock", - "src": "2935:81:36", + "src": "2935:81:34", "statements": [ { - "nativeSrc": "2945:65:36", + "nativeSrc": "2945:65:34", "nodeType": "YulAssignment", - "src": "2945:65:36", + "src": "2945:65:34", "value": { "arguments": [ { "arguments": [ { "name": "data", - "nativeSrc": "2960:4:36", + "nativeSrc": "2960:4:34", "nodeType": "YulIdentifier", - "src": "2960:4:36" + "src": "2960:4:34" }, { "arguments": [ @@ -112333,223 +111343,223 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2978:1:36", + "nativeSrc": "2978:1:34", "nodeType": "YulLiteral", - "src": "2978:1:36", + "src": "2978:1:34", "type": "", "value": "3" }, { "name": "len", - "nativeSrc": "2981:3:36", + "nativeSrc": "2981:3:34", "nodeType": "YulIdentifier", - "src": "2981:3:36" + "src": "2981:3:34" } ], "functionName": { "name": "shl", - "nativeSrc": "2974:3:36", + "nativeSrc": "2974:3:34", "nodeType": "YulIdentifier", - "src": "2974:3:36" + "src": "2974:3:34" }, - "nativeSrc": "2974:11:36", + "nativeSrc": "2974:11:34", "nodeType": "YulFunctionCall", - "src": "2974:11:36" + "src": "2974:11:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "2991:1:36", + "nativeSrc": "2991:1:34", "nodeType": "YulLiteral", - "src": "2991:1:36", + "src": "2991:1:34", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "2987:3:36", + "nativeSrc": "2987:3:34", "nodeType": "YulIdentifier", - "src": "2987:3:36" + "src": "2987:3:34" }, - "nativeSrc": "2987:6:36", + "nativeSrc": "2987:6:34", "nodeType": "YulFunctionCall", - "src": "2987:6:36" + "src": "2987:6:34" } ], "functionName": { "name": "shr", - "nativeSrc": "2970:3:36", + "nativeSrc": "2970:3:34", "nodeType": "YulIdentifier", - "src": "2970:3:36" + "src": "2970:3:34" }, - "nativeSrc": "2970:24:36", + "nativeSrc": "2970:24:34", "nodeType": "YulFunctionCall", - "src": "2970:24:36" + "src": "2970:24:34" } ], "functionName": { "name": "not", - "nativeSrc": "2966:3:36", + "nativeSrc": "2966:3:34", "nodeType": "YulIdentifier", - "src": "2966:3:36" + "src": "2966:3:34" }, - "nativeSrc": "2966:29:36", + "nativeSrc": "2966:29:34", "nodeType": "YulFunctionCall", - "src": "2966:29:36" + "src": "2966:29:34" } ], "functionName": { "name": "and", - "nativeSrc": "2956:3:36", + "nativeSrc": "2956:3:34", "nodeType": "YulIdentifier", - "src": "2956:3:36" + "src": "2956:3:34" }, - "nativeSrc": "2956:40:36", + "nativeSrc": "2956:40:34", "nodeType": "YulFunctionCall", - "src": "2956:40:36" + "src": "2956:40:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "3002:1:36", + "nativeSrc": "3002:1:34", "nodeType": "YulLiteral", - "src": "3002:1:36", + "src": "3002:1:34", "type": "", "value": "1" }, { "name": "len", - "nativeSrc": "3005:3:36", + "nativeSrc": "3005:3:34", "nodeType": "YulIdentifier", - "src": "3005:3:36" + "src": "3005:3:34" } ], "functionName": { "name": "shl", - "nativeSrc": "2998:3:36", + "nativeSrc": "2998:3:34", "nodeType": "YulIdentifier", - "src": "2998:3:36" + "src": "2998:3:34" }, - "nativeSrc": "2998:11:36", + "nativeSrc": "2998:11:34", "nodeType": "YulFunctionCall", - "src": "2998:11:36" + "src": "2998:11:34" } ], "functionName": { "name": "or", - "nativeSrc": "2953:2:36", + "nativeSrc": "2953:2:34", "nodeType": "YulIdentifier", - "src": "2953:2:36" + "src": "2953:2:34" }, - "nativeSrc": "2953:57:36", + "nativeSrc": "2953:57:34", "nodeType": "YulFunctionCall", - "src": "2953:57:36" + "src": "2953:57:34" }, "variableNames": [ { "name": "used", - "nativeSrc": "2945:4:36", + "nativeSrc": "2945:4:34", "nodeType": "YulIdentifier", - "src": "2945:4:36" + "src": "2945:4:34" } ] } ] }, "name": "extract_used_part_and_set_length_of_short_byte_array", - "nativeSrc": "2850:166:36", + "nativeSrc": "2850:166:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "data", - "nativeSrc": "2912:4:36", + "nativeSrc": "2912:4:34", "nodeType": "YulTypedName", - "src": "2912:4:36", + "src": "2912:4:34", "type": "" }, { "name": "len", - "nativeSrc": "2918:3:36", + "nativeSrc": "2918:3:34", "nodeType": "YulTypedName", - "src": "2918:3:36", + "src": "2918:3:34", "type": "" } ], "returnVariables": [ { "name": "used", - "nativeSrc": "2926:4:36", + "nativeSrc": "2926:4:34", "nodeType": "YulTypedName", - "src": "2926:4:36", + "src": "2926:4:34", "type": "" } ], - "src": "2850:166:36" + "src": "2850:166:34" }, { "body": { - "nativeSrc": "3117:1249:36", + "nativeSrc": "3117:1249:34", "nodeType": "YulBlock", - "src": "3117:1249:36", + "src": "3117:1249:34", "statements": [ { - "nativeSrc": "3127:24:36", + "nativeSrc": "3127:24:34", "nodeType": "YulVariableDeclaration", - "src": "3127:24:36", + "src": "3127:24:34", "value": { "arguments": [ { "name": "src", - "nativeSrc": "3147:3:36", + "nativeSrc": "3147:3:34", "nodeType": "YulIdentifier", - "src": "3147:3:36" + "src": "3147:3:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3141:5:36", + "nativeSrc": "3141:5:34", "nodeType": "YulIdentifier", - "src": "3141:5:36" + "src": "3141:5:34" }, - "nativeSrc": "3141:10:36", + "nativeSrc": "3141:10:34", "nodeType": "YulFunctionCall", - "src": "3141:10:36" + "src": "3141:10:34" }, "variables": [ { "name": "newLen", - "nativeSrc": "3131:6:36", + "nativeSrc": "3131:6:34", "nodeType": "YulTypedName", - "src": "3131:6:36", + "src": "3131:6:34", "type": "" } ] }, { "body": { - "nativeSrc": "3194:22:36", + "nativeSrc": "3194:22:34", "nodeType": "YulBlock", - "src": "3194:22:36", + "src": "3194:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "3196:16:36", + "nativeSrc": "3196:16:34", "nodeType": "YulIdentifier", - "src": "3196:16:36" + "src": "3196:16:34" }, - "nativeSrc": "3196:18:36", + "nativeSrc": "3196:18:34", "nodeType": "YulFunctionCall", - "src": "3196:18:36" + "src": "3196:18:34" }, - "nativeSrc": "3196:18:36", + "nativeSrc": "3196:18:34", "nodeType": "YulExpressionStatement", - "src": "3196:18:36" + "src": "3196:18:34" } ] }, @@ -112557,9 +111567,9 @@ "arguments": [ { "name": "newLen", - "nativeSrc": "3166:6:36", + "nativeSrc": "3166:6:34", "nodeType": "YulIdentifier", - "src": "3166:6:36" + "src": "3166:6:34" }, { "arguments": [ @@ -112567,73 +111577,73 @@ "arguments": [ { "kind": "number", - "nativeSrc": "3182:2:36", + "nativeSrc": "3182:2:34", "nodeType": "YulLiteral", - "src": "3182:2:36", + "src": "3182:2:34", "type": "", "value": "64" }, { "kind": "number", - "nativeSrc": "3186:1:36", + "nativeSrc": "3186:1:34", "nodeType": "YulLiteral", - "src": "3186:1:36", + "src": "3186:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "3178:3:36", + "nativeSrc": "3178:3:34", "nodeType": "YulIdentifier", - "src": "3178:3:36" + "src": "3178:3:34" }, - "nativeSrc": "3178:10:36", + "nativeSrc": "3178:10:34", "nodeType": "YulFunctionCall", - "src": "3178:10:36" + "src": "3178:10:34" }, { "kind": "number", - "nativeSrc": "3190:1:36", + "nativeSrc": "3190:1:34", "nodeType": "YulLiteral", - "src": "3190:1:36", + "src": "3190:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "3174:3:36", + "nativeSrc": "3174:3:34", "nodeType": "YulIdentifier", - "src": "3174:3:36" + "src": "3174:3:34" }, - "nativeSrc": "3174:18:36", + "nativeSrc": "3174:18:34", "nodeType": "YulFunctionCall", - "src": "3174:18:36" + "src": "3174:18:34" } ], "functionName": { "name": "gt", - "nativeSrc": "3163:2:36", + "nativeSrc": "3163:2:34", "nodeType": "YulIdentifier", - "src": "3163:2:36" + "src": "3163:2:34" }, - "nativeSrc": "3163:30:36", + "nativeSrc": "3163:30:34", "nodeType": "YulFunctionCall", - "src": "3163:30:36" + "src": "3163:30:34" }, - "nativeSrc": "3160:56:36", + "nativeSrc": "3160:56:34", "nodeType": "YulIf", - "src": "3160:56:36" + "src": "3160:56:34" }, { "expression": { "arguments": [ { "name": "slot", - "nativeSrc": "3269:4:36", + "nativeSrc": "3269:4:34", "nodeType": "YulIdentifier", - "src": "3269:4:36" + "src": "3269:4:34" }, { "arguments": [ @@ -112641,115 +111651,115 @@ "arguments": [ { "name": "slot", - "nativeSrc": "3307:4:36", + "nativeSrc": "3307:4:34", "nodeType": "YulIdentifier", - "src": "3307:4:36" + "src": "3307:4:34" } ], "functionName": { "name": "sload", - "nativeSrc": "3301:5:36", + "nativeSrc": "3301:5:34", "nodeType": "YulIdentifier", - "src": "3301:5:36" + "src": "3301:5:34" }, - "nativeSrc": "3301:11:36", + "nativeSrc": "3301:11:34", "nodeType": "YulFunctionCall", - "src": "3301:11:36" + "src": "3301:11:34" } ], "functionName": { "name": "extract_byte_array_length", - "nativeSrc": "3275:25:36", + "nativeSrc": "3275:25:34", "nodeType": "YulIdentifier", - "src": "3275:25:36" + "src": "3275:25:34" }, - "nativeSrc": "3275:38:36", + "nativeSrc": "3275:38:34", "nodeType": "YulFunctionCall", - "src": "3275:38:36" + "src": "3275:38:34" }, { "name": "newLen", - "nativeSrc": "3315:6:36", + "nativeSrc": "3315:6:34", "nodeType": "YulIdentifier", - "src": "3315:6:36" + "src": "3315:6:34" } ], "functionName": { "name": "clean_up_bytearray_end_slots_string_storage", - "nativeSrc": "3225:43:36", + "nativeSrc": "3225:43:34", "nodeType": "YulIdentifier", - "src": "3225:43:36" + "src": "3225:43:34" }, - "nativeSrc": "3225:97:36", + "nativeSrc": "3225:97:34", "nodeType": "YulFunctionCall", - "src": "3225:97:36" + "src": "3225:97:34" }, - "nativeSrc": "3225:97:36", + "nativeSrc": "3225:97:34", "nodeType": "YulExpressionStatement", - "src": "3225:97:36" + "src": "3225:97:34" }, { - "nativeSrc": "3331:18:36", + "nativeSrc": "3331:18:34", "nodeType": "YulVariableDeclaration", - "src": "3331:18:36", + "src": "3331:18:34", "value": { "kind": "number", - "nativeSrc": "3348:1:36", + "nativeSrc": "3348:1:34", "nodeType": "YulLiteral", - "src": "3348:1:36", + "src": "3348:1:34", "type": "", "value": "0" }, "variables": [ { "name": "srcOffset", - "nativeSrc": "3335:9:36", + "nativeSrc": "3335:9:34", "nodeType": "YulTypedName", - "src": "3335:9:36", + "src": "3335:9:34", "type": "" } ] }, { - "nativeSrc": "3358:23:36", + "nativeSrc": "3358:23:34", "nodeType": "YulVariableDeclaration", - "src": "3358:23:36", + "src": "3358:23:34", "value": { "kind": "number", - "nativeSrc": "3377:4:36", + "nativeSrc": "3377:4:34", "nodeType": "YulLiteral", - "src": "3377:4:36", + "src": "3377:4:34", "type": "", "value": "0x20" }, "variables": [ { "name": "srcOffset_1", - "nativeSrc": "3362:11:36", + "nativeSrc": "3362:11:34", "nodeType": "YulTypedName", - "src": "3362:11:36", + "src": "3362:11:34", "type": "" } ] }, { - "nativeSrc": "3390:17:36", + "nativeSrc": "3390:17:34", "nodeType": "YulAssignment", - "src": "3390:17:36", + "src": "3390:17:34", "value": { "kind": "number", - "nativeSrc": "3403:4:36", + "nativeSrc": "3403:4:34", "nodeType": "YulLiteral", - "src": "3403:4:36", + "src": "3403:4:34", "type": "", "value": "0x20" }, "variableNames": [ { "name": "srcOffset", - "nativeSrc": "3390:9:36", + "nativeSrc": "3390:9:34", "nodeType": "YulIdentifier", - "src": "3390:9:36" + "src": "3390:9:34" } ] }, @@ -112757,133 +111767,133 @@ "cases": [ { "body": { - "nativeSrc": "3453:656:36", + "nativeSrc": "3453:656:34", "nodeType": "YulBlock", - "src": "3453:656:36", + "src": "3453:656:34", "statements": [ { - "nativeSrc": "3467:35:36", + "nativeSrc": "3467:35:34", "nodeType": "YulVariableDeclaration", - "src": "3467:35:36", + "src": "3467:35:34", "value": { "arguments": [ { "name": "newLen", - "nativeSrc": "3486:6:36", + "nativeSrc": "3486:6:34", "nodeType": "YulIdentifier", - "src": "3486:6:36" + "src": "3486:6:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "3498:2:36", + "nativeSrc": "3498:2:34", "nodeType": "YulLiteral", - "src": "3498:2:36", + "src": "3498:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "3494:3:36", + "nativeSrc": "3494:3:34", "nodeType": "YulIdentifier", - "src": "3494:3:36" + "src": "3494:3:34" }, - "nativeSrc": "3494:7:36", + "nativeSrc": "3494:7:34", "nodeType": "YulFunctionCall", - "src": "3494:7:36" + "src": "3494:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "3482:3:36", + "nativeSrc": "3482:3:34", "nodeType": "YulIdentifier", - "src": "3482:3:36" + "src": "3482:3:34" }, - "nativeSrc": "3482:20:36", + "nativeSrc": "3482:20:34", "nodeType": "YulFunctionCall", - "src": "3482:20:36" + "src": "3482:20:34" }, "variables": [ { "name": "loopEnd", - "nativeSrc": "3471:7:36", + "nativeSrc": "3471:7:34", "nodeType": "YulTypedName", - "src": "3471:7:36", + "src": "3471:7:34", "type": "" } ] }, { - "nativeSrc": "3515:49:36", + "nativeSrc": "3515:49:34", "nodeType": "YulVariableDeclaration", - "src": "3515:49:36", + "src": "3515:49:34", "value": { "arguments": [ { "name": "slot", - "nativeSrc": "3559:4:36", + "nativeSrc": "3559:4:34", "nodeType": "YulIdentifier", - "src": "3559:4:36" + "src": "3559:4:34" } ], "functionName": { "name": "array_dataslot_string_storage", - "nativeSrc": "3529:29:36", + "nativeSrc": "3529:29:34", "nodeType": "YulIdentifier", - "src": "3529:29:36" + "src": "3529:29:34" }, - "nativeSrc": "3529:35:36", + "nativeSrc": "3529:35:34", "nodeType": "YulFunctionCall", - "src": "3529:35:36" + "src": "3529:35:34" }, "variables": [ { "name": "dstPtr", - "nativeSrc": "3519:6:36", + "nativeSrc": "3519:6:34", "nodeType": "YulTypedName", - "src": "3519:6:36", + "src": "3519:6:34", "type": "" } ] }, { - "nativeSrc": "3577:10:36", + "nativeSrc": "3577:10:34", "nodeType": "YulVariableDeclaration", - "src": "3577:10:36", + "src": "3577:10:34", "value": { "kind": "number", - "nativeSrc": "3586:1:36", + "nativeSrc": "3586:1:34", "nodeType": "YulLiteral", - "src": "3586:1:36", + "src": "3586:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "3581:1:36", + "nativeSrc": "3581:1:34", "nodeType": "YulTypedName", - "src": "3581:1:36", + "src": "3581:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "3664:172:36", + "nativeSrc": "3664:172:34", "nodeType": "YulBlock", - "src": "3664:172:36", + "src": "3664:172:34", "statements": [ { "expression": { "arguments": [ { "name": "dstPtr", - "nativeSrc": "3689:6:36", + "nativeSrc": "3689:6:34", "nodeType": "YulIdentifier", - "src": "3689:6:36" + "src": "3689:6:34" }, { "arguments": [ @@ -112891,128 +111901,128 @@ "arguments": [ { "name": "src", - "nativeSrc": "3707:3:36", + "nativeSrc": "3707:3:34", "nodeType": "YulIdentifier", - "src": "3707:3:36" + "src": "3707:3:34" }, { "name": "srcOffset", - "nativeSrc": "3712:9:36", + "nativeSrc": "3712:9:34", "nodeType": "YulIdentifier", - "src": "3712:9:36" + "src": "3712:9:34" } ], "functionName": { "name": "add", - "nativeSrc": "3703:3:36", + "nativeSrc": "3703:3:34", "nodeType": "YulIdentifier", - "src": "3703:3:36" + "src": "3703:3:34" }, - "nativeSrc": "3703:19:36", + "nativeSrc": "3703:19:34", "nodeType": "YulFunctionCall", - "src": "3703:19:36" + "src": "3703:19:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3697:5:36", + "nativeSrc": "3697:5:34", "nodeType": "YulIdentifier", - "src": "3697:5:36" + "src": "3697:5:34" }, - "nativeSrc": "3697:26:36", + "nativeSrc": "3697:26:34", "nodeType": "YulFunctionCall", - "src": "3697:26:36" + "src": "3697:26:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "3682:6:36", + "nativeSrc": "3682:6:34", "nodeType": "YulIdentifier", - "src": "3682:6:36" + "src": "3682:6:34" }, - "nativeSrc": "3682:42:36", + "nativeSrc": "3682:42:34", "nodeType": "YulFunctionCall", - "src": "3682:42:36" + "src": "3682:42:34" }, - "nativeSrc": "3682:42:36", + "nativeSrc": "3682:42:34", "nodeType": "YulExpressionStatement", - "src": "3682:42:36" + "src": "3682:42:34" }, { - "nativeSrc": "3741:24:36", + "nativeSrc": "3741:24:34", "nodeType": "YulAssignment", - "src": "3741:24:36", + "src": "3741:24:34", "value": { "arguments": [ { "name": "dstPtr", - "nativeSrc": "3755:6:36", + "nativeSrc": "3755:6:34", "nodeType": "YulIdentifier", - "src": "3755:6:36" + "src": "3755:6:34" }, { "kind": "number", - "nativeSrc": "3763:1:36", + "nativeSrc": "3763:1:34", "nodeType": "YulLiteral", - "src": "3763:1:36", + "src": "3763:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "3751:3:36", + "nativeSrc": "3751:3:34", "nodeType": "YulIdentifier", - "src": "3751:3:36" + "src": "3751:3:34" }, - "nativeSrc": "3751:14:36", + "nativeSrc": "3751:14:34", "nodeType": "YulFunctionCall", - "src": "3751:14:36" + "src": "3751:14:34" }, "variableNames": [ { "name": "dstPtr", - "nativeSrc": "3741:6:36", + "nativeSrc": "3741:6:34", "nodeType": "YulIdentifier", - "src": "3741:6:36" + "src": "3741:6:34" } ] }, { - "nativeSrc": "3782:40:36", + "nativeSrc": "3782:40:34", "nodeType": "YulAssignment", - "src": "3782:40:36", + "src": "3782:40:34", "value": { "arguments": [ { "name": "srcOffset", - "nativeSrc": "3799:9:36", + "nativeSrc": "3799:9:34", "nodeType": "YulIdentifier", - "src": "3799:9:36" + "src": "3799:9:34" }, { "name": "srcOffset_1", - "nativeSrc": "3810:11:36", + "nativeSrc": "3810:11:34", "nodeType": "YulIdentifier", - "src": "3810:11:36" + "src": "3810:11:34" } ], "functionName": { "name": "add", - "nativeSrc": "3795:3:36", + "nativeSrc": "3795:3:34", "nodeType": "YulIdentifier", - "src": "3795:3:36" + "src": "3795:3:34" }, - "nativeSrc": "3795:27:36", + "nativeSrc": "3795:27:34", "nodeType": "YulFunctionCall", - "src": "3795:27:36" + "src": "3795:27:34" }, "variableNames": [ { "name": "srcOffset", - "nativeSrc": "3782:9:36", + "nativeSrc": "3782:9:34", "nodeType": "YulIdentifier", - "src": "3782:9:36" + "src": "3782:9:34" } ] } @@ -113022,136 +112032,136 @@ "arguments": [ { "name": "i", - "nativeSrc": "3611:1:36", + "nativeSrc": "3611:1:34", "nodeType": "YulIdentifier", - "src": "3611:1:36" + "src": "3611:1:34" }, { "name": "loopEnd", - "nativeSrc": "3614:7:36", + "nativeSrc": "3614:7:34", "nodeType": "YulIdentifier", - "src": "3614:7:36" + "src": "3614:7:34" } ], "functionName": { "name": "lt", - "nativeSrc": "3608:2:36", + "nativeSrc": "3608:2:34", "nodeType": "YulIdentifier", - "src": "3608:2:36" + "src": "3608:2:34" }, - "nativeSrc": "3608:14:36", + "nativeSrc": "3608:14:34", "nodeType": "YulFunctionCall", - "src": "3608:14:36" + "src": "3608:14:34" }, - "nativeSrc": "3600:236:36", + "nativeSrc": "3600:236:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "3623:28:36", + "nativeSrc": "3623:28:34", "nodeType": "YulBlock", - "src": "3623:28:36", + "src": "3623:28:34", "statements": [ { - "nativeSrc": "3625:24:36", + "nativeSrc": "3625:24:34", "nodeType": "YulAssignment", - "src": "3625:24:36", + "src": "3625:24:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "3634:1:36", + "nativeSrc": "3634:1:34", "nodeType": "YulIdentifier", - "src": "3634:1:36" + "src": "3634:1:34" }, { "name": "srcOffset_1", - "nativeSrc": "3637:11:36", + "nativeSrc": "3637:11:34", "nodeType": "YulIdentifier", - "src": "3637:11:36" + "src": "3637:11:34" } ], "functionName": { "name": "add", - "nativeSrc": "3630:3:36", + "nativeSrc": "3630:3:34", "nodeType": "YulIdentifier", - "src": "3630:3:36" + "src": "3630:3:34" }, - "nativeSrc": "3630:19:36", + "nativeSrc": "3630:19:34", "nodeType": "YulFunctionCall", - "src": "3630:19:36" + "src": "3630:19:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "3625:1:36", + "nativeSrc": "3625:1:34", "nodeType": "YulIdentifier", - "src": "3625:1:36" + "src": "3625:1:34" } ] } ] }, "pre": { - "nativeSrc": "3604:3:36", + "nativeSrc": "3604:3:34", "nodeType": "YulBlock", - "src": "3604:3:36", + "src": "3604:3:34", "statements": [] }, - "src": "3600:236:36" + "src": "3600:236:34" }, { "body": { - "nativeSrc": "3884:166:36", + "nativeSrc": "3884:166:34", "nodeType": "YulBlock", - "src": "3884:166:36", + "src": "3884:166:34", "statements": [ { - "nativeSrc": "3902:43:36", + "nativeSrc": "3902:43:34", "nodeType": "YulVariableDeclaration", - "src": "3902:43:36", + "src": "3902:43:34", "value": { "arguments": [ { "arguments": [ { "name": "src", - "nativeSrc": "3929:3:36", + "nativeSrc": "3929:3:34", "nodeType": "YulIdentifier", - "src": "3929:3:36" + "src": "3929:3:34" }, { "name": "srcOffset", - "nativeSrc": "3934:9:36", + "nativeSrc": "3934:9:34", "nodeType": "YulIdentifier", - "src": "3934:9:36" + "src": "3934:9:34" } ], "functionName": { "name": "add", - "nativeSrc": "3925:3:36", + "nativeSrc": "3925:3:34", "nodeType": "YulIdentifier", - "src": "3925:3:36" + "src": "3925:3:34" }, - "nativeSrc": "3925:19:36", + "nativeSrc": "3925:19:34", "nodeType": "YulFunctionCall", - "src": "3925:19:36" + "src": "3925:19:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3919:5:36", + "nativeSrc": "3919:5:34", "nodeType": "YulIdentifier", - "src": "3919:5:36" + "src": "3919:5:34" }, - "nativeSrc": "3919:26:36", + "nativeSrc": "3919:26:34", "nodeType": "YulFunctionCall", - "src": "3919:26:36" + "src": "3919:26:34" }, "variables": [ { "name": "lastValue", - "nativeSrc": "3906:9:36", + "nativeSrc": "3906:9:34", "nodeType": "YulTypedName", - "src": "3906:9:36", + "src": "3906:9:34", "type": "" } ] @@ -113161,17 +112171,17 @@ "arguments": [ { "name": "dstPtr", - "nativeSrc": "3969:6:36", + "nativeSrc": "3969:6:34", "nodeType": "YulIdentifier", - "src": "3969:6:36" + "src": "3969:6:34" }, { "arguments": [ { "name": "lastValue", - "nativeSrc": "3981:9:36", + "nativeSrc": "3981:9:34", "nodeType": "YulIdentifier", - "src": "3981:9:36" + "src": "3981:9:34" }, { "arguments": [ @@ -113183,116 +112193,116 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4008:1:36", + "nativeSrc": "4008:1:34", "nodeType": "YulLiteral", - "src": "4008:1:36", + "src": "4008:1:34", "type": "", "value": "3" }, { "name": "newLen", - "nativeSrc": "4011:6:36", + "nativeSrc": "4011:6:34", "nodeType": "YulIdentifier", - "src": "4011:6:36" + "src": "4011:6:34" } ], "functionName": { "name": "shl", - "nativeSrc": "4004:3:36", + "nativeSrc": "4004:3:34", "nodeType": "YulIdentifier", - "src": "4004:3:36" + "src": "4004:3:34" }, - "nativeSrc": "4004:14:36", + "nativeSrc": "4004:14:34", "nodeType": "YulFunctionCall", - "src": "4004:14:36" + "src": "4004:14:34" }, { "kind": "number", - "nativeSrc": "4020:3:36", + "nativeSrc": "4020:3:34", "nodeType": "YulLiteral", - "src": "4020:3:36", + "src": "4020:3:34", "type": "", "value": "248" } ], "functionName": { "name": "and", - "nativeSrc": "4000:3:36", + "nativeSrc": "4000:3:34", "nodeType": "YulIdentifier", - "src": "4000:3:36" + "src": "4000:3:34" }, - "nativeSrc": "4000:24:36", + "nativeSrc": "4000:24:34", "nodeType": "YulFunctionCall", - "src": "4000:24:36" + "src": "4000:24:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "4030:1:36", + "nativeSrc": "4030:1:34", "nodeType": "YulLiteral", - "src": "4030:1:36", + "src": "4030:1:34", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "4026:3:36", + "nativeSrc": "4026:3:34", "nodeType": "YulIdentifier", - "src": "4026:3:36" + "src": "4026:3:34" }, - "nativeSrc": "4026:6:36", + "nativeSrc": "4026:6:34", "nodeType": "YulFunctionCall", - "src": "4026:6:36" + "src": "4026:6:34" } ], "functionName": { "name": "shr", - "nativeSrc": "3996:3:36", + "nativeSrc": "3996:3:34", "nodeType": "YulIdentifier", - "src": "3996:3:36" + "src": "3996:3:34" }, - "nativeSrc": "3996:37:36", + "nativeSrc": "3996:37:34", "nodeType": "YulFunctionCall", - "src": "3996:37:36" + "src": "3996:37:34" } ], "functionName": { "name": "not", - "nativeSrc": "3992:3:36", + "nativeSrc": "3992:3:34", "nodeType": "YulIdentifier", - "src": "3992:3:36" + "src": "3992:3:34" }, - "nativeSrc": "3992:42:36", + "nativeSrc": "3992:42:34", "nodeType": "YulFunctionCall", - "src": "3992:42:36" + "src": "3992:42:34" } ], "functionName": { "name": "and", - "nativeSrc": "3977:3:36", + "nativeSrc": "3977:3:34", "nodeType": "YulIdentifier", - "src": "3977:3:36" + "src": "3977:3:34" }, - "nativeSrc": "3977:58:36", + "nativeSrc": "3977:58:34", "nodeType": "YulFunctionCall", - "src": "3977:58:36" + "src": "3977:58:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "3962:6:36", + "nativeSrc": "3962:6:34", "nodeType": "YulIdentifier", - "src": "3962:6:36" + "src": "3962:6:34" }, - "nativeSrc": "3962:74:36", + "nativeSrc": "3962:74:34", "nodeType": "YulFunctionCall", - "src": "3962:74:36" + "src": "3962:74:34" }, - "nativeSrc": "3962:74:36", + "nativeSrc": "3962:74:34", "nodeType": "YulExpressionStatement", - "src": "3962:74:36" + "src": "3962:74:34" } ] }, @@ -113300,39 +112310,39 @@ "arguments": [ { "name": "loopEnd", - "nativeSrc": "3855:7:36", + "nativeSrc": "3855:7:34", "nodeType": "YulIdentifier", - "src": "3855:7:36" + "src": "3855:7:34" }, { "name": "newLen", - "nativeSrc": "3864:6:36", + "nativeSrc": "3864:6:34", "nodeType": "YulIdentifier", - "src": "3864:6:36" + "src": "3864:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "3852:2:36", + "nativeSrc": "3852:2:34", "nodeType": "YulIdentifier", - "src": "3852:2:36" + "src": "3852:2:34" }, - "nativeSrc": "3852:19:36", + "nativeSrc": "3852:19:34", "nodeType": "YulFunctionCall", - "src": "3852:19:36" + "src": "3852:19:34" }, - "nativeSrc": "3849:201:36", + "nativeSrc": "3849:201:34", "nodeType": "YulIf", - "src": "3849:201:36" + "src": "3849:201:34" }, { "expression": { "arguments": [ { "name": "slot", - "nativeSrc": "4070:4:36", + "nativeSrc": "4070:4:34", "nodeType": "YulIdentifier", - "src": "4070:4:36" + "src": "4070:4:34" }, { "arguments": [ @@ -113340,159 +112350,159 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4084:1:36", + "nativeSrc": "4084:1:34", "nodeType": "YulLiteral", - "src": "4084:1:36", + "src": "4084:1:34", "type": "", "value": "1" }, { "name": "newLen", - "nativeSrc": "4087:6:36", + "nativeSrc": "4087:6:34", "nodeType": "YulIdentifier", - "src": "4087:6:36" + "src": "4087:6:34" } ], "functionName": { "name": "shl", - "nativeSrc": "4080:3:36", + "nativeSrc": "4080:3:34", "nodeType": "YulIdentifier", - "src": "4080:3:36" + "src": "4080:3:34" }, - "nativeSrc": "4080:14:36", + "nativeSrc": "4080:14:34", "nodeType": "YulFunctionCall", - "src": "4080:14:36" + "src": "4080:14:34" }, { "kind": "number", - "nativeSrc": "4096:1:36", + "nativeSrc": "4096:1:34", "nodeType": "YulLiteral", - "src": "4096:1:36", + "src": "4096:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "4076:3:36", + "nativeSrc": "4076:3:34", "nodeType": "YulIdentifier", - "src": "4076:3:36" + "src": "4076:3:34" }, - "nativeSrc": "4076:22:36", + "nativeSrc": "4076:22:34", "nodeType": "YulFunctionCall", - "src": "4076:22:36" + "src": "4076:22:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "4063:6:36", + "nativeSrc": "4063:6:34", "nodeType": "YulIdentifier", - "src": "4063:6:36" + "src": "4063:6:34" }, - "nativeSrc": "4063:36:36", + "nativeSrc": "4063:36:34", "nodeType": "YulFunctionCall", - "src": "4063:36:36" + "src": "4063:36:34" }, - "nativeSrc": "4063:36:36", + "nativeSrc": "4063:36:34", "nodeType": "YulExpressionStatement", - "src": "4063:36:36" + "src": "4063:36:34" } ] }, - "nativeSrc": "3446:663:36", + "nativeSrc": "3446:663:34", "nodeType": "YulCase", - "src": "3446:663:36", + "src": "3446:663:34", "value": { "kind": "number", - "nativeSrc": "3451:1:36", + "nativeSrc": "3451:1:34", "nodeType": "YulLiteral", - "src": "3451:1:36", + "src": "3451:1:34", "type": "", "value": "1" } }, { "body": { - "nativeSrc": "4126:234:36", + "nativeSrc": "4126:234:34", "nodeType": "YulBlock", - "src": "4126:234:36", + "src": "4126:234:34", "statements": [ { - "nativeSrc": "4140:14:36", + "nativeSrc": "4140:14:34", "nodeType": "YulVariableDeclaration", - "src": "4140:14:36", + "src": "4140:14:34", "value": { "kind": "number", - "nativeSrc": "4153:1:36", + "nativeSrc": "4153:1:34", "nodeType": "YulLiteral", - "src": "4153:1:36", + "src": "4153:1:34", "type": "", "value": "0" }, "variables": [ { "name": "value", - "nativeSrc": "4144:5:36", + "nativeSrc": "4144:5:34", "nodeType": "YulTypedName", - "src": "4144:5:36", + "src": "4144:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "4189:67:36", + "nativeSrc": "4189:67:34", "nodeType": "YulBlock", - "src": "4189:67:36", + "src": "4189:67:34", "statements": [ { - "nativeSrc": "4207:35:36", + "nativeSrc": "4207:35:34", "nodeType": "YulAssignment", - "src": "4207:35:36", + "src": "4207:35:34", "value": { "arguments": [ { "arguments": [ { "name": "src", - "nativeSrc": "4226:3:36", + "nativeSrc": "4226:3:34", "nodeType": "YulIdentifier", - "src": "4226:3:36" + "src": "4226:3:34" }, { "name": "srcOffset", - "nativeSrc": "4231:9:36", + "nativeSrc": "4231:9:34", "nodeType": "YulIdentifier", - "src": "4231:9:36" + "src": "4231:9:34" } ], "functionName": { "name": "add", - "nativeSrc": "4222:3:36", + "nativeSrc": "4222:3:34", "nodeType": "YulIdentifier", - "src": "4222:3:36" + "src": "4222:3:34" }, - "nativeSrc": "4222:19:36", + "nativeSrc": "4222:19:34", "nodeType": "YulFunctionCall", - "src": "4222:19:36" + "src": "4222:19:34" } ], "functionName": { "name": "mload", - "nativeSrc": "4216:5:36", + "nativeSrc": "4216:5:34", "nodeType": "YulIdentifier", - "src": "4216:5:36" + "src": "4216:5:34" }, - "nativeSrc": "4216:26:36", + "nativeSrc": "4216:26:34", "nodeType": "YulFunctionCall", - "src": "4216:26:36" + "src": "4216:26:34" }, "variableNames": [ { "name": "value", - "nativeSrc": "4207:5:36", + "nativeSrc": "4207:5:34", "nodeType": "YulIdentifier", - "src": "4207:5:36" + "src": "4207:5:34" } ] } @@ -113500,68 +112510,68 @@ }, "condition": { "name": "newLen", - "nativeSrc": "4170:6:36", + "nativeSrc": "4170:6:34", "nodeType": "YulIdentifier", - "src": "4170:6:36" + "src": "4170:6:34" }, - "nativeSrc": "4167:89:36", + "nativeSrc": "4167:89:34", "nodeType": "YulIf", - "src": "4167:89:36" + "src": "4167:89:34" }, { "expression": { "arguments": [ { "name": "slot", - "nativeSrc": "4276:4:36", + "nativeSrc": "4276:4:34", "nodeType": "YulIdentifier", - "src": "4276:4:36" + "src": "4276:4:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "4335:5:36", + "nativeSrc": "4335:5:34", "nodeType": "YulIdentifier", - "src": "4335:5:36" + "src": "4335:5:34" }, { "name": "newLen", - "nativeSrc": "4342:6:36", + "nativeSrc": "4342:6:34", "nodeType": "YulIdentifier", - "src": "4342:6:36" + "src": "4342:6:34" } ], "functionName": { "name": "extract_used_part_and_set_length_of_short_byte_array", - "nativeSrc": "4282:52:36", + "nativeSrc": "4282:52:34", "nodeType": "YulIdentifier", - "src": "4282:52:36" + "src": "4282:52:34" }, - "nativeSrc": "4282:67:36", + "nativeSrc": "4282:67:34", "nodeType": "YulFunctionCall", - "src": "4282:67:36" + "src": "4282:67:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "4269:6:36", + "nativeSrc": "4269:6:34", "nodeType": "YulIdentifier", - "src": "4269:6:36" + "src": "4269:6:34" }, - "nativeSrc": "4269:81:36", + "nativeSrc": "4269:81:34", "nodeType": "YulFunctionCall", - "src": "4269:81:36" + "src": "4269:81:34" }, - "nativeSrc": "4269:81:36", + "nativeSrc": "4269:81:34", "nodeType": "YulExpressionStatement", - "src": "4269:81:36" + "src": "4269:81:34" } ] }, - "nativeSrc": "4118:242:36", + "nativeSrc": "4118:242:34", "nodeType": "YulCase", - "src": "4118:242:36", + "src": "4118:242:34", "value": "default" } ], @@ -113569,93 +112579,93 @@ "arguments": [ { "name": "newLen", - "nativeSrc": "3426:6:36", + "nativeSrc": "3426:6:34", "nodeType": "YulIdentifier", - "src": "3426:6:36" + "src": "3426:6:34" }, { "kind": "number", - "nativeSrc": "3434:2:36", + "nativeSrc": "3434:2:34", "nodeType": "YulLiteral", - "src": "3434:2:36", + "src": "3434:2:34", "type": "", "value": "31" } ], "functionName": { "name": "gt", - "nativeSrc": "3423:2:36", + "nativeSrc": "3423:2:34", "nodeType": "YulIdentifier", - "src": "3423:2:36" + "src": "3423:2:34" }, - "nativeSrc": "3423:14:36", + "nativeSrc": "3423:14:34", "nodeType": "YulFunctionCall", - "src": "3423:14:36" + "src": "3423:14:34" }, - "nativeSrc": "3416:944:36", + "nativeSrc": "3416:944:34", "nodeType": "YulSwitch", - "src": "3416:944:36" + "src": "3416:944:34" } ] }, "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nativeSrc": "3021:1345:36", + "nativeSrc": "3021:1345:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "slot", - "nativeSrc": "3102:4:36", + "nativeSrc": "3102:4:34", "nodeType": "YulTypedName", - "src": "3102:4:36", + "src": "3102:4:34", "type": "" }, { "name": "src", - "nativeSrc": "3108:3:36", + "nativeSrc": "3108:3:34", "nodeType": "YulTypedName", - "src": "3108:3:36", + "src": "3108:3:34", "type": "" } ], - "src": "3021:1345:36" + "src": "3021:1345:34" }, { "body": { - "nativeSrc": "4545:235:36", + "nativeSrc": "4545:235:34", "nodeType": "YulBlock", - "src": "4545:235:36", + "src": "4545:235:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "4562:9:36", + "nativeSrc": "4562:9:34", "nodeType": "YulIdentifier", - "src": "4562:9:36" + "src": "4562:9:34" }, { "kind": "number", - "nativeSrc": "4573:2:36", + "nativeSrc": "4573:2:34", "nodeType": "YulLiteral", - "src": "4573:2:36", + "src": "4573:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "4555:6:36", + "nativeSrc": "4555:6:34", "nodeType": "YulIdentifier", - "src": "4555:6:36" + "src": "4555:6:34" }, - "nativeSrc": "4555:21:36", + "nativeSrc": "4555:21:34", "nodeType": "YulFunctionCall", - "src": "4555:21:36" + "src": "4555:21:34" }, - "nativeSrc": "4555:21:36", + "nativeSrc": "4555:21:34", "nodeType": "YulExpressionStatement", - "src": "4555:21:36" + "src": "4555:21:34" }, { "expression": { @@ -113664,51 +112674,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4596:9:36", + "nativeSrc": "4596:9:34", "nodeType": "YulIdentifier", - "src": "4596:9:36" + "src": "4596:9:34" }, { "kind": "number", - "nativeSrc": "4607:2:36", + "nativeSrc": "4607:2:34", "nodeType": "YulLiteral", - "src": "4607:2:36", + "src": "4607:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "4592:3:36", + "nativeSrc": "4592:3:34", "nodeType": "YulIdentifier", - "src": "4592:3:36" + "src": "4592:3:34" }, - "nativeSrc": "4592:18:36", + "nativeSrc": "4592:18:34", "nodeType": "YulFunctionCall", - "src": "4592:18:36" + "src": "4592:18:34" }, { "kind": "number", - "nativeSrc": "4612:2:36", + "nativeSrc": "4612:2:34", "nodeType": "YulLiteral", - "src": "4612:2:36", + "src": "4612:2:34", "type": "", "value": "45" } ], "functionName": { "name": "mstore", - "nativeSrc": "4585:6:36", + "nativeSrc": "4585:6:34", "nodeType": "YulIdentifier", - "src": "4585:6:36" + "src": "4585:6:34" }, - "nativeSrc": "4585:30:36", + "nativeSrc": "4585:30:34", "nodeType": "YulFunctionCall", - "src": "4585:30:36" + "src": "4585:30:34" }, - "nativeSrc": "4585:30:36", + "nativeSrc": "4585:30:34", "nodeType": "YulExpressionStatement", - "src": "4585:30:36" + "src": "4585:30:34" }, { "expression": { @@ -113717,52 +112727,52 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4635:9:36", + "nativeSrc": "4635:9:34", "nodeType": "YulIdentifier", - "src": "4635:9:36" + "src": "4635:9:34" }, { "kind": "number", - "nativeSrc": "4646:2:36", + "nativeSrc": "4646:2:34", "nodeType": "YulLiteral", - "src": "4646:2:36", + "src": "4646:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "4631:3:36", + "nativeSrc": "4631:3:34", "nodeType": "YulIdentifier", - "src": "4631:3:36" + "src": "4631:3:34" }, - "nativeSrc": "4631:18:36", + "nativeSrc": "4631:18:34", "nodeType": "YulFunctionCall", - "src": "4631:18:36" + "src": "4631:18:34" }, { "hexValue": "456e73656d626c65437265646974733a2061646d696e2063616e6e6f74206265", "kind": "string", - "nativeSrc": "4651:34:36", + "nativeSrc": "4651:34:34", "nodeType": "YulLiteral", - "src": "4651:34:36", + "src": "4651:34:34", "type": "", "value": "EnsembleCredits: admin cannot be" } ], "functionName": { "name": "mstore", - "nativeSrc": "4624:6:36", + "nativeSrc": "4624:6:34", "nodeType": "YulIdentifier", - "src": "4624:6:36" + "src": "4624:6:34" }, - "nativeSrc": "4624:62:36", + "nativeSrc": "4624:62:34", "nodeType": "YulFunctionCall", - "src": "4624:62:36" + "src": "4624:62:34" }, - "nativeSrc": "4624:62:36", + "nativeSrc": "4624:62:34", "nodeType": "YulExpressionStatement", - "src": "4624:62:36" + "src": "4624:62:34" }, { "expression": { @@ -113771,161 +112781,161 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4706:9:36", + "nativeSrc": "4706:9:34", "nodeType": "YulIdentifier", - "src": "4706:9:36" + "src": "4706:9:34" }, { "kind": "number", - "nativeSrc": "4717:2:36", + "nativeSrc": "4717:2:34", "nodeType": "YulLiteral", - "src": "4717:2:36", + "src": "4717:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "4702:3:36", + "nativeSrc": "4702:3:34", "nodeType": "YulIdentifier", - "src": "4702:3:36" + "src": "4702:3:34" }, - "nativeSrc": "4702:18:36", + "nativeSrc": "4702:18:34", "nodeType": "YulFunctionCall", - "src": "4702:18:36" + "src": "4702:18:34" }, { "hexValue": "207a65726f2061646472657373", "kind": "string", - "nativeSrc": "4722:15:36", + "nativeSrc": "4722:15:34", "nodeType": "YulLiteral", - "src": "4722:15:36", + "src": "4722:15:34", "type": "", "value": " zero address" } ], "functionName": { "name": "mstore", - "nativeSrc": "4695:6:36", + "nativeSrc": "4695:6:34", "nodeType": "YulIdentifier", - "src": "4695:6:36" + "src": "4695:6:34" }, - "nativeSrc": "4695:43:36", + "nativeSrc": "4695:43:34", "nodeType": "YulFunctionCall", - "src": "4695:43:36" + "src": "4695:43:34" }, - "nativeSrc": "4695:43:36", + "nativeSrc": "4695:43:34", "nodeType": "YulExpressionStatement", - "src": "4695:43:36" + "src": "4695:43:34" }, { - "nativeSrc": "4747:27:36", + "nativeSrc": "4747:27:34", "nodeType": "YulAssignment", - "src": "4747:27:36", + "src": "4747:27:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "4759:9:36", + "nativeSrc": "4759:9:34", "nodeType": "YulIdentifier", - "src": "4759:9:36" + "src": "4759:9:34" }, { "kind": "number", - "nativeSrc": "4770:3:36", + "nativeSrc": "4770:3:34", "nodeType": "YulLiteral", - "src": "4770:3:36", + "src": "4770:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "4755:3:36", + "nativeSrc": "4755:3:34", "nodeType": "YulIdentifier", - "src": "4755:3:36" + "src": "4755:3:34" }, - "nativeSrc": "4755:19:36", + "nativeSrc": "4755:19:34", "nodeType": "YulFunctionCall", - "src": "4755:19:36" + "src": "4755:19:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "4747:4:36", + "nativeSrc": "4747:4:34", "nodeType": "YulIdentifier", - "src": "4747:4:36" + "src": "4747:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_926ace9417c055bb7be8cd9b4cecda2ea54a125ac52bcc741bc1ab15dffcd476__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "4371:409:36", + "nativeSrc": "4371:409:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "4522:9:36", + "nativeSrc": "4522:9:34", "nodeType": "YulTypedName", - "src": "4522:9:36", + "src": "4522:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "4536:4:36", + "nativeSrc": "4536:4:34", "nodeType": "YulTypedName", - "src": "4536:4:36", + "src": "4536:4:34", "type": "" } ], - "src": "4371:409:36" + "src": "4371:409:34" }, { "body": { - "nativeSrc": "4886:76:36", + "nativeSrc": "4886:76:34", "nodeType": "YulBlock", - "src": "4886:76:36", + "src": "4886:76:34", "statements": [ { - "nativeSrc": "4896:26:36", + "nativeSrc": "4896:26:34", "nodeType": "YulAssignment", - "src": "4896:26:36", + "src": "4896:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "4908:9:36", + "nativeSrc": "4908:9:34", "nodeType": "YulIdentifier", - "src": "4908:9:36" + "src": "4908:9:34" }, { "kind": "number", - "nativeSrc": "4919:2:36", + "nativeSrc": "4919:2:34", "nodeType": "YulLiteral", - "src": "4919:2:36", + "src": "4919:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "4904:3:36", + "nativeSrc": "4904:3:34", "nodeType": "YulIdentifier", - "src": "4904:3:36" + "src": "4904:3:34" }, - "nativeSrc": "4904:18:36", + "nativeSrc": "4904:18:34", "nodeType": "YulFunctionCall", - "src": "4904:18:36" + "src": "4904:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "4896:4:36", + "nativeSrc": "4896:4:34", "nodeType": "YulIdentifier", - "src": "4896:4:36" + "src": "4896:4:34" } ] }, @@ -113934,106 +112944,106 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4938:9:36", + "nativeSrc": "4938:9:34", "nodeType": "YulIdentifier", - "src": "4938:9:36" + "src": "4938:9:34" }, { "name": "value0", - "nativeSrc": "4949:6:36", + "nativeSrc": "4949:6:34", "nodeType": "YulIdentifier", - "src": "4949:6:36" + "src": "4949:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "4931:6:36", + "nativeSrc": "4931:6:34", "nodeType": "YulIdentifier", - "src": "4931:6:36" + "src": "4931:6:34" }, - "nativeSrc": "4931:25:36", + "nativeSrc": "4931:25:34", "nodeType": "YulFunctionCall", - "src": "4931:25:36" + "src": "4931:25:34" }, - "nativeSrc": "4931:25:36", + "nativeSrc": "4931:25:34", "nodeType": "YulExpressionStatement", - "src": "4931:25:36" + "src": "4931:25:34" } ] }, "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nativeSrc": "4785:177:36", + "nativeSrc": "4785:177:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "4855:9:36", + "nativeSrc": "4855:9:34", "nodeType": "YulTypedName", - "src": "4855:9:36", + "src": "4855:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "4866:6:36", + "nativeSrc": "4866:6:34", "nodeType": "YulTypedName", - "src": "4866:6:36", + "src": "4866:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "4877:4:36", + "nativeSrc": "4877:4:34", "nodeType": "YulTypedName", - "src": "4877:4:36", + "src": "4877:4:34", "type": "" } ], - "src": "4785:177:36" + "src": "4785:177:34" }, { "body": { - "nativeSrc": "5068:102:36", + "nativeSrc": "5068:102:34", "nodeType": "YulBlock", - "src": "5068:102:36", + "src": "5068:102:34", "statements": [ { - "nativeSrc": "5078:26:36", + "nativeSrc": "5078:26:34", "nodeType": "YulAssignment", - "src": "5078:26:36", + "src": "5078:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5090:9:36", + "nativeSrc": "5090:9:34", "nodeType": "YulIdentifier", - "src": "5090:9:36" + "src": "5090:9:34" }, { "kind": "number", - "nativeSrc": "5101:2:36", + "nativeSrc": "5101:2:34", "nodeType": "YulLiteral", - "src": "5101:2:36", + "src": "5101:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5086:3:36", + "nativeSrc": "5086:3:34", "nodeType": "YulIdentifier", - "src": "5086:3:36" + "src": "5086:3:34" }, - "nativeSrc": "5086:18:36", + "nativeSrc": "5086:18:34", "nodeType": "YulFunctionCall", - "src": "5086:18:36" + "src": "5086:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "5078:4:36", + "nativeSrc": "5078:4:34", "nodeType": "YulIdentifier", - "src": "5078:4:36" + "src": "5078:4:34" } ] }, @@ -114042,17 +113052,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5120:9:36", + "nativeSrc": "5120:9:34", "nodeType": "YulIdentifier", - "src": "5120:9:36" + "src": "5120:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "5135:6:36", + "nativeSrc": "5135:6:34", "nodeType": "YulIdentifier", - "src": "5135:6:36" + "src": "5135:6:34" }, { "arguments": [ @@ -114060,166 +113070,166 @@ "arguments": [ { "kind": "number", - "nativeSrc": "5151:3:36", + "nativeSrc": "5151:3:34", "nodeType": "YulLiteral", - "src": "5151:3:36", + "src": "5151:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "5156:1:36", + "nativeSrc": "5156:1:34", "nodeType": "YulLiteral", - "src": "5156:1:36", + "src": "5156:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "5147:3:36", + "nativeSrc": "5147:3:34", "nodeType": "YulIdentifier", - "src": "5147:3:36" + "src": "5147:3:34" }, - "nativeSrc": "5147:11:36", + "nativeSrc": "5147:11:34", "nodeType": "YulFunctionCall", - "src": "5147:11:36" + "src": "5147:11:34" }, { "kind": "number", - "nativeSrc": "5160:1:36", + "nativeSrc": "5160:1:34", "nodeType": "YulLiteral", - "src": "5160:1:36", + "src": "5160:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "5143:3:36", + "nativeSrc": "5143:3:34", "nodeType": "YulIdentifier", - "src": "5143:3:36" + "src": "5143:3:34" }, - "nativeSrc": "5143:19:36", + "nativeSrc": "5143:19:34", "nodeType": "YulFunctionCall", - "src": "5143:19:36" + "src": "5143:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "5131:3:36", + "nativeSrc": "5131:3:34", "nodeType": "YulIdentifier", - "src": "5131:3:36" + "src": "5131:3:34" }, - "nativeSrc": "5131:32:36", + "nativeSrc": "5131:32:34", "nodeType": "YulFunctionCall", - "src": "5131:32:36" + "src": "5131:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "5113:6:36", + "nativeSrc": "5113:6:34", "nodeType": "YulIdentifier", - "src": "5113:6:36" + "src": "5113:6:34" }, - "nativeSrc": "5113:51:36", + "nativeSrc": "5113:51:34", "nodeType": "YulFunctionCall", - "src": "5113:51:36" + "src": "5113:51:34" }, - "nativeSrc": "5113:51:36", + "nativeSrc": "5113:51:34", "nodeType": "YulExpressionStatement", - "src": "5113:51:36" + "src": "5113:51:34" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nativeSrc": "4967:203:36", + "nativeSrc": "4967:203:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "5037:9:36", + "nativeSrc": "5037:9:34", "nodeType": "YulTypedName", - "src": "5037:9:36", + "src": "5037:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "5048:6:36", + "nativeSrc": "5048:6:34", "nodeType": "YulTypedName", - "src": "5048:6:36", + "src": "5048:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "5059:4:36", + "nativeSrc": "5059:4:34", "nodeType": "YulTypedName", - "src": "5059:4:36", + "src": "5059:4:34", "type": "" } ], - "src": "4967:203:36" + "src": "4967:203:34" }, { "body": { - "nativeSrc": "5223:174:36", + "nativeSrc": "5223:174:34", "nodeType": "YulBlock", - "src": "5223:174:36", + "src": "5223:174:34", "statements": [ { - "nativeSrc": "5233:16:36", + "nativeSrc": "5233:16:34", "nodeType": "YulAssignment", - "src": "5233:16:36", + "src": "5233:16:34", "value": { "arguments": [ { "name": "x", - "nativeSrc": "5244:1:36", + "nativeSrc": "5244:1:34", "nodeType": "YulIdentifier", - "src": "5244:1:36" + "src": "5244:1:34" }, { "name": "y", - "nativeSrc": "5247:1:36", + "nativeSrc": "5247:1:34", "nodeType": "YulIdentifier", - "src": "5247:1:36" + "src": "5247:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "5240:3:36", + "nativeSrc": "5240:3:34", "nodeType": "YulIdentifier", - "src": "5240:3:36" + "src": "5240:3:34" }, - "nativeSrc": "5240:9:36", + "nativeSrc": "5240:9:34", "nodeType": "YulFunctionCall", - "src": "5240:9:36" + "src": "5240:9:34" }, "variableNames": [ { "name": "sum", - "nativeSrc": "5233:3:36", + "nativeSrc": "5233:3:34", "nodeType": "YulIdentifier", - "src": "5233:3:36" + "src": "5233:3:34" } ] }, { "body": { - "nativeSrc": "5280:111:36", + "nativeSrc": "5280:111:34", "nodeType": "YulBlock", - "src": "5280:111:36", + "src": "5280:111:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5301:1:36", + "nativeSrc": "5301:1:34", "nodeType": "YulLiteral", - "src": "5301:1:36", + "src": "5301:1:34", "type": "", "value": "0" }, @@ -114227,113 +113237,113 @@ "arguments": [ { "kind": "number", - "nativeSrc": "5308:3:36", + "nativeSrc": "5308:3:34", "nodeType": "YulLiteral", - "src": "5308:3:36", + "src": "5308:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "5313:10:36", + "nativeSrc": "5313:10:34", "nodeType": "YulLiteral", - "src": "5313:10:36", + "src": "5313:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "5304:3:36", + "nativeSrc": "5304:3:34", "nodeType": "YulIdentifier", - "src": "5304:3:36" + "src": "5304:3:34" }, - "nativeSrc": "5304:20:36", + "nativeSrc": "5304:20:34", "nodeType": "YulFunctionCall", - "src": "5304:20:36" + "src": "5304:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "5294:6:36", + "nativeSrc": "5294:6:34", "nodeType": "YulIdentifier", - "src": "5294:6:36" + "src": "5294:6:34" }, - "nativeSrc": "5294:31:36", + "nativeSrc": "5294:31:34", "nodeType": "YulFunctionCall", - "src": "5294:31:36" + "src": "5294:31:34" }, - "nativeSrc": "5294:31:36", + "nativeSrc": "5294:31:34", "nodeType": "YulExpressionStatement", - "src": "5294:31:36" + "src": "5294:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5345:1:36", + "nativeSrc": "5345:1:34", "nodeType": "YulLiteral", - "src": "5345:1:36", + "src": "5345:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "5348:4:36", + "nativeSrc": "5348:4:34", "nodeType": "YulLiteral", - "src": "5348:4:36", + "src": "5348:4:34", "type": "", "value": "0x11" } ], "functionName": { "name": "mstore", - "nativeSrc": "5338:6:36", + "nativeSrc": "5338:6:34", "nodeType": "YulIdentifier", - "src": "5338:6:36" + "src": "5338:6:34" }, - "nativeSrc": "5338:15:36", + "nativeSrc": "5338:15:34", "nodeType": "YulFunctionCall", - "src": "5338:15:36" + "src": "5338:15:34" }, - "nativeSrc": "5338:15:36", + "nativeSrc": "5338:15:34", "nodeType": "YulExpressionStatement", - "src": "5338:15:36" + "src": "5338:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5373:1:36", + "nativeSrc": "5373:1:34", "nodeType": "YulLiteral", - "src": "5373:1:36", + "src": "5373:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "5376:4:36", + "nativeSrc": "5376:4:34", "nodeType": "YulLiteral", - "src": "5376:4:36", + "src": "5376:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "5366:6:36", + "nativeSrc": "5366:6:34", "nodeType": "YulIdentifier", - "src": "5366:6:36" + "src": "5366:6:34" }, - "nativeSrc": "5366:15:36", + "nativeSrc": "5366:15:34", "nodeType": "YulFunctionCall", - "src": "5366:15:36" + "src": "5366:15:34" }, - "nativeSrc": "5366:15:36", + "nativeSrc": "5366:15:34", "nodeType": "YulExpressionStatement", - "src": "5366:15:36" + "src": "5366:15:34" } ] }, @@ -114341,106 +113351,106 @@ "arguments": [ { "name": "x", - "nativeSrc": "5264:1:36", + "nativeSrc": "5264:1:34", "nodeType": "YulIdentifier", - "src": "5264:1:36" + "src": "5264:1:34" }, { "name": "sum", - "nativeSrc": "5267:3:36", + "nativeSrc": "5267:3:34", "nodeType": "YulIdentifier", - "src": "5267:3:36" + "src": "5267:3:34" } ], "functionName": { "name": "gt", - "nativeSrc": "5261:2:36", + "nativeSrc": "5261:2:34", "nodeType": "YulIdentifier", - "src": "5261:2:36" + "src": "5261:2:34" }, - "nativeSrc": "5261:10:36", + "nativeSrc": "5261:10:34", "nodeType": "YulFunctionCall", - "src": "5261:10:36" + "src": "5261:10:34" }, - "nativeSrc": "5258:133:36", + "nativeSrc": "5258:133:34", "nodeType": "YulIf", - "src": "5258:133:36" + "src": "5258:133:34" } ] }, "name": "checked_add_t_uint256", - "nativeSrc": "5175:222:36", + "nativeSrc": "5175:222:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", - "nativeSrc": "5206:1:36", + "nativeSrc": "5206:1:34", "nodeType": "YulTypedName", - "src": "5206:1:36", + "src": "5206:1:34", "type": "" }, { "name": "y", - "nativeSrc": "5209:1:36", + "nativeSrc": "5209:1:34", "nodeType": "YulTypedName", - "src": "5209:1:36", + "src": "5209:1:34", "type": "" } ], "returnVariables": [ { "name": "sum", - "nativeSrc": "5215:3:36", + "nativeSrc": "5215:3:34", "nodeType": "YulTypedName", - "src": "5215:3:36", + "src": "5215:3:34", "type": "" } ], - "src": "5175:222:36" + "src": "5175:222:34" }, { "body": { - "nativeSrc": "5559:188:36", + "nativeSrc": "5559:188:34", "nodeType": "YulBlock", - "src": "5559:188:36", + "src": "5559:188:34", "statements": [ { - "nativeSrc": "5569:26:36", + "nativeSrc": "5569:26:34", "nodeType": "YulAssignment", - "src": "5569:26:36", + "src": "5569:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5581:9:36", + "nativeSrc": "5581:9:34", "nodeType": "YulIdentifier", - "src": "5581:9:36" + "src": "5581:9:34" }, { "kind": "number", - "nativeSrc": "5592:2:36", + "nativeSrc": "5592:2:34", "nodeType": "YulLiteral", - "src": "5592:2:36", + "src": "5592:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "5577:3:36", + "nativeSrc": "5577:3:34", "nodeType": "YulIdentifier", - "src": "5577:3:36" + "src": "5577:3:34" }, - "nativeSrc": "5577:18:36", + "nativeSrc": "5577:18:34", "nodeType": "YulFunctionCall", - "src": "5577:18:36" + "src": "5577:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "5569:4:36", + "nativeSrc": "5569:4:34", "nodeType": "YulIdentifier", - "src": "5569:4:36" + "src": "5569:4:34" } ] }, @@ -114449,17 +113459,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5611:9:36", + "nativeSrc": "5611:9:34", "nodeType": "YulIdentifier", - "src": "5611:9:36" + "src": "5611:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "5626:6:36", + "nativeSrc": "5626:6:34", "nodeType": "YulIdentifier", - "src": "5626:6:36" + "src": "5626:6:34" }, { "arguments": [ @@ -114467,75 +113477,75 @@ "arguments": [ { "kind": "number", - "nativeSrc": "5642:3:36", + "nativeSrc": "5642:3:34", "nodeType": "YulLiteral", - "src": "5642:3:36", + "src": "5642:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "5647:1:36", + "nativeSrc": "5647:1:34", "nodeType": "YulLiteral", - "src": "5647:1:36", + "src": "5647:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "5638:3:36", + "nativeSrc": "5638:3:34", "nodeType": "YulIdentifier", - "src": "5638:3:36" + "src": "5638:3:34" }, - "nativeSrc": "5638:11:36", + "nativeSrc": "5638:11:34", "nodeType": "YulFunctionCall", - "src": "5638:11:36" + "src": "5638:11:34" }, { "kind": "number", - "nativeSrc": "5651:1:36", + "nativeSrc": "5651:1:34", "nodeType": "YulLiteral", - "src": "5651:1:36", + "src": "5651:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "5634:3:36", + "nativeSrc": "5634:3:34", "nodeType": "YulIdentifier", - "src": "5634:3:36" + "src": "5634:3:34" }, - "nativeSrc": "5634:19:36", + "nativeSrc": "5634:19:34", "nodeType": "YulFunctionCall", - "src": "5634:19:36" + "src": "5634:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "5622:3:36", + "nativeSrc": "5622:3:34", "nodeType": "YulIdentifier", - "src": "5622:3:36" + "src": "5622:3:34" }, - "nativeSrc": "5622:32:36", + "nativeSrc": "5622:32:34", "nodeType": "YulFunctionCall", - "src": "5622:32:36" + "src": "5622:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "5604:6:36", + "nativeSrc": "5604:6:34", "nodeType": "YulIdentifier", - "src": "5604:6:36" + "src": "5604:6:34" }, - "nativeSrc": "5604:51:36", + "nativeSrc": "5604:51:34", "nodeType": "YulFunctionCall", - "src": "5604:51:36" + "src": "5604:51:34" }, - "nativeSrc": "5604:51:36", + "nativeSrc": "5604:51:34", "nodeType": "YulExpressionStatement", - "src": "5604:51:36" + "src": "5604:51:34" }, { "expression": { @@ -114544,49 +113554,49 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5675:9:36", + "nativeSrc": "5675:9:34", "nodeType": "YulIdentifier", - "src": "5675:9:36" + "src": "5675:9:34" }, { "kind": "number", - "nativeSrc": "5686:2:36", + "nativeSrc": "5686:2:34", "nodeType": "YulLiteral", - "src": "5686:2:36", + "src": "5686:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5671:3:36", + "nativeSrc": "5671:3:34", "nodeType": "YulIdentifier", - "src": "5671:3:36" + "src": "5671:3:34" }, - "nativeSrc": "5671:18:36", + "nativeSrc": "5671:18:34", "nodeType": "YulFunctionCall", - "src": "5671:18:36" + "src": "5671:18:34" }, { "name": "value1", - "nativeSrc": "5691:6:36", + "nativeSrc": "5691:6:34", "nodeType": "YulIdentifier", - "src": "5691:6:36" + "src": "5691:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "5664:6:36", + "nativeSrc": "5664:6:34", "nodeType": "YulIdentifier", - "src": "5664:6:36" + "src": "5664:6:34" }, - "nativeSrc": "5664:34:36", + "nativeSrc": "5664:34:34", "nodeType": "YulFunctionCall", - "src": "5664:34:36" + "src": "5664:34:34" }, - "nativeSrc": "5664:34:36", + "nativeSrc": "5664:34:34", "nodeType": "YulExpressionStatement", - "src": "5664:34:36" + "src": "5664:34:34" }, { "expression": { @@ -114595,312 +113605,312 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5718:9:36", + "nativeSrc": "5718:9:34", "nodeType": "YulIdentifier", - "src": "5718:9:36" + "src": "5718:9:34" }, { "kind": "number", - "nativeSrc": "5729:2:36", + "nativeSrc": "5729:2:34", "nodeType": "YulLiteral", - "src": "5729:2:36", + "src": "5729:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "5714:3:36", + "nativeSrc": "5714:3:34", "nodeType": "YulIdentifier", - "src": "5714:3:36" + "src": "5714:3:34" }, - "nativeSrc": "5714:18:36", + "nativeSrc": "5714:18:34", "nodeType": "YulFunctionCall", - "src": "5714:18:36" + "src": "5714:18:34" }, { "name": "value2", - "nativeSrc": "5734:6:36", + "nativeSrc": "5734:6:34", "nodeType": "YulIdentifier", - "src": "5734:6:36" + "src": "5734:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "5707:6:36", + "nativeSrc": "5707:6:34", "nodeType": "YulIdentifier", - "src": "5707:6:36" + "src": "5707:6:34" }, - "nativeSrc": "5707:34:36", + "nativeSrc": "5707:34:34", "nodeType": "YulFunctionCall", - "src": "5707:34:36" + "src": "5707:34:34" }, - "nativeSrc": "5707:34:36", + "nativeSrc": "5707:34:34", "nodeType": "YulExpressionStatement", - "src": "5707:34:36" + "src": "5707:34:34" } ] }, "name": "abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed", - "nativeSrc": "5402:345:36", + "nativeSrc": "5402:345:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "5512:9:36", + "nativeSrc": "5512:9:34", "nodeType": "YulTypedName", - "src": "5512:9:36", + "src": "5512:9:34", "type": "" }, { "name": "value2", - "nativeSrc": "5523:6:36", + "nativeSrc": "5523:6:34", "nodeType": "YulTypedName", - "src": "5523:6:36", + "src": "5523:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "5531:6:36", + "nativeSrc": "5531:6:34", "nodeType": "YulTypedName", - "src": "5531:6:36", + "src": "5531:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "5539:6:36", + "nativeSrc": "5539:6:34", "nodeType": "YulTypedName", - "src": "5539:6:36", + "src": "5539:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "5550:4:36", + "nativeSrc": "5550:4:34", "nodeType": "YulTypedName", - "src": "5550:4:36", + "src": "5550:4:34", "type": "" } ], - "src": "5402:345:36" + "src": "5402:345:34" } ] }, "contents": "{\n { }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let _2 := sub(shl(64, 1), 1)\n if gt(_1, _2) { panic_error_0x41() }\n let _3 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(_1, 0x1f), _3), 63), _3))\n if or(gt(newFreePtr, _2), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n mstore(memPtr, _1)\n let _4 := 0x20\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n let i := 0\n for { } lt(i, _1) { i := add(i, _4) }\n {\n mstore(add(add(memPtr, i), _4), mload(add(add(offset, i), _4)))\n }\n mstore(add(add(memPtr, _1), 0x20), 0)\n array := memPtr\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_addresst_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := sub(shl(64, 1), 1)\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string_fromMemory(add(headStart, offset), dataEnd)\n let offset_1 := mload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string_fromMemory(add(headStart, offset_1), dataEnd)\n let value := mload(add(headStart, 64))\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n value2 := value\n value3 := mload(add(headStart, 96))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(0, array)\n let data := keccak256(0, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, sub(shl(64, 1), 1)) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := 0x20\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_stringliteral_926ace9417c055bb7be8cd9b4cecda2ea54a125ac52bcc741bc1ab15dffcd476__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"EnsembleCredits: admin cannot be\")\n mstore(add(headStart, 96), \" zero address\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\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 checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n }\n}", - "id": 36, + "id": 34, "language": "Yul", "name": "#utility.yul" } ], "linkReferences": {}, - "object": "60806040523480156200001157600080fd5b50604051620015c8380380620015c88339810160408190526200003491620004a6565b83836003620000448382620005ca565b506004620000538282620005ca565b5050506001600160a01b038216620000c85760405162461bcd60e51b815260206004820152602d60248201527f456e73656d626c65437265646974733a2061646d696e2063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084015b60405180910390fd5b620000d56000836200016f565b50620000f1600080516020620015a8833981519152836200016f565b506200010d600080516020620015a88339815191528062000222565b801562000165576200012082826200026d565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040516200015c91815260200190565b60405180910390a25b50505050620006b8565b60008281526005602090815260408083206001600160a01b038516845290915281205460ff16620002185760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055620001cf3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016200021c565b5060005b92915050565b600082815260056020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6001600160a01b038216620002995760405163ec442f0560e01b815260006004820152602401620000bf565b620002a760008383620002ab565b5050565b6001600160a01b038316620002da578060026000828254620002ce919062000696565b909155506200034e9050565b6001600160a01b038316600090815260208190526040902054818110156200032f5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000bf565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166200036c576002805482900390556200038b565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003d191815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200040657600080fd5b81516001600160401b0380821115620004235762000423620003de565b604051601f8301601f19908116603f011681019082821181831017156200044e576200044e620003de565b81604052838152602092508660208588010111156200046c57600080fd5b600091505b8382101562000490578582018301518183018401529082019062000471565b6000602085830101528094505050505092915050565b60008060008060808587031215620004bd57600080fd5b84516001600160401b0380821115620004d557600080fd5b620004e388838901620003f4565b95506020870151915080821115620004fa57600080fd5b506200050987828801620003f4565b604087015190945090506001600160a01b03811681146200052957600080fd5b6060959095015193969295505050565b600181811c908216806200054e57607f821691505b6020821081036200056f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005c5576000816000526020600020601f850160051c81016020861015620005a05750805b601f850160051c820191505b81811015620005c157828155600101620005ac565b5050505b505050565b81516001600160401b03811115620005e657620005e6620003de565b620005fe81620005f7845462000539565b8462000575565b602080601f8311600181146200063657600084156200061d5750858301515b600019600386901b1c1916600185901b178555620005c1565b600085815260208120601f198616915b82811015620006675788860151825594840194600190910190840162000646565b5085821015620006865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200021c57634e487b7160e01b600052601160045260246000fd5b610ee080620006c86000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a217fddf11610097578063aa271e1a11610071578063aa271e1a14610300578063d539139314610313578063d547741f14610328578063dd62ed3e1461033b57600080fd5b8063a217fddf146102ea578063a457c2d7146101b5578063a9059cbb146102f257600080fd5b806342966c681461026d57806370a082311461028057806379cc6790146102a957806391d14854146102bc57806395d89b41146102cf578063983b2d56146102d757600080fd5b80632f2ff15d116101305780632f2ff15d146102105780633092afd514610225578063313ce5671461023857806336568abe1461024757806339509351146101b557806340c10f191461025a57600080fd5b806301ffc9a71461017857806306fdde03146101a0578063095ea7b3146101b557806318160ddd146101c857806323b872dd146101da578063248a9ca3146101ed575b600080fd5b61018b610186366004610ca3565b610349565b60405190151581526020015b60405180910390f35b6101a8610380565b6040516101979190610cd4565b61018b6101c3366004610d3f565b610412565b6002545b604051908152602001610197565b61018b6101e8366004610d69565b61042d565b6101cc6101fb366004610da5565b60009081526005602052604090206001015490565b61022361021e366004610dbe565b610448565b005b610223610233366004610dea565b610473565b60405160068152602001610197565b610223610255366004610dbe565b6105ca565b610223610268366004610d3f565b610602565b61022361027b366004610da5565b6106d7565b6101cc61028e366004610dea565b6001600160a01b031660009081526020819052604090205490565b6102236102b7366004610d3f565b610729565b61018b6102ca366004610dbe565b61086f565b6101a861089a565b6102236102e5366004610dea565b6108a9565b6101cc600081565b61018b6101e8366004610d3f565b61018b61030e366004610dea565b610983565b6101cc600080516020610e8b83398151915281565b610223610336366004610dbe565b61099d565b6101cc6101c3366004610e05565b60006001600160e01b03198216637965db0b60e01b148061037a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461038f90610e2f565b80601f01602080910402602001604051908101604052809291908181526020018280546103bb90610e2f565b80156104085780601f106103dd57610100808354040283529160200191610408565b820191906000526020600020905b8154815290600101906020018083116103eb57829003601f168201915b5050505050905090565b600060405163043038b760e11b815260040160405180910390fd5b6000604051638cd22d1960e01b815260040160405180910390fd5b600082815260056020526040902060010154610463816109c2565b61046d83836109cf565b50505050565b600080516020610e8b83398151915261048b816109c2565b6001600160a01b0382166105045760405162461bcd60e51b815260206004820152603560248201527f456e73656d626c65437265646974733a2063616e6e6f742072656d6f7665207a60448201527432b9379030b2323932b9b99030b99036b4b73a32b960591b60648201526084015b60405180910390fd5b61051c600080516020610e8b8339815191528361086f565b6105795760405162461bcd60e51b815260206004820152602860248201527f456e73656d626c65437265646974733a2061646472657373206973206e6f7420604482015267309036b4b73a32b960c11b60648201526084016104fb565b610591600080516020610e8b83398151915283610a63565b506040516001600160a01b038316907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a25050565b6001600160a01b03811633146105f35760405163334bd91960e11b815260040160405180910390fd5b6105fd8282610a63565b505050565b600080516020610e8b83398151915261061a816109c2565b6001600160a01b0383166106855760405162461bcd60e51b815260206004820152602c60248201527f456e73656d626c65437265646974733a2063616e6e6f74206d696e7420746f2060448201526b7a65726f206164647265737360a01b60648201526084016104fb565b61068f8383610ad0565b826001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040516106ca91815260200190565b60405180910390a2505050565b336106e28183610b0a565b806001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161071d91815260200190565b60405180910390a25050565b610741600080516020610e8b8339815191523361086f565b6107bd5760405162461bcd60e51b815260206004820152604160248201527f456e73656d626c65437265646974733a2063616c6c6572206d7573742068617660448201527f65206d696e74657220726f6c6520746f206275726e2066726f6d206f746865726064820152607360f81b608482015260a4016104fb565b6001600160a01b03821661082a5760405162461bcd60e51b815260206004820152602e60248201527f456e73656d626c65437265646974733a2063616e6e6f74206275726e2066726f60448201526d6d207a65726f206164647265737360901b60648201526084016104fb565b6108348282610b0a565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161071d91815260200190565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461038f90610e2f565b600080516020610e8b8339815191526108c1816109c2565b6001600160a01b0382166109325760405162461bcd60e51b815260206004820152603260248201527f456e73656d626c65437265646974733a2063616e6e6f7420616464207a65726f6044820152711030b2323932b9b99030b99036b4b73a32b960711b60648201526084016104fb565b61094a600080516020610e8b833981519152836109cf565b506040516001600160a01b038316907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a25050565b600061037a600080516020610e8b8339815191528361086f565b6000828152600560205260409020600101546109b8816109c2565b61046d8383610a63565b6109cc8133610b40565b50565b60006109db838361086f565b610a5b5760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055610a133390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161037a565b50600061037a565b6000610a6f838361086f565b15610a5b5760008381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161037a565b6001600160a01b038216610afa5760405163ec442f0560e01b8152600060048201526024016104fb565b610b0660008383610b79565b5050565b6001600160a01b038216610b3457604051634b637e8f60e11b8152600060048201526024016104fb565b610b0682600083610b79565b610b4a828261086f565b610b065760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104fb565b6001600160a01b038316610ba4578060026000828254610b999190610e69565b90915550610c169050565b6001600160a01b03831660009081526020819052604090205481811015610bf75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104fb565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610c3257600280548290039055610c51565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c9691815260200190565b60405180910390a3505050565b600060208284031215610cb557600080fd5b81356001600160e01b031981168114610ccd57600080fd5b9392505050565b60006020808352835180602085015260005b81811015610d0257858101830151858201604001528201610ce6565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d3a57600080fd5b919050565b60008060408385031215610d5257600080fd5b610d5b83610d23565b946020939093013593505050565b600080600060608486031215610d7e57600080fd5b610d8784610d23565b9250610d9560208501610d23565b9150604084013590509250925092565b600060208284031215610db757600080fd5b5035919050565b60008060408385031215610dd157600080fd5b82359150610de160208401610d23565b90509250929050565b600060208284031215610dfc57600080fd5b610ccd82610d23565b60008060408385031215610e1857600080fd5b610e2183610d23565b9150610de160208401610d23565b600181811c90821680610e4357607f821691505b602082108103610e6357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561037a57634e487b7160e01b600052601160045260246000fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a26469706673582212205ead6f3848d5c78edab3a1db539091a373142a54f11a8364018847bf49705e2564736f6c634300081600339f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x15C8 CODESIZE SUB DUP1 PUSH3 0x15C8 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x4A6 JUMP JUMPDEST DUP4 DUP4 PUSH1 0x3 PUSH3 0x44 DUP4 DUP3 PUSH3 0x5CA JUMP JUMPDEST POP PUSH1 0x4 PUSH3 0x53 DUP3 DUP3 PUSH3 0x5CA JUMP JUMPDEST POP POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0xC8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2061646D696E2063616E6E6F74206265 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x207A65726F2061646472657373 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xD5 PUSH1 0x0 DUP4 PUSH3 0x16F JUMP JUMPDEST POP PUSH3 0xF1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x15A8 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH3 0x16F JUMP JUMPDEST POP PUSH3 0x10D PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x15A8 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 PUSH3 0x222 JUMP JUMPDEST DUP1 ISZERO PUSH3 0x165 JUMPI PUSH3 0x120 DUP3 DUP3 PUSH3 0x26D JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP3 PUSH1 0x40 MLOAD PUSH3 0x15C SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP POP POP POP PUSH3 0x6B8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH3 0x218 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH3 0x1CF CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP PUSH1 0x1 PUSH3 0x21C JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x1 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE SWAP1 MLOAD SWAP1 SWAP2 DUP4 SWAP2 DUP4 SWAP2 DUP7 SWAP2 PUSH32 0xBD79B86FFE0AB8E8776151514217CD7CACD52C909F66475C3AF44E129F0B00FF SWAP2 SWAP1 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0x299 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEC442F05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH3 0xBF JUMP JUMPDEST PUSH3 0x2A7 PUSH1 0x0 DUP4 DUP4 PUSH3 0x2AB JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH3 0x2DA JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH3 0x2CE SWAP2 SWAP1 PUSH3 0x696 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH3 0x34E SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH3 0x32F JUMPI PUSH1 0x40 MLOAD PUSH4 0x391434E3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x64 ADD PUSH3 0xBF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP3 SWAP1 SUB SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0x36C JUMPI PUSH1 0x2 DUP1 SLOAD DUP3 SWAP1 SUB SWAP1 SSTORE PUSH3 0x38B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP3 ADD SWAP1 SSTORE JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH3 0x3D1 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x406 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x423 JUMPI PUSH3 0x423 PUSH3 0x3DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x44E JUMPI PUSH3 0x44E PUSH3 0x3DE JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x46C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x490 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x471 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x4BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x4D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x4E3 DUP9 DUP4 DUP10 ADD PUSH3 0x3F4 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x509 DUP8 DUP3 DUP9 ADD PUSH3 0x3F4 JUMP JUMPDEST PUSH1 0x40 DUP8 ADD MLOAD SWAP1 SWAP5 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x529 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x60 SWAP6 SWAP1 SWAP6 ADD MLOAD SWAP4 SWAP7 SWAP3 SWAP6 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x54E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x56F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x5C5 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x5A0 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x5C1 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x5AC JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x5E6 JUMPI PUSH3 0x5E6 PUSH3 0x3DE JUMP JUMPDEST PUSH3 0x5FE DUP2 PUSH3 0x5F7 DUP5 SLOAD PUSH3 0x539 JUMP JUMPDEST DUP5 PUSH3 0x575 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x636 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x61D JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x5C1 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x667 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x646 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x686 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH3 0x21C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xEE0 DUP1 PUSH3 0x6C8 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x173 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x42966C68 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xA217FDDF GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xAA271E1A GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xAA271E1A EQ PUSH2 0x300 JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x313 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x328 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x33B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2EA JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x2F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x42966C68 EQ PUSH2 0x26D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x280 JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x2A9 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2BC JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2CF JUMPI DUP1 PUSH4 0x983B2D56 EQ PUSH2 0x2D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x130 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0x3092AFD5 EQ PUSH2 0x225 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x238 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x25A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1DA JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x1ED JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18B PUSH2 0x186 CALLDATASIZE PUSH1 0x4 PUSH2 0xCA3 JUMP JUMPDEST PUSH2 0x349 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A8 PUSH2 0x380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x197 SWAP2 SWAP1 PUSH2 0xCD4 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x412 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x197 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x1E8 CALLDATASIZE PUSH1 0x4 PUSH2 0xD69 JUMP JUMPDEST PUSH2 0x42D JUMP JUMPDEST PUSH2 0x1CC PUSH2 0x1FB CALLDATASIZE PUSH1 0x4 PUSH2 0xDA5 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x21E CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x448 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x223 PUSH2 0x233 CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x197 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x255 CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x5CA JUMP JUMPDEST PUSH2 0x223 PUSH2 0x268 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x602 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x27B CALLDATASIZE PUSH1 0x4 PUSH2 0xDA5 JUMP JUMPDEST PUSH2 0x6D7 JUMP JUMPDEST PUSH2 0x1CC PUSH2 0x28E CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x2B7 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x729 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x2CA CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x86F JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x89A JUMP JUMPDEST PUSH2 0x223 PUSH2 0x2E5 CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH2 0x8A9 JUMP JUMPDEST PUSH2 0x1CC PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x1E8 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x18B PUSH2 0x30E CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH2 0x983 JUMP JUMPDEST PUSH2 0x1CC PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x336 CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x99D JUMP JUMPDEST PUSH2 0x1CC PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0xE05 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x37A JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x38F SWAP1 PUSH2 0xE2F JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3BB SWAP1 PUSH2 0xE2F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x408 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3DD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x408 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3EB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x43038B7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x8CD22D19 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x463 DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH2 0x46D DUP4 DUP4 PUSH2 0x9CF JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x48B DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x504 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F742072656D6F7665207A PUSH1 0x44 DUP3 ADD MSTORE PUSH21 0x32B9379030B2323932B9B99030B99036B4B73A32B9 PUSH1 0x59 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x51C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0x86F JUMP JUMPDEST PUSH2 0x579 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2061646472657373206973206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x309036B4B73A32B9 PUSH1 0xC1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x591 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0xA63 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xE94479A9F7E1952CC78F2D6BAAB678ADC1B772D936C6583DEF489E524CB66692 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x5F3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5FD DUP3 DUP3 PUSH2 0xA63 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x61A DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x685 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F74206D696E7420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x7A65726F2061646472657373 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x68F DUP4 DUP4 PUSH2 0xAD0 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP4 PUSH1 0x40 MLOAD PUSH2 0x6CA SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST CALLER PUSH2 0x6E2 DUP2 DUP4 PUSH2 0xB0A JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xCC16F5DBB4873280815C1EE09DBD06736CFFCC184412CF7A71A0FDB75D397CA5 DUP4 PUSH1 0x40 MLOAD PUSH2 0x71D SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH2 0x741 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x86F JUMP JUMPDEST PUSH2 0x7BD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x41 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616C6C6572206D75737420686176 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x65206D696E74657220726F6C6520746F206275726E2066726F6D206F74686572 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x82A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F74206275726E2066726F PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6D207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x834 DUP3 DUP3 PUSH2 0xB0A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xCC16F5DBB4873280815C1EE09DBD06736CFFCC184412CF7A71A0FDB75D397CA5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x71D SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x38F SWAP1 PUSH2 0xE2F JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x8C1 DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x932 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F7420616464207A65726F PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x1030B2323932B9B99030B99036B4B73A32B9 PUSH1 0x71 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x94A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0x9CF JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x6AE172837EA30B801FBFCDD4108AA1D5BF8FF775444FD70256B44E6BF3DFC3F6 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0x86F JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x9B8 DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH2 0x46D DUP4 DUP4 PUSH2 0xA63 JUMP JUMPDEST PUSH2 0x9CC DUP2 CALLER PUSH2 0xB40 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9DB DUP4 DUP4 PUSH2 0x86F JUMP JUMPDEST PUSH2 0xA5B JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xA13 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP PUSH1 0x1 PUSH2 0x37A JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x37A JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA6F DUP4 DUP4 PUSH2 0x86F JUMP JUMPDEST ISZERO PUSH2 0xA5B JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP7 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP PUSH1 0x1 PUSH2 0x37A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAFA JUMPI PUSH1 0x40 MLOAD PUSH4 0xEC442F05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0xB06 PUSH1 0x0 DUP4 DUP4 PUSH2 0xB79 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB34 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B637E8F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0xB06 DUP3 PUSH1 0x0 DUP4 PUSH2 0xB79 JUMP JUMPDEST PUSH2 0xB4A DUP3 DUP3 PUSH2 0x86F JUMP JUMPDEST PUSH2 0xB06 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xBA4 JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB99 SWAP2 SWAP1 PUSH2 0xE69 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0xC16 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0xBF7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x391434E3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x64 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP3 SWAP1 SUB SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xC32 JUMPI PUSH1 0x2 DUP1 SLOAD DUP3 SWAP1 SUB SWAP1 SSTORE PUSH2 0xC51 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP3 ADD SWAP1 SSTORE JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0xC96 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xCCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xD02 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xCE6 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xD3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD5B DUP4 PUSH2 0xD23 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xD7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD87 DUP5 PUSH2 0xD23 JUMP JUMPDEST SWAP3 POP PUSH2 0xD95 PUSH1 0x20 DUP6 ADD PUSH2 0xD23 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0xDE1 PUSH1 0x20 DUP5 ADD PUSH2 0xD23 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCCD DUP3 PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE21 DUP4 PUSH2 0xD23 JUMP JUMPDEST SWAP2 POP PUSH2 0xDE1 PUSH1 0x20 DUP5 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xE43 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xE63 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x37A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SWAP16 0x2D CREATE INVALID 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5E 0xAD PUSH16 0x3848D5C78EDAB3A1DB539091A373142A SLOAD CALL BYTE DUP4 PUSH5 0x18847BF49 PUSH17 0x5E2564736F6C634300081600339F2DF0FE 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 ", - "sourceMap": "677:7167:27:-:0;;;2204:658;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2347:4;2353:6;1648:5:16;:13;2347:4:27;1648:5:16;:13;:::i;:::-;-1:-1:-1;1671:7:16;:17;1681:7;1671;:17;:::i;:::-;-1:-1:-1;;;;;;;;2379:26:27;::::1;2371:84;;;::::0;-1:-1:-1;;;2371:84:27;;4573:2:36;2371:84:27::1;::::0;::::1;4555:21:36::0;4612:2;4592:18;;;4585:30;4651:34;4631:18;;;4624:62;-1:-1:-1;;;4702:18:36;;;4695:43;4755:19;;2371:84:27::1;;;;;;;;;2474:44;2232:4:4;2505:12:27::0;2474:10:::1;:44::i;:::-;-1:-1:-1::0;2528:37:27::1;-1:-1:-1::0;;;;;;;;;;;2552:12:27;2528:10:::1;:37::i;:::-;-1:-1:-1::0;2664:39:27::1;-1:-1:-1::0;;;;;;;;;;;851:24:27;2664:13:::1;:39::i;:::-;2726:17:::0;;2722:134:::1;;2759:34;2765:12:::0;2779:13;2759:5:::1;:34::i;:::-;2817:12;-1:-1:-1::0;;;;;2812:33:27::1;;2831:13;2812:33;;;;4931:25:36::0;;4919:2;4904:18;;4785:177;2812:33:27::1;;;;;;;;2722:134;2204:658:::0;;;;677:7167;;6179:316:4;6256:4;2954:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;2954:29:4;;;;;;;;;;;;6272:217;;6315:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;6315:29:4;;;;;;;;;:36;;-1:-1:-1;;6315:36:4;6347:4;6315:36;;;6397:12;735:10:21;;656:96;6397:12:4;-1:-1:-1;;;;;6370:40:4;6388:7;-1:-1:-1;;;;;6370:40:4;6382:4;6370:40;;;;;;;;;;-1:-1:-1;6431:4:4;6424:11;;6272:217;-1:-1:-1;6473:5:4;6272:217;6179:316;;;;:::o;5698:247::-;5781:25;3901:12;;;:6;:12;;;;;;:22;;;;5837:34;;;;5886:52;;3901:22;;5837:34;;3901:22;;:12;;5886:52;;5781:25;5886:52;5771:174;5698:247;;:::o;7439:208:16:-;-1:-1:-1;;;;;7509:21:16;;7505:91;;7553:32;;-1:-1:-1;;;7553:32:16;;7582:1;7553:32;;;5113:51:36;5086:18;;7553:32:16;4967:203:36;7505:91:16;7605:35;7621:1;7625:7;7634:5;7605:7;:35::i;:::-;7439:208;;:::o;5989:1107::-;-1:-1:-1;;;;;6078:18:16;;6074:540;;6230:5;6214:12;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;6074:540:16;;-1:-1:-1;6074:540:16;;-1:-1:-1;;;;;6288:15:16;;6266:19;6288:15;;;;;;;;;;;6321:19;;;6317:115;;;6367:50;;-1:-1:-1;;;6367:50:16;;-1:-1:-1;;;;;5622:32:36;;6367:50:16;;;5604:51:36;5671:18;;;5664:34;;;5714:18;;;5707:34;;;5577:18;;6367:50:16;5402:345:36;6317:115:16;-1:-1:-1;;;;;6552:15:16;;:9;:15;;;;;;;;;;6570:19;;;;6552:37;;6074:540;-1:-1:-1;;;;;6628:16:16;;6624:425;;6791:12;:21;;;;;;;6624:425;;;-1:-1:-1;;;;;7002:13:16;;:9;:13;;;;;;;;;;:22;;;;;;6624:425;7079:2;-1:-1:-1;;;;;7064:25:16;7073:4;-1:-1:-1;;;;;7064:25:16;;7083:5;7064:25;;;;4931::36;;4919:2;4904:18;;4785:177;7064:25:16;;;;;;;;5989:1107;;;:::o;14:127:36:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:844;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:36;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:36;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;732:3;725:4;720:2;712:6;708:15;704:26;701:35;698:55;;;749:1;746;739:12;698:55;771:1;762:10;;781:133;795:2;792:1;789:9;781:133;;;883:14;;;879:23;;873:30;852:14;;;848:23;;841:63;806:10;;;;781:133;;;958:1;951:4;946:2;938:6;934:15;930:26;923:37;978:6;969:15;;;;;;146:844;;;;:::o;995:791::-;1112:6;1120;1128;1136;1189:3;1177:9;1168:7;1164:23;1160:33;1157:53;;;1206:1;1203;1196:12;1157:53;1233:16;;-1:-1:-1;;;;;1298:14:36;;;1295:34;;;1325:1;1322;1315:12;1295:34;1348:61;1401:7;1392:6;1381:9;1377:22;1348:61;:::i;:::-;1338:71;;1455:2;1444:9;1440:18;1434:25;1418:41;;1484:2;1474:8;1471:16;1468:36;;;1500:1;1497;1490:12;1468:36;;1523:63;1578:7;1567:8;1556:9;1552:24;1523:63;:::i;:::-;1629:2;1614:18;;1608:25;1513:73;;-1:-1:-1;1608:25:36;-1:-1:-1;;;;;;1662:31:36;;1652:42;;1642:70;;1708:1;1705;1698:12;1642:70;1776:2;1761:18;;;;1755:25;995:791;;;;-1:-1:-1;;;995:791:36:o;1791:380::-;1870:1;1866:12;;;;1913;;;1934:61;;1988:4;1980:6;1976:17;1966:27;;1934:61;2041:2;2033:6;2030:14;2010:18;2007:38;2004:161;;2087:10;2082:3;2078:20;2075:1;2068:31;2122:4;2119:1;2112:15;2150:4;2147:1;2140:15;2004:161;;1791:380;;;:::o;2302:543::-;2404:2;2399:3;2396:11;2393:446;;;2440:1;2464:5;2461:1;2454:16;2508:4;2505:1;2495:18;2578:2;2566:10;2562:19;2559:1;2555:27;2549:4;2545:38;2614:4;2602:10;2599:20;2596:47;;;-1:-1:-1;2637:4:36;2596:47;2692:2;2687:3;2683:12;2680:1;2676:20;2670:4;2666:31;2656:41;;2747:82;2765:2;2758:5;2755:13;2747:82;;;2810:17;;;2791:1;2780:13;2747:82;;;2751:3;;;2393:446;2302:543;;;:::o;3021:1345::-;3141:10;;-1:-1:-1;;;;;3163:30:36;;3160:56;;;3196:18;;:::i;:::-;3225:97;3315:6;3275:38;3307:4;3301:11;3275:38;:::i;:::-;3269:4;3225:97;:::i;:::-;3377:4;;3434:2;3423:14;;3451:1;3446:663;;;;4153:1;4170:6;4167:89;;;-1:-1:-1;4222:19:36;;;4216:26;4167:89;-1:-1:-1;;2978:1:36;2974:11;;;2970:24;2966:29;2956:40;3002:1;2998:11;;;2953:57;4269:81;;3416:944;;3446:663;2249:1;2242:14;;;2286:4;2273:18;;-1:-1:-1;;3482:20:36;;;3600:236;3614:7;3611:1;3608:14;3600:236;;;3703:19;;;3697:26;3682:42;;3795:27;;;;3763:1;3751:14;;;;3630:19;;3600:236;;;3604:3;3864:6;3855:7;3852:19;3849:201;;;3925:19;;;3919:26;-1:-1:-1;;4008:1:36;4004:14;;;4020:3;4000:24;3996:37;3992:42;3977:58;3962:74;;3849:201;-1:-1:-1;;;;;4096:1:36;4080:14;;;4076:22;4063:36;;-1:-1:-1;3021:1345:36:o;5175:222::-;5240:9;;;5261:10;;;5258:133;;;5313:10;5308:3;5304:20;5301:1;5294:31;5348:4;5345:1;5338:15;5376:4;5373:1;5366:15;5402:345;677:7167:27;;;;;;" + "object": "60806040523480156200001157600080fd5b50604051620015c8380380620015c88339810160408190526200003491620004a6565b83836003620000448382620005ca565b506004620000538282620005ca565b5050506001600160a01b038216620000c85760405162461bcd60e51b815260206004820152602d60248201527f456e73656d626c65437265646974733a2061646d696e2063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084015b60405180910390fd5b620000d56000836200016f565b50620000f1600080516020620015a8833981519152836200016f565b506200010d600080516020620015a88339815191528062000222565b801562000165576200012082826200026d565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040516200015c91815260200190565b60405180910390a25b50505050620006b8565b60008281526005602090815260408083206001600160a01b038516845290915281205460ff16620002185760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055620001cf3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016200021c565b5060005b92915050565b600082815260056020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6001600160a01b038216620002995760405163ec442f0560e01b815260006004820152602401620000bf565b620002a760008383620002ab565b5050565b6001600160a01b038316620002da578060026000828254620002ce919062000696565b909155506200034e9050565b6001600160a01b038316600090815260208190526040902054818110156200032f5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000bf565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166200036c576002805482900390556200038b565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003d191815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200040657600080fd5b81516001600160401b0380821115620004235762000423620003de565b604051601f8301601f19908116603f011681019082821181831017156200044e576200044e620003de565b81604052838152602092508660208588010111156200046c57600080fd5b600091505b8382101562000490578582018301518183018401529082019062000471565b6000602085830101528094505050505092915050565b60008060008060808587031215620004bd57600080fd5b84516001600160401b0380821115620004d557600080fd5b620004e388838901620003f4565b95506020870151915080821115620004fa57600080fd5b506200050987828801620003f4565b604087015190945090506001600160a01b03811681146200052957600080fd5b6060959095015193969295505050565b600181811c908216806200054e57607f821691505b6020821081036200056f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005c5576000816000526020600020601f850160051c81016020861015620005a05750805b601f850160051c820191505b81811015620005c157828155600101620005ac565b5050505b505050565b81516001600160401b03811115620005e657620005e6620003de565b620005fe81620005f7845462000539565b8462000575565b602080601f8311600181146200063657600084156200061d5750858301515b600019600386901b1c1916600185901b178555620005c1565b600085815260208120601f198616915b82811015620006675788860151825594840194600190910190840162000646565b5085821015620006865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200021c57634e487b7160e01b600052601160045260246000fd5b610ee080620006c86000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a217fddf11610097578063aa271e1a11610071578063aa271e1a14610300578063d539139314610313578063d547741f14610328578063dd62ed3e1461033b57600080fd5b8063a217fddf146102ea578063a457c2d7146101b5578063a9059cbb146102f257600080fd5b806342966c681461026d57806370a082311461028057806379cc6790146102a957806391d14854146102bc57806395d89b41146102cf578063983b2d56146102d757600080fd5b80632f2ff15d116101305780632f2ff15d146102105780633092afd514610225578063313ce5671461023857806336568abe1461024757806339509351146101b557806340c10f191461025a57600080fd5b806301ffc9a71461017857806306fdde03146101a0578063095ea7b3146101b557806318160ddd146101c857806323b872dd146101da578063248a9ca3146101ed575b600080fd5b61018b610186366004610ca3565b610349565b60405190151581526020015b60405180910390f35b6101a8610380565b6040516101979190610cd4565b61018b6101c3366004610d3f565b610412565b6002545b604051908152602001610197565b61018b6101e8366004610d69565b61042d565b6101cc6101fb366004610da5565b60009081526005602052604090206001015490565b61022361021e366004610dbe565b610448565b005b610223610233366004610dea565b610473565b60405160068152602001610197565b610223610255366004610dbe565b6105ca565b610223610268366004610d3f565b610602565b61022361027b366004610da5565b6106d7565b6101cc61028e366004610dea565b6001600160a01b031660009081526020819052604090205490565b6102236102b7366004610d3f565b610729565b61018b6102ca366004610dbe565b61086f565b6101a861089a565b6102236102e5366004610dea565b6108a9565b6101cc600081565b61018b6101e8366004610d3f565b61018b61030e366004610dea565b610983565b6101cc600080516020610e8b83398151915281565b610223610336366004610dbe565b61099d565b6101cc6101c3366004610e05565b60006001600160e01b03198216637965db0b60e01b148061037a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461038f90610e2f565b80601f01602080910402602001604051908101604052809291908181526020018280546103bb90610e2f565b80156104085780601f106103dd57610100808354040283529160200191610408565b820191906000526020600020905b8154815290600101906020018083116103eb57829003601f168201915b5050505050905090565b600060405163043038b760e11b815260040160405180910390fd5b6000604051638cd22d1960e01b815260040160405180910390fd5b600082815260056020526040902060010154610463816109c2565b61046d83836109cf565b50505050565b600080516020610e8b83398151915261048b816109c2565b6001600160a01b0382166105045760405162461bcd60e51b815260206004820152603560248201527f456e73656d626c65437265646974733a2063616e6e6f742072656d6f7665207a60448201527432b9379030b2323932b9b99030b99036b4b73a32b960591b60648201526084015b60405180910390fd5b61051c600080516020610e8b8339815191528361086f565b6105795760405162461bcd60e51b815260206004820152602860248201527f456e73656d626c65437265646974733a2061646472657373206973206e6f7420604482015267309036b4b73a32b960c11b60648201526084016104fb565b610591600080516020610e8b83398151915283610a63565b506040516001600160a01b038316907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a25050565b6001600160a01b03811633146105f35760405163334bd91960e11b815260040160405180910390fd5b6105fd8282610a63565b505050565b600080516020610e8b83398151915261061a816109c2565b6001600160a01b0383166106855760405162461bcd60e51b815260206004820152602c60248201527f456e73656d626c65437265646974733a2063616e6e6f74206d696e7420746f2060448201526b7a65726f206164647265737360a01b60648201526084016104fb565b61068f8383610ad0565b826001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040516106ca91815260200190565b60405180910390a2505050565b336106e28183610b0a565b806001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161071d91815260200190565b60405180910390a25050565b610741600080516020610e8b8339815191523361086f565b6107bd5760405162461bcd60e51b815260206004820152604160248201527f456e73656d626c65437265646974733a2063616c6c6572206d7573742068617660448201527f65206d696e74657220726f6c6520746f206275726e2066726f6d206f746865726064820152607360f81b608482015260a4016104fb565b6001600160a01b03821661082a5760405162461bcd60e51b815260206004820152602e60248201527f456e73656d626c65437265646974733a2063616e6e6f74206275726e2066726f60448201526d6d207a65726f206164647265737360901b60648201526084016104fb565b6108348282610b0a565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161071d91815260200190565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461038f90610e2f565b600080516020610e8b8339815191526108c1816109c2565b6001600160a01b0382166109325760405162461bcd60e51b815260206004820152603260248201527f456e73656d626c65437265646974733a2063616e6e6f7420616464207a65726f6044820152711030b2323932b9b99030b99036b4b73a32b960711b60648201526084016104fb565b61094a600080516020610e8b833981519152836109cf565b506040516001600160a01b038316907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a25050565b600061037a600080516020610e8b8339815191528361086f565b6000828152600560205260409020600101546109b8816109c2565b61046d8383610a63565b6109cc8133610b40565b50565b60006109db838361086f565b610a5b5760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055610a133390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161037a565b50600061037a565b6000610a6f838361086f565b15610a5b5760008381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161037a565b6001600160a01b038216610afa5760405163ec442f0560e01b8152600060048201526024016104fb565b610b0660008383610b79565b5050565b6001600160a01b038216610b3457604051634b637e8f60e11b8152600060048201526024016104fb565b610b0682600083610b79565b610b4a828261086f565b610b065760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104fb565b6001600160a01b038316610ba4578060026000828254610b999190610e69565b90915550610c169050565b6001600160a01b03831660009081526020819052604090205481811015610bf75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104fb565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610c3257600280548290039055610c51565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c9691815260200190565b60405180910390a3505050565b600060208284031215610cb557600080fd5b81356001600160e01b031981168114610ccd57600080fd5b9392505050565b60006020808352835180602085015260005b81811015610d0257858101830151858201604001528201610ce6565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d3a57600080fd5b919050565b60008060408385031215610d5257600080fd5b610d5b83610d23565b946020939093013593505050565b600080600060608486031215610d7e57600080fd5b610d8784610d23565b9250610d9560208501610d23565b9150604084013590509250925092565b600060208284031215610db757600080fd5b5035919050565b60008060408385031215610dd157600080fd5b82359150610de160208401610d23565b90509250929050565b600060208284031215610dfc57600080fd5b610ccd82610d23565b60008060408385031215610e1857600080fd5b610e2183610d23565b9150610de160208401610d23565b600181811c90821680610e4357607f821691505b602082108103610e6357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561037a57634e487b7160e01b600052601160045260246000fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220cbcbaafbce63d8ac619a22d4e837fc602232386c5248b061ca0f8706e5c5be4564736f6c634300081600339f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x15C8 CODESIZE SUB DUP1 PUSH3 0x15C8 DUP4 CODECOPY DUP2 ADD PUSH1 0x40 DUP2 SWAP1 MSTORE PUSH3 0x34 SWAP2 PUSH3 0x4A6 JUMP JUMPDEST DUP4 DUP4 PUSH1 0x3 PUSH3 0x44 DUP4 DUP3 PUSH3 0x5CA JUMP JUMPDEST POP PUSH1 0x4 PUSH3 0x53 DUP3 DUP3 PUSH3 0x5CA JUMP JUMPDEST POP POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0xC8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2061646D696E2063616E6E6F74206265 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x207A65726F2061646472657373 PUSH1 0x98 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0xD5 PUSH1 0x0 DUP4 PUSH3 0x16F JUMP JUMPDEST POP PUSH3 0xF1 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x15A8 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH3 0x16F JUMP JUMPDEST POP PUSH3 0x10D PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH3 0x15A8 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 PUSH3 0x222 JUMP JUMPDEST DUP1 ISZERO PUSH3 0x165 JUMPI PUSH3 0x120 DUP3 DUP3 PUSH3 0x26D JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP3 PUSH1 0x40 MLOAD PUSH3 0x15C SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP POP POP POP PUSH3 0x6B8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE DUP2 KECCAK256 SLOAD PUSH1 0xFF AND PUSH3 0x218 JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH3 0x1CF CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP PUSH1 0x1 PUSH3 0x21C JUMP JUMPDEST POP PUSH1 0x0 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 DUP1 DUP3 KECCAK256 PUSH1 0x1 ADD DUP1 SLOAD SWAP1 DUP5 SWAP1 SSTORE SWAP1 MLOAD SWAP1 SWAP2 DUP4 SWAP2 DUP4 SWAP2 DUP7 SWAP2 PUSH32 0xBD79B86FFE0AB8E8776151514217CD7CACD52C909F66475C3AF44E129F0B00FF SWAP2 SWAP1 LOG4 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0x299 JUMPI PUSH1 0x40 MLOAD PUSH4 0xEC442F05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH3 0xBF JUMP JUMPDEST PUSH3 0x2A7 PUSH1 0x0 DUP4 DUP4 PUSH3 0x2AB JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH3 0x2DA JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH3 0x2CE SWAP2 SWAP1 PUSH3 0x696 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH3 0x34E SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH3 0x32F JUMPI PUSH1 0x40 MLOAD PUSH4 0x391434E3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x64 ADD PUSH3 0xBF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP3 SWAP1 SUB SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH3 0x36C JUMPI PUSH1 0x2 DUP1 SLOAD DUP3 SWAP1 SUB SWAP1 SSTORE PUSH3 0x38B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP3 ADD SWAP1 SSTORE JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH3 0x3D1 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x406 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x423 JUMPI PUSH3 0x423 PUSH3 0x3DE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP4 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH3 0x44E JUMPI PUSH3 0x44E PUSH3 0x3DE JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP4 DUP2 MSTORE PUSH1 0x20 SWAP3 POP DUP7 PUSH1 0x20 DUP6 DUP9 ADD ADD GT ISZERO PUSH3 0x46C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST DUP4 DUP3 LT ISZERO PUSH3 0x490 JUMPI DUP6 DUP3 ADD DUP4 ADD MLOAD DUP2 DUP4 ADD DUP5 ADD MSTORE SWAP1 DUP3 ADD SWAP1 PUSH3 0x471 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP6 DUP4 ADD ADD MSTORE DUP1 SWAP5 POP POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH3 0x4BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH3 0x4D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x4E3 DUP9 DUP4 DUP10 ADD PUSH3 0x3F4 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD MLOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH3 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x509 DUP8 DUP3 DUP9 ADD PUSH3 0x3F4 JUMP JUMPDEST PUSH1 0x40 DUP8 ADD MLOAD SWAP1 SWAP5 POP SWAP1 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH3 0x529 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x60 SWAP6 SWAP1 SWAP6 ADD MLOAD SWAP4 SWAP7 SWAP3 SWAP6 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH3 0x54E JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH3 0x56F JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH3 0x5C5 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH3 0x5A0 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH3 0x5C1 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH3 0x5AC JUMP JUMPDEST POP POP POP JUMPDEST POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH3 0x5E6 JUMPI PUSH3 0x5E6 PUSH3 0x3DE JUMP JUMPDEST PUSH3 0x5FE DUP2 PUSH3 0x5F7 DUP5 SLOAD PUSH3 0x539 JUMP JUMPDEST DUP5 PUSH3 0x575 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH3 0x636 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH3 0x61D JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH3 0x5C1 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH3 0x667 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH3 0x646 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH3 0x686 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH3 0x21C JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH2 0xEE0 DUP1 PUSH3 0x6C8 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x173 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x42966C68 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xA217FDDF GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xAA271E1A GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xAA271E1A EQ PUSH2 0x300 JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x313 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x328 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x33B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2EA JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x2F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x42966C68 EQ PUSH2 0x26D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x280 JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x2A9 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2BC JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2CF JUMPI DUP1 PUSH4 0x983B2D56 EQ PUSH2 0x2D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x130 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0x3092AFD5 EQ PUSH2 0x225 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x238 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x25A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1DA JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x1ED JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18B PUSH2 0x186 CALLDATASIZE PUSH1 0x4 PUSH2 0xCA3 JUMP JUMPDEST PUSH2 0x349 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A8 PUSH2 0x380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x197 SWAP2 SWAP1 PUSH2 0xCD4 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x412 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x197 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x1E8 CALLDATASIZE PUSH1 0x4 PUSH2 0xD69 JUMP JUMPDEST PUSH2 0x42D JUMP JUMPDEST PUSH2 0x1CC PUSH2 0x1FB CALLDATASIZE PUSH1 0x4 PUSH2 0xDA5 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x21E CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x448 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x223 PUSH2 0x233 CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x197 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x255 CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x5CA JUMP JUMPDEST PUSH2 0x223 PUSH2 0x268 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x602 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x27B CALLDATASIZE PUSH1 0x4 PUSH2 0xDA5 JUMP JUMPDEST PUSH2 0x6D7 JUMP JUMPDEST PUSH2 0x1CC PUSH2 0x28E CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x2B7 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x729 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x2CA CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x86F JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x89A JUMP JUMPDEST PUSH2 0x223 PUSH2 0x2E5 CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH2 0x8A9 JUMP JUMPDEST PUSH2 0x1CC PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x1E8 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x18B PUSH2 0x30E CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH2 0x983 JUMP JUMPDEST PUSH2 0x1CC PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x336 CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x99D JUMP JUMPDEST PUSH2 0x1CC PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0xE05 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x37A JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x38F SWAP1 PUSH2 0xE2F JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3BB SWAP1 PUSH2 0xE2F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x408 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3DD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x408 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3EB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x43038B7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x8CD22D19 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x463 DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH2 0x46D DUP4 DUP4 PUSH2 0x9CF JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x48B DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x504 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F742072656D6F7665207A PUSH1 0x44 DUP3 ADD MSTORE PUSH21 0x32B9379030B2323932B9B99030B99036B4B73A32B9 PUSH1 0x59 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x51C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0x86F JUMP JUMPDEST PUSH2 0x579 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2061646472657373206973206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x309036B4B73A32B9 PUSH1 0xC1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x591 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0xA63 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xE94479A9F7E1952CC78F2D6BAAB678ADC1B772D936C6583DEF489E524CB66692 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x5F3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5FD DUP3 DUP3 PUSH2 0xA63 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x61A DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x685 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F74206D696E7420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x7A65726F2061646472657373 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x68F DUP4 DUP4 PUSH2 0xAD0 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP4 PUSH1 0x40 MLOAD PUSH2 0x6CA SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST CALLER PUSH2 0x6E2 DUP2 DUP4 PUSH2 0xB0A JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xCC16F5DBB4873280815C1EE09DBD06736CFFCC184412CF7A71A0FDB75D397CA5 DUP4 PUSH1 0x40 MLOAD PUSH2 0x71D SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH2 0x741 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x86F JUMP JUMPDEST PUSH2 0x7BD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x41 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616C6C6572206D75737420686176 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x65206D696E74657220726F6C6520746F206275726E2066726F6D206F74686572 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x82A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F74206275726E2066726F PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6D207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x834 DUP3 DUP3 PUSH2 0xB0A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xCC16F5DBB4873280815C1EE09DBD06736CFFCC184412CF7A71A0FDB75D397CA5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x71D SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x38F SWAP1 PUSH2 0xE2F JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x8C1 DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x932 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F7420616464207A65726F PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x1030B2323932B9B99030B99036B4B73A32B9 PUSH1 0x71 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x94A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0x9CF JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x6AE172837EA30B801FBFCDD4108AA1D5BF8FF775444FD70256B44E6BF3DFC3F6 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0x86F JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x9B8 DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH2 0x46D DUP4 DUP4 PUSH2 0xA63 JUMP JUMPDEST PUSH2 0x9CC DUP2 CALLER PUSH2 0xB40 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9DB DUP4 DUP4 PUSH2 0x86F JUMP JUMPDEST PUSH2 0xA5B JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xA13 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP PUSH1 0x1 PUSH2 0x37A JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x37A JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA6F DUP4 DUP4 PUSH2 0x86F JUMP JUMPDEST ISZERO PUSH2 0xA5B JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP7 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP PUSH1 0x1 PUSH2 0x37A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAFA JUMPI PUSH1 0x40 MLOAD PUSH4 0xEC442F05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0xB06 PUSH1 0x0 DUP4 DUP4 PUSH2 0xB79 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB34 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B637E8F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0xB06 DUP3 PUSH1 0x0 DUP4 PUSH2 0xB79 JUMP JUMPDEST PUSH2 0xB4A DUP3 DUP3 PUSH2 0x86F JUMP JUMPDEST PUSH2 0xB06 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xBA4 JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB99 SWAP2 SWAP1 PUSH2 0xE69 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0xC16 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0xBF7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x391434E3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x64 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP3 SWAP1 SUB SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xC32 JUMPI PUSH1 0x2 DUP1 SLOAD DUP3 SWAP1 SUB SWAP1 SSTORE PUSH2 0xC51 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP3 ADD SWAP1 SSTORE JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0xC96 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xCCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xD02 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xCE6 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xD3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD5B DUP4 PUSH2 0xD23 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xD7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD87 DUP5 PUSH2 0xD23 JUMP JUMPDEST SWAP3 POP PUSH2 0xD95 PUSH1 0x20 DUP6 ADD PUSH2 0xD23 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0xDE1 PUSH1 0x20 DUP5 ADD PUSH2 0xD23 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCCD DUP3 PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE21 DUP4 PUSH2 0xD23 JUMP JUMPDEST SWAP2 POP PUSH2 0xDE1 PUSH1 0x20 DUP5 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xE43 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xE63 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x37A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SWAP16 0x2D CREATE INVALID 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCB 0xCB 0xAA 0xFB 0xCE PUSH4 0xD8AC619A 0x22 0xD4 0xE8 CALLDATACOPY 0xFC PUSH1 0x22 ORIGIN CODESIZE PUSH13 0x5248B061CA0F8706E5C5BE4564 PUSH20 0x6F6C634300081600339F2DF0FED2C77648DE5860 LOG4 0xCC POP DUP13 0xD0 DUP2 DUP13 DUP6 0xB8 0xB8 LOG1 0xAB 0x4C 0xEE 0xEF DUP14 SWAP9 SHR DUP10 JUMP 0xA6 ", + "sourceMap": "677:7167:27:-:0;;;2204:658;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2347:4;2353:6;1648:5:16;:13;2347:4:27;1648:5:16;:13;:::i;:::-;-1:-1:-1;1671:7:16;:17;1681:7;1671;:17;:::i;:::-;-1:-1:-1;;;;;;;;2379:26:27;::::1;2371:84;;;::::0;-1:-1:-1;;;2371:84:27;;4573:2:34;2371:84:27::1;::::0;::::1;4555:21:34::0;4612:2;4592:18;;;4585:30;4651:34;4631:18;;;4624:62;-1:-1:-1;;;4702:18:34;;;4695:43;4755:19;;2371:84:27::1;;;;;;;;;2474:44;2241:4:4;2505:12:27::0;2474:10:::1;:44::i;:::-;-1:-1:-1::0;2528:37:27::1;-1:-1:-1::0;;;;;;;;;;;2552:12:27;2528:10:::1;:37::i;:::-;-1:-1:-1::0;2664:39:27::1;-1:-1:-1::0;;;;;;;;;;;851:24:27;2664:13:::1;:39::i;:::-;2726:17:::0;;2722:134:::1;;2759:34;2765:12:::0;2779:13;2759:5:::1;:34::i;:::-;2817:12;-1:-1:-1::0;;;;;2812:33:27::1;;2831:13;2812:33;;;;4931:25:34::0;;4919:2;4904:18;;4785:177;2812:33:27::1;;;;;;;;2722:134;2204:658:::0;;;;677:7167;;6155:316:4;6232:4;2930:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;2930:29:4;;;;;;;;;;;;6248:217;;6291:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;6291:29:4;;;;;;;;;:36;;-1:-1:-1;;6291:36:4;6323:4;6291:36;;;6373:12;735:10:21;;656:96;6373:12:4;-1:-1:-1;;;;;6346:40:4;6364:7;-1:-1:-1;;;;;6346:40:4;6358:4;6346:40;;;;;;;;;;-1:-1:-1;6407:4:4;6400:11;;6248:217;-1:-1:-1;6449:5:4;6248:217;6155:316;;;;:::o;5674:247::-;5757:25;3877:12;;;:6;:12;;;;;;:22;;;;5813:34;;;;5862:52;;3877:22;;5813:34;;3877:22;;:12;;5862:52;;5757:25;5862:52;5747:174;5674:247;;:::o;7362:208:16:-;-1:-1:-1;;;;;7432:21:16;;7428:91;;7476:32;;-1:-1:-1;;;7476:32:16;;7505:1;7476:32;;;5113:51:34;5086:18;;7476:32:16;4967:203:34;7428:91:16;7528:35;7544:1;7548:7;7557:5;7528:7;:35::i;:::-;7362:208;;:::o;5912:1107::-;-1:-1:-1;;;;;6001:18:16;;5997:540;;6153:5;6137:12;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;5997:540:16;;-1:-1:-1;5997:540:16;;-1:-1:-1;;;;;6211:15:16;;6189:19;6211:15;;;;;;;;;;;6244:19;;;6240:115;;;6290:50;;-1:-1:-1;;;6290:50:16;;-1:-1:-1;;;;;5622:32:34;;6290:50:16;;;5604:51:34;5671:18;;;5664:34;;;5714:18;;;5707:34;;;5577:18;;6290:50:16;5402:345:34;6240:115:16;-1:-1:-1;;;;;6475:15:16;;:9;:15;;;;;;;;;;6493:19;;;;6475:37;;5997:540;-1:-1:-1;;;;;6551:16:16;;6547:425;;6714:12;:21;;;;;;;6547:425;;;-1:-1:-1;;;;;6925:13:16;;:9;:13;;;;;;;;;;:22;;;;;;6547:425;7002:2;-1:-1:-1;;;;;6987:25:16;6996:4;-1:-1:-1;;;;;6987:25:16;;7006:5;6987:25;;;;4931::34;;4919:2;4904:18;;4785:177;6987:25:16;;;;;;;;5912:1107;;;:::o;14:127:34:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:844;200:5;253:3;246:4;238:6;234:17;230:27;220:55;;271:1;268;261:12;220:55;294:13;;-1:-1:-1;;;;;356:10:34;;;353:36;;;369:18;;:::i;:::-;444:2;438:9;412:2;498:13;;-1:-1:-1;;494:22:34;;;518:2;490:31;486:40;474:53;;;542:18;;;562:22;;;539:46;536:72;;;588:18;;:::i;:::-;628:10;624:2;617:22;663:2;655:6;648:18;685:4;675:14;;732:3;725:4;720:2;712:6;708:15;704:26;701:35;698:55;;;749:1;746;739:12;698:55;771:1;762:10;;781:133;795:2;792:1;789:9;781:133;;;883:14;;;879:23;;873:30;852:14;;;848:23;;841:63;806:10;;;;781:133;;;958:1;951:4;946:2;938:6;934:15;930:26;923:37;978:6;969:15;;;;;;146:844;;;;:::o;995:791::-;1112:6;1120;1128;1136;1189:3;1177:9;1168:7;1164:23;1160:33;1157:53;;;1206:1;1203;1196:12;1157:53;1233:16;;-1:-1:-1;;;;;1298:14:34;;;1295:34;;;1325:1;1322;1315:12;1295:34;1348:61;1401:7;1392:6;1381:9;1377:22;1348:61;:::i;:::-;1338:71;;1455:2;1444:9;1440:18;1434:25;1418:41;;1484:2;1474:8;1471:16;1468:36;;;1500:1;1497;1490:12;1468:36;;1523:63;1578:7;1567:8;1556:9;1552:24;1523:63;:::i;:::-;1629:2;1614:18;;1608:25;1513:73;;-1:-1:-1;1608:25:34;-1:-1:-1;;;;;;1662:31:34;;1652:42;;1642:70;;1708:1;1705;1698:12;1642:70;1776:2;1761:18;;;;1755:25;995:791;;;;-1:-1:-1;;;995:791:34:o;1791:380::-;1870:1;1866:12;;;;1913;;;1934:61;;1988:4;1980:6;1976:17;1966:27;;1934:61;2041:2;2033:6;2030:14;2010:18;2007:38;2004:161;;2087:10;2082:3;2078:20;2075:1;2068:31;2122:4;2119:1;2112:15;2150:4;2147:1;2140:15;2004:161;;1791:380;;;:::o;2302:543::-;2404:2;2399:3;2396:11;2393:446;;;2440:1;2464:5;2461:1;2454:16;2508:4;2505:1;2495:18;2578:2;2566:10;2562:19;2559:1;2555:27;2549:4;2545:38;2614:4;2602:10;2599:20;2596:47;;;-1:-1:-1;2637:4:34;2596:47;2692:2;2687:3;2683:12;2680:1;2676:20;2670:4;2666:31;2656:41;;2747:82;2765:2;2758:5;2755:13;2747:82;;;2810:17;;;2791:1;2780:13;2747:82;;;2751:3;;;2393:446;2302:543;;;:::o;3021:1345::-;3141:10;;-1:-1:-1;;;;;3163:30:34;;3160:56;;;3196:18;;:::i;:::-;3225:97;3315:6;3275:38;3307:4;3301:11;3275:38;:::i;:::-;3269:4;3225:97;:::i;:::-;3377:4;;3434:2;3423:14;;3451:1;3446:663;;;;4153:1;4170:6;4167:89;;;-1:-1:-1;4222:19:34;;;4216:26;4167:89;-1:-1:-1;;2978:1:34;2974:11;;;2970:24;2966:29;2956:40;3002:1;2998:11;;;2953:57;4269:81;;3416:944;;3446:663;2249:1;2242:14;;;2286:4;2273:18;;-1:-1:-1;;3482:20:34;;;3600:236;3614:7;3611:1;3608:14;3600:236;;;3703:19;;;3697:26;3682:42;;3795:27;;;;3763:1;3751:14;;;;3630:19;;3600:236;;;3604:3;3864:6;3855:7;3852:19;3849:201;;;3925:19;;;3919:26;-1:-1:-1;;4008:1:34;4004:14;;;4020:3;4000:24;3996:37;3992:42;3977:58;3962:74;;3849:201;-1:-1:-1;;;;;4096:1:34;4080:14;;;4076:22;4063:36;;-1:-1:-1;3021:1345:34:o;5175:222::-;5240:9;;;5261:10;;;5258:133;;;5313:10;5308:3;5304:20;5301:1;5294:31;5348:4;5345:1;5338:15;5376:4;5373:1;5366:15;5402:345;677:7167:27;;;;;;" }, "deployedBytecode": { "functionDebugData": { - "@DEFAULT_ADMIN_ROLE_720": { + "@DEFAULT_ADMIN_ROLE_721": { "entryPoint": null, - "id": 720, + "id": 721, "parameterSlots": 0, "returnSlots": 0 }, - "@MINTER_ROLE_4034": { + "@MINTER_ROLE_4035": { "entryPoint": null, - "id": 4034, + "id": 4035, "parameterSlots": 0, "returnSlots": 0 }, - "@_burn_2335": { + "@_burn_2336": { "entryPoint": 2826, - "id": 2335, + "id": 2336, "parameterSlots": 2, "returnSlots": 0 }, - "@_checkRole_784": { + "@_checkRole_785": { "entryPoint": 2498, - "id": 784, + "id": 785, "parameterSlots": 1, "returnSlots": 0 }, - "@_checkRole_805": { + "@_checkRole_806": { "entryPoint": 2880, - "id": 805, + "id": 806, "parameterSlots": 2, "returnSlots": 0 }, - "@_grantRole_947": { + "@_grantRole_948": { "entryPoint": 2511, - "id": 947, + "id": 948, "parameterSlots": 2, "returnSlots": 1 }, - "@_mint_2302": { + "@_mint_2303": { "entryPoint": 2768, - "id": 2302, + "id": 2303, "parameterSlots": 2, "returnSlots": 0 }, - "@_msgSender_2884": { + "@_msgSender_2885": { "entryPoint": null, - "id": 2884, + "id": 2885, "parameterSlots": 0, "returnSlots": 1 }, - "@_revokeRole_985": { + "@_revokeRole_986": { "entryPoint": 2659, - "id": 985, + "id": 986, "parameterSlots": 2, "returnSlots": 1 }, - "@_update_2269": { + "@_update_2270": { "entryPoint": 2937, - "id": 2269, + "id": 2270, "parameterSlots": 3, "returnSlots": 0 }, - "@addMinter_4254": { + "@addMinter_4255": { "entryPoint": 2217, - "id": 4254, + "id": 4255, "parameterSlots": 1, "returnSlots": 0 }, - "@allowance_4367": { + "@allowance_4368": { "entryPoint": null, - "id": 4367, + "id": 4368, "parameterSlots": 2, "returnSlots": 1 }, - "@approve_4352": { + "@approve_4353": { "entryPoint": 1042, - "id": 4352, + "id": 4353, "parameterSlots": 2, "returnSlots": 1 }, - "@balanceOf_2048": { + "@balanceOf_2049": { "entryPoint": null, - "id": 2048, + "id": 2049, "parameterSlots": 1, "returnSlots": 1 }, - "@burnFrom_4225": { + "@burnFrom_4226": { "entryPoint": 1833, - "id": 4225, + "id": 4226, "parameterSlots": 2, "returnSlots": 0 }, - "@burn_4186": { + "@burn_4187": { "entryPoint": 1751, - "id": 4186, + "id": 4187, "parameterSlots": 1, "returnSlots": 0 }, - "@decimals_4131": { + "@decimals_4132": { "entryPoint": null, - "id": 4131, + "id": 4132, "parameterSlots": 0, "returnSlots": 1 }, - "@decreaseAllowance_4395": { + "@decreaseAllowance_4396": { "entryPoint": null, - "id": 4395, + "id": 4396, "parameterSlots": 2, "returnSlots": 1 }, - "@getRoleAdmin_819": { + "@getRoleAdmin_820": { "entryPoint": null, - "id": 819, + "id": 820, "parameterSlots": 1, "returnSlots": 1 }, - "@grantRole_838": { + "@grantRole_839": { "entryPoint": 1096, - "id": 838, + "id": 839, "parameterSlots": 2, "returnSlots": 0 }, - "@hasRole_771": { + "@hasRole_772": { "entryPoint": 2159, - "id": 771, + "id": 772, "parameterSlots": 2, "returnSlots": 1 }, - "@increaseAllowance_4381": { + "@increaseAllowance_4382": { "entryPoint": null, - "id": 4381, + "id": 4382, "parameterSlots": 2, "returnSlots": 1 }, - "@isMinter_4305": { + "@isMinter_4306": { "entryPoint": 2435, - "id": 4305, + "id": 4306, "parameterSlots": 1, "returnSlots": 1 }, - "@mint_4163": { + "@mint_4164": { "entryPoint": 1538, - "id": 4163, + "id": 4164, "parameterSlots": 2, "returnSlots": 0 }, - "@name_2008": { + "@name_2009": { "entryPoint": 896, - "id": 2008, + "id": 2009, "parameterSlots": 0, "returnSlots": 1 }, - "@removeMinter_4291": { + "@removeMinter_4292": { "entryPoint": 1139, - "id": 4291, + "id": 4292, "parameterSlots": 1, "returnSlots": 0 }, - "@renounceRole_880": { + "@renounceRole_881": { "entryPoint": 1482, - "id": 880, + "id": 881, "parameterSlots": 2, "returnSlots": 0 }, - "@revokeRole_857": { + "@revokeRole_858": { "entryPoint": 2461, - "id": 857, + "id": 858, "parameterSlots": 2, "returnSlots": 0 }, - "@supportsInterface_3071": { + "@supportsInterface_3072": { "entryPoint": null, - "id": 3071, + "id": 3072, "parameterSlots": 1, "returnSlots": 1 }, - "@supportsInterface_753": { + "@supportsInterface_754": { "entryPoint": 841, - "id": 753, + "id": 754, "parameterSlots": 1, "returnSlots": 1 }, - "@symbol_2017": { + "@symbol_2018": { "entryPoint": 2202, - "id": 2017, + "id": 2018, "parameterSlots": 0, "returnSlots": 1 }, - "@totalSupply_2035": { + "@totalSupply_2036": { "entryPoint": null, - "id": 2035, + "id": 2036, "parameterSlots": 0, "returnSlots": 1 }, - "@transferFrom_4337": { + "@transferFrom_4338": { "entryPoint": 1069, - "id": 4337, + "id": 4338, "parameterSlots": 3, "returnSlots": 1 }, - "@transfer_4320": { + "@transfer_4321": { "entryPoint": null, - "id": 4320, + "id": 4321, "parameterSlots": 2, "returnSlots": 1 }, @@ -115058,61 +114068,61 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:7456:36", + "nativeSrc": "0:7456:34", "nodeType": "YulBlock", - "src": "0:7456:36", + "src": "0:7456:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "83:217:36", + "nativeSrc": "83:217:34", "nodeType": "YulBlock", - "src": "83:217:36", + "src": "83:217:34", "statements": [ { "body": { - "nativeSrc": "129:16:36", + "nativeSrc": "129:16:34", "nodeType": "YulBlock", - "src": "129:16:36", + "src": "129:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "138:1:36", + "nativeSrc": "138:1:34", "nodeType": "YulLiteral", - "src": "138:1:36", + "src": "138:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "141:1:36", + "nativeSrc": "141:1:34", "nodeType": "YulLiteral", - "src": "141:1:36", + "src": "141:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "131:6:36", + "nativeSrc": "131:6:34", "nodeType": "YulIdentifier", - "src": "131:6:36" + "src": "131:6:34" }, - "nativeSrc": "131:12:36", + "nativeSrc": "131:12:34", "nodeType": "YulFunctionCall", - "src": "131:12:36" + "src": "131:12:34" }, - "nativeSrc": "131:12:36", + "nativeSrc": "131:12:34", "nodeType": "YulExpressionStatement", - "src": "131:12:36" + "src": "131:12:34" } ] }, @@ -115122,122 +114132,122 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "104:7:36", + "nativeSrc": "104:7:34", "nodeType": "YulIdentifier", - "src": "104:7:36" + "src": "104:7:34" }, { "name": "headStart", - "nativeSrc": "113:9:36", + "nativeSrc": "113:9:34", "nodeType": "YulIdentifier", - "src": "113:9:36" + "src": "113:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "100:3:36", + "nativeSrc": "100:3:34", "nodeType": "YulIdentifier", - "src": "100:3:36" + "src": "100:3:34" }, - "nativeSrc": "100:23:36", + "nativeSrc": "100:23:34", "nodeType": "YulFunctionCall", - "src": "100:23:36" + "src": "100:23:34" }, { "kind": "number", - "nativeSrc": "125:2:36", + "nativeSrc": "125:2:34", "nodeType": "YulLiteral", - "src": "125:2:36", + "src": "125:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "96:3:36", + "nativeSrc": "96:3:34", "nodeType": "YulIdentifier", - "src": "96:3:36" + "src": "96:3:34" }, - "nativeSrc": "96:32:36", + "nativeSrc": "96:32:34", "nodeType": "YulFunctionCall", - "src": "96:32:36" + "src": "96:32:34" }, - "nativeSrc": "93:52:36", + "nativeSrc": "93:52:34", "nodeType": "YulIf", - "src": "93:52:36" + "src": "93:52:34" }, { - "nativeSrc": "154:36:36", + "nativeSrc": "154:36:34", "nodeType": "YulVariableDeclaration", - "src": "154:36:36", + "src": "154:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "180:9:36", + "nativeSrc": "180:9:34", "nodeType": "YulIdentifier", - "src": "180:9:36" + "src": "180:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "167:12:36", + "nativeSrc": "167:12:34", "nodeType": "YulIdentifier", - "src": "167:12:36" + "src": "167:12:34" }, - "nativeSrc": "167:23:36", + "nativeSrc": "167:23:34", "nodeType": "YulFunctionCall", - "src": "167:23:36" + "src": "167:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "158:5:36", + "nativeSrc": "158:5:34", "nodeType": "YulTypedName", - "src": "158:5:36", + "src": "158:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "254:16:36", + "nativeSrc": "254:16:34", "nodeType": "YulBlock", - "src": "254:16:36", + "src": "254:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "263:1:36", + "nativeSrc": "263:1:34", "nodeType": "YulLiteral", - "src": "263:1:36", + "src": "263:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "266:1:36", + "nativeSrc": "266:1:34", "nodeType": "YulLiteral", - "src": "266:1:36", + "src": "266:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "256:6:36", + "nativeSrc": "256:6:34", "nodeType": "YulIdentifier", - "src": "256:6:36" + "src": "256:6:34" }, - "nativeSrc": "256:12:36", + "nativeSrc": "256:12:34", "nodeType": "YulFunctionCall", - "src": "256:12:36" + "src": "256:12:34" }, - "nativeSrc": "256:12:36", + "nativeSrc": "256:12:34", "nodeType": "YulExpressionStatement", - "src": "256:12:36" + "src": "256:12:34" } ] }, @@ -115247,178 +114257,178 @@ "arguments": [ { "name": "value", - "nativeSrc": "212:5:36", + "nativeSrc": "212:5:34", "nodeType": "YulIdentifier", - "src": "212:5:36" + "src": "212:5:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "223:5:36", + "nativeSrc": "223:5:34", "nodeType": "YulIdentifier", - "src": "223:5:36" + "src": "223:5:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "234:3:36", + "nativeSrc": "234:3:34", "nodeType": "YulLiteral", - "src": "234:3:36", + "src": "234:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "239:10:36", + "nativeSrc": "239:10:34", "nodeType": "YulLiteral", - "src": "239:10:36", + "src": "239:10:34", "type": "", "value": "0xffffffff" } ], "functionName": { "name": "shl", - "nativeSrc": "230:3:36", + "nativeSrc": "230:3:34", "nodeType": "YulIdentifier", - "src": "230:3:36" + "src": "230:3:34" }, - "nativeSrc": "230:20:36", + "nativeSrc": "230:20:34", "nodeType": "YulFunctionCall", - "src": "230:20:36" + "src": "230:20:34" } ], "functionName": { "name": "and", - "nativeSrc": "219:3:36", + "nativeSrc": "219:3:34", "nodeType": "YulIdentifier", - "src": "219:3:36" + "src": "219:3:34" }, - "nativeSrc": "219:32:36", + "nativeSrc": "219:32:34", "nodeType": "YulFunctionCall", - "src": "219:32:36" + "src": "219:32:34" } ], "functionName": { "name": "eq", - "nativeSrc": "209:2:36", + "nativeSrc": "209:2:34", "nodeType": "YulIdentifier", - "src": "209:2:36" + "src": "209:2:34" }, - "nativeSrc": "209:43:36", + "nativeSrc": "209:43:34", "nodeType": "YulFunctionCall", - "src": "209:43:36" + "src": "209:43:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "202:6:36", + "nativeSrc": "202:6:34", "nodeType": "YulIdentifier", - "src": "202:6:36" + "src": "202:6:34" }, - "nativeSrc": "202:51:36", + "nativeSrc": "202:51:34", "nodeType": "YulFunctionCall", - "src": "202:51:36" + "src": "202:51:34" }, - "nativeSrc": "199:71:36", + "nativeSrc": "199:71:34", "nodeType": "YulIf", - "src": "199:71:36" + "src": "199:71:34" }, { - "nativeSrc": "279:15:36", + "nativeSrc": "279:15:34", "nodeType": "YulAssignment", - "src": "279:15:36", + "src": "279:15:34", "value": { "name": "value", - "nativeSrc": "289:5:36", + "nativeSrc": "289:5:34", "nodeType": "YulIdentifier", - "src": "289:5:36" + "src": "289:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "279:6:36", + "nativeSrc": "279:6:34", "nodeType": "YulIdentifier", - "src": "279:6:36" + "src": "279:6:34" } ] } ] }, "name": "abi_decode_tuple_t_bytes4", - "nativeSrc": "14:286:36", + "nativeSrc": "14:286:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "49:9:36", + "nativeSrc": "49:9:34", "nodeType": "YulTypedName", - "src": "49:9:36", + "src": "49:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "60:7:36", + "nativeSrc": "60:7:34", "nodeType": "YulTypedName", - "src": "60:7:36", + "src": "60:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "72:6:36", + "nativeSrc": "72:6:34", "nodeType": "YulTypedName", - "src": "72:6:36", + "src": "72:6:34", "type": "" } ], - "src": "14:286:36" + "src": "14:286:34" }, { "body": { - "nativeSrc": "400:92:36", + "nativeSrc": "400:92:34", "nodeType": "YulBlock", - "src": "400:92:36", + "src": "400:92:34", "statements": [ { - "nativeSrc": "410:26:36", + "nativeSrc": "410:26:34", "nodeType": "YulAssignment", - "src": "410:26:36", + "src": "410:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "422:9:36", + "nativeSrc": "422:9:34", "nodeType": "YulIdentifier", - "src": "422:9:36" + "src": "422:9:34" }, { "kind": "number", - "nativeSrc": "433:2:36", + "nativeSrc": "433:2:34", "nodeType": "YulLiteral", - "src": "433:2:36", + "src": "433:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "418:3:36", + "nativeSrc": "418:3:34", "nodeType": "YulIdentifier", - "src": "418:3:36" + "src": "418:3:34" }, - "nativeSrc": "418:18:36", + "nativeSrc": "418:18:34", "nodeType": "YulFunctionCall", - "src": "418:18:36" + "src": "418:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "410:4:36", + "nativeSrc": "410:4:34", "nodeType": "YulIdentifier", - "src": "410:4:36" + "src": "410:4:34" } ] }, @@ -115427,9 +114437,9 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "452:9:36", + "nativeSrc": "452:9:34", "nodeType": "YulIdentifier", - "src": "452:9:36" + "src": "452:9:34" }, { "arguments": [ @@ -115437,103 +114447,103 @@ "arguments": [ { "name": "value0", - "nativeSrc": "477:6:36", + "nativeSrc": "477:6:34", "nodeType": "YulIdentifier", - "src": "477:6:36" + "src": "477:6:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "470:6:36", + "nativeSrc": "470:6:34", "nodeType": "YulIdentifier", - "src": "470:6:36" + "src": "470:6:34" }, - "nativeSrc": "470:14:36", + "nativeSrc": "470:14:34", "nodeType": "YulFunctionCall", - "src": "470:14:36" + "src": "470:14:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "463:6:36", + "nativeSrc": "463:6:34", "nodeType": "YulIdentifier", - "src": "463:6:36" + "src": "463:6:34" }, - "nativeSrc": "463:22:36", + "nativeSrc": "463:22:34", "nodeType": "YulFunctionCall", - "src": "463:22:36" + "src": "463:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "445:6:36", + "nativeSrc": "445:6:34", "nodeType": "YulIdentifier", - "src": "445:6:36" + "src": "445:6:34" }, - "nativeSrc": "445:41:36", + "nativeSrc": "445:41:34", "nodeType": "YulFunctionCall", - "src": "445:41:36" + "src": "445:41:34" }, - "nativeSrc": "445:41:36", + "nativeSrc": "445:41:34", "nodeType": "YulExpressionStatement", - "src": "445:41:36" + "src": "445:41:34" } ] }, "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nativeSrc": "305:187:36", + "nativeSrc": "305:187:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "369:9:36", + "nativeSrc": "369:9:34", "nodeType": "YulTypedName", - "src": "369:9:36", + "src": "369:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "380:6:36", + "nativeSrc": "380:6:34", "nodeType": "YulTypedName", - "src": "380:6:36", + "src": "380:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "391:4:36", + "nativeSrc": "391:4:34", "nodeType": "YulTypedName", - "src": "391:4:36", + "src": "391:4:34", "type": "" } ], - "src": "305:187:36" + "src": "305:187:34" }, { "body": { - "nativeSrc": "618:427:36", + "nativeSrc": "618:427:34", "nodeType": "YulBlock", - "src": "618:427:36", + "src": "618:427:34", "statements": [ { - "nativeSrc": "628:12:36", + "nativeSrc": "628:12:34", "nodeType": "YulVariableDeclaration", - "src": "628:12:36", + "src": "628:12:34", "value": { "kind": "number", - "nativeSrc": "638:2:36", + "nativeSrc": "638:2:34", "nodeType": "YulLiteral", - "src": "638:2:36", + "src": "638:2:34", "type": "", "value": "32" }, "variables": [ { "name": "_1", - "nativeSrc": "632:2:36", + "nativeSrc": "632:2:34", "nodeType": "YulTypedName", - "src": "632:2:36", + "src": "632:2:34", "type": "" } ] @@ -115543,62 +114553,62 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "656:9:36", + "nativeSrc": "656:9:34", "nodeType": "YulIdentifier", - "src": "656:9:36" + "src": "656:9:34" }, { "kind": "number", - "nativeSrc": "667:2:36", + "nativeSrc": "667:2:34", "nodeType": "YulLiteral", - "src": "667:2:36", + "src": "667:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "649:6:36", + "nativeSrc": "649:6:34", "nodeType": "YulIdentifier", - "src": "649:6:36" + "src": "649:6:34" }, - "nativeSrc": "649:21:36", + "nativeSrc": "649:21:34", "nodeType": "YulFunctionCall", - "src": "649:21:36" + "src": "649:21:34" }, - "nativeSrc": "649:21:36", + "nativeSrc": "649:21:34", "nodeType": "YulExpressionStatement", - "src": "649:21:36" + "src": "649:21:34" }, { - "nativeSrc": "679:27:36", + "nativeSrc": "679:27:34", "nodeType": "YulVariableDeclaration", - "src": "679:27:36", + "src": "679:27:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "699:6:36", + "nativeSrc": "699:6:34", "nodeType": "YulIdentifier", - "src": "699:6:36" + "src": "699:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "693:5:36", + "nativeSrc": "693:5:34", "nodeType": "YulIdentifier", - "src": "693:5:36" + "src": "693:5:34" }, - "nativeSrc": "693:13:36", + "nativeSrc": "693:13:34", "nodeType": "YulFunctionCall", - "src": "693:13:36" + "src": "693:13:34" }, "variables": [ { "name": "length", - "nativeSrc": "683:6:36", + "nativeSrc": "683:6:34", "nodeType": "YulTypedName", - "src": "683:6:36", + "src": "683:6:34", "type": "" } ] @@ -115610,77 +114620,77 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "726:9:36", + "nativeSrc": "726:9:34", "nodeType": "YulIdentifier", - "src": "726:9:36" + "src": "726:9:34" }, { "kind": "number", - "nativeSrc": "737:2:36", + "nativeSrc": "737:2:34", "nodeType": "YulLiteral", - "src": "737:2:36", + "src": "737:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "722:3:36", + "nativeSrc": "722:3:34", "nodeType": "YulIdentifier", - "src": "722:3:36" + "src": "722:3:34" }, - "nativeSrc": "722:18:36", + "nativeSrc": "722:18:34", "nodeType": "YulFunctionCall", - "src": "722:18:36" + "src": "722:18:34" }, { "name": "length", - "nativeSrc": "742:6:36", + "nativeSrc": "742:6:34", "nodeType": "YulIdentifier", - "src": "742:6:36" + "src": "742:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "715:6:36", + "nativeSrc": "715:6:34", "nodeType": "YulIdentifier", - "src": "715:6:36" + "src": "715:6:34" }, - "nativeSrc": "715:34:36", + "nativeSrc": "715:34:34", "nodeType": "YulFunctionCall", - "src": "715:34:36" + "src": "715:34:34" }, - "nativeSrc": "715:34:36", + "nativeSrc": "715:34:34", "nodeType": "YulExpressionStatement", - "src": "715:34:36" + "src": "715:34:34" }, { - "nativeSrc": "758:10:36", + "nativeSrc": "758:10:34", "nodeType": "YulVariableDeclaration", - "src": "758:10:36", + "src": "758:10:34", "value": { "kind": "number", - "nativeSrc": "767:1:36", + "nativeSrc": "767:1:34", "nodeType": "YulLiteral", - "src": "767:1:36", + "src": "767:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "762:1:36", + "nativeSrc": "762:1:34", "nodeType": "YulTypedName", - "src": "762:1:36", + "src": "762:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "827:90:36", + "nativeSrc": "827:90:34", "nodeType": "YulBlock", - "src": "827:90:36", + "src": "827:90:34", "statements": [ { "expression": { @@ -115691,45 +114701,45 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "856:9:36", + "nativeSrc": "856:9:34", "nodeType": "YulIdentifier", - "src": "856:9:36" + "src": "856:9:34" }, { "name": "i", - "nativeSrc": "867:1:36", + "nativeSrc": "867:1:34", "nodeType": "YulIdentifier", - "src": "867:1:36" + "src": "867:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "852:3:36", + "nativeSrc": "852:3:34", "nodeType": "YulIdentifier", - "src": "852:3:36" + "src": "852:3:34" }, - "nativeSrc": "852:17:36", + "nativeSrc": "852:17:34", "nodeType": "YulFunctionCall", - "src": "852:17:36" + "src": "852:17:34" }, { "kind": "number", - "nativeSrc": "871:2:36", + "nativeSrc": "871:2:34", "nodeType": "YulLiteral", - "src": "871:2:36", + "src": "871:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "848:3:36", + "nativeSrc": "848:3:34", "nodeType": "YulIdentifier", - "src": "848:3:36" + "src": "848:3:34" }, - "nativeSrc": "848:26:36", + "nativeSrc": "848:26:34", "nodeType": "YulFunctionCall", - "src": "848:26:36" + "src": "848:26:34" }, { "arguments": [ @@ -115739,69 +114749,69 @@ "arguments": [ { "name": "value0", - "nativeSrc": "890:6:36", + "nativeSrc": "890:6:34", "nodeType": "YulIdentifier", - "src": "890:6:36" + "src": "890:6:34" }, { "name": "i", - "nativeSrc": "898:1:36", + "nativeSrc": "898:1:34", "nodeType": "YulIdentifier", - "src": "898:1:36" + "src": "898:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "886:3:36", + "nativeSrc": "886:3:34", "nodeType": "YulIdentifier", - "src": "886:3:36" + "src": "886:3:34" }, - "nativeSrc": "886:14:36", + "nativeSrc": "886:14:34", "nodeType": "YulFunctionCall", - "src": "886:14:36" + "src": "886:14:34" }, { "name": "_1", - "nativeSrc": "902:2:36", + "nativeSrc": "902:2:34", "nodeType": "YulIdentifier", - "src": "902:2:36" + "src": "902:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "882:3:36", + "nativeSrc": "882:3:34", "nodeType": "YulIdentifier", - "src": "882:3:36" + "src": "882:3:34" }, - "nativeSrc": "882:23:36", + "nativeSrc": "882:23:34", "nodeType": "YulFunctionCall", - "src": "882:23:36" + "src": "882:23:34" } ], "functionName": { "name": "mload", - "nativeSrc": "876:5:36", + "nativeSrc": "876:5:34", "nodeType": "YulIdentifier", - "src": "876:5:36" + "src": "876:5:34" }, - "nativeSrc": "876:30:36", + "nativeSrc": "876:30:34", "nodeType": "YulFunctionCall", - "src": "876:30:36" + "src": "876:30:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "841:6:36", + "nativeSrc": "841:6:34", "nodeType": "YulIdentifier", - "src": "841:6:36" + "src": "841:6:34" }, - "nativeSrc": "841:66:36", + "nativeSrc": "841:66:34", "nodeType": "YulFunctionCall", - "src": "841:66:36" + "src": "841:66:34" }, - "nativeSrc": "841:66:36", + "nativeSrc": "841:66:34", "nodeType": "YulExpressionStatement", - "src": "841:66:36" + "src": "841:66:34" } ] }, @@ -115809,81 +114819,81 @@ "arguments": [ { "name": "i", - "nativeSrc": "788:1:36", + "nativeSrc": "788:1:34", "nodeType": "YulIdentifier", - "src": "788:1:36" + "src": "788:1:34" }, { "name": "length", - "nativeSrc": "791:6:36", + "nativeSrc": "791:6:34", "nodeType": "YulIdentifier", - "src": "791:6:36" + "src": "791:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "785:2:36", + "nativeSrc": "785:2:34", "nodeType": "YulIdentifier", - "src": "785:2:36" + "src": "785:2:34" }, - "nativeSrc": "785:13:36", + "nativeSrc": "785:13:34", "nodeType": "YulFunctionCall", - "src": "785:13:36" + "src": "785:13:34" }, - "nativeSrc": "777:140:36", + "nativeSrc": "777:140:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "799:19:36", + "nativeSrc": "799:19:34", "nodeType": "YulBlock", - "src": "799:19:36", + "src": "799:19:34", "statements": [ { - "nativeSrc": "801:15:36", + "nativeSrc": "801:15:34", "nodeType": "YulAssignment", - "src": "801:15:36", + "src": "801:15:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "810:1:36", + "nativeSrc": "810:1:34", "nodeType": "YulIdentifier", - "src": "810:1:36" + "src": "810:1:34" }, { "name": "_1", - "nativeSrc": "813:2:36", + "nativeSrc": "813:2:34", "nodeType": "YulIdentifier", - "src": "813:2:36" + "src": "813:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "806:3:36", + "nativeSrc": "806:3:34", "nodeType": "YulIdentifier", - "src": "806:3:36" + "src": "806:3:34" }, - "nativeSrc": "806:10:36", + "nativeSrc": "806:10:34", "nodeType": "YulFunctionCall", - "src": "806:10:36" + "src": "806:10:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "801:1:36", + "nativeSrc": "801:1:34", "nodeType": "YulIdentifier", - "src": "801:1:36" + "src": "801:1:34" } ] } ] }, "pre": { - "nativeSrc": "781:3:36", + "nativeSrc": "781:3:34", "nodeType": "YulBlock", - "src": "781:3:36", + "src": "781:3:34", "statements": [] }, - "src": "777:140:36" + "src": "777:140:34" }, { "expression": { @@ -115894,82 +114904,82 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "941:9:36", + "nativeSrc": "941:9:34", "nodeType": "YulIdentifier", - "src": "941:9:36" + "src": "941:9:34" }, { "name": "length", - "nativeSrc": "952:6:36", + "nativeSrc": "952:6:34", "nodeType": "YulIdentifier", - "src": "952:6:36" + "src": "952:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "937:3:36", + "nativeSrc": "937:3:34", "nodeType": "YulIdentifier", - "src": "937:3:36" + "src": "937:3:34" }, - "nativeSrc": "937:22:36", + "nativeSrc": "937:22:34", "nodeType": "YulFunctionCall", - "src": "937:22:36" + "src": "937:22:34" }, { "kind": "number", - "nativeSrc": "961:2:36", + "nativeSrc": "961:2:34", "nodeType": "YulLiteral", - "src": "961:2:36", + "src": "961:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "933:3:36", + "nativeSrc": "933:3:34", "nodeType": "YulIdentifier", - "src": "933:3:36" + "src": "933:3:34" }, - "nativeSrc": "933:31:36", + "nativeSrc": "933:31:34", "nodeType": "YulFunctionCall", - "src": "933:31:36" + "src": "933:31:34" }, { "kind": "number", - "nativeSrc": "966:1:36", + "nativeSrc": "966:1:34", "nodeType": "YulLiteral", - "src": "966:1:36", + "src": "966:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "926:6:36", + "nativeSrc": "926:6:34", "nodeType": "YulIdentifier", - "src": "926:6:36" + "src": "926:6:34" }, - "nativeSrc": "926:42:36", + "nativeSrc": "926:42:34", "nodeType": "YulFunctionCall", - "src": "926:42:36" + "src": "926:42:34" }, - "nativeSrc": "926:42:36", + "nativeSrc": "926:42:34", "nodeType": "YulExpressionStatement", - "src": "926:42:36" + "src": "926:42:34" }, { - "nativeSrc": "977:62:36", + "nativeSrc": "977:62:34", "nodeType": "YulAssignment", - "src": "977:62:36", + "src": "977:62:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "993:9:36", + "nativeSrc": "993:9:34", "nodeType": "YulIdentifier", - "src": "993:9:36" + "src": "993:9:34" }, { "arguments": [ @@ -115977,209 +114987,209 @@ "arguments": [ { "name": "length", - "nativeSrc": "1012:6:36", + "nativeSrc": "1012:6:34", "nodeType": "YulIdentifier", - "src": "1012:6:36" + "src": "1012:6:34" }, { "kind": "number", - "nativeSrc": "1020:2:36", + "nativeSrc": "1020:2:34", "nodeType": "YulLiteral", - "src": "1020:2:36", + "src": "1020:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "1008:3:36", + "nativeSrc": "1008:3:34", "nodeType": "YulIdentifier", - "src": "1008:3:36" + "src": "1008:3:34" }, - "nativeSrc": "1008:15:36", + "nativeSrc": "1008:15:34", "nodeType": "YulFunctionCall", - "src": "1008:15:36" + "src": "1008:15:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "1029:2:36", + "nativeSrc": "1029:2:34", "nodeType": "YulLiteral", - "src": "1029:2:36", + "src": "1029:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "1025:3:36", + "nativeSrc": "1025:3:34", "nodeType": "YulIdentifier", - "src": "1025:3:36" + "src": "1025:3:34" }, - "nativeSrc": "1025:7:36", + "nativeSrc": "1025:7:34", "nodeType": "YulFunctionCall", - "src": "1025:7:36" + "src": "1025:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "1004:3:36", + "nativeSrc": "1004:3:34", "nodeType": "YulIdentifier", - "src": "1004:3:36" + "src": "1004:3:34" }, - "nativeSrc": "1004:29:36", + "nativeSrc": "1004:29:34", "nodeType": "YulFunctionCall", - "src": "1004:29:36" + "src": "1004:29:34" } ], "functionName": { "name": "add", - "nativeSrc": "989:3:36", + "nativeSrc": "989:3:34", "nodeType": "YulIdentifier", - "src": "989:3:36" + "src": "989:3:34" }, - "nativeSrc": "989:45:36", + "nativeSrc": "989:45:34", "nodeType": "YulFunctionCall", - "src": "989:45:36" + "src": "989:45:34" }, { "kind": "number", - "nativeSrc": "1036:2:36", + "nativeSrc": "1036:2:34", "nodeType": "YulLiteral", - "src": "1036:2:36", + "src": "1036:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "985:3:36", + "nativeSrc": "985:3:34", "nodeType": "YulIdentifier", - "src": "985:3:36" + "src": "985:3:34" }, - "nativeSrc": "985:54:36", + "nativeSrc": "985:54:34", "nodeType": "YulFunctionCall", - "src": "985:54:36" + "src": "985:54:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "977:4:36", + "nativeSrc": "977:4:34", "nodeType": "YulIdentifier", - "src": "977:4:36" + "src": "977:4:34" } ] } ] }, "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "497:548:36", + "nativeSrc": "497:548:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "587:9:36", + "nativeSrc": "587:9:34", "nodeType": "YulTypedName", - "src": "587:9:36", + "src": "587:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "598:6:36", + "nativeSrc": "598:6:34", "nodeType": "YulTypedName", - "src": "598:6:36", + "src": "598:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "609:4:36", + "nativeSrc": "609:4:34", "nodeType": "YulTypedName", - "src": "609:4:36", + "src": "609:4:34", "type": "" } ], - "src": "497:548:36" + "src": "497:548:34" }, { "body": { - "nativeSrc": "1099:124:36", + "nativeSrc": "1099:124:34", "nodeType": "YulBlock", - "src": "1099:124:36", + "src": "1099:124:34", "statements": [ { - "nativeSrc": "1109:29:36", + "nativeSrc": "1109:29:34", "nodeType": "YulAssignment", - "src": "1109:29:36", + "src": "1109:29:34", "value": { "arguments": [ { "name": "offset", - "nativeSrc": "1131:6:36", + "nativeSrc": "1131:6:34", "nodeType": "YulIdentifier", - "src": "1131:6:36" + "src": "1131:6:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "1118:12:36", + "nativeSrc": "1118:12:34", "nodeType": "YulIdentifier", - "src": "1118:12:36" + "src": "1118:12:34" }, - "nativeSrc": "1118:20:36", + "nativeSrc": "1118:20:34", "nodeType": "YulFunctionCall", - "src": "1118:20:36" + "src": "1118:20:34" }, "variableNames": [ { "name": "value", - "nativeSrc": "1109:5:36", + "nativeSrc": "1109:5:34", "nodeType": "YulIdentifier", - "src": "1109:5:36" + "src": "1109:5:34" } ] }, { "body": { - "nativeSrc": "1201:16:36", + "nativeSrc": "1201:16:34", "nodeType": "YulBlock", - "src": "1201:16:36", + "src": "1201:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1210:1:36", + "nativeSrc": "1210:1:34", "nodeType": "YulLiteral", - "src": "1210:1:36", + "src": "1210:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1213:1:36", + "nativeSrc": "1213:1:34", "nodeType": "YulLiteral", - "src": "1213:1:36", + "src": "1213:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1203:6:36", + "nativeSrc": "1203:6:34", "nodeType": "YulIdentifier", - "src": "1203:6:36" + "src": "1203:6:34" }, - "nativeSrc": "1203:12:36", + "nativeSrc": "1203:12:34", "nodeType": "YulFunctionCall", - "src": "1203:12:36" + "src": "1203:12:34" }, - "nativeSrc": "1203:12:36", + "nativeSrc": "1203:12:34", "nodeType": "YulExpressionStatement", - "src": "1203:12:36" + "src": "1203:12:34" } ] }, @@ -116189,17 +115199,17 @@ "arguments": [ { "name": "value", - "nativeSrc": "1160:5:36", + "nativeSrc": "1160:5:34", "nodeType": "YulIdentifier", - "src": "1160:5:36" + "src": "1160:5:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "1171:5:36", + "nativeSrc": "1171:5:34", "nodeType": "YulIdentifier", - "src": "1171:5:36" + "src": "1171:5:34" }, { "arguments": [ @@ -116207,157 +115217,157 @@ "arguments": [ { "kind": "number", - "nativeSrc": "1186:3:36", + "nativeSrc": "1186:3:34", "nodeType": "YulLiteral", - "src": "1186:3:36", + "src": "1186:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "1191:1:36", + "nativeSrc": "1191:1:34", "nodeType": "YulLiteral", - "src": "1191:1:36", + "src": "1191:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "1182:3:36", + "nativeSrc": "1182:3:34", "nodeType": "YulIdentifier", - "src": "1182:3:36" + "src": "1182:3:34" }, - "nativeSrc": "1182:11:36", + "nativeSrc": "1182:11:34", "nodeType": "YulFunctionCall", - "src": "1182:11:36" + "src": "1182:11:34" }, { "kind": "number", - "nativeSrc": "1195:1:36", + "nativeSrc": "1195:1:34", "nodeType": "YulLiteral", - "src": "1195:1:36", + "src": "1195:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "1178:3:36", + "nativeSrc": "1178:3:34", "nodeType": "YulIdentifier", - "src": "1178:3:36" + "src": "1178:3:34" }, - "nativeSrc": "1178:19:36", + "nativeSrc": "1178:19:34", "nodeType": "YulFunctionCall", - "src": "1178:19:36" + "src": "1178:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "1167:3:36", + "nativeSrc": "1167:3:34", "nodeType": "YulIdentifier", - "src": "1167:3:36" + "src": "1167:3:34" }, - "nativeSrc": "1167:31:36", + "nativeSrc": "1167:31:34", "nodeType": "YulFunctionCall", - "src": "1167:31:36" + "src": "1167:31:34" } ], "functionName": { "name": "eq", - "nativeSrc": "1157:2:36", + "nativeSrc": "1157:2:34", "nodeType": "YulIdentifier", - "src": "1157:2:36" + "src": "1157:2:34" }, - "nativeSrc": "1157:42:36", + "nativeSrc": "1157:42:34", "nodeType": "YulFunctionCall", - "src": "1157:42:36" + "src": "1157:42:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "1150:6:36", + "nativeSrc": "1150:6:34", "nodeType": "YulIdentifier", - "src": "1150:6:36" + "src": "1150:6:34" }, - "nativeSrc": "1150:50:36", + "nativeSrc": "1150:50:34", "nodeType": "YulFunctionCall", - "src": "1150:50:36" + "src": "1150:50:34" }, - "nativeSrc": "1147:70:36", + "nativeSrc": "1147:70:34", "nodeType": "YulIf", - "src": "1147:70:36" + "src": "1147:70:34" } ] }, "name": "abi_decode_address", - "nativeSrc": "1050:173:36", + "nativeSrc": "1050:173:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "1078:6:36", + "nativeSrc": "1078:6:34", "nodeType": "YulTypedName", - "src": "1078:6:36", + "src": "1078:6:34", "type": "" } ], "returnVariables": [ { "name": "value", - "nativeSrc": "1089:5:36", + "nativeSrc": "1089:5:34", "nodeType": "YulTypedName", - "src": "1089:5:36", + "src": "1089:5:34", "type": "" } ], - "src": "1050:173:36" + "src": "1050:173:34" }, { "body": { - "nativeSrc": "1315:167:36", + "nativeSrc": "1315:167:34", "nodeType": "YulBlock", - "src": "1315:167:36", + "src": "1315:167:34", "statements": [ { "body": { - "nativeSrc": "1361:16:36", + "nativeSrc": "1361:16:34", "nodeType": "YulBlock", - "src": "1361:16:36", + "src": "1361:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1370:1:36", + "nativeSrc": "1370:1:34", "nodeType": "YulLiteral", - "src": "1370:1:36", + "src": "1370:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1373:1:36", + "nativeSrc": "1373:1:34", "nodeType": "YulLiteral", - "src": "1373:1:36", + "src": "1373:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1363:6:36", + "nativeSrc": "1363:6:34", "nodeType": "YulIdentifier", - "src": "1363:6:36" + "src": "1363:6:34" }, - "nativeSrc": "1363:12:36", + "nativeSrc": "1363:12:34", "nodeType": "YulFunctionCall", - "src": "1363:12:36" + "src": "1363:12:34" }, - "nativeSrc": "1363:12:36", + "nativeSrc": "1363:12:34", "nodeType": "YulExpressionStatement", - "src": "1363:12:36" + "src": "1363:12:34" } ] }, @@ -116367,217 +115377,217 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "1336:7:36", + "nativeSrc": "1336:7:34", "nodeType": "YulIdentifier", - "src": "1336:7:36" + "src": "1336:7:34" }, { "name": "headStart", - "nativeSrc": "1345:9:36", + "nativeSrc": "1345:9:34", "nodeType": "YulIdentifier", - "src": "1345:9:36" + "src": "1345:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "1332:3:36", + "nativeSrc": "1332:3:34", "nodeType": "YulIdentifier", - "src": "1332:3:36" + "src": "1332:3:34" }, - "nativeSrc": "1332:23:36", + "nativeSrc": "1332:23:34", "nodeType": "YulFunctionCall", - "src": "1332:23:36" + "src": "1332:23:34" }, { "kind": "number", - "nativeSrc": "1357:2:36", + "nativeSrc": "1357:2:34", "nodeType": "YulLiteral", - "src": "1357:2:36", + "src": "1357:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "1328:3:36", + "nativeSrc": "1328:3:34", "nodeType": "YulIdentifier", - "src": "1328:3:36" + "src": "1328:3:34" }, - "nativeSrc": "1328:32:36", + "nativeSrc": "1328:32:34", "nodeType": "YulFunctionCall", - "src": "1328:32:36" + "src": "1328:32:34" }, - "nativeSrc": "1325:52:36", + "nativeSrc": "1325:52:34", "nodeType": "YulIf", - "src": "1325:52:36" + "src": "1325:52:34" }, { - "nativeSrc": "1386:39:36", + "nativeSrc": "1386:39:34", "nodeType": "YulAssignment", - "src": "1386:39:36", + "src": "1386:39:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "1415:9:36", + "nativeSrc": "1415:9:34", "nodeType": "YulIdentifier", - "src": "1415:9:36" + "src": "1415:9:34" } ], "functionName": { "name": "abi_decode_address", - "nativeSrc": "1396:18:36", + "nativeSrc": "1396:18:34", "nodeType": "YulIdentifier", - "src": "1396:18:36" + "src": "1396:18:34" }, - "nativeSrc": "1396:29:36", + "nativeSrc": "1396:29:34", "nodeType": "YulFunctionCall", - "src": "1396:29:36" + "src": "1396:29:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "1386:6:36", + "nativeSrc": "1386:6:34", "nodeType": "YulIdentifier", - "src": "1386:6:36" + "src": "1386:6:34" } ] }, { - "nativeSrc": "1434:42:36", + "nativeSrc": "1434:42:34", "nodeType": "YulAssignment", - "src": "1434:42:36", + "src": "1434:42:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "1461:9:36", + "nativeSrc": "1461:9:34", "nodeType": "YulIdentifier", - "src": "1461:9:36" + "src": "1461:9:34" }, { "kind": "number", - "nativeSrc": "1472:2:36", + "nativeSrc": "1472:2:34", "nodeType": "YulLiteral", - "src": "1472:2:36", + "src": "1472:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1457:3:36", + "nativeSrc": "1457:3:34", "nodeType": "YulIdentifier", - "src": "1457:3:36" + "src": "1457:3:34" }, - "nativeSrc": "1457:18:36", + "nativeSrc": "1457:18:34", "nodeType": "YulFunctionCall", - "src": "1457:18:36" + "src": "1457:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "1444:12:36", + "nativeSrc": "1444:12:34", "nodeType": "YulIdentifier", - "src": "1444:12:36" + "src": "1444:12:34" }, - "nativeSrc": "1444:32:36", + "nativeSrc": "1444:32:34", "nodeType": "YulFunctionCall", - "src": "1444:32:36" + "src": "1444:32:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "1434:6:36", + "nativeSrc": "1434:6:34", "nodeType": "YulIdentifier", - "src": "1434:6:36" + "src": "1434:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_uint256", - "nativeSrc": "1228:254:36", + "nativeSrc": "1228:254:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "1273:9:36", + "nativeSrc": "1273:9:34", "nodeType": "YulTypedName", - "src": "1273:9:36", + "src": "1273:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "1284:7:36", + "nativeSrc": "1284:7:34", "nodeType": "YulTypedName", - "src": "1284:7:36", + "src": "1284:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "1296:6:36", + "nativeSrc": "1296:6:34", "nodeType": "YulTypedName", - "src": "1296:6:36", + "src": "1296:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "1304:6:36", + "nativeSrc": "1304:6:34", "nodeType": "YulTypedName", - "src": "1304:6:36", + "src": "1304:6:34", "type": "" } ], - "src": "1228:254:36" + "src": "1228:254:34" }, { "body": { - "nativeSrc": "1588:76:36", + "nativeSrc": "1588:76:34", "nodeType": "YulBlock", - "src": "1588:76:36", + "src": "1588:76:34", "statements": [ { - "nativeSrc": "1598:26:36", + "nativeSrc": "1598:26:34", "nodeType": "YulAssignment", - "src": "1598:26:36", + "src": "1598:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "1610:9:36", + "nativeSrc": "1610:9:34", "nodeType": "YulIdentifier", - "src": "1610:9:36" + "src": "1610:9:34" }, { "kind": "number", - "nativeSrc": "1621:2:36", + "nativeSrc": "1621:2:34", "nodeType": "YulLiteral", - "src": "1621:2:36", + "src": "1621:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1606:3:36", + "nativeSrc": "1606:3:34", "nodeType": "YulIdentifier", - "src": "1606:3:36" + "src": "1606:3:34" }, - "nativeSrc": "1606:18:36", + "nativeSrc": "1606:18:34", "nodeType": "YulFunctionCall", - "src": "1606:18:36" + "src": "1606:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "1598:4:36", + "nativeSrc": "1598:4:34", "nodeType": "YulIdentifier", - "src": "1598:4:36" + "src": "1598:4:34" } ] }, @@ -116586,108 +115596,108 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "1640:9:36", + "nativeSrc": "1640:9:34", "nodeType": "YulIdentifier", - "src": "1640:9:36" + "src": "1640:9:34" }, { "name": "value0", - "nativeSrc": "1651:6:36", + "nativeSrc": "1651:6:34", "nodeType": "YulIdentifier", - "src": "1651:6:36" + "src": "1651:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1633:6:36", + "nativeSrc": "1633:6:34", "nodeType": "YulIdentifier", - "src": "1633:6:36" + "src": "1633:6:34" }, - "nativeSrc": "1633:25:36", + "nativeSrc": "1633:25:34", "nodeType": "YulFunctionCall", - "src": "1633:25:36" + "src": "1633:25:34" }, - "nativeSrc": "1633:25:36", + "nativeSrc": "1633:25:34", "nodeType": "YulExpressionStatement", - "src": "1633:25:36" + "src": "1633:25:34" } ] }, "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nativeSrc": "1487:177:36", + "nativeSrc": "1487:177:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "1557:9:36", + "nativeSrc": "1557:9:34", "nodeType": "YulTypedName", - "src": "1557:9:36", + "src": "1557:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "1568:6:36", + "nativeSrc": "1568:6:34", "nodeType": "YulTypedName", - "src": "1568:6:36", + "src": "1568:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "1579:4:36", + "nativeSrc": "1579:4:34", "nodeType": "YulTypedName", - "src": "1579:4:36", + "src": "1579:4:34", "type": "" } ], - "src": "1487:177:36" + "src": "1487:177:34" }, { "body": { - "nativeSrc": "1773:224:36", + "nativeSrc": "1773:224:34", "nodeType": "YulBlock", - "src": "1773:224:36", + "src": "1773:224:34", "statements": [ { "body": { - "nativeSrc": "1819:16:36", + "nativeSrc": "1819:16:34", "nodeType": "YulBlock", - "src": "1819:16:36", + "src": "1819:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1828:1:36", + "nativeSrc": "1828:1:34", "nodeType": "YulLiteral", - "src": "1828:1:36", + "src": "1828:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1831:1:36", + "nativeSrc": "1831:1:34", "nodeType": "YulLiteral", - "src": "1831:1:36", + "src": "1831:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1821:6:36", + "nativeSrc": "1821:6:34", "nodeType": "YulIdentifier", - "src": "1821:6:36" + "src": "1821:6:34" }, - "nativeSrc": "1821:12:36", + "nativeSrc": "1821:12:34", "nodeType": "YulFunctionCall", - "src": "1821:12:36" + "src": "1821:12:34" }, - "nativeSrc": "1821:12:36", + "nativeSrc": "1821:12:34", "nodeType": "YulExpressionStatement", - "src": "1821:12:36" + "src": "1821:12:34" } ] }, @@ -116697,279 +115707,279 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "1794:7:36", + "nativeSrc": "1794:7:34", "nodeType": "YulIdentifier", - "src": "1794:7:36" + "src": "1794:7:34" }, { "name": "headStart", - "nativeSrc": "1803:9:36", + "nativeSrc": "1803:9:34", "nodeType": "YulIdentifier", - "src": "1803:9:36" + "src": "1803:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "1790:3:36", + "nativeSrc": "1790:3:34", "nodeType": "YulIdentifier", - "src": "1790:3:36" + "src": "1790:3:34" }, - "nativeSrc": "1790:23:36", + "nativeSrc": "1790:23:34", "nodeType": "YulFunctionCall", - "src": "1790:23:36" + "src": "1790:23:34" }, { "kind": "number", - "nativeSrc": "1815:2:36", + "nativeSrc": "1815:2:34", "nodeType": "YulLiteral", - "src": "1815:2:36", + "src": "1815:2:34", "type": "", "value": "96" } ], "functionName": { "name": "slt", - "nativeSrc": "1786:3:36", + "nativeSrc": "1786:3:34", "nodeType": "YulIdentifier", - "src": "1786:3:36" + "src": "1786:3:34" }, - "nativeSrc": "1786:32:36", + "nativeSrc": "1786:32:34", "nodeType": "YulFunctionCall", - "src": "1786:32:36" + "src": "1786:32:34" }, - "nativeSrc": "1783:52:36", + "nativeSrc": "1783:52:34", "nodeType": "YulIf", - "src": "1783:52:36" + "src": "1783:52:34" }, { - "nativeSrc": "1844:39:36", + "nativeSrc": "1844:39:34", "nodeType": "YulAssignment", - "src": "1844:39:36", + "src": "1844:39:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "1873:9:36", + "nativeSrc": "1873:9:34", "nodeType": "YulIdentifier", - "src": "1873:9:36" + "src": "1873:9:34" } ], "functionName": { "name": "abi_decode_address", - "nativeSrc": "1854:18:36", + "nativeSrc": "1854:18:34", "nodeType": "YulIdentifier", - "src": "1854:18:36" + "src": "1854:18:34" }, - "nativeSrc": "1854:29:36", + "nativeSrc": "1854:29:34", "nodeType": "YulFunctionCall", - "src": "1854:29:36" + "src": "1854:29:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "1844:6:36", + "nativeSrc": "1844:6:34", "nodeType": "YulIdentifier", - "src": "1844:6:36" + "src": "1844:6:34" } ] }, { - "nativeSrc": "1892:48:36", + "nativeSrc": "1892:48:34", "nodeType": "YulAssignment", - "src": "1892:48:36", + "src": "1892:48:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "1925:9:36", + "nativeSrc": "1925:9:34", "nodeType": "YulIdentifier", - "src": "1925:9:36" + "src": "1925:9:34" }, { "kind": "number", - "nativeSrc": "1936:2:36", + "nativeSrc": "1936:2:34", "nodeType": "YulLiteral", - "src": "1936:2:36", + "src": "1936:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1921:3:36", + "nativeSrc": "1921:3:34", "nodeType": "YulIdentifier", - "src": "1921:3:36" + "src": "1921:3:34" }, - "nativeSrc": "1921:18:36", + "nativeSrc": "1921:18:34", "nodeType": "YulFunctionCall", - "src": "1921:18:36" + "src": "1921:18:34" } ], "functionName": { "name": "abi_decode_address", - "nativeSrc": "1902:18:36", + "nativeSrc": "1902:18:34", "nodeType": "YulIdentifier", - "src": "1902:18:36" + "src": "1902:18:34" }, - "nativeSrc": "1902:38:36", + "nativeSrc": "1902:38:34", "nodeType": "YulFunctionCall", - "src": "1902:38:36" + "src": "1902:38:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "1892:6:36", + "nativeSrc": "1892:6:34", "nodeType": "YulIdentifier", - "src": "1892:6:36" + "src": "1892:6:34" } ] }, { - "nativeSrc": "1949:42:36", + "nativeSrc": "1949:42:34", "nodeType": "YulAssignment", - "src": "1949:42:36", + "src": "1949:42:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "1976:9:36", + "nativeSrc": "1976:9:34", "nodeType": "YulIdentifier", - "src": "1976:9:36" + "src": "1976:9:34" }, { "kind": "number", - "nativeSrc": "1987:2:36", + "nativeSrc": "1987:2:34", "nodeType": "YulLiteral", - "src": "1987:2:36", + "src": "1987:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "1972:3:36", + "nativeSrc": "1972:3:34", "nodeType": "YulIdentifier", - "src": "1972:3:36" + "src": "1972:3:34" }, - "nativeSrc": "1972:18:36", + "nativeSrc": "1972:18:34", "nodeType": "YulFunctionCall", - "src": "1972:18:36" + "src": "1972:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "1959:12:36", + "nativeSrc": "1959:12:34", "nodeType": "YulIdentifier", - "src": "1959:12:36" + "src": "1959:12:34" }, - "nativeSrc": "1959:32:36", + "nativeSrc": "1959:32:34", "nodeType": "YulFunctionCall", - "src": "1959:32:36" + "src": "1959:32:34" }, "variableNames": [ { "name": "value2", - "nativeSrc": "1949:6:36", + "nativeSrc": "1949:6:34", "nodeType": "YulIdentifier", - "src": "1949:6:36" + "src": "1949:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_addresst_uint256", - "nativeSrc": "1669:328:36", + "nativeSrc": "1669:328:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "1723:9:36", + "nativeSrc": "1723:9:34", "nodeType": "YulTypedName", - "src": "1723:9:36", + "src": "1723:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "1734:7:36", + "nativeSrc": "1734:7:34", "nodeType": "YulTypedName", - "src": "1734:7:36", + "src": "1734:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "1746:6:36", + "nativeSrc": "1746:6:34", "nodeType": "YulTypedName", - "src": "1746:6:36", + "src": "1746:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "1754:6:36", + "nativeSrc": "1754:6:34", "nodeType": "YulTypedName", - "src": "1754:6:36", + "src": "1754:6:34", "type": "" }, { "name": "value2", - "nativeSrc": "1762:6:36", + "nativeSrc": "1762:6:34", "nodeType": "YulTypedName", - "src": "1762:6:36", + "src": "1762:6:34", "type": "" } ], - "src": "1669:328:36" + "src": "1669:328:34" }, { "body": { - "nativeSrc": "2072:110:36", + "nativeSrc": "2072:110:34", "nodeType": "YulBlock", - "src": "2072:110:36", + "src": "2072:110:34", "statements": [ { "body": { - "nativeSrc": "2118:16:36", + "nativeSrc": "2118:16:34", "nodeType": "YulBlock", - "src": "2118:16:36", + "src": "2118:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2127:1:36", + "nativeSrc": "2127:1:34", "nodeType": "YulLiteral", - "src": "2127:1:36", + "src": "2127:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "2130:1:36", + "nativeSrc": "2130:1:34", "nodeType": "YulLiteral", - "src": "2130:1:36", + "src": "2130:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "2120:6:36", + "nativeSrc": "2120:6:34", "nodeType": "YulIdentifier", - "src": "2120:6:36" + "src": "2120:6:34" }, - "nativeSrc": "2120:12:36", + "nativeSrc": "2120:12:34", "nodeType": "YulFunctionCall", - "src": "2120:12:36" + "src": "2120:12:34" }, - "nativeSrc": "2120:12:36", + "nativeSrc": "2120:12:34", "nodeType": "YulExpressionStatement", - "src": "2120:12:36" + "src": "2120:12:34" } ] }, @@ -116979,157 +115989,157 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "2093:7:36", + "nativeSrc": "2093:7:34", "nodeType": "YulIdentifier", - "src": "2093:7:36" + "src": "2093:7:34" }, { "name": "headStart", - "nativeSrc": "2102:9:36", + "nativeSrc": "2102:9:34", "nodeType": "YulIdentifier", - "src": "2102:9:36" + "src": "2102:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "2089:3:36", + "nativeSrc": "2089:3:34", "nodeType": "YulIdentifier", - "src": "2089:3:36" + "src": "2089:3:34" }, - "nativeSrc": "2089:23:36", + "nativeSrc": "2089:23:34", "nodeType": "YulFunctionCall", - "src": "2089:23:36" + "src": "2089:23:34" }, { "kind": "number", - "nativeSrc": "2114:2:36", + "nativeSrc": "2114:2:34", "nodeType": "YulLiteral", - "src": "2114:2:36", + "src": "2114:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "2085:3:36", + "nativeSrc": "2085:3:34", "nodeType": "YulIdentifier", - "src": "2085:3:36" + "src": "2085:3:34" }, - "nativeSrc": "2085:32:36", + "nativeSrc": "2085:32:34", "nodeType": "YulFunctionCall", - "src": "2085:32:36" + "src": "2085:32:34" }, - "nativeSrc": "2082:52:36", + "nativeSrc": "2082:52:34", "nodeType": "YulIf", - "src": "2082:52:36" + "src": "2082:52:34" }, { - "nativeSrc": "2143:33:36", + "nativeSrc": "2143:33:34", "nodeType": "YulAssignment", - "src": "2143:33:36", + "src": "2143:33:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "2166:9:36", + "nativeSrc": "2166:9:34", "nodeType": "YulIdentifier", - "src": "2166:9:36" + "src": "2166:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "2153:12:36", + "nativeSrc": "2153:12:34", "nodeType": "YulIdentifier", - "src": "2153:12:36" + "src": "2153:12:34" }, - "nativeSrc": "2153:23:36", + "nativeSrc": "2153:23:34", "nodeType": "YulFunctionCall", - "src": "2153:23:36" + "src": "2153:23:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "2143:6:36", + "nativeSrc": "2143:6:34", "nodeType": "YulIdentifier", - "src": "2143:6:36" + "src": "2143:6:34" } ] } ] }, "name": "abi_decode_tuple_t_bytes32", - "nativeSrc": "2002:180:36", + "nativeSrc": "2002:180:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "2038:9:36", + "nativeSrc": "2038:9:34", "nodeType": "YulTypedName", - "src": "2038:9:36", + "src": "2038:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "2049:7:36", + "nativeSrc": "2049:7:34", "nodeType": "YulTypedName", - "src": "2049:7:36", + "src": "2049:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "2061:6:36", + "nativeSrc": "2061:6:34", "nodeType": "YulTypedName", - "src": "2061:6:36", + "src": "2061:6:34", "type": "" } ], - "src": "2002:180:36" + "src": "2002:180:34" }, { "body": { - "nativeSrc": "2288:76:36", + "nativeSrc": "2288:76:34", "nodeType": "YulBlock", - "src": "2288:76:36", + "src": "2288:76:34", "statements": [ { - "nativeSrc": "2298:26:36", + "nativeSrc": "2298:26:34", "nodeType": "YulAssignment", - "src": "2298:26:36", + "src": "2298:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "2310:9:36", + "nativeSrc": "2310:9:34", "nodeType": "YulIdentifier", - "src": "2310:9:36" + "src": "2310:9:34" }, { "kind": "number", - "nativeSrc": "2321:2:36", + "nativeSrc": "2321:2:34", "nodeType": "YulLiteral", - "src": "2321:2:36", + "src": "2321:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "2306:3:36", + "nativeSrc": "2306:3:34", "nodeType": "YulIdentifier", - "src": "2306:3:36" + "src": "2306:3:34" }, - "nativeSrc": "2306:18:36", + "nativeSrc": "2306:18:34", "nodeType": "YulFunctionCall", - "src": "2306:18:36" + "src": "2306:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "2298:4:36", + "nativeSrc": "2298:4:34", "nodeType": "YulIdentifier", - "src": "2298:4:36" + "src": "2298:4:34" } ] }, @@ -117138,108 +116148,108 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "2340:9:36", + "nativeSrc": "2340:9:34", "nodeType": "YulIdentifier", - "src": "2340:9:36" + "src": "2340:9:34" }, { "name": "value0", - "nativeSrc": "2351:6:36", + "nativeSrc": "2351:6:34", "nodeType": "YulIdentifier", - "src": "2351:6:36" + "src": "2351:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2333:6:36", + "nativeSrc": "2333:6:34", "nodeType": "YulIdentifier", - "src": "2333:6:36" + "src": "2333:6:34" }, - "nativeSrc": "2333:25:36", + "nativeSrc": "2333:25:34", "nodeType": "YulFunctionCall", - "src": "2333:25:36" + "src": "2333:25:34" }, - "nativeSrc": "2333:25:36", + "nativeSrc": "2333:25:34", "nodeType": "YulExpressionStatement", - "src": "2333:25:36" + "src": "2333:25:34" } ] }, "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nativeSrc": "2187:177:36", + "nativeSrc": "2187:177:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "2257:9:36", + "nativeSrc": "2257:9:34", "nodeType": "YulTypedName", - "src": "2257:9:36", + "src": "2257:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "2268:6:36", + "nativeSrc": "2268:6:34", "nodeType": "YulTypedName", - "src": "2268:6:36", + "src": "2268:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "2279:4:36", + "nativeSrc": "2279:4:34", "nodeType": "YulTypedName", - "src": "2279:4:36", + "src": "2279:4:34", "type": "" } ], - "src": "2187:177:36" + "src": "2187:177:34" }, { "body": { - "nativeSrc": "2456:167:36", + "nativeSrc": "2456:167:34", "nodeType": "YulBlock", - "src": "2456:167:36", + "src": "2456:167:34", "statements": [ { "body": { - "nativeSrc": "2502:16:36", + "nativeSrc": "2502:16:34", "nodeType": "YulBlock", - "src": "2502:16:36", + "src": "2502:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2511:1:36", + "nativeSrc": "2511:1:34", "nodeType": "YulLiteral", - "src": "2511:1:36", + "src": "2511:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "2514:1:36", + "nativeSrc": "2514:1:34", "nodeType": "YulLiteral", - "src": "2514:1:36", + "src": "2514:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "2504:6:36", + "nativeSrc": "2504:6:34", "nodeType": "YulIdentifier", - "src": "2504:6:36" + "src": "2504:6:34" }, - "nativeSrc": "2504:12:36", + "nativeSrc": "2504:12:34", "nodeType": "YulFunctionCall", - "src": "2504:12:36" + "src": "2504:12:34" }, - "nativeSrc": "2504:12:36", + "nativeSrc": "2504:12:34", "nodeType": "YulExpressionStatement", - "src": "2504:12:36" + "src": "2504:12:34" } ] }, @@ -117249,219 +116259,219 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "2477:7:36", + "nativeSrc": "2477:7:34", "nodeType": "YulIdentifier", - "src": "2477:7:36" + "src": "2477:7:34" }, { "name": "headStart", - "nativeSrc": "2486:9:36", + "nativeSrc": "2486:9:34", "nodeType": "YulIdentifier", - "src": "2486:9:36" + "src": "2486:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "2473:3:36", + "nativeSrc": "2473:3:34", "nodeType": "YulIdentifier", - "src": "2473:3:36" + "src": "2473:3:34" }, - "nativeSrc": "2473:23:36", + "nativeSrc": "2473:23:34", "nodeType": "YulFunctionCall", - "src": "2473:23:36" + "src": "2473:23:34" }, { "kind": "number", - "nativeSrc": "2498:2:36", + "nativeSrc": "2498:2:34", "nodeType": "YulLiteral", - "src": "2498:2:36", + "src": "2498:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "2469:3:36", + "nativeSrc": "2469:3:34", "nodeType": "YulIdentifier", - "src": "2469:3:36" + "src": "2469:3:34" }, - "nativeSrc": "2469:32:36", + "nativeSrc": "2469:32:34", "nodeType": "YulFunctionCall", - "src": "2469:32:36" + "src": "2469:32:34" }, - "nativeSrc": "2466:52:36", + "nativeSrc": "2466:52:34", "nodeType": "YulIf", - "src": "2466:52:36" + "src": "2466:52:34" }, { - "nativeSrc": "2527:33:36", + "nativeSrc": "2527:33:34", "nodeType": "YulAssignment", - "src": "2527:33:36", + "src": "2527:33:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "2550:9:36", + "nativeSrc": "2550:9:34", "nodeType": "YulIdentifier", - "src": "2550:9:36" + "src": "2550:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "2537:12:36", + "nativeSrc": "2537:12:34", "nodeType": "YulIdentifier", - "src": "2537:12:36" + "src": "2537:12:34" }, - "nativeSrc": "2537:23:36", + "nativeSrc": "2537:23:34", "nodeType": "YulFunctionCall", - "src": "2537:23:36" + "src": "2537:23:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "2527:6:36", + "nativeSrc": "2527:6:34", "nodeType": "YulIdentifier", - "src": "2527:6:36" + "src": "2527:6:34" } ] }, { - "nativeSrc": "2569:48:36", + "nativeSrc": "2569:48:34", "nodeType": "YulAssignment", - "src": "2569:48:36", + "src": "2569:48:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "2602:9:36", + "nativeSrc": "2602:9:34", "nodeType": "YulIdentifier", - "src": "2602:9:36" + "src": "2602:9:34" }, { "kind": "number", - "nativeSrc": "2613:2:36", + "nativeSrc": "2613:2:34", "nodeType": "YulLiteral", - "src": "2613:2:36", + "src": "2613:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "2598:3:36", + "nativeSrc": "2598:3:34", "nodeType": "YulIdentifier", - "src": "2598:3:36" + "src": "2598:3:34" }, - "nativeSrc": "2598:18:36", + "nativeSrc": "2598:18:34", "nodeType": "YulFunctionCall", - "src": "2598:18:36" + "src": "2598:18:34" } ], "functionName": { "name": "abi_decode_address", - "nativeSrc": "2579:18:36", + "nativeSrc": "2579:18:34", "nodeType": "YulIdentifier", - "src": "2579:18:36" + "src": "2579:18:34" }, - "nativeSrc": "2579:38:36", + "nativeSrc": "2579:38:34", "nodeType": "YulFunctionCall", - "src": "2579:38:36" + "src": "2579:38:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "2569:6:36", + "nativeSrc": "2569:6:34", "nodeType": "YulIdentifier", - "src": "2569:6:36" + "src": "2569:6:34" } ] } ] }, "name": "abi_decode_tuple_t_bytes32t_address", - "nativeSrc": "2369:254:36", + "nativeSrc": "2369:254:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "2414:9:36", + "nativeSrc": "2414:9:34", "nodeType": "YulTypedName", - "src": "2414:9:36", + "src": "2414:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "2425:7:36", + "nativeSrc": "2425:7:34", "nodeType": "YulTypedName", - "src": "2425:7:36", + "src": "2425:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "2437:6:36", + "nativeSrc": "2437:6:34", "nodeType": "YulTypedName", - "src": "2437:6:36", + "src": "2437:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "2445:6:36", + "nativeSrc": "2445:6:34", "nodeType": "YulTypedName", - "src": "2445:6:36", + "src": "2445:6:34", "type": "" } ], - "src": "2369:254:36" + "src": "2369:254:34" }, { "body": { - "nativeSrc": "2698:116:36", + "nativeSrc": "2698:116:34", "nodeType": "YulBlock", - "src": "2698:116:36", + "src": "2698:116:34", "statements": [ { "body": { - "nativeSrc": "2744:16:36", + "nativeSrc": "2744:16:34", "nodeType": "YulBlock", - "src": "2744:16:36", + "src": "2744:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2753:1:36", + "nativeSrc": "2753:1:34", "nodeType": "YulLiteral", - "src": "2753:1:36", + "src": "2753:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "2756:1:36", + "nativeSrc": "2756:1:34", "nodeType": "YulLiteral", - "src": "2756:1:36", + "src": "2756:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "2746:6:36", + "nativeSrc": "2746:6:34", "nodeType": "YulIdentifier", - "src": "2746:6:36" + "src": "2746:6:34" }, - "nativeSrc": "2746:12:36", + "nativeSrc": "2746:12:34", "nodeType": "YulFunctionCall", - "src": "2746:12:36" + "src": "2746:12:34" }, - "nativeSrc": "2746:12:36", + "nativeSrc": "2746:12:34", "nodeType": "YulExpressionStatement", - "src": "2746:12:36" + "src": "2746:12:34" } ] }, @@ -117471,157 +116481,157 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "2719:7:36", + "nativeSrc": "2719:7:34", "nodeType": "YulIdentifier", - "src": "2719:7:36" + "src": "2719:7:34" }, { "name": "headStart", - "nativeSrc": "2728:9:36", + "nativeSrc": "2728:9:34", "nodeType": "YulIdentifier", - "src": "2728:9:36" + "src": "2728:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "2715:3:36", + "nativeSrc": "2715:3:34", "nodeType": "YulIdentifier", - "src": "2715:3:36" + "src": "2715:3:34" }, - "nativeSrc": "2715:23:36", + "nativeSrc": "2715:23:34", "nodeType": "YulFunctionCall", - "src": "2715:23:36" + "src": "2715:23:34" }, { "kind": "number", - "nativeSrc": "2740:2:36", + "nativeSrc": "2740:2:34", "nodeType": "YulLiteral", - "src": "2740:2:36", + "src": "2740:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "2711:3:36", + "nativeSrc": "2711:3:34", "nodeType": "YulIdentifier", - "src": "2711:3:36" + "src": "2711:3:34" }, - "nativeSrc": "2711:32:36", + "nativeSrc": "2711:32:34", "nodeType": "YulFunctionCall", - "src": "2711:32:36" + "src": "2711:32:34" }, - "nativeSrc": "2708:52:36", + "nativeSrc": "2708:52:34", "nodeType": "YulIf", - "src": "2708:52:36" + "src": "2708:52:34" }, { - "nativeSrc": "2769:39:36", + "nativeSrc": "2769:39:34", "nodeType": "YulAssignment", - "src": "2769:39:36", + "src": "2769:39:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "2798:9:36", + "nativeSrc": "2798:9:34", "nodeType": "YulIdentifier", - "src": "2798:9:36" + "src": "2798:9:34" } ], "functionName": { "name": "abi_decode_address", - "nativeSrc": "2779:18:36", + "nativeSrc": "2779:18:34", "nodeType": "YulIdentifier", - "src": "2779:18:36" + "src": "2779:18:34" }, - "nativeSrc": "2779:29:36", + "nativeSrc": "2779:29:34", "nodeType": "YulFunctionCall", - "src": "2779:29:36" + "src": "2779:29:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "2769:6:36", + "nativeSrc": "2769:6:34", "nodeType": "YulIdentifier", - "src": "2769:6:36" + "src": "2769:6:34" } ] } ] }, "name": "abi_decode_tuple_t_address", - "nativeSrc": "2628:186:36", + "nativeSrc": "2628:186:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "2664:9:36", + "nativeSrc": "2664:9:34", "nodeType": "YulTypedName", - "src": "2664:9:36", + "src": "2664:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "2675:7:36", + "nativeSrc": "2675:7:34", "nodeType": "YulTypedName", - "src": "2675:7:36", + "src": "2675:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "2687:6:36", + "nativeSrc": "2687:6:34", "nodeType": "YulTypedName", - "src": "2687:6:36", + "src": "2687:6:34", "type": "" } ], - "src": "2628:186:36" + "src": "2628:186:34" }, { "body": { - "nativeSrc": "2916:87:36", + "nativeSrc": "2916:87:34", "nodeType": "YulBlock", - "src": "2916:87:36", + "src": "2916:87:34", "statements": [ { - "nativeSrc": "2926:26:36", + "nativeSrc": "2926:26:34", "nodeType": "YulAssignment", - "src": "2926:26:36", + "src": "2926:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "2938:9:36", + "nativeSrc": "2938:9:34", "nodeType": "YulIdentifier", - "src": "2938:9:36" + "src": "2938:9:34" }, { "kind": "number", - "nativeSrc": "2949:2:36", + "nativeSrc": "2949:2:34", "nodeType": "YulLiteral", - "src": "2949:2:36", + "src": "2949:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "2934:3:36", + "nativeSrc": "2934:3:34", "nodeType": "YulIdentifier", - "src": "2934:3:36" + "src": "2934:3:34" }, - "nativeSrc": "2934:18:36", + "nativeSrc": "2934:18:34", "nodeType": "YulFunctionCall", - "src": "2934:18:36" + "src": "2934:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "2926:4:36", + "nativeSrc": "2926:4:34", "nodeType": "YulIdentifier", - "src": "2926:4:36" + "src": "2926:4:34" } ] }, @@ -117630,129 +116640,129 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "2968:9:36", + "nativeSrc": "2968:9:34", "nodeType": "YulIdentifier", - "src": "2968:9:36" + "src": "2968:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "2983:6:36", + "nativeSrc": "2983:6:34", "nodeType": "YulIdentifier", - "src": "2983:6:36" + "src": "2983:6:34" }, { "kind": "number", - "nativeSrc": "2991:4:36", + "nativeSrc": "2991:4:34", "nodeType": "YulLiteral", - "src": "2991:4:36", + "src": "2991:4:34", "type": "", "value": "0xff" } ], "functionName": { "name": "and", - "nativeSrc": "2979:3:36", + "nativeSrc": "2979:3:34", "nodeType": "YulIdentifier", - "src": "2979:3:36" + "src": "2979:3:34" }, - "nativeSrc": "2979:17:36", + "nativeSrc": "2979:17:34", "nodeType": "YulFunctionCall", - "src": "2979:17:36" + "src": "2979:17:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2961:6:36", + "nativeSrc": "2961:6:34", "nodeType": "YulIdentifier", - "src": "2961:6:36" + "src": "2961:6:34" }, - "nativeSrc": "2961:36:36", + "nativeSrc": "2961:36:34", "nodeType": "YulFunctionCall", - "src": "2961:36:36" + "src": "2961:36:34" }, - "nativeSrc": "2961:36:36", + "nativeSrc": "2961:36:34", "nodeType": "YulExpressionStatement", - "src": "2961:36:36" + "src": "2961:36:34" } ] }, "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nativeSrc": "2819:184:36", + "nativeSrc": "2819:184:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "2885:9:36", + "nativeSrc": "2885:9:34", "nodeType": "YulTypedName", - "src": "2885:9:36", + "src": "2885:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "2896:6:36", + "nativeSrc": "2896:6:34", "nodeType": "YulTypedName", - "src": "2896:6:36", + "src": "2896:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "2907:4:36", + "nativeSrc": "2907:4:34", "nodeType": "YulTypedName", - "src": "2907:4:36", + "src": "2907:4:34", "type": "" } ], - "src": "2819:184:36" + "src": "2819:184:34" }, { "body": { - "nativeSrc": "3078:110:36", + "nativeSrc": "3078:110:34", "nodeType": "YulBlock", - "src": "3078:110:36", + "src": "3078:110:34", "statements": [ { "body": { - "nativeSrc": "3124:16:36", + "nativeSrc": "3124:16:34", "nodeType": "YulBlock", - "src": "3124:16:36", + "src": "3124:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "3133:1:36", + "nativeSrc": "3133:1:34", "nodeType": "YulLiteral", - "src": "3133:1:36", + "src": "3133:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "3136:1:36", + "nativeSrc": "3136:1:34", "nodeType": "YulLiteral", - "src": "3136:1:36", + "src": "3136:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "3126:6:36", + "nativeSrc": "3126:6:34", "nodeType": "YulIdentifier", - "src": "3126:6:36" + "src": "3126:6:34" }, - "nativeSrc": "3126:12:36", + "nativeSrc": "3126:12:34", "nodeType": "YulFunctionCall", - "src": "3126:12:36" + "src": "3126:12:34" }, - "nativeSrc": "3126:12:36", + "nativeSrc": "3126:12:34", "nodeType": "YulExpressionStatement", - "src": "3126:12:36" + "src": "3126:12:34" } ] }, @@ -117762,159 +116772,159 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "3099:7:36", + "nativeSrc": "3099:7:34", "nodeType": "YulIdentifier", - "src": "3099:7:36" + "src": "3099:7:34" }, { "name": "headStart", - "nativeSrc": "3108:9:36", + "nativeSrc": "3108:9:34", "nodeType": "YulIdentifier", - "src": "3108:9:36" + "src": "3108:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "3095:3:36", + "nativeSrc": "3095:3:34", "nodeType": "YulIdentifier", - "src": "3095:3:36" + "src": "3095:3:34" }, - "nativeSrc": "3095:23:36", + "nativeSrc": "3095:23:34", "nodeType": "YulFunctionCall", - "src": "3095:23:36" + "src": "3095:23:34" }, { "kind": "number", - "nativeSrc": "3120:2:36", + "nativeSrc": "3120:2:34", "nodeType": "YulLiteral", - "src": "3120:2:36", + "src": "3120:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "3091:3:36", + "nativeSrc": "3091:3:34", "nodeType": "YulIdentifier", - "src": "3091:3:36" + "src": "3091:3:34" }, - "nativeSrc": "3091:32:36", + "nativeSrc": "3091:32:34", "nodeType": "YulFunctionCall", - "src": "3091:32:36" + "src": "3091:32:34" }, - "nativeSrc": "3088:52:36", + "nativeSrc": "3088:52:34", "nodeType": "YulIf", - "src": "3088:52:36" + "src": "3088:52:34" }, { - "nativeSrc": "3149:33:36", + "nativeSrc": "3149:33:34", "nodeType": "YulAssignment", - "src": "3149:33:36", + "src": "3149:33:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "3172:9:36", + "nativeSrc": "3172:9:34", "nodeType": "YulIdentifier", - "src": "3172:9:36" + "src": "3172:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "3159:12:36", + "nativeSrc": "3159:12:34", "nodeType": "YulIdentifier", - "src": "3159:12:36" + "src": "3159:12:34" }, - "nativeSrc": "3159:23:36", + "nativeSrc": "3159:23:34", "nodeType": "YulFunctionCall", - "src": "3159:23:36" + "src": "3159:23:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "3149:6:36", + "nativeSrc": "3149:6:34", "nodeType": "YulIdentifier", - "src": "3149:6:36" + "src": "3149:6:34" } ] } ] }, "name": "abi_decode_tuple_t_uint256", - "nativeSrc": "3008:180:36", + "nativeSrc": "3008:180:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "3044:9:36", + "nativeSrc": "3044:9:34", "nodeType": "YulTypedName", - "src": "3044:9:36", + "src": "3044:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "3055:7:36", + "nativeSrc": "3055:7:34", "nodeType": "YulTypedName", - "src": "3055:7:36", + "src": "3055:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "3067:6:36", + "nativeSrc": "3067:6:34", "nodeType": "YulTypedName", - "src": "3067:6:36", + "src": "3067:6:34", "type": "" } ], - "src": "3008:180:36" + "src": "3008:180:34" }, { "body": { - "nativeSrc": "3280:173:36", + "nativeSrc": "3280:173:34", "nodeType": "YulBlock", - "src": "3280:173:36", + "src": "3280:173:34", "statements": [ { "body": { - "nativeSrc": "3326:16:36", + "nativeSrc": "3326:16:34", "nodeType": "YulBlock", - "src": "3326:16:36", + "src": "3326:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "3335:1:36", + "nativeSrc": "3335:1:34", "nodeType": "YulLiteral", - "src": "3335:1:36", + "src": "3335:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "3338:1:36", + "nativeSrc": "3338:1:34", "nodeType": "YulLiteral", - "src": "3338:1:36", + "src": "3338:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "3328:6:36", + "nativeSrc": "3328:6:34", "nodeType": "YulIdentifier", - "src": "3328:6:36" + "src": "3328:6:34" }, - "nativeSrc": "3328:12:36", + "nativeSrc": "3328:12:34", "nodeType": "YulFunctionCall", - "src": "3328:12:36" + "src": "3328:12:34" }, - "nativeSrc": "3328:12:36", + "nativeSrc": "3328:12:34", "nodeType": "YulExpressionStatement", - "src": "3328:12:36" + "src": "3328:12:34" } ] }, @@ -117924,304 +116934,304 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "3301:7:36", + "nativeSrc": "3301:7:34", "nodeType": "YulIdentifier", - "src": "3301:7:36" + "src": "3301:7:34" }, { "name": "headStart", - "nativeSrc": "3310:9:36", + "nativeSrc": "3310:9:34", "nodeType": "YulIdentifier", - "src": "3310:9:36" + "src": "3310:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "3297:3:36", + "nativeSrc": "3297:3:34", "nodeType": "YulIdentifier", - "src": "3297:3:36" + "src": "3297:3:34" }, - "nativeSrc": "3297:23:36", + "nativeSrc": "3297:23:34", "nodeType": "YulFunctionCall", - "src": "3297:23:36" + "src": "3297:23:34" }, { "kind": "number", - "nativeSrc": "3322:2:36", + "nativeSrc": "3322:2:34", "nodeType": "YulLiteral", - "src": "3322:2:36", + "src": "3322:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "3293:3:36", + "nativeSrc": "3293:3:34", "nodeType": "YulIdentifier", - "src": "3293:3:36" + "src": "3293:3:34" }, - "nativeSrc": "3293:32:36", + "nativeSrc": "3293:32:34", "nodeType": "YulFunctionCall", - "src": "3293:32:36" + "src": "3293:32:34" }, - "nativeSrc": "3290:52:36", + "nativeSrc": "3290:52:34", "nodeType": "YulIf", - "src": "3290:52:36" + "src": "3290:52:34" }, { - "nativeSrc": "3351:39:36", + "nativeSrc": "3351:39:34", "nodeType": "YulAssignment", - "src": "3351:39:36", + "src": "3351:39:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "3380:9:36", + "nativeSrc": "3380:9:34", "nodeType": "YulIdentifier", - "src": "3380:9:36" + "src": "3380:9:34" } ], "functionName": { "name": "abi_decode_address", - "nativeSrc": "3361:18:36", + "nativeSrc": "3361:18:34", "nodeType": "YulIdentifier", - "src": "3361:18:36" + "src": "3361:18:34" }, - "nativeSrc": "3361:29:36", + "nativeSrc": "3361:29:34", "nodeType": "YulFunctionCall", - "src": "3361:29:36" + "src": "3361:29:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "3351:6:36", + "nativeSrc": "3351:6:34", "nodeType": "YulIdentifier", - "src": "3351:6:36" + "src": "3351:6:34" } ] }, { - "nativeSrc": "3399:48:36", + "nativeSrc": "3399:48:34", "nodeType": "YulAssignment", - "src": "3399:48:36", + "src": "3399:48:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "3432:9:36", + "nativeSrc": "3432:9:34", "nodeType": "YulIdentifier", - "src": "3432:9:36" + "src": "3432:9:34" }, { "kind": "number", - "nativeSrc": "3443:2:36", + "nativeSrc": "3443:2:34", "nodeType": "YulLiteral", - "src": "3443:2:36", + "src": "3443:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "3428:3:36", + "nativeSrc": "3428:3:34", "nodeType": "YulIdentifier", - "src": "3428:3:36" + "src": "3428:3:34" }, - "nativeSrc": "3428:18:36", + "nativeSrc": "3428:18:34", "nodeType": "YulFunctionCall", - "src": "3428:18:36" + "src": "3428:18:34" } ], "functionName": { "name": "abi_decode_address", - "nativeSrc": "3409:18:36", + "nativeSrc": "3409:18:34", "nodeType": "YulIdentifier", - "src": "3409:18:36" + "src": "3409:18:34" }, - "nativeSrc": "3409:38:36", + "nativeSrc": "3409:38:34", "nodeType": "YulFunctionCall", - "src": "3409:38:36" + "src": "3409:38:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "3399:6:36", + "nativeSrc": "3399:6:34", "nodeType": "YulIdentifier", - "src": "3399:6:36" + "src": "3399:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_address", - "nativeSrc": "3193:260:36", + "nativeSrc": "3193:260:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "3238:9:36", + "nativeSrc": "3238:9:34", "nodeType": "YulTypedName", - "src": "3238:9:36", + "src": "3238:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "3249:7:36", + "nativeSrc": "3249:7:34", "nodeType": "YulTypedName", - "src": "3249:7:36", + "src": "3249:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "3261:6:36", + "nativeSrc": "3261:6:34", "nodeType": "YulTypedName", - "src": "3261:6:36", + "src": "3261:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "3269:6:36", + "nativeSrc": "3269:6:34", "nodeType": "YulTypedName", - "src": "3269:6:36", + "src": "3269:6:34", "type": "" } ], - "src": "3193:260:36" + "src": "3193:260:34" }, { "body": { - "nativeSrc": "3513:325:36", + "nativeSrc": "3513:325:34", "nodeType": "YulBlock", - "src": "3513:325:36", + "src": "3513:325:34", "statements": [ { - "nativeSrc": "3523:22:36", + "nativeSrc": "3523:22:34", "nodeType": "YulAssignment", - "src": "3523:22:36", + "src": "3523:22:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "3537:1:36", + "nativeSrc": "3537:1:34", "nodeType": "YulLiteral", - "src": "3537:1:36", + "src": "3537:1:34", "type": "", "value": "1" }, { "name": "data", - "nativeSrc": "3540:4:36", + "nativeSrc": "3540:4:34", "nodeType": "YulIdentifier", - "src": "3540:4:36" + "src": "3540:4:34" } ], "functionName": { "name": "shr", - "nativeSrc": "3533:3:36", + "nativeSrc": "3533:3:34", "nodeType": "YulIdentifier", - "src": "3533:3:36" + "src": "3533:3:34" }, - "nativeSrc": "3533:12:36", + "nativeSrc": "3533:12:34", "nodeType": "YulFunctionCall", - "src": "3533:12:36" + "src": "3533:12:34" }, "variableNames": [ { "name": "length", - "nativeSrc": "3523:6:36", + "nativeSrc": "3523:6:34", "nodeType": "YulIdentifier", - "src": "3523:6:36" + "src": "3523:6:34" } ] }, { - "nativeSrc": "3554:38:36", + "nativeSrc": "3554:38:34", "nodeType": "YulVariableDeclaration", - "src": "3554:38:36", + "src": "3554:38:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "3584:4:36", + "nativeSrc": "3584:4:34", "nodeType": "YulIdentifier", - "src": "3584:4:36" + "src": "3584:4:34" }, { "kind": "number", - "nativeSrc": "3590:1:36", + "nativeSrc": "3590:1:34", "nodeType": "YulLiteral", - "src": "3590:1:36", + "src": "3590:1:34", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "3580:3:36", + "nativeSrc": "3580:3:34", "nodeType": "YulIdentifier", - "src": "3580:3:36" + "src": "3580:3:34" }, - "nativeSrc": "3580:12:36", + "nativeSrc": "3580:12:34", "nodeType": "YulFunctionCall", - "src": "3580:12:36" + "src": "3580:12:34" }, "variables": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "3558:18:36", + "nativeSrc": "3558:18:34", "nodeType": "YulTypedName", - "src": "3558:18:36", + "src": "3558:18:34", "type": "" } ] }, { "body": { - "nativeSrc": "3631:31:36", + "nativeSrc": "3631:31:34", "nodeType": "YulBlock", - "src": "3631:31:36", + "src": "3631:31:34", "statements": [ { - "nativeSrc": "3633:27:36", + "nativeSrc": "3633:27:34", "nodeType": "YulAssignment", - "src": "3633:27:36", + "src": "3633:27:34", "value": { "arguments": [ { "name": "length", - "nativeSrc": "3647:6:36", + "nativeSrc": "3647:6:34", "nodeType": "YulIdentifier", - "src": "3647:6:36" + "src": "3647:6:34" }, { "kind": "number", - "nativeSrc": "3655:4:36", + "nativeSrc": "3655:4:34", "nodeType": "YulLiteral", - "src": "3655:4:36", + "src": "3655:4:34", "type": "", "value": "0x7f" } ], "functionName": { "name": "and", - "nativeSrc": "3643:3:36", + "nativeSrc": "3643:3:34", "nodeType": "YulIdentifier", - "src": "3643:3:36" + "src": "3643:3:34" }, - "nativeSrc": "3643:17:36", + "nativeSrc": "3643:17:34", "nodeType": "YulFunctionCall", - "src": "3643:17:36" + "src": "3643:17:34" }, "variableNames": [ { "name": "length", - "nativeSrc": "3633:6:36", + "nativeSrc": "3633:6:34", "nodeType": "YulIdentifier", - "src": "3633:6:36" + "src": "3633:6:34" } ] } @@ -118231,39 +117241,39 @@ "arguments": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "3611:18:36", + "nativeSrc": "3611:18:34", "nodeType": "YulIdentifier", - "src": "3611:18:36" + "src": "3611:18:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "3604:6:36", + "nativeSrc": "3604:6:34", "nodeType": "YulIdentifier", - "src": "3604:6:36" + "src": "3604:6:34" }, - "nativeSrc": "3604:26:36", + "nativeSrc": "3604:26:34", "nodeType": "YulFunctionCall", - "src": "3604:26:36" + "src": "3604:26:34" }, - "nativeSrc": "3601:61:36", + "nativeSrc": "3601:61:34", "nodeType": "YulIf", - "src": "3601:61:36" + "src": "3601:61:34" }, { "body": { - "nativeSrc": "3721:111:36", + "nativeSrc": "3721:111:34", "nodeType": "YulBlock", - "src": "3721:111:36", + "src": "3721:111:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "3742:1:36", + "nativeSrc": "3742:1:34", "nodeType": "YulLiteral", - "src": "3742:1:36", + "src": "3742:1:34", "type": "", "value": "0" }, @@ -118271,113 +117281,113 @@ "arguments": [ { "kind": "number", - "nativeSrc": "3749:3:36", + "nativeSrc": "3749:3:34", "nodeType": "YulLiteral", - "src": "3749:3:36", + "src": "3749:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "3754:10:36", + "nativeSrc": "3754:10:34", "nodeType": "YulLiteral", - "src": "3754:10:36", + "src": "3754:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "3745:3:36", + "nativeSrc": "3745:3:34", "nodeType": "YulIdentifier", - "src": "3745:3:36" + "src": "3745:3:34" }, - "nativeSrc": "3745:20:36", + "nativeSrc": "3745:20:34", "nodeType": "YulFunctionCall", - "src": "3745:20:36" + "src": "3745:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "3735:6:36", + "nativeSrc": "3735:6:34", "nodeType": "YulIdentifier", - "src": "3735:6:36" + "src": "3735:6:34" }, - "nativeSrc": "3735:31:36", + "nativeSrc": "3735:31:34", "nodeType": "YulFunctionCall", - "src": "3735:31:36" + "src": "3735:31:34" }, - "nativeSrc": "3735:31:36", + "nativeSrc": "3735:31:34", "nodeType": "YulExpressionStatement", - "src": "3735:31:36" + "src": "3735:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "3786:1:36", + "nativeSrc": "3786:1:34", "nodeType": "YulLiteral", - "src": "3786:1:36", + "src": "3786:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "3789:4:36", + "nativeSrc": "3789:4:34", "nodeType": "YulLiteral", - "src": "3789:4:36", + "src": "3789:4:34", "type": "", "value": "0x22" } ], "functionName": { "name": "mstore", - "nativeSrc": "3779:6:36", + "nativeSrc": "3779:6:34", "nodeType": "YulIdentifier", - "src": "3779:6:36" + "src": "3779:6:34" }, - "nativeSrc": "3779:15:36", + "nativeSrc": "3779:15:34", "nodeType": "YulFunctionCall", - "src": "3779:15:36" + "src": "3779:15:34" }, - "nativeSrc": "3779:15:36", + "nativeSrc": "3779:15:34", "nodeType": "YulExpressionStatement", - "src": "3779:15:36" + "src": "3779:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "3814:1:36", + "nativeSrc": "3814:1:34", "nodeType": "YulLiteral", - "src": "3814:1:36", + "src": "3814:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "3817:4:36", + "nativeSrc": "3817:4:34", "nodeType": "YulLiteral", - "src": "3817:4:36", + "src": "3817:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "3807:6:36", + "nativeSrc": "3807:6:34", "nodeType": "YulIdentifier", - "src": "3807:6:36" + "src": "3807:6:34" }, - "nativeSrc": "3807:15:36", + "nativeSrc": "3807:15:34", "nodeType": "YulFunctionCall", - "src": "3807:15:36" + "src": "3807:15:34" }, - "nativeSrc": "3807:15:36", + "nativeSrc": "3807:15:34", "nodeType": "YulExpressionStatement", - "src": "3807:15:36" + "src": "3807:15:34" } ] }, @@ -118385,114 +117395,114 @@ "arguments": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "3677:18:36", + "nativeSrc": "3677:18:34", "nodeType": "YulIdentifier", - "src": "3677:18:36" + "src": "3677:18:34" }, { "arguments": [ { "name": "length", - "nativeSrc": "3700:6:36", + "nativeSrc": "3700:6:34", "nodeType": "YulIdentifier", - "src": "3700:6:36" + "src": "3700:6:34" }, { "kind": "number", - "nativeSrc": "3708:2:36", + "nativeSrc": "3708:2:34", "nodeType": "YulLiteral", - "src": "3708:2:36", + "src": "3708:2:34", "type": "", "value": "32" } ], "functionName": { "name": "lt", - "nativeSrc": "3697:2:36", + "nativeSrc": "3697:2:34", "nodeType": "YulIdentifier", - "src": "3697:2:36" + "src": "3697:2:34" }, - "nativeSrc": "3697:14:36", + "nativeSrc": "3697:14:34", "nodeType": "YulFunctionCall", - "src": "3697:14:36" + "src": "3697:14:34" } ], "functionName": { "name": "eq", - "nativeSrc": "3674:2:36", + "nativeSrc": "3674:2:34", "nodeType": "YulIdentifier", - "src": "3674:2:36" + "src": "3674:2:34" }, - "nativeSrc": "3674:38:36", + "nativeSrc": "3674:38:34", "nodeType": "YulFunctionCall", - "src": "3674:38:36" + "src": "3674:38:34" }, - "nativeSrc": "3671:161:36", + "nativeSrc": "3671:161:34", "nodeType": "YulIf", - "src": "3671:161:36" + "src": "3671:161:34" } ] }, "name": "extract_byte_array_length", - "nativeSrc": "3458:380:36", + "nativeSrc": "3458:380:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "data", - "nativeSrc": "3493:4:36", + "nativeSrc": "3493:4:34", "nodeType": "YulTypedName", - "src": "3493:4:36", + "src": "3493:4:34", "type": "" } ], "returnVariables": [ { "name": "length", - "nativeSrc": "3502:6:36", + "nativeSrc": "3502:6:34", "nodeType": "YulTypedName", - "src": "3502:6:36", + "src": "3502:6:34", "type": "" } ], - "src": "3458:380:36" + "src": "3458:380:34" }, { "body": { - "nativeSrc": "4017:243:36", + "nativeSrc": "4017:243:34", "nodeType": "YulBlock", - "src": "4017:243:36", + "src": "4017:243:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "4034:9:36", + "nativeSrc": "4034:9:34", "nodeType": "YulIdentifier", - "src": "4034:9:36" + "src": "4034:9:34" }, { "kind": "number", - "nativeSrc": "4045:2:36", + "nativeSrc": "4045:2:34", "nodeType": "YulLiteral", - "src": "4045:2:36", + "src": "4045:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "4027:6:36", + "nativeSrc": "4027:6:34", "nodeType": "YulIdentifier", - "src": "4027:6:36" + "src": "4027:6:34" }, - "nativeSrc": "4027:21:36", + "nativeSrc": "4027:21:34", "nodeType": "YulFunctionCall", - "src": "4027:21:36" + "src": "4027:21:34" }, - "nativeSrc": "4027:21:36", + "nativeSrc": "4027:21:34", "nodeType": "YulExpressionStatement", - "src": "4027:21:36" + "src": "4027:21:34" }, { "expression": { @@ -118501,51 +117511,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4068:9:36", + "nativeSrc": "4068:9:34", "nodeType": "YulIdentifier", - "src": "4068:9:36" + "src": "4068:9:34" }, { "kind": "number", - "nativeSrc": "4079:2:36", + "nativeSrc": "4079:2:34", "nodeType": "YulLiteral", - "src": "4079:2:36", + "src": "4079:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "4064:3:36", + "nativeSrc": "4064:3:34", "nodeType": "YulIdentifier", - "src": "4064:3:36" + "src": "4064:3:34" }, - "nativeSrc": "4064:18:36", + "nativeSrc": "4064:18:34", "nodeType": "YulFunctionCall", - "src": "4064:18:36" + "src": "4064:18:34" }, { "kind": "number", - "nativeSrc": "4084:2:36", + "nativeSrc": "4084:2:34", "nodeType": "YulLiteral", - "src": "4084:2:36", + "src": "4084:2:34", "type": "", "value": "53" } ], "functionName": { "name": "mstore", - "nativeSrc": "4057:6:36", + "nativeSrc": "4057:6:34", "nodeType": "YulIdentifier", - "src": "4057:6:36" + "src": "4057:6:34" }, - "nativeSrc": "4057:30:36", + "nativeSrc": "4057:30:34", "nodeType": "YulFunctionCall", - "src": "4057:30:36" + "src": "4057:30:34" }, - "nativeSrc": "4057:30:36", + "nativeSrc": "4057:30:34", "nodeType": "YulExpressionStatement", - "src": "4057:30:36" + "src": "4057:30:34" }, { "expression": { @@ -118554,52 +117564,52 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4107:9:36", + "nativeSrc": "4107:9:34", "nodeType": "YulIdentifier", - "src": "4107:9:36" + "src": "4107:9:34" }, { "kind": "number", - "nativeSrc": "4118:2:36", + "nativeSrc": "4118:2:34", "nodeType": "YulLiteral", - "src": "4118:2:36", + "src": "4118:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "4103:3:36", + "nativeSrc": "4103:3:34", "nodeType": "YulIdentifier", - "src": "4103:3:36" + "src": "4103:3:34" }, - "nativeSrc": "4103:18:36", + "nativeSrc": "4103:18:34", "nodeType": "YulFunctionCall", - "src": "4103:18:36" + "src": "4103:18:34" }, { "hexValue": "456e73656d626c65437265646974733a2063616e6e6f742072656d6f7665207a", "kind": "string", - "nativeSrc": "4123:34:36", + "nativeSrc": "4123:34:34", "nodeType": "YulLiteral", - "src": "4123:34:36", + "src": "4123:34:34", "type": "", "value": "EnsembleCredits: cannot remove z" } ], "functionName": { "name": "mstore", - "nativeSrc": "4096:6:36", + "nativeSrc": "4096:6:34", "nodeType": "YulIdentifier", - "src": "4096:6:36" + "src": "4096:6:34" }, - "nativeSrc": "4096:62:36", + "nativeSrc": "4096:62:34", "nodeType": "YulFunctionCall", - "src": "4096:62:36" + "src": "4096:62:34" }, - "nativeSrc": "4096:62:36", + "nativeSrc": "4096:62:34", "nodeType": "YulExpressionStatement", - "src": "4096:62:36" + "src": "4096:62:34" }, { "expression": { @@ -118608,155 +117618,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4178:9:36", + "nativeSrc": "4178:9:34", "nodeType": "YulIdentifier", - "src": "4178:9:36" + "src": "4178:9:34" }, { "kind": "number", - "nativeSrc": "4189:2:36", + "nativeSrc": "4189:2:34", "nodeType": "YulLiteral", - "src": "4189:2:36", + "src": "4189:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "4174:3:36", + "nativeSrc": "4174:3:34", "nodeType": "YulIdentifier", - "src": "4174:3:36" + "src": "4174:3:34" }, - "nativeSrc": "4174:18:36", + "nativeSrc": "4174:18:34", "nodeType": "YulFunctionCall", - "src": "4174:18:36" + "src": "4174:18:34" }, { "hexValue": "65726f2061646472657373206173206d696e746572", "kind": "string", - "nativeSrc": "4194:23:36", + "nativeSrc": "4194:23:34", "nodeType": "YulLiteral", - "src": "4194:23:36", + "src": "4194:23:34", "type": "", "value": "ero address as minter" } ], "functionName": { "name": "mstore", - "nativeSrc": "4167:6:36", + "nativeSrc": "4167:6:34", "nodeType": "YulIdentifier", - "src": "4167:6:36" + "src": "4167:6:34" }, - "nativeSrc": "4167:51:36", + "nativeSrc": "4167:51:34", "nodeType": "YulFunctionCall", - "src": "4167:51:36" + "src": "4167:51:34" }, - "nativeSrc": "4167:51:36", + "nativeSrc": "4167:51:34", "nodeType": "YulExpressionStatement", - "src": "4167:51:36" + "src": "4167:51:34" }, { - "nativeSrc": "4227:27:36", + "nativeSrc": "4227:27:34", "nodeType": "YulAssignment", - "src": "4227:27:36", + "src": "4227:27:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "4239:9:36", + "nativeSrc": "4239:9:34", "nodeType": "YulIdentifier", - "src": "4239:9:36" + "src": "4239:9:34" }, { "kind": "number", - "nativeSrc": "4250:3:36", + "nativeSrc": "4250:3:34", "nodeType": "YulLiteral", - "src": "4250:3:36", + "src": "4250:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "4235:3:36", + "nativeSrc": "4235:3:34", "nodeType": "YulIdentifier", - "src": "4235:3:36" + "src": "4235:3:34" }, - "nativeSrc": "4235:19:36", + "nativeSrc": "4235:19:34", "nodeType": "YulFunctionCall", - "src": "4235:19:36" + "src": "4235:19:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "4227:4:36", + "nativeSrc": "4227:4:34", "nodeType": "YulIdentifier", - "src": "4227:4:36" + "src": "4227:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_0f977984b9a987116fa311fff0f07fa855de2568319fa98f6b216d7369fa923a__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "3843:417:36", + "nativeSrc": "3843:417:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "3994:9:36", + "nativeSrc": "3994:9:34", "nodeType": "YulTypedName", - "src": "3994:9:36", + "src": "3994:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "4008:4:36", + "nativeSrc": "4008:4:34", "nodeType": "YulTypedName", - "src": "4008:4:36", + "src": "4008:4:34", "type": "" } ], - "src": "3843:417:36" + "src": "3843:417:34" }, { "body": { - "nativeSrc": "4439:230:36", + "nativeSrc": "4439:230:34", "nodeType": "YulBlock", - "src": "4439:230:36", + "src": "4439:230:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "4456:9:36", + "nativeSrc": "4456:9:34", "nodeType": "YulIdentifier", - "src": "4456:9:36" + "src": "4456:9:34" }, { "kind": "number", - "nativeSrc": "4467:2:36", + "nativeSrc": "4467:2:34", "nodeType": "YulLiteral", - "src": "4467:2:36", + "src": "4467:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "4449:6:36", + "nativeSrc": "4449:6:34", "nodeType": "YulIdentifier", - "src": "4449:6:36" + "src": "4449:6:34" }, - "nativeSrc": "4449:21:36", + "nativeSrc": "4449:21:34", "nodeType": "YulFunctionCall", - "src": "4449:21:36" + "src": "4449:21:34" }, - "nativeSrc": "4449:21:36", + "nativeSrc": "4449:21:34", "nodeType": "YulExpressionStatement", - "src": "4449:21:36" + "src": "4449:21:34" }, { "expression": { @@ -118765,51 +117775,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4490:9:36", + "nativeSrc": "4490:9:34", "nodeType": "YulIdentifier", - "src": "4490:9:36" + "src": "4490:9:34" }, { "kind": "number", - "nativeSrc": "4501:2:36", + "nativeSrc": "4501:2:34", "nodeType": "YulLiteral", - "src": "4501:2:36", + "src": "4501:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "4486:3:36", + "nativeSrc": "4486:3:34", "nodeType": "YulIdentifier", - "src": "4486:3:36" + "src": "4486:3:34" }, - "nativeSrc": "4486:18:36", + "nativeSrc": "4486:18:34", "nodeType": "YulFunctionCall", - "src": "4486:18:36" + "src": "4486:18:34" }, { "kind": "number", - "nativeSrc": "4506:2:36", + "nativeSrc": "4506:2:34", "nodeType": "YulLiteral", - "src": "4506:2:36", + "src": "4506:2:34", "type": "", "value": "40" } ], "functionName": { "name": "mstore", - "nativeSrc": "4479:6:36", + "nativeSrc": "4479:6:34", "nodeType": "YulIdentifier", - "src": "4479:6:36" + "src": "4479:6:34" }, - "nativeSrc": "4479:30:36", + "nativeSrc": "4479:30:34", "nodeType": "YulFunctionCall", - "src": "4479:30:36" + "src": "4479:30:34" }, - "nativeSrc": "4479:30:36", + "nativeSrc": "4479:30:34", "nodeType": "YulExpressionStatement", - "src": "4479:30:36" + "src": "4479:30:34" }, { "expression": { @@ -118818,52 +117828,52 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4529:9:36", + "nativeSrc": "4529:9:34", "nodeType": "YulIdentifier", - "src": "4529:9:36" + "src": "4529:9:34" }, { "kind": "number", - "nativeSrc": "4540:2:36", + "nativeSrc": "4540:2:34", "nodeType": "YulLiteral", - "src": "4540:2:36", + "src": "4540:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "4525:3:36", + "nativeSrc": "4525:3:34", "nodeType": "YulIdentifier", - "src": "4525:3:36" + "src": "4525:3:34" }, - "nativeSrc": "4525:18:36", + "nativeSrc": "4525:18:34", "nodeType": "YulFunctionCall", - "src": "4525:18:36" + "src": "4525:18:34" }, { "hexValue": "456e73656d626c65437265646974733a2061646472657373206973206e6f7420", "kind": "string", - "nativeSrc": "4545:34:36", + "nativeSrc": "4545:34:34", "nodeType": "YulLiteral", - "src": "4545:34:36", + "src": "4545:34:34", "type": "", "value": "EnsembleCredits: address is not " } ], "functionName": { "name": "mstore", - "nativeSrc": "4518:6:36", + "nativeSrc": "4518:6:34", "nodeType": "YulIdentifier", - "src": "4518:6:36" + "src": "4518:6:34" }, - "nativeSrc": "4518:62:36", + "nativeSrc": "4518:62:34", "nodeType": "YulFunctionCall", - "src": "4518:62:36" + "src": "4518:62:34" }, - "nativeSrc": "4518:62:36", + "nativeSrc": "4518:62:34", "nodeType": "YulExpressionStatement", - "src": "4518:62:36" + "src": "4518:62:34" }, { "expression": { @@ -118872,155 +117882,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4600:9:36", + "nativeSrc": "4600:9:34", "nodeType": "YulIdentifier", - "src": "4600:9:36" + "src": "4600:9:34" }, { "kind": "number", - "nativeSrc": "4611:2:36", + "nativeSrc": "4611:2:34", "nodeType": "YulLiteral", - "src": "4611:2:36", + "src": "4611:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "4596:3:36", + "nativeSrc": "4596:3:34", "nodeType": "YulIdentifier", - "src": "4596:3:36" + "src": "4596:3:34" }, - "nativeSrc": "4596:18:36", + "nativeSrc": "4596:18:34", "nodeType": "YulFunctionCall", - "src": "4596:18:36" + "src": "4596:18:34" }, { "hexValue": "61206d696e746572", "kind": "string", - "nativeSrc": "4616:10:36", + "nativeSrc": "4616:10:34", "nodeType": "YulLiteral", - "src": "4616:10:36", + "src": "4616:10:34", "type": "", "value": "a minter" } ], "functionName": { "name": "mstore", - "nativeSrc": "4589:6:36", + "nativeSrc": "4589:6:34", "nodeType": "YulIdentifier", - "src": "4589:6:36" + "src": "4589:6:34" }, - "nativeSrc": "4589:38:36", + "nativeSrc": "4589:38:34", "nodeType": "YulFunctionCall", - "src": "4589:38:36" + "src": "4589:38:34" }, - "nativeSrc": "4589:38:36", + "nativeSrc": "4589:38:34", "nodeType": "YulExpressionStatement", - "src": "4589:38:36" + "src": "4589:38:34" }, { - "nativeSrc": "4636:27:36", + "nativeSrc": "4636:27:34", "nodeType": "YulAssignment", - "src": "4636:27:36", + "src": "4636:27:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "4648:9:36", + "nativeSrc": "4648:9:34", "nodeType": "YulIdentifier", - "src": "4648:9:36" + "src": "4648:9:34" }, { "kind": "number", - "nativeSrc": "4659:3:36", + "nativeSrc": "4659:3:34", "nodeType": "YulLiteral", - "src": "4659:3:36", + "src": "4659:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "4644:3:36", + "nativeSrc": "4644:3:34", "nodeType": "YulIdentifier", - "src": "4644:3:36" + "src": "4644:3:34" }, - "nativeSrc": "4644:19:36", + "nativeSrc": "4644:19:34", "nodeType": "YulFunctionCall", - "src": "4644:19:36" + "src": "4644:19:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "4636:4:36", + "nativeSrc": "4636:4:34", "nodeType": "YulIdentifier", - "src": "4636:4:36" + "src": "4636:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_7b97b5b18010d50e12ae8c99c53a40cb4460bbe87eedecc389f17c034bb56a3f__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "4265:404:36", + "nativeSrc": "4265:404:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "4416:9:36", + "nativeSrc": "4416:9:34", "nodeType": "YulTypedName", - "src": "4416:9:36", + "src": "4416:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "4430:4:36", + "nativeSrc": "4430:4:34", "nodeType": "YulTypedName", - "src": "4430:4:36", + "src": "4430:4:34", "type": "" } ], - "src": "4265:404:36" + "src": "4265:404:34" }, { "body": { - "nativeSrc": "4848:234:36", + "nativeSrc": "4848:234:34", "nodeType": "YulBlock", - "src": "4848:234:36", + "src": "4848:234:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "4865:9:36", + "nativeSrc": "4865:9:34", "nodeType": "YulIdentifier", - "src": "4865:9:36" + "src": "4865:9:34" }, { "kind": "number", - "nativeSrc": "4876:2:36", + "nativeSrc": "4876:2:34", "nodeType": "YulLiteral", - "src": "4876:2:36", + "src": "4876:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "4858:6:36", + "nativeSrc": "4858:6:34", "nodeType": "YulIdentifier", - "src": "4858:6:36" + "src": "4858:6:34" }, - "nativeSrc": "4858:21:36", + "nativeSrc": "4858:21:34", "nodeType": "YulFunctionCall", - "src": "4858:21:36" + "src": "4858:21:34" }, - "nativeSrc": "4858:21:36", + "nativeSrc": "4858:21:34", "nodeType": "YulExpressionStatement", - "src": "4858:21:36" + "src": "4858:21:34" }, { "expression": { @@ -119029,51 +118039,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4899:9:36", + "nativeSrc": "4899:9:34", "nodeType": "YulIdentifier", - "src": "4899:9:36" + "src": "4899:9:34" }, { "kind": "number", - "nativeSrc": "4910:2:36", + "nativeSrc": "4910:2:34", "nodeType": "YulLiteral", - "src": "4910:2:36", + "src": "4910:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "4895:3:36", + "nativeSrc": "4895:3:34", "nodeType": "YulIdentifier", - "src": "4895:3:36" + "src": "4895:3:34" }, - "nativeSrc": "4895:18:36", + "nativeSrc": "4895:18:34", "nodeType": "YulFunctionCall", - "src": "4895:18:36" + "src": "4895:18:34" }, { "kind": "number", - "nativeSrc": "4915:2:36", + "nativeSrc": "4915:2:34", "nodeType": "YulLiteral", - "src": "4915:2:36", + "src": "4915:2:34", "type": "", "value": "44" } ], "functionName": { "name": "mstore", - "nativeSrc": "4888:6:36", + "nativeSrc": "4888:6:34", "nodeType": "YulIdentifier", - "src": "4888:6:36" + "src": "4888:6:34" }, - "nativeSrc": "4888:30:36", + "nativeSrc": "4888:30:34", "nodeType": "YulFunctionCall", - "src": "4888:30:36" + "src": "4888:30:34" }, - "nativeSrc": "4888:30:36", + "nativeSrc": "4888:30:34", "nodeType": "YulExpressionStatement", - "src": "4888:30:36" + "src": "4888:30:34" }, { "expression": { @@ -119082,52 +118092,52 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4938:9:36", + "nativeSrc": "4938:9:34", "nodeType": "YulIdentifier", - "src": "4938:9:36" + "src": "4938:9:34" }, { "kind": "number", - "nativeSrc": "4949:2:36", + "nativeSrc": "4949:2:34", "nodeType": "YulLiteral", - "src": "4949:2:36", + "src": "4949:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "4934:3:36", + "nativeSrc": "4934:3:34", "nodeType": "YulIdentifier", - "src": "4934:3:36" + "src": "4934:3:34" }, - "nativeSrc": "4934:18:36", + "nativeSrc": "4934:18:34", "nodeType": "YulFunctionCall", - "src": "4934:18:36" + "src": "4934:18:34" }, { "hexValue": "456e73656d626c65437265646974733a2063616e6e6f74206d696e7420746f20", "kind": "string", - "nativeSrc": "4954:34:36", + "nativeSrc": "4954:34:34", "nodeType": "YulLiteral", - "src": "4954:34:36", + "src": "4954:34:34", "type": "", "value": "EnsembleCredits: cannot mint to " } ], "functionName": { "name": "mstore", - "nativeSrc": "4927:6:36", + "nativeSrc": "4927:6:34", "nodeType": "YulIdentifier", - "src": "4927:6:36" + "src": "4927:6:34" }, - "nativeSrc": "4927:62:36", + "nativeSrc": "4927:62:34", "nodeType": "YulFunctionCall", - "src": "4927:62:36" + "src": "4927:62:34" }, - "nativeSrc": "4927:62:36", + "nativeSrc": "4927:62:34", "nodeType": "YulExpressionStatement", - "src": "4927:62:36" + "src": "4927:62:34" }, { "expression": { @@ -119136,155 +118146,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5009:9:36", + "nativeSrc": "5009:9:34", "nodeType": "YulIdentifier", - "src": "5009:9:36" + "src": "5009:9:34" }, { "kind": "number", - "nativeSrc": "5020:2:36", + "nativeSrc": "5020:2:34", "nodeType": "YulLiteral", - "src": "5020:2:36", + "src": "5020:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "5005:3:36", + "nativeSrc": "5005:3:34", "nodeType": "YulIdentifier", - "src": "5005:3:36" + "src": "5005:3:34" }, - "nativeSrc": "5005:18:36", + "nativeSrc": "5005:18:34", "nodeType": "YulFunctionCall", - "src": "5005:18:36" + "src": "5005:18:34" }, { "hexValue": "7a65726f2061646472657373", "kind": "string", - "nativeSrc": "5025:14:36", + "nativeSrc": "5025:14:34", "nodeType": "YulLiteral", - "src": "5025:14:36", + "src": "5025:14:34", "type": "", "value": "zero address" } ], "functionName": { "name": "mstore", - "nativeSrc": "4998:6:36", + "nativeSrc": "4998:6:34", "nodeType": "YulIdentifier", - "src": "4998:6:36" + "src": "4998:6:34" }, - "nativeSrc": "4998:42:36", + "nativeSrc": "4998:42:34", "nodeType": "YulFunctionCall", - "src": "4998:42:36" + "src": "4998:42:34" }, - "nativeSrc": "4998:42:36", + "nativeSrc": "4998:42:34", "nodeType": "YulExpressionStatement", - "src": "4998:42:36" + "src": "4998:42:34" }, { - "nativeSrc": "5049:27:36", + "nativeSrc": "5049:27:34", "nodeType": "YulAssignment", - "src": "5049:27:36", + "src": "5049:27:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5061:9:36", + "nativeSrc": "5061:9:34", "nodeType": "YulIdentifier", - "src": "5061:9:36" + "src": "5061:9:34" }, { "kind": "number", - "nativeSrc": "5072:3:36", + "nativeSrc": "5072:3:34", "nodeType": "YulLiteral", - "src": "5072:3:36", + "src": "5072:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "5057:3:36", + "nativeSrc": "5057:3:34", "nodeType": "YulIdentifier", - "src": "5057:3:36" + "src": "5057:3:34" }, - "nativeSrc": "5057:19:36", + "nativeSrc": "5057:19:34", "nodeType": "YulFunctionCall", - "src": "5057:19:36" + "src": "5057:19:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "5049:4:36", + "nativeSrc": "5049:4:34", "nodeType": "YulIdentifier", - "src": "5049:4:36" + "src": "5049:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_ece22e131737e13b73cdac47de42970bac0d7ee8645b98ac09d8d45d409dc046__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "4674:408:36", + "nativeSrc": "4674:408:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "4825:9:36", + "nativeSrc": "4825:9:34", "nodeType": "YulTypedName", - "src": "4825:9:36", + "src": "4825:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "4839:4:36", + "nativeSrc": "4839:4:34", "nodeType": "YulTypedName", - "src": "4839:4:36", + "src": "4839:4:34", "type": "" } ], - "src": "4674:408:36" + "src": "4674:408:34" }, { "body": { - "nativeSrc": "5261:295:36", + "nativeSrc": "5261:295:34", "nodeType": "YulBlock", - "src": "5261:295:36", + "src": "5261:295:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "5278:9:36", + "nativeSrc": "5278:9:34", "nodeType": "YulIdentifier", - "src": "5278:9:36" + "src": "5278:9:34" }, { "kind": "number", - "nativeSrc": "5289:2:36", + "nativeSrc": "5289:2:34", "nodeType": "YulLiteral", - "src": "5289:2:36", + "src": "5289:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "5271:6:36", + "nativeSrc": "5271:6:34", "nodeType": "YulIdentifier", - "src": "5271:6:36" + "src": "5271:6:34" }, - "nativeSrc": "5271:21:36", + "nativeSrc": "5271:21:34", "nodeType": "YulFunctionCall", - "src": "5271:21:36" + "src": "5271:21:34" }, - "nativeSrc": "5271:21:36", + "nativeSrc": "5271:21:34", "nodeType": "YulExpressionStatement", - "src": "5271:21:36" + "src": "5271:21:34" }, { "expression": { @@ -119293,51 +118303,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5312:9:36", + "nativeSrc": "5312:9:34", "nodeType": "YulIdentifier", - "src": "5312:9:36" + "src": "5312:9:34" }, { "kind": "number", - "nativeSrc": "5323:2:36", + "nativeSrc": "5323:2:34", "nodeType": "YulLiteral", - "src": "5323:2:36", + "src": "5323:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5308:3:36", + "nativeSrc": "5308:3:34", "nodeType": "YulIdentifier", - "src": "5308:3:36" + "src": "5308:3:34" }, - "nativeSrc": "5308:18:36", + "nativeSrc": "5308:18:34", "nodeType": "YulFunctionCall", - "src": "5308:18:36" + "src": "5308:18:34" }, { "kind": "number", - "nativeSrc": "5328:2:36", + "nativeSrc": "5328:2:34", "nodeType": "YulLiteral", - "src": "5328:2:36", + "src": "5328:2:34", "type": "", "value": "65" } ], "functionName": { "name": "mstore", - "nativeSrc": "5301:6:36", + "nativeSrc": "5301:6:34", "nodeType": "YulIdentifier", - "src": "5301:6:36" + "src": "5301:6:34" }, - "nativeSrc": "5301:30:36", + "nativeSrc": "5301:30:34", "nodeType": "YulFunctionCall", - "src": "5301:30:36" + "src": "5301:30:34" }, - "nativeSrc": "5301:30:36", + "nativeSrc": "5301:30:34", "nodeType": "YulExpressionStatement", - "src": "5301:30:36" + "src": "5301:30:34" }, { "expression": { @@ -119346,52 +118356,52 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5351:9:36", + "nativeSrc": "5351:9:34", "nodeType": "YulIdentifier", - "src": "5351:9:36" + "src": "5351:9:34" }, { "kind": "number", - "nativeSrc": "5362:2:36", + "nativeSrc": "5362:2:34", "nodeType": "YulLiteral", - "src": "5362:2:36", + "src": "5362:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "5347:3:36", + "nativeSrc": "5347:3:34", "nodeType": "YulIdentifier", - "src": "5347:3:36" + "src": "5347:3:34" }, - "nativeSrc": "5347:18:36", + "nativeSrc": "5347:18:34", "nodeType": "YulFunctionCall", - "src": "5347:18:36" + "src": "5347:18:34" }, { "hexValue": "456e73656d626c65437265646974733a2063616c6c6572206d75737420686176", "kind": "string", - "nativeSrc": "5367:34:36", + "nativeSrc": "5367:34:34", "nodeType": "YulLiteral", - "src": "5367:34:36", + "src": "5367:34:34", "type": "", "value": "EnsembleCredits: caller must hav" } ], "functionName": { "name": "mstore", - "nativeSrc": "5340:6:36", + "nativeSrc": "5340:6:34", "nodeType": "YulIdentifier", - "src": "5340:6:36" + "src": "5340:6:34" }, - "nativeSrc": "5340:62:36", + "nativeSrc": "5340:62:34", "nodeType": "YulFunctionCall", - "src": "5340:62:36" + "src": "5340:62:34" }, - "nativeSrc": "5340:62:36", + "nativeSrc": "5340:62:34", "nodeType": "YulExpressionStatement", - "src": "5340:62:36" + "src": "5340:62:34" }, { "expression": { @@ -119400,52 +118410,52 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5422:9:36", + "nativeSrc": "5422:9:34", "nodeType": "YulIdentifier", - "src": "5422:9:36" + "src": "5422:9:34" }, { "kind": "number", - "nativeSrc": "5433:2:36", + "nativeSrc": "5433:2:34", "nodeType": "YulLiteral", - "src": "5433:2:36", + "src": "5433:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "5418:3:36", + "nativeSrc": "5418:3:34", "nodeType": "YulIdentifier", - "src": "5418:3:36" + "src": "5418:3:34" }, - "nativeSrc": "5418:18:36", + "nativeSrc": "5418:18:34", "nodeType": "YulFunctionCall", - "src": "5418:18:36" + "src": "5418:18:34" }, { "hexValue": "65206d696e74657220726f6c6520746f206275726e2066726f6d206f74686572", "kind": "string", - "nativeSrc": "5438:34:36", + "nativeSrc": "5438:34:34", "nodeType": "YulLiteral", - "src": "5438:34:36", + "src": "5438:34:34", "type": "", "value": "e minter role to burn from other" } ], "functionName": { "name": "mstore", - "nativeSrc": "5411:6:36", + "nativeSrc": "5411:6:34", "nodeType": "YulIdentifier", - "src": "5411:6:36" + "src": "5411:6:34" }, - "nativeSrc": "5411:62:36", + "nativeSrc": "5411:62:34", "nodeType": "YulFunctionCall", - "src": "5411:62:36" + "src": "5411:62:34" }, - "nativeSrc": "5411:62:36", + "nativeSrc": "5411:62:34", "nodeType": "YulExpressionStatement", - "src": "5411:62:36" + "src": "5411:62:34" }, { "expression": { @@ -119454,155 +118464,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5493:9:36", + "nativeSrc": "5493:9:34", "nodeType": "YulIdentifier", - "src": "5493:9:36" + "src": "5493:9:34" }, { "kind": "number", - "nativeSrc": "5504:3:36", + "nativeSrc": "5504:3:34", "nodeType": "YulLiteral", - "src": "5504:3:36", + "src": "5504:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "5489:3:36", + "nativeSrc": "5489:3:34", "nodeType": "YulIdentifier", - "src": "5489:3:36" + "src": "5489:3:34" }, - "nativeSrc": "5489:19:36", + "nativeSrc": "5489:19:34", "nodeType": "YulFunctionCall", - "src": "5489:19:36" + "src": "5489:19:34" }, { "hexValue": "73", "kind": "string", - "nativeSrc": "5510:3:36", + "nativeSrc": "5510:3:34", "nodeType": "YulLiteral", - "src": "5510:3:36", + "src": "5510:3:34", "type": "", "value": "s" } ], "functionName": { "name": "mstore", - "nativeSrc": "5482:6:36", + "nativeSrc": "5482:6:34", "nodeType": "YulIdentifier", - "src": "5482:6:36" + "src": "5482:6:34" }, - "nativeSrc": "5482:32:36", + "nativeSrc": "5482:32:34", "nodeType": "YulFunctionCall", - "src": "5482:32:36" + "src": "5482:32:34" }, - "nativeSrc": "5482:32:36", + "nativeSrc": "5482:32:34", "nodeType": "YulExpressionStatement", - "src": "5482:32:36" + "src": "5482:32:34" }, { - "nativeSrc": "5523:27:36", + "nativeSrc": "5523:27:34", "nodeType": "YulAssignment", - "src": "5523:27:36", + "src": "5523:27:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5535:9:36", + "nativeSrc": "5535:9:34", "nodeType": "YulIdentifier", - "src": "5535:9:36" + "src": "5535:9:34" }, { "kind": "number", - "nativeSrc": "5546:3:36", + "nativeSrc": "5546:3:34", "nodeType": "YulLiteral", - "src": "5546:3:36", + "src": "5546:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "5531:3:36", + "nativeSrc": "5531:3:34", "nodeType": "YulIdentifier", - "src": "5531:3:36" + "src": "5531:3:34" }, - "nativeSrc": "5531:19:36", + "nativeSrc": "5531:19:34", "nodeType": "YulFunctionCall", - "src": "5531:19:36" + "src": "5531:19:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "5523:4:36", + "nativeSrc": "5523:4:34", "nodeType": "YulIdentifier", - "src": "5523:4:36" + "src": "5523:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_7815d089f9874b4253714de5702cea83f9e42d6d41dd41514d277e05d3c1d19c__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "5087:469:36", + "nativeSrc": "5087:469:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "5238:9:36", + "nativeSrc": "5238:9:34", "nodeType": "YulTypedName", - "src": "5238:9:36", + "src": "5238:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "5252:4:36", + "nativeSrc": "5252:4:34", "nodeType": "YulTypedName", - "src": "5252:4:36", + "src": "5252:4:34", "type": "" } ], - "src": "5087:469:36" + "src": "5087:469:34" }, { "body": { - "nativeSrc": "5735:236:36", + "nativeSrc": "5735:236:34", "nodeType": "YulBlock", - "src": "5735:236:36", + "src": "5735:236:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "5752:9:36", + "nativeSrc": "5752:9:34", "nodeType": "YulIdentifier", - "src": "5752:9:36" + "src": "5752:9:34" }, { "kind": "number", - "nativeSrc": "5763:2:36", + "nativeSrc": "5763:2:34", "nodeType": "YulLiteral", - "src": "5763:2:36", + "src": "5763:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "5745:6:36", + "nativeSrc": "5745:6:34", "nodeType": "YulIdentifier", - "src": "5745:6:36" + "src": "5745:6:34" }, - "nativeSrc": "5745:21:36", + "nativeSrc": "5745:21:34", "nodeType": "YulFunctionCall", - "src": "5745:21:36" + "src": "5745:21:34" }, - "nativeSrc": "5745:21:36", + "nativeSrc": "5745:21:34", "nodeType": "YulExpressionStatement", - "src": "5745:21:36" + "src": "5745:21:34" }, { "expression": { @@ -119611,51 +118621,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5786:9:36", + "nativeSrc": "5786:9:34", "nodeType": "YulIdentifier", - "src": "5786:9:36" + "src": "5786:9:34" }, { "kind": "number", - "nativeSrc": "5797:2:36", + "nativeSrc": "5797:2:34", "nodeType": "YulLiteral", - "src": "5797:2:36", + "src": "5797:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5782:3:36", + "nativeSrc": "5782:3:34", "nodeType": "YulIdentifier", - "src": "5782:3:36" + "src": "5782:3:34" }, - "nativeSrc": "5782:18:36", + "nativeSrc": "5782:18:34", "nodeType": "YulFunctionCall", - "src": "5782:18:36" + "src": "5782:18:34" }, { "kind": "number", - "nativeSrc": "5802:2:36", + "nativeSrc": "5802:2:34", "nodeType": "YulLiteral", - "src": "5802:2:36", + "src": "5802:2:34", "type": "", "value": "46" } ], "functionName": { "name": "mstore", - "nativeSrc": "5775:6:36", + "nativeSrc": "5775:6:34", "nodeType": "YulIdentifier", - "src": "5775:6:36" + "src": "5775:6:34" }, - "nativeSrc": "5775:30:36", + "nativeSrc": "5775:30:34", "nodeType": "YulFunctionCall", - "src": "5775:30:36" + "src": "5775:30:34" }, - "nativeSrc": "5775:30:36", + "nativeSrc": "5775:30:34", "nodeType": "YulExpressionStatement", - "src": "5775:30:36" + "src": "5775:30:34" }, { "expression": { @@ -119664,52 +118674,52 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5825:9:36", + "nativeSrc": "5825:9:34", "nodeType": "YulIdentifier", - "src": "5825:9:36" + "src": "5825:9:34" }, { "kind": "number", - "nativeSrc": "5836:2:36", + "nativeSrc": "5836:2:34", "nodeType": "YulLiteral", - "src": "5836:2:36", + "src": "5836:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "5821:3:36", + "nativeSrc": "5821:3:34", "nodeType": "YulIdentifier", - "src": "5821:3:36" + "src": "5821:3:34" }, - "nativeSrc": "5821:18:36", + "nativeSrc": "5821:18:34", "nodeType": "YulFunctionCall", - "src": "5821:18:36" + "src": "5821:18:34" }, { "hexValue": "456e73656d626c65437265646974733a2063616e6e6f74206275726e2066726f", "kind": "string", - "nativeSrc": "5841:34:36", + "nativeSrc": "5841:34:34", "nodeType": "YulLiteral", - "src": "5841:34:36", + "src": "5841:34:34", "type": "", "value": "EnsembleCredits: cannot burn fro" } ], "functionName": { "name": "mstore", - "nativeSrc": "5814:6:36", + "nativeSrc": "5814:6:34", "nodeType": "YulIdentifier", - "src": "5814:6:36" + "src": "5814:6:34" }, - "nativeSrc": "5814:62:36", + "nativeSrc": "5814:62:34", "nodeType": "YulFunctionCall", - "src": "5814:62:36" + "src": "5814:62:34" }, - "nativeSrc": "5814:62:36", + "nativeSrc": "5814:62:34", "nodeType": "YulExpressionStatement", - "src": "5814:62:36" + "src": "5814:62:34" }, { "expression": { @@ -119718,155 +118728,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5896:9:36", + "nativeSrc": "5896:9:34", "nodeType": "YulIdentifier", - "src": "5896:9:36" + "src": "5896:9:34" }, { "kind": "number", - "nativeSrc": "5907:2:36", + "nativeSrc": "5907:2:34", "nodeType": "YulLiteral", - "src": "5907:2:36", + "src": "5907:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "5892:3:36", + "nativeSrc": "5892:3:34", "nodeType": "YulIdentifier", - "src": "5892:3:36" + "src": "5892:3:34" }, - "nativeSrc": "5892:18:36", + "nativeSrc": "5892:18:34", "nodeType": "YulFunctionCall", - "src": "5892:18:36" + "src": "5892:18:34" }, { "hexValue": "6d207a65726f2061646472657373", "kind": "string", - "nativeSrc": "5912:16:36", + "nativeSrc": "5912:16:34", "nodeType": "YulLiteral", - "src": "5912:16:36", + "src": "5912:16:34", "type": "", "value": "m zero address" } ], "functionName": { "name": "mstore", - "nativeSrc": "5885:6:36", + "nativeSrc": "5885:6:34", "nodeType": "YulIdentifier", - "src": "5885:6:36" + "src": "5885:6:34" }, - "nativeSrc": "5885:44:36", + "nativeSrc": "5885:44:34", "nodeType": "YulFunctionCall", - "src": "5885:44:36" + "src": "5885:44:34" }, - "nativeSrc": "5885:44:36", + "nativeSrc": "5885:44:34", "nodeType": "YulExpressionStatement", - "src": "5885:44:36" + "src": "5885:44:34" }, { - "nativeSrc": "5938:27:36", + "nativeSrc": "5938:27:34", "nodeType": "YulAssignment", - "src": "5938:27:36", + "src": "5938:27:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5950:9:36", + "nativeSrc": "5950:9:34", "nodeType": "YulIdentifier", - "src": "5950:9:36" + "src": "5950:9:34" }, { "kind": "number", - "nativeSrc": "5961:3:36", + "nativeSrc": "5961:3:34", "nodeType": "YulLiteral", - "src": "5961:3:36", + "src": "5961:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "5946:3:36", + "nativeSrc": "5946:3:34", "nodeType": "YulIdentifier", - "src": "5946:3:36" + "src": "5946:3:34" }, - "nativeSrc": "5946:19:36", + "nativeSrc": "5946:19:34", "nodeType": "YulFunctionCall", - "src": "5946:19:36" + "src": "5946:19:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "5938:4:36", + "nativeSrc": "5938:4:34", "nodeType": "YulIdentifier", - "src": "5938:4:36" + "src": "5938:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_2916fae4034560c404df63ca2cb35a62b45027a8c71efd99ce6e6acf11a895d5__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "5561:410:36", + "nativeSrc": "5561:410:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "5712:9:36", + "nativeSrc": "5712:9:34", "nodeType": "YulTypedName", - "src": "5712:9:36", + "src": "5712:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "5726:4:36", + "nativeSrc": "5726:4:34", "nodeType": "YulTypedName", - "src": "5726:4:36", + "src": "5726:4:34", "type": "" } ], - "src": "5561:410:36" + "src": "5561:410:34" }, { "body": { - "nativeSrc": "6150:240:36", + "nativeSrc": "6150:240:34", "nodeType": "YulBlock", - "src": "6150:240:36", + "src": "6150:240:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "6167:9:36", + "nativeSrc": "6167:9:34", "nodeType": "YulIdentifier", - "src": "6167:9:36" + "src": "6167:9:34" }, { "kind": "number", - "nativeSrc": "6178:2:36", + "nativeSrc": "6178:2:34", "nodeType": "YulLiteral", - "src": "6178:2:36", + "src": "6178:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "6160:6:36", + "nativeSrc": "6160:6:34", "nodeType": "YulIdentifier", - "src": "6160:6:36" + "src": "6160:6:34" }, - "nativeSrc": "6160:21:36", + "nativeSrc": "6160:21:34", "nodeType": "YulFunctionCall", - "src": "6160:21:36" + "src": "6160:21:34" }, - "nativeSrc": "6160:21:36", + "nativeSrc": "6160:21:34", "nodeType": "YulExpressionStatement", - "src": "6160:21:36" + "src": "6160:21:34" }, { "expression": { @@ -119875,51 +118885,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "6201:9:36", + "nativeSrc": "6201:9:34", "nodeType": "YulIdentifier", - "src": "6201:9:36" + "src": "6201:9:34" }, { "kind": "number", - "nativeSrc": "6212:2:36", + "nativeSrc": "6212:2:34", "nodeType": "YulLiteral", - "src": "6212:2:36", + "src": "6212:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "6197:3:36", + "nativeSrc": "6197:3:34", "nodeType": "YulIdentifier", - "src": "6197:3:36" + "src": "6197:3:34" }, - "nativeSrc": "6197:18:36", + "nativeSrc": "6197:18:34", "nodeType": "YulFunctionCall", - "src": "6197:18:36" + "src": "6197:18:34" }, { "kind": "number", - "nativeSrc": "6217:2:36", + "nativeSrc": "6217:2:34", "nodeType": "YulLiteral", - "src": "6217:2:36", + "src": "6217:2:34", "type": "", "value": "50" } ], "functionName": { "name": "mstore", - "nativeSrc": "6190:6:36", + "nativeSrc": "6190:6:34", "nodeType": "YulIdentifier", - "src": "6190:6:36" + "src": "6190:6:34" }, - "nativeSrc": "6190:30:36", + "nativeSrc": "6190:30:34", "nodeType": "YulFunctionCall", - "src": "6190:30:36" + "src": "6190:30:34" }, - "nativeSrc": "6190:30:36", + "nativeSrc": "6190:30:34", "nodeType": "YulExpressionStatement", - "src": "6190:30:36" + "src": "6190:30:34" }, { "expression": { @@ -119928,52 +118938,52 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "6240:9:36", + "nativeSrc": "6240:9:34", "nodeType": "YulIdentifier", - "src": "6240:9:36" + "src": "6240:9:34" }, { "kind": "number", - "nativeSrc": "6251:2:36", + "nativeSrc": "6251:2:34", "nodeType": "YulLiteral", - "src": "6251:2:36", + "src": "6251:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "6236:3:36", + "nativeSrc": "6236:3:34", "nodeType": "YulIdentifier", - "src": "6236:3:36" + "src": "6236:3:34" }, - "nativeSrc": "6236:18:36", + "nativeSrc": "6236:18:34", "nodeType": "YulFunctionCall", - "src": "6236:18:36" + "src": "6236:18:34" }, { "hexValue": "456e73656d626c65437265646974733a2063616e6e6f7420616464207a65726f", "kind": "string", - "nativeSrc": "6256:34:36", + "nativeSrc": "6256:34:34", "nodeType": "YulLiteral", - "src": "6256:34:36", + "src": "6256:34:34", "type": "", "value": "EnsembleCredits: cannot add zero" } ], "functionName": { "name": "mstore", - "nativeSrc": "6229:6:36", + "nativeSrc": "6229:6:34", "nodeType": "YulIdentifier", - "src": "6229:6:36" + "src": "6229:6:34" }, - "nativeSrc": "6229:62:36", + "nativeSrc": "6229:62:34", "nodeType": "YulFunctionCall", - "src": "6229:62:36" + "src": "6229:62:34" }, - "nativeSrc": "6229:62:36", + "nativeSrc": "6229:62:34", "nodeType": "YulExpressionStatement", - "src": "6229:62:36" + "src": "6229:62:34" }, { "expression": { @@ -119982,161 +118992,161 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "6311:9:36", + "nativeSrc": "6311:9:34", "nodeType": "YulIdentifier", - "src": "6311:9:36" + "src": "6311:9:34" }, { "kind": "number", - "nativeSrc": "6322:2:36", + "nativeSrc": "6322:2:34", "nodeType": "YulLiteral", - "src": "6322:2:36", + "src": "6322:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "6307:3:36", + "nativeSrc": "6307:3:34", "nodeType": "YulIdentifier", - "src": "6307:3:36" + "src": "6307:3:34" }, - "nativeSrc": "6307:18:36", + "nativeSrc": "6307:18:34", "nodeType": "YulFunctionCall", - "src": "6307:18:36" + "src": "6307:18:34" }, { "hexValue": "2061646472657373206173206d696e746572", "kind": "string", - "nativeSrc": "6327:20:36", + "nativeSrc": "6327:20:34", "nodeType": "YulLiteral", - "src": "6327:20:36", + "src": "6327:20:34", "type": "", "value": " address as minter" } ], "functionName": { "name": "mstore", - "nativeSrc": "6300:6:36", + "nativeSrc": "6300:6:34", "nodeType": "YulIdentifier", - "src": "6300:6:36" + "src": "6300:6:34" }, - "nativeSrc": "6300:48:36", + "nativeSrc": "6300:48:34", "nodeType": "YulFunctionCall", - "src": "6300:48:36" + "src": "6300:48:34" }, - "nativeSrc": "6300:48:36", + "nativeSrc": "6300:48:34", "nodeType": "YulExpressionStatement", - "src": "6300:48:36" + "src": "6300:48:34" }, { - "nativeSrc": "6357:27:36", + "nativeSrc": "6357:27:34", "nodeType": "YulAssignment", - "src": "6357:27:36", + "src": "6357:27:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "6369:9:36", + "nativeSrc": "6369:9:34", "nodeType": "YulIdentifier", - "src": "6369:9:36" + "src": "6369:9:34" }, { "kind": "number", - "nativeSrc": "6380:3:36", + "nativeSrc": "6380:3:34", "nodeType": "YulLiteral", - "src": "6380:3:36", + "src": "6380:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "6365:3:36", + "nativeSrc": "6365:3:34", "nodeType": "YulIdentifier", - "src": "6365:3:36" + "src": "6365:3:34" }, - "nativeSrc": "6365:19:36", + "nativeSrc": "6365:19:34", "nodeType": "YulFunctionCall", - "src": "6365:19:36" + "src": "6365:19:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "6357:4:36", + "nativeSrc": "6357:4:34", "nodeType": "YulIdentifier", - "src": "6357:4:36" + "src": "6357:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_91387b747fb470002bf81e7f7ecfb57b982d680e0bde59487e175600512aa2a0__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "5976:414:36", + "nativeSrc": "5976:414:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6127:9:36", + "nativeSrc": "6127:9:34", "nodeType": "YulTypedName", - "src": "6127:9:36", + "src": "6127:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "6141:4:36", + "nativeSrc": "6141:4:34", "nodeType": "YulTypedName", - "src": "6141:4:36", + "src": "6141:4:34", "type": "" } ], - "src": "5976:414:36" + "src": "5976:414:34" }, { "body": { - "nativeSrc": "6496:102:36", + "nativeSrc": "6496:102:34", "nodeType": "YulBlock", - "src": "6496:102:36", + "src": "6496:102:34", "statements": [ { - "nativeSrc": "6506:26:36", + "nativeSrc": "6506:26:34", "nodeType": "YulAssignment", - "src": "6506:26:36", + "src": "6506:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "6518:9:36", + "nativeSrc": "6518:9:34", "nodeType": "YulIdentifier", - "src": "6518:9:36" + "src": "6518:9:34" }, { "kind": "number", - "nativeSrc": "6529:2:36", + "nativeSrc": "6529:2:34", "nodeType": "YulLiteral", - "src": "6529:2:36", + "src": "6529:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "6514:3:36", + "nativeSrc": "6514:3:34", "nodeType": "YulIdentifier", - "src": "6514:3:36" + "src": "6514:3:34" }, - "nativeSrc": "6514:18:36", + "nativeSrc": "6514:18:34", "nodeType": "YulFunctionCall", - "src": "6514:18:36" + "src": "6514:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "6506:4:36", + "nativeSrc": "6506:4:34", "nodeType": "YulIdentifier", - "src": "6506:4:36" + "src": "6506:4:34" } ] }, @@ -120145,17 +119155,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "6548:9:36", + "nativeSrc": "6548:9:34", "nodeType": "YulIdentifier", - "src": "6548:9:36" + "src": "6548:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "6563:6:36", + "nativeSrc": "6563:6:34", "nodeType": "YulIdentifier", - "src": "6563:6:36" + "src": "6563:6:34" }, { "arguments": [ @@ -120163,151 +119173,151 @@ "arguments": [ { "kind": "number", - "nativeSrc": "6579:3:36", + "nativeSrc": "6579:3:34", "nodeType": "YulLiteral", - "src": "6579:3:36", + "src": "6579:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "6584:1:36", + "nativeSrc": "6584:1:34", "nodeType": "YulLiteral", - "src": "6584:1:36", + "src": "6584:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "6575:3:36", + "nativeSrc": "6575:3:34", "nodeType": "YulIdentifier", - "src": "6575:3:36" + "src": "6575:3:34" }, - "nativeSrc": "6575:11:36", + "nativeSrc": "6575:11:34", "nodeType": "YulFunctionCall", - "src": "6575:11:36" + "src": "6575:11:34" }, { "kind": "number", - "nativeSrc": "6588:1:36", + "nativeSrc": "6588:1:34", "nodeType": "YulLiteral", - "src": "6588:1:36", + "src": "6588:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "6571:3:36", + "nativeSrc": "6571:3:34", "nodeType": "YulIdentifier", - "src": "6571:3:36" + "src": "6571:3:34" }, - "nativeSrc": "6571:19:36", + "nativeSrc": "6571:19:34", "nodeType": "YulFunctionCall", - "src": "6571:19:36" + "src": "6571:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "6559:3:36", + "nativeSrc": "6559:3:34", "nodeType": "YulIdentifier", - "src": "6559:3:36" + "src": "6559:3:34" }, - "nativeSrc": "6559:32:36", + "nativeSrc": "6559:32:34", "nodeType": "YulFunctionCall", - "src": "6559:32:36" + "src": "6559:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "6541:6:36", + "nativeSrc": "6541:6:34", "nodeType": "YulIdentifier", - "src": "6541:6:36" + "src": "6541:6:34" }, - "nativeSrc": "6541:51:36", + "nativeSrc": "6541:51:34", "nodeType": "YulFunctionCall", - "src": "6541:51:36" + "src": "6541:51:34" }, - "nativeSrc": "6541:51:36", + "nativeSrc": "6541:51:34", "nodeType": "YulExpressionStatement", - "src": "6541:51:36" + "src": "6541:51:34" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nativeSrc": "6395:203:36", + "nativeSrc": "6395:203:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6465:9:36", + "nativeSrc": "6465:9:34", "nodeType": "YulTypedName", - "src": "6465:9:36", + "src": "6465:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "6476:6:36", + "nativeSrc": "6476:6:34", "nodeType": "YulTypedName", - "src": "6476:6:36", + "src": "6476:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "6487:4:36", + "nativeSrc": "6487:4:34", "nodeType": "YulTypedName", - "src": "6487:4:36", + "src": "6487:4:34", "type": "" } ], - "src": "6395:203:36" + "src": "6395:203:34" }, { "body": { - "nativeSrc": "6732:145:36", + "nativeSrc": "6732:145:34", "nodeType": "YulBlock", - "src": "6732:145:36", + "src": "6732:145:34", "statements": [ { - "nativeSrc": "6742:26:36", + "nativeSrc": "6742:26:34", "nodeType": "YulAssignment", - "src": "6742:26:36", + "src": "6742:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "6754:9:36", + "nativeSrc": "6754:9:34", "nodeType": "YulIdentifier", - "src": "6754:9:36" + "src": "6754:9:34" }, { "kind": "number", - "nativeSrc": "6765:2:36", + "nativeSrc": "6765:2:34", "nodeType": "YulLiteral", - "src": "6765:2:36", + "src": "6765:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "6750:3:36", + "nativeSrc": "6750:3:34", "nodeType": "YulIdentifier", - "src": "6750:3:36" + "src": "6750:3:34" }, - "nativeSrc": "6750:18:36", + "nativeSrc": "6750:18:34", "nodeType": "YulFunctionCall", - "src": "6750:18:36" + "src": "6750:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "6742:4:36", + "nativeSrc": "6742:4:34", "nodeType": "YulIdentifier", - "src": "6742:4:36" + "src": "6742:4:34" } ] }, @@ -120316,17 +119326,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "6784:9:36", + "nativeSrc": "6784:9:34", "nodeType": "YulIdentifier", - "src": "6784:9:36" + "src": "6784:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "6799:6:36", + "nativeSrc": "6799:6:34", "nodeType": "YulIdentifier", - "src": "6799:6:36" + "src": "6799:6:34" }, { "arguments": [ @@ -120334,75 +119344,75 @@ "arguments": [ { "kind": "number", - "nativeSrc": "6815:3:36", + "nativeSrc": "6815:3:34", "nodeType": "YulLiteral", - "src": "6815:3:36", + "src": "6815:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "6820:1:36", + "nativeSrc": "6820:1:34", "nodeType": "YulLiteral", - "src": "6820:1:36", + "src": "6820:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "6811:3:36", + "nativeSrc": "6811:3:34", "nodeType": "YulIdentifier", - "src": "6811:3:36" + "src": "6811:3:34" }, - "nativeSrc": "6811:11:36", + "nativeSrc": "6811:11:34", "nodeType": "YulFunctionCall", - "src": "6811:11:36" + "src": "6811:11:34" }, { "kind": "number", - "nativeSrc": "6824:1:36", + "nativeSrc": "6824:1:34", "nodeType": "YulLiteral", - "src": "6824:1:36", + "src": "6824:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "6807:3:36", + "nativeSrc": "6807:3:34", "nodeType": "YulIdentifier", - "src": "6807:3:36" + "src": "6807:3:34" }, - "nativeSrc": "6807:19:36", + "nativeSrc": "6807:19:34", "nodeType": "YulFunctionCall", - "src": "6807:19:36" + "src": "6807:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "6795:3:36", + "nativeSrc": "6795:3:34", "nodeType": "YulIdentifier", - "src": "6795:3:36" + "src": "6795:3:34" }, - "nativeSrc": "6795:32:36", + "nativeSrc": "6795:32:34", "nodeType": "YulFunctionCall", - "src": "6795:32:36" + "src": "6795:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "6777:6:36", + "nativeSrc": "6777:6:34", "nodeType": "YulIdentifier", - "src": "6777:6:36" + "src": "6777:6:34" }, - "nativeSrc": "6777:51:36", + "nativeSrc": "6777:51:34", "nodeType": "YulFunctionCall", - "src": "6777:51:36" + "src": "6777:51:34" }, - "nativeSrc": "6777:51:36", + "nativeSrc": "6777:51:34", "nodeType": "YulExpressionStatement", - "src": "6777:51:36" + "src": "6777:51:34" }, { "expression": { @@ -120411,147 +119421,147 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "6848:9:36", + "nativeSrc": "6848:9:34", "nodeType": "YulIdentifier", - "src": "6848:9:36" + "src": "6848:9:34" }, { "kind": "number", - "nativeSrc": "6859:2:36", + "nativeSrc": "6859:2:34", "nodeType": "YulLiteral", - "src": "6859:2:36", + "src": "6859:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "6844:3:36", + "nativeSrc": "6844:3:34", "nodeType": "YulIdentifier", - "src": "6844:3:36" + "src": "6844:3:34" }, - "nativeSrc": "6844:18:36", + "nativeSrc": "6844:18:34", "nodeType": "YulFunctionCall", - "src": "6844:18:36" + "src": "6844:18:34" }, { "name": "value1", - "nativeSrc": "6864:6:36", + "nativeSrc": "6864:6:34", "nodeType": "YulIdentifier", - "src": "6864:6:36" + "src": "6864:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "6837:6:36", + "nativeSrc": "6837:6:34", "nodeType": "YulIdentifier", - "src": "6837:6:36" + "src": "6837:6:34" }, - "nativeSrc": "6837:34:36", + "nativeSrc": "6837:34:34", "nodeType": "YulFunctionCall", - "src": "6837:34:36" + "src": "6837:34:34" }, - "nativeSrc": "6837:34:36", + "nativeSrc": "6837:34:34", "nodeType": "YulExpressionStatement", - "src": "6837:34:36" + "src": "6837:34:34" } ] }, "name": "abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed", - "nativeSrc": "6603:274:36", + "nativeSrc": "6603:274:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6693:9:36", + "nativeSrc": "6693:9:34", "nodeType": "YulTypedName", - "src": "6693:9:36", + "src": "6693:9:34", "type": "" }, { "name": "value1", - "nativeSrc": "6704:6:36", + "nativeSrc": "6704:6:34", "nodeType": "YulTypedName", - "src": "6704:6:36", + "src": "6704:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "6712:6:36", + "nativeSrc": "6712:6:34", "nodeType": "YulTypedName", - "src": "6712:6:36", + "src": "6712:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "6723:4:36", + "nativeSrc": "6723:4:34", "nodeType": "YulTypedName", - "src": "6723:4:36", + "src": "6723:4:34", "type": "" } ], - "src": "6603:274:36" + "src": "6603:274:34" }, { "body": { - "nativeSrc": "6930:174:36", + "nativeSrc": "6930:174:34", "nodeType": "YulBlock", - "src": "6930:174:36", + "src": "6930:174:34", "statements": [ { - "nativeSrc": "6940:16:36", + "nativeSrc": "6940:16:34", "nodeType": "YulAssignment", - "src": "6940:16:36", + "src": "6940:16:34", "value": { "arguments": [ { "name": "x", - "nativeSrc": "6951:1:36", + "nativeSrc": "6951:1:34", "nodeType": "YulIdentifier", - "src": "6951:1:36" + "src": "6951:1:34" }, { "name": "y", - "nativeSrc": "6954:1:36", + "nativeSrc": "6954:1:34", "nodeType": "YulIdentifier", - "src": "6954:1:36" + "src": "6954:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "6947:3:36", + "nativeSrc": "6947:3:34", "nodeType": "YulIdentifier", - "src": "6947:3:36" + "src": "6947:3:34" }, - "nativeSrc": "6947:9:36", + "nativeSrc": "6947:9:34", "nodeType": "YulFunctionCall", - "src": "6947:9:36" + "src": "6947:9:34" }, "variableNames": [ { "name": "sum", - "nativeSrc": "6940:3:36", + "nativeSrc": "6940:3:34", "nodeType": "YulIdentifier", - "src": "6940:3:36" + "src": "6940:3:34" } ] }, { "body": { - "nativeSrc": "6987:111:36", + "nativeSrc": "6987:111:34", "nodeType": "YulBlock", - "src": "6987:111:36", + "src": "6987:111:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "7008:1:36", + "nativeSrc": "7008:1:34", "nodeType": "YulLiteral", - "src": "7008:1:36", + "src": "7008:1:34", "type": "", "value": "0" }, @@ -120559,113 +119569,113 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7015:3:36", + "nativeSrc": "7015:3:34", "nodeType": "YulLiteral", - "src": "7015:3:36", + "src": "7015:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "7020:10:36", + "nativeSrc": "7020:10:34", "nodeType": "YulLiteral", - "src": "7020:10:36", + "src": "7020:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "7011:3:36", + "nativeSrc": "7011:3:34", "nodeType": "YulIdentifier", - "src": "7011:3:36" + "src": "7011:3:34" }, - "nativeSrc": "7011:20:36", + "nativeSrc": "7011:20:34", "nodeType": "YulFunctionCall", - "src": "7011:20:36" + "src": "7011:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "7001:6:36", + "nativeSrc": "7001:6:34", "nodeType": "YulIdentifier", - "src": "7001:6:36" + "src": "7001:6:34" }, - "nativeSrc": "7001:31:36", + "nativeSrc": "7001:31:34", "nodeType": "YulFunctionCall", - "src": "7001:31:36" + "src": "7001:31:34" }, - "nativeSrc": "7001:31:36", + "nativeSrc": "7001:31:34", "nodeType": "YulExpressionStatement", - "src": "7001:31:36" + "src": "7001:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "7052:1:36", + "nativeSrc": "7052:1:34", "nodeType": "YulLiteral", - "src": "7052:1:36", + "src": "7052:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "7055:4:36", + "nativeSrc": "7055:4:34", "nodeType": "YulLiteral", - "src": "7055:4:36", + "src": "7055:4:34", "type": "", "value": "0x11" } ], "functionName": { "name": "mstore", - "nativeSrc": "7045:6:36", + "nativeSrc": "7045:6:34", "nodeType": "YulIdentifier", - "src": "7045:6:36" + "src": "7045:6:34" }, - "nativeSrc": "7045:15:36", + "nativeSrc": "7045:15:34", "nodeType": "YulFunctionCall", - "src": "7045:15:36" + "src": "7045:15:34" }, - "nativeSrc": "7045:15:36", + "nativeSrc": "7045:15:34", "nodeType": "YulExpressionStatement", - "src": "7045:15:36" + "src": "7045:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "7080:1:36", + "nativeSrc": "7080:1:34", "nodeType": "YulLiteral", - "src": "7080:1:36", + "src": "7080:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "7083:4:36", + "nativeSrc": "7083:4:34", "nodeType": "YulLiteral", - "src": "7083:4:36", + "src": "7083:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "7073:6:36", + "nativeSrc": "7073:6:34", "nodeType": "YulIdentifier", - "src": "7073:6:36" + "src": "7073:6:34" }, - "nativeSrc": "7073:15:36", + "nativeSrc": "7073:15:34", "nodeType": "YulFunctionCall", - "src": "7073:15:36" + "src": "7073:15:34" }, - "nativeSrc": "7073:15:36", + "nativeSrc": "7073:15:34", "nodeType": "YulExpressionStatement", - "src": "7073:15:36" + "src": "7073:15:34" } ] }, @@ -120673,106 +119683,106 @@ "arguments": [ { "name": "x", - "nativeSrc": "6971:1:36", + "nativeSrc": "6971:1:34", "nodeType": "YulIdentifier", - "src": "6971:1:36" + "src": "6971:1:34" }, { "name": "sum", - "nativeSrc": "6974:3:36", + "nativeSrc": "6974:3:34", "nodeType": "YulIdentifier", - "src": "6974:3:36" + "src": "6974:3:34" } ], "functionName": { "name": "gt", - "nativeSrc": "6968:2:36", + "nativeSrc": "6968:2:34", "nodeType": "YulIdentifier", - "src": "6968:2:36" + "src": "6968:2:34" }, - "nativeSrc": "6968:10:36", + "nativeSrc": "6968:10:34", "nodeType": "YulFunctionCall", - "src": "6968:10:36" + "src": "6968:10:34" }, - "nativeSrc": "6965:133:36", + "nativeSrc": "6965:133:34", "nodeType": "YulIf", - "src": "6965:133:36" + "src": "6965:133:34" } ] }, "name": "checked_add_t_uint256", - "nativeSrc": "6882:222:36", + "nativeSrc": "6882:222:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "x", - "nativeSrc": "6913:1:36", + "nativeSrc": "6913:1:34", "nodeType": "YulTypedName", - "src": "6913:1:36", + "src": "6913:1:34", "type": "" }, { "name": "y", - "nativeSrc": "6916:1:36", + "nativeSrc": "6916:1:34", "nodeType": "YulTypedName", - "src": "6916:1:36", + "src": "6916:1:34", "type": "" } ], "returnVariables": [ { "name": "sum", - "nativeSrc": "6922:3:36", + "nativeSrc": "6922:3:34", "nodeType": "YulTypedName", - "src": "6922:3:36", + "src": "6922:3:34", "type": "" } ], - "src": "6882:222:36" + "src": "6882:222:34" }, { "body": { - "nativeSrc": "7266:188:36", + "nativeSrc": "7266:188:34", "nodeType": "YulBlock", - "src": "7266:188:36", + "src": "7266:188:34", "statements": [ { - "nativeSrc": "7276:26:36", + "nativeSrc": "7276:26:34", "nodeType": "YulAssignment", - "src": "7276:26:36", + "src": "7276:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "7288:9:36", + "nativeSrc": "7288:9:34", "nodeType": "YulIdentifier", - "src": "7288:9:36" + "src": "7288:9:34" }, { "kind": "number", - "nativeSrc": "7299:2:36", + "nativeSrc": "7299:2:34", "nodeType": "YulLiteral", - "src": "7299:2:36", + "src": "7299:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "7284:3:36", + "nativeSrc": "7284:3:34", "nodeType": "YulIdentifier", - "src": "7284:3:36" + "src": "7284:3:34" }, - "nativeSrc": "7284:18:36", + "nativeSrc": "7284:18:34", "nodeType": "YulFunctionCall", - "src": "7284:18:36" + "src": "7284:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "7276:4:36", + "nativeSrc": "7276:4:34", "nodeType": "YulIdentifier", - "src": "7276:4:36" + "src": "7276:4:34" } ] }, @@ -120781,17 +119791,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "7318:9:36", + "nativeSrc": "7318:9:34", "nodeType": "YulIdentifier", - "src": "7318:9:36" + "src": "7318:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "7333:6:36", + "nativeSrc": "7333:6:34", "nodeType": "YulIdentifier", - "src": "7333:6:36" + "src": "7333:6:34" }, { "arguments": [ @@ -120799,75 +119809,75 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7349:3:36", + "nativeSrc": "7349:3:34", "nodeType": "YulLiteral", - "src": "7349:3:36", + "src": "7349:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "7354:1:36", + "nativeSrc": "7354:1:34", "nodeType": "YulLiteral", - "src": "7354:1:36", + "src": "7354:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "7345:3:36", + "nativeSrc": "7345:3:34", "nodeType": "YulIdentifier", - "src": "7345:3:36" + "src": "7345:3:34" }, - "nativeSrc": "7345:11:36", + "nativeSrc": "7345:11:34", "nodeType": "YulFunctionCall", - "src": "7345:11:36" + "src": "7345:11:34" }, { "kind": "number", - "nativeSrc": "7358:1:36", + "nativeSrc": "7358:1:34", "nodeType": "YulLiteral", - "src": "7358:1:36", + "src": "7358:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "7341:3:36", + "nativeSrc": "7341:3:34", "nodeType": "YulIdentifier", - "src": "7341:3:36" + "src": "7341:3:34" }, - "nativeSrc": "7341:19:36", + "nativeSrc": "7341:19:34", "nodeType": "YulFunctionCall", - "src": "7341:19:36" + "src": "7341:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "7329:3:36", + "nativeSrc": "7329:3:34", "nodeType": "YulIdentifier", - "src": "7329:3:36" + "src": "7329:3:34" }, - "nativeSrc": "7329:32:36", + "nativeSrc": "7329:32:34", "nodeType": "YulFunctionCall", - "src": "7329:32:36" + "src": "7329:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "7311:6:36", + "nativeSrc": "7311:6:34", "nodeType": "YulIdentifier", - "src": "7311:6:36" + "src": "7311:6:34" }, - "nativeSrc": "7311:51:36", + "nativeSrc": "7311:51:34", "nodeType": "YulFunctionCall", - "src": "7311:51:36" + "src": "7311:51:34" }, - "nativeSrc": "7311:51:36", + "nativeSrc": "7311:51:34", "nodeType": "YulExpressionStatement", - "src": "7311:51:36" + "src": "7311:51:34" }, { "expression": { @@ -120876,49 +119886,49 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "7382:9:36", + "nativeSrc": "7382:9:34", "nodeType": "YulIdentifier", - "src": "7382:9:36" + "src": "7382:9:34" }, { "kind": "number", - "nativeSrc": "7393:2:36", + "nativeSrc": "7393:2:34", "nodeType": "YulLiteral", - "src": "7393:2:36", + "src": "7393:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "7378:3:36", + "nativeSrc": "7378:3:34", "nodeType": "YulIdentifier", - "src": "7378:3:36" + "src": "7378:3:34" }, - "nativeSrc": "7378:18:36", + "nativeSrc": "7378:18:34", "nodeType": "YulFunctionCall", - "src": "7378:18:36" + "src": "7378:18:34" }, { "name": "value1", - "nativeSrc": "7398:6:36", + "nativeSrc": "7398:6:34", "nodeType": "YulIdentifier", - "src": "7398:6:36" + "src": "7398:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "7371:6:36", + "nativeSrc": "7371:6:34", "nodeType": "YulIdentifier", - "src": "7371:6:36" + "src": "7371:6:34" }, - "nativeSrc": "7371:34:36", + "nativeSrc": "7371:34:34", "nodeType": "YulFunctionCall", - "src": "7371:34:36" + "src": "7371:34:34" }, - "nativeSrc": "7371:34:36", + "nativeSrc": "7371:34:34", "nodeType": "YulExpressionStatement", - "src": "7371:34:36" + "src": "7371:34:34" }, { "expression": { @@ -120927,109 +119937,109 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "7425:9:36", + "nativeSrc": "7425:9:34", "nodeType": "YulIdentifier", - "src": "7425:9:36" + "src": "7425:9:34" }, { "kind": "number", - "nativeSrc": "7436:2:36", + "nativeSrc": "7436:2:34", "nodeType": "YulLiteral", - "src": "7436:2:36", + "src": "7436:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "7421:3:36", + "nativeSrc": "7421:3:34", "nodeType": "YulIdentifier", - "src": "7421:3:36" + "src": "7421:3:34" }, - "nativeSrc": "7421:18:36", + "nativeSrc": "7421:18:34", "nodeType": "YulFunctionCall", - "src": "7421:18:36" + "src": "7421:18:34" }, { "name": "value2", - "nativeSrc": "7441:6:36", + "nativeSrc": "7441:6:34", "nodeType": "YulIdentifier", - "src": "7441:6:36" + "src": "7441:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "7414:6:36", + "nativeSrc": "7414:6:34", "nodeType": "YulIdentifier", - "src": "7414:6:36" + "src": "7414:6:34" }, - "nativeSrc": "7414:34:36", + "nativeSrc": "7414:34:34", "nodeType": "YulFunctionCall", - "src": "7414:34:36" + "src": "7414:34:34" }, - "nativeSrc": "7414:34:36", + "nativeSrc": "7414:34:34", "nodeType": "YulExpressionStatement", - "src": "7414:34:36" + "src": "7414:34:34" } ] }, "name": "abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed", - "nativeSrc": "7109:345:36", + "nativeSrc": "7109:345:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "7219:9:36", + "nativeSrc": "7219:9:34", "nodeType": "YulTypedName", - "src": "7219:9:36", + "src": "7219:9:34", "type": "" }, { "name": "value2", - "nativeSrc": "7230:6:36", + "nativeSrc": "7230:6:34", "nodeType": "YulTypedName", - "src": "7230:6:36", + "src": "7230:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "7238:6:36", + "nativeSrc": "7238:6:34", "nodeType": "YulTypedName", - "src": "7238:6:36", + "src": "7238:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "7246:6:36", + "nativeSrc": "7246:6:34", "nodeType": "YulTypedName", - "src": "7246:6:36", + "src": "7246:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "7257:4:36", + "nativeSrc": "7257:4:34", "nodeType": "YulTypedName", - "src": "7257:4:36", + "src": "7257:4:34", "type": "" } ], - "src": "7109:345:36" + "src": "7109:345:34" } ] }, "contents": "{\n { }\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n if iszero(eq(value, and(value, shl(224, 0xffffffff)))) { revert(0, 0) }\n value0 := value\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_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n mstore(headStart, 32)\n let length := mload(value0)\n mstore(add(headStart, 32), length)\n let i := 0\n for { } lt(i, length) { i := add(i, _1) }\n {\n mstore(add(add(headStart, i), 64), mload(add(add(value0, i), _1)))\n }\n mstore(add(add(headStart, length), 64), 0)\n tail := add(add(headStart, and(add(length, 31), not(31))), 64)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n value2 := calldataload(add(headStart, 64))\n }\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\n }\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n value1 := abi_decode_address(add(headStart, 32))\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_0f977984b9a987116fa311fff0f07fa855de2568319fa98f6b216d7369fa923a__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 53)\n mstore(add(headStart, 64), \"EnsembleCredits: cannot remove z\")\n mstore(add(headStart, 96), \"ero address as minter\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_7b97b5b18010d50e12ae8c99c53a40cb4460bbe87eedecc389f17c034bb56a3f__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"EnsembleCredits: address is not \")\n mstore(add(headStart, 96), \"a minter\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_ece22e131737e13b73cdac47de42970bac0d7ee8645b98ac09d8d45d409dc046__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 44)\n mstore(add(headStart, 64), \"EnsembleCredits: cannot mint to \")\n mstore(add(headStart, 96), \"zero address\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_7815d089f9874b4253714de5702cea83f9e42d6d41dd41514d277e05d3c1d19c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 65)\n mstore(add(headStart, 64), \"EnsembleCredits: caller must hav\")\n mstore(add(headStart, 96), \"e minter role to burn from other\")\n mstore(add(headStart, 128), \"s\")\n tail := add(headStart, 160)\n }\n function abi_encode_tuple_t_stringliteral_2916fae4034560c404df63ca2cb35a62b45027a8c71efd99ce6e6acf11a895d5__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 46)\n mstore(add(headStart, 64), \"EnsembleCredits: cannot burn fro\")\n mstore(add(headStart, 96), \"m zero address\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_stringliteral_91387b747fb470002bf81e7f7ecfb57b982d680e0bde59487e175600512aa2a0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 50)\n mstore(add(headStart, 64), \"EnsembleCredits: cannot add zero\")\n mstore(add(headStart, 96), \" address as minter\")\n tail := add(headStart, 128)\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 abi_encode_tuple_t_address_t_bytes32__to_t_address_t_bytes32__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_address_t_uint256_t_uint256__to_t_address_t_uint256_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), value2)\n }\n}", - "id": 36, + "id": 34, "language": "Yul", "name": "#utility.yul" } ], "immutableReferences": {}, "linkReferences": {}, - "object": "608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a217fddf11610097578063aa271e1a11610071578063aa271e1a14610300578063d539139314610313578063d547741f14610328578063dd62ed3e1461033b57600080fd5b8063a217fddf146102ea578063a457c2d7146101b5578063a9059cbb146102f257600080fd5b806342966c681461026d57806370a082311461028057806379cc6790146102a957806391d14854146102bc57806395d89b41146102cf578063983b2d56146102d757600080fd5b80632f2ff15d116101305780632f2ff15d146102105780633092afd514610225578063313ce5671461023857806336568abe1461024757806339509351146101b557806340c10f191461025a57600080fd5b806301ffc9a71461017857806306fdde03146101a0578063095ea7b3146101b557806318160ddd146101c857806323b872dd146101da578063248a9ca3146101ed575b600080fd5b61018b610186366004610ca3565b610349565b60405190151581526020015b60405180910390f35b6101a8610380565b6040516101979190610cd4565b61018b6101c3366004610d3f565b610412565b6002545b604051908152602001610197565b61018b6101e8366004610d69565b61042d565b6101cc6101fb366004610da5565b60009081526005602052604090206001015490565b61022361021e366004610dbe565b610448565b005b610223610233366004610dea565b610473565b60405160068152602001610197565b610223610255366004610dbe565b6105ca565b610223610268366004610d3f565b610602565b61022361027b366004610da5565b6106d7565b6101cc61028e366004610dea565b6001600160a01b031660009081526020819052604090205490565b6102236102b7366004610d3f565b610729565b61018b6102ca366004610dbe565b61086f565b6101a861089a565b6102236102e5366004610dea565b6108a9565b6101cc600081565b61018b6101e8366004610d3f565b61018b61030e366004610dea565b610983565b6101cc600080516020610e8b83398151915281565b610223610336366004610dbe565b61099d565b6101cc6101c3366004610e05565b60006001600160e01b03198216637965db0b60e01b148061037a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461038f90610e2f565b80601f01602080910402602001604051908101604052809291908181526020018280546103bb90610e2f565b80156104085780601f106103dd57610100808354040283529160200191610408565b820191906000526020600020905b8154815290600101906020018083116103eb57829003601f168201915b5050505050905090565b600060405163043038b760e11b815260040160405180910390fd5b6000604051638cd22d1960e01b815260040160405180910390fd5b600082815260056020526040902060010154610463816109c2565b61046d83836109cf565b50505050565b600080516020610e8b83398151915261048b816109c2565b6001600160a01b0382166105045760405162461bcd60e51b815260206004820152603560248201527f456e73656d626c65437265646974733a2063616e6e6f742072656d6f7665207a60448201527432b9379030b2323932b9b99030b99036b4b73a32b960591b60648201526084015b60405180910390fd5b61051c600080516020610e8b8339815191528361086f565b6105795760405162461bcd60e51b815260206004820152602860248201527f456e73656d626c65437265646974733a2061646472657373206973206e6f7420604482015267309036b4b73a32b960c11b60648201526084016104fb565b610591600080516020610e8b83398151915283610a63565b506040516001600160a01b038316907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a25050565b6001600160a01b03811633146105f35760405163334bd91960e11b815260040160405180910390fd5b6105fd8282610a63565b505050565b600080516020610e8b83398151915261061a816109c2565b6001600160a01b0383166106855760405162461bcd60e51b815260206004820152602c60248201527f456e73656d626c65437265646974733a2063616e6e6f74206d696e7420746f2060448201526b7a65726f206164647265737360a01b60648201526084016104fb565b61068f8383610ad0565b826001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040516106ca91815260200190565b60405180910390a2505050565b336106e28183610b0a565b806001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161071d91815260200190565b60405180910390a25050565b610741600080516020610e8b8339815191523361086f565b6107bd5760405162461bcd60e51b815260206004820152604160248201527f456e73656d626c65437265646974733a2063616c6c6572206d7573742068617660448201527f65206d696e74657220726f6c6520746f206275726e2066726f6d206f746865726064820152607360f81b608482015260a4016104fb565b6001600160a01b03821661082a5760405162461bcd60e51b815260206004820152602e60248201527f456e73656d626c65437265646974733a2063616e6e6f74206275726e2066726f60448201526d6d207a65726f206164647265737360901b60648201526084016104fb565b6108348282610b0a565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161071d91815260200190565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461038f90610e2f565b600080516020610e8b8339815191526108c1816109c2565b6001600160a01b0382166109325760405162461bcd60e51b815260206004820152603260248201527f456e73656d626c65437265646974733a2063616e6e6f7420616464207a65726f6044820152711030b2323932b9b99030b99036b4b73a32b960711b60648201526084016104fb565b61094a600080516020610e8b833981519152836109cf565b506040516001600160a01b038316907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a25050565b600061037a600080516020610e8b8339815191528361086f565b6000828152600560205260409020600101546109b8816109c2565b61046d8383610a63565b6109cc8133610b40565b50565b60006109db838361086f565b610a5b5760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055610a133390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161037a565b50600061037a565b6000610a6f838361086f565b15610a5b5760008381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161037a565b6001600160a01b038216610afa5760405163ec442f0560e01b8152600060048201526024016104fb565b610b0660008383610b79565b5050565b6001600160a01b038216610b3457604051634b637e8f60e11b8152600060048201526024016104fb565b610b0682600083610b79565b610b4a828261086f565b610b065760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104fb565b6001600160a01b038316610ba4578060026000828254610b999190610e69565b90915550610c169050565b6001600160a01b03831660009081526020819052604090205481811015610bf75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104fb565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610c3257600280548290039055610c51565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c9691815260200190565b60405180910390a3505050565b600060208284031215610cb557600080fd5b81356001600160e01b031981168114610ccd57600080fd5b9392505050565b60006020808352835180602085015260005b81811015610d0257858101830151858201604001528201610ce6565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d3a57600080fd5b919050565b60008060408385031215610d5257600080fd5b610d5b83610d23565b946020939093013593505050565b600080600060608486031215610d7e57600080fd5b610d8784610d23565b9250610d9560208501610d23565b9150604084013590509250925092565b600060208284031215610db757600080fd5b5035919050565b60008060408385031215610dd157600080fd5b82359150610de160208401610d23565b90509250929050565b600060208284031215610dfc57600080fd5b610ccd82610d23565b60008060408385031215610e1857600080fd5b610e2183610d23565b9150610de160208401610d23565b600181811c90821680610e4357607f821691505b602082108103610e6357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561037a57634e487b7160e01b600052601160045260246000fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a26469706673582212205ead6f3848d5c78edab3a1db539091a373142a54f11a8364018847bf49705e2564736f6c63430008160033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x173 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x42966C68 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xA217FDDF GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xAA271E1A GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xAA271E1A EQ PUSH2 0x300 JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x313 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x328 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x33B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2EA JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x2F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x42966C68 EQ PUSH2 0x26D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x280 JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x2A9 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2BC JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2CF JUMPI DUP1 PUSH4 0x983B2D56 EQ PUSH2 0x2D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x130 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0x3092AFD5 EQ PUSH2 0x225 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x238 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x25A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1DA JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x1ED JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18B PUSH2 0x186 CALLDATASIZE PUSH1 0x4 PUSH2 0xCA3 JUMP JUMPDEST PUSH2 0x349 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A8 PUSH2 0x380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x197 SWAP2 SWAP1 PUSH2 0xCD4 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x412 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x197 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x1E8 CALLDATASIZE PUSH1 0x4 PUSH2 0xD69 JUMP JUMPDEST PUSH2 0x42D JUMP JUMPDEST PUSH2 0x1CC PUSH2 0x1FB CALLDATASIZE PUSH1 0x4 PUSH2 0xDA5 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x21E CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x448 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x223 PUSH2 0x233 CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x197 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x255 CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x5CA JUMP JUMPDEST PUSH2 0x223 PUSH2 0x268 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x602 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x27B CALLDATASIZE PUSH1 0x4 PUSH2 0xDA5 JUMP JUMPDEST PUSH2 0x6D7 JUMP JUMPDEST PUSH2 0x1CC PUSH2 0x28E CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x2B7 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x729 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x2CA CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x86F JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x89A JUMP JUMPDEST PUSH2 0x223 PUSH2 0x2E5 CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH2 0x8A9 JUMP JUMPDEST PUSH2 0x1CC PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x1E8 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x18B PUSH2 0x30E CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH2 0x983 JUMP JUMPDEST PUSH2 0x1CC PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x336 CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x99D JUMP JUMPDEST PUSH2 0x1CC PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0xE05 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x37A JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x38F SWAP1 PUSH2 0xE2F JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3BB SWAP1 PUSH2 0xE2F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x408 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3DD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x408 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3EB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x43038B7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x8CD22D19 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x463 DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH2 0x46D DUP4 DUP4 PUSH2 0x9CF JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x48B DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x504 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F742072656D6F7665207A PUSH1 0x44 DUP3 ADD MSTORE PUSH21 0x32B9379030B2323932B9B99030B99036B4B73A32B9 PUSH1 0x59 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x51C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0x86F JUMP JUMPDEST PUSH2 0x579 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2061646472657373206973206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x309036B4B73A32B9 PUSH1 0xC1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x591 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0xA63 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xE94479A9F7E1952CC78F2D6BAAB678ADC1B772D936C6583DEF489E524CB66692 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x5F3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5FD DUP3 DUP3 PUSH2 0xA63 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x61A DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x685 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F74206D696E7420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x7A65726F2061646472657373 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x68F DUP4 DUP4 PUSH2 0xAD0 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP4 PUSH1 0x40 MLOAD PUSH2 0x6CA SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST CALLER PUSH2 0x6E2 DUP2 DUP4 PUSH2 0xB0A JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xCC16F5DBB4873280815C1EE09DBD06736CFFCC184412CF7A71A0FDB75D397CA5 DUP4 PUSH1 0x40 MLOAD PUSH2 0x71D SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH2 0x741 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x86F JUMP JUMPDEST PUSH2 0x7BD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x41 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616C6C6572206D75737420686176 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x65206D696E74657220726F6C6520746F206275726E2066726F6D206F74686572 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x82A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F74206275726E2066726F PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6D207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x834 DUP3 DUP3 PUSH2 0xB0A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xCC16F5DBB4873280815C1EE09DBD06736CFFCC184412CF7A71A0FDB75D397CA5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x71D SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x38F SWAP1 PUSH2 0xE2F JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x8C1 DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x932 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F7420616464207A65726F PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x1030B2323932B9B99030B99036B4B73A32B9 PUSH1 0x71 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x94A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0x9CF JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x6AE172837EA30B801FBFCDD4108AA1D5BF8FF775444FD70256B44E6BF3DFC3F6 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0x86F JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x9B8 DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH2 0x46D DUP4 DUP4 PUSH2 0xA63 JUMP JUMPDEST PUSH2 0x9CC DUP2 CALLER PUSH2 0xB40 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9DB DUP4 DUP4 PUSH2 0x86F JUMP JUMPDEST PUSH2 0xA5B JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xA13 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP PUSH1 0x1 PUSH2 0x37A JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x37A JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA6F DUP4 DUP4 PUSH2 0x86F JUMP JUMPDEST ISZERO PUSH2 0xA5B JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP7 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP PUSH1 0x1 PUSH2 0x37A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAFA JUMPI PUSH1 0x40 MLOAD PUSH4 0xEC442F05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0xB06 PUSH1 0x0 DUP4 DUP4 PUSH2 0xB79 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB34 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B637E8F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0xB06 DUP3 PUSH1 0x0 DUP4 PUSH2 0xB79 JUMP JUMPDEST PUSH2 0xB4A DUP3 DUP3 PUSH2 0x86F JUMP JUMPDEST PUSH2 0xB06 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xBA4 JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB99 SWAP2 SWAP1 PUSH2 0xE69 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0xC16 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0xBF7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x391434E3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x64 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP3 SWAP1 SUB SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xC32 JUMPI PUSH1 0x2 DUP1 SLOAD DUP3 SWAP1 SUB SWAP1 SSTORE PUSH2 0xC51 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP3 ADD SWAP1 SSTORE JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0xC96 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xCCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xD02 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xCE6 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xD3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD5B DUP4 PUSH2 0xD23 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xD7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD87 DUP5 PUSH2 0xD23 JUMP JUMPDEST SWAP3 POP PUSH2 0xD95 PUSH1 0x20 DUP6 ADD PUSH2 0xD23 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0xDE1 PUSH1 0x20 DUP5 ADD PUSH2 0xD23 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCCD DUP3 PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE21 DUP4 PUSH2 0xD23 JUMP JUMPDEST SWAP2 POP PUSH2 0xDE1 PUSH1 0x20 DUP5 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xE43 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xE63 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x37A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SWAP16 0x2D CREATE INVALID 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x5E 0xAD PUSH16 0x3848D5C78EDAB3A1DB539091A373142A SLOAD CALL BYTE DUP4 PUSH5 0x18847BF49 PUSH17 0x5E2564736F6C6343000816003300000000 ", - "sourceMap": "677:7167:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2565:202:4;;;;;;:::i;:::-;;:::i;:::-;;;470:14:36;;463:22;445:41;;433:2;418:18;2565:202:4;;;;;;;;1760:89:16;;;:::i;:::-;;;;;;;:::i;6695:115:27:-;;;;;;:::i;:::-;;:::i;2830:97:16:-;2908:12;;2830:97;;;1633:25:36;;;1621:2;1606:18;2830:97:16;1487:177:36;6357:129:27;;;;;;:::i;:::-;;:::i;3810:120:4:-;;;;;;:::i;:::-;3875:7;3901:12;;;:6;:12;;;;;:22;;;;3810:120;4226:136;;;;;;:::i;:::-;;:::i;:::-;;5300:350:27;;;;;;:::i;:::-;;:::i;3024:82::-;;;3098:1;2961:36:36;;2949:2;2934:18;3024:82:27;2819:184:36;5328:245:4;;;;;;:::i;:::-;;:::i;3368:230:27:-;;;;;;:::i;:::-;;:::i;3786:161::-;;;;;;:::i;:::-;;:::i;2985:116:16:-;;;;;;:::i;:::-;-1:-1:-1;;;;;3076:18:16;3050:7;3076:18;;;;;;;;;;;;2985:116;4237:405:27;;;;;;:::i;:::-;;:::i;2854:136:4:-;;;;;;:::i;:::-;;:::i;1962:93:16:-;;;:::i;4842:250:27:-;;;;;;:::i;:::-;;:::i;2187:49:4:-;;2232:4;2187:49;;6080:116:27;;;;;;:::i;5806:117::-;;;;;;:::i;:::-;;:::i;813:62::-;;-1:-1:-1;;;;;;;;;;;813:62:27;;4642:138:4;;;;;;:::i;:::-;;:::i;7030:120:27:-;;;;;;:::i;2565:202:4:-;2650:4;-1:-1:-1;;;;;;2673:47:4;;-1:-1:-1;;;2673:47:4;;:87;;-1:-1:-1;;;;;;;;;;862:40:24;;;2724:36:4;2666:94;2565:202;-1:-1:-1;;2565:202:4:o;1760:89:16:-;1805:13;1837:5;1830:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1760:89;:::o;6695:115:27:-;6760:4;6783:20;;-1:-1:-1;;;6783:20:27;;;;;;;;;;;6357:129;6436:4;6459:20;;-1:-1:-1;;;6459:20:27;;;;;;;;;;;4226:136:4;3875:7;3901:12;;;:6;:12;;;;;:22;;;2464:16;2475:4;2464:10;:16::i;:::-;4330:25:::1;4341:4;4347:7;4330:10;:25::i;:::-;;4226:136:::0;;;:::o;5300:350:27:-;-1:-1:-1;;;;;;;;;;;2464:16:4;2475:4;2464:10;:16::i;:::-;-1:-1:-1;;;;;5387:20:27;::::1;5379:86;;;::::0;-1:-1:-1;;;5379:86:27;;4045:2:36;5379:86:27::1;::::0;::::1;4027:21:36::0;4084:2;4064:18;;;4057:30;4123:34;4103:18;;;4096:62;-1:-1:-1;;;4174:18:36;;;4167:51;4235:19;;5379:86:27::1;;;;;;;;;5483:28;-1:-1:-1::0;;;;;;;;;;;5504:6:27::1;5483:7;:28::i;:::-;5475:81;;;::::0;-1:-1:-1;;;5475:81:27;;4467:2:36;5475:81:27::1;::::0;::::1;4449:21:36::0;4506:2;4486:18;;;4479:30;4545:34;4525:18;;;4518:62;-1:-1:-1;;;4596:18:36;;;4589:38;4644:19;;5475:81:27::1;4265:404:36::0;5475:81:27::1;5575:32;-1:-1:-1::0;;;;;;;;;;;5600:6:27::1;5575:11;:32::i;:::-;-1:-1:-1::0;5622:21:27::1;::::0;-1:-1:-1;;;;;5622:21:27;::::1;::::0;::::1;::::0;;;::::1;5300:350:::0;;:::o;5328:245:4:-;-1:-1:-1;;;;;5421:34:4;;735:10:21;5421:34:4;5417:102;;5478:30;;-1:-1:-1;;;5478:30:4;;;;;;;;;;;5417:102;5529:37;5541:4;5547:18;5529:11;:37::i;:::-;;5328:245;;:::o;3368:230:27:-;-1:-1:-1;;;;;;;;;;;2464:16:4;2475:4;2464:10;:16::i;:::-;-1:-1:-1;;;;;3459:16:27;::::1;3451:73;;;::::0;-1:-1:-1;;;3451:73:27;;4876:2:36;3451:73:27::1;::::0;::::1;4858:21:36::0;4915:2;4895:18;;;4888:30;4954:34;4934:18;;;4927:62;-1:-1:-1;;;5005:18:36;;;4998:42;5057:19;;3451:73:27::1;4674:408:36::0;3451:73:27::1;3543:17;3549:2;3553:6;3543:5;:17::i;:::-;3580:2;-1:-1:-1::0;;;;;3575:16:27::1;;3584:6;3575:16;;;;1633:25:36::0;;1621:2;1606:18;;1487:177;3575:16:27::1;;;;;;;;3368:230:::0;;;:::o;3786:161::-;735:10:21;3882:22:27;735:10:21;3897:6:27;3882:5;:22::i;:::-;3924:7;-1:-1:-1;;;;;3919:21:27;;3933:6;3919:21;;;;1633:25:36;;1621:2;1606:18;;1487:177;3919:21:27;;;;;;;;3832:115;3786:161;:::o;4237:405::-;4373:34;-1:-1:-1;;;;;;;;;;;735:10:21;2854:136:4;:::i;4373:34:27:-;4365:112;;;;-1:-1:-1;;;4365:112:27;;5289:2:36;4365:112:27;;;5271:21:36;5328:2;5308:18;;;5301:30;5367:34;5347:18;;;5340:62;5438:34;5418:18;;;5411:62;-1:-1:-1;;;5489:19:36;;;5482:32;5531:19;;4365:112:27;5087:469:36;4365:112:27;-1:-1:-1;;;;;4495:18:27;;4487:77;;;;-1:-1:-1;;;4487:77:27;;5763:2:36;4487:77:27;;;5745:21:36;5802:2;5782:18;;;5775:30;5841:34;5821:18;;;5814:62;-1:-1:-1;;;5892:18:36;;;5885:44;5946:19;;4487:77:27;5561:410:36;4487:77:27;4583:19;4589:4;4595:6;4583:5;:19::i;:::-;4622:4;-1:-1:-1;;;;;4617:18:27;;4628:6;4617:18;;;;1633:25:36;;1621:2;1606:18;;1487:177;2854:136:4;2931:4;2954:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;2954:29:4;;;;;;;;;;;;;;;2854:136::o;1962:93:16:-;2009:13;2041:7;2034:14;;;;;:::i;4842:250:27:-;-1:-1:-1;;;;;;;;;;;2464:16:4;2475:4;2464:10;:16::i;:::-;-1:-1:-1;;;;;4926:20:27;::::1;4918:83;;;::::0;-1:-1:-1;;;4918:83:27;;6178:2:36;4918:83:27::1;::::0;::::1;6160:21:36::0;6217:2;6197:18;;;6190:30;6256:34;6236:18;;;6229:62;-1:-1:-1;;;6307:18:36;;;6300:48;6365:19;;4918:83:27::1;5976:414:36::0;4918:83:27::1;5020:31;-1:-1:-1::0;;;;;;;;;;;5044:6:27::1;5020:10;:31::i;:::-;-1:-1:-1::0;5066:19:27::1;::::0;-1:-1:-1;;;;;5066:19:27;::::1;::::0;::::1;::::0;;;::::1;4842:250:::0;;:::o;5806:117::-;5864:4;5887:29;-1:-1:-1;;;;;;;;;;;5908:7:27;5887;:29::i;4642:138:4:-;3875:7;3901:12;;;:6;:12;;;;;:22;;;2464:16;2475:4;2464:10;:16::i;:::-;4747:26:::1;4759:4;4765:7;4747:11;:26::i;3199:103::-:0;3265:30;3276:4;735:10:21;3265::4;:30::i;:::-;3199:103;:::o;6179:316::-;6256:4;6277:22;6285:4;6291:7;6277;:22::i;:::-;6272:217;;6315:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;6315:29:4;;;;;;;;;:36;;-1:-1:-1;;6315:36:4;6347:4;6315:36;;;6397:12;735:10:21;;656:96;6397:12:4;-1:-1:-1;;;;;6370:40:4;6388:7;-1:-1:-1;;;;;6370:40:4;6382:4;6370:40;;;;;;;;;;-1:-1:-1;6431:4:4;6424:11;;6272:217;-1:-1:-1;6473:5:4;6466:12;;6732:317;6810:4;6830:22;6838:4;6844:7;6830;:22::i;:::-;6826:217;;;6900:5;6868:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;6868:29:4;;;;;;;;;;:37;;-1:-1:-1;;6868:37:4;;;6924:40;735:10:21;;6868:12:4;;6924:40;;6900:5;6924:40;-1:-1:-1;6985:4:4;6978:11;;7439:208:16;-1:-1:-1;;;;;7509:21:16;;7505:91;;7553:32;;-1:-1:-1;;;7553:32:16;;7582:1;7553:32;;;6541:51:36;6514:18;;7553:32:16;6395:203:36;7505:91:16;7605:35;7621:1;7625:7;7634:5;7605:7;:35::i;:::-;7439:208;;:::o;7965:206::-;-1:-1:-1;;;;;8035:21:16;;8031:89;;8079:30;;-1:-1:-1;;;8079:30:16;;8106:1;8079:30;;;6541:51:36;6514:18;;8079:30:16;6395:203:36;8031:89:16;8129:35;8137:7;8154:1;8158:5;8129:7;:35::i;3432:197:4:-;3520:22;3528:4;3534:7;3520;:22::i;:::-;3515:108;;3565:47;;-1:-1:-1;;;3565:47:4;;-1:-1:-1;;;;;6795:32:36;;3565:47:4;;;6777:51:36;6844:18;;;6837:34;;;6750:18;;3565:47:4;6603:274:36;5989:1107:16;-1:-1:-1;;;;;6078:18:16;;6074:540;;6230:5;6214:12;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;6074:540:16;;-1:-1:-1;6074:540:16;;-1:-1:-1;;;;;6288:15:16;;6266:19;6288:15;;;;;;;;;;;6321:19;;;6317:115;;;6367:50;;-1:-1:-1;;;6367:50:16;;-1:-1:-1;;;;;7329:32:36;;6367:50:16;;;7311:51:36;7378:18;;;7371:34;;;7421:18;;;7414:34;;;7284:18;;6367:50:16;7109:345:36;6317:115:16;-1:-1:-1;;;;;6552:15:16;;:9;:15;;;;;;;;;;6570:19;;;;6552:37;;6074:540;-1:-1:-1;;;;;6628:16:16;;6624:425;;6791:12;:21;;;;;;;6624:425;;;-1:-1:-1;;;;;7002:13:16;;:9;:13;;;;;;;;;;:22;;;;;;6624:425;7079:2;-1:-1:-1;;;;;7064:25:16;7073:4;-1:-1:-1;;;;;7064:25:16;;7083:5;7064:25;;;;1633::36;;1621:2;1606:18;;1487:177;7064:25:16;;;;;;;;5989:1107;;;:::o;14:286:36:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:36;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:36:o;497:548::-;609:4;638:2;667;656:9;649:21;699:6;693:13;742:6;737:2;726:9;722:18;715:34;767:1;777:140;791:6;788:1;785:13;777:140;;;886:14;;;882:23;;876:30;852:17;;;871:2;848:26;841:66;806:10;;777:140;;;781:3;966:1;961:2;952:6;941:9;937:22;933:31;926:42;1036:2;1029;1025:7;1020:2;1012:6;1008:15;1004:29;993:9;989:45;985:54;977:62;;;;497:548;;;;:::o;1050:173::-;1118:20;;-1:-1:-1;;;;;1167:31:36;;1157:42;;1147:70;;1213:1;1210;1203:12;1147:70;1050:173;;;:::o;1228:254::-;1296:6;1304;1357:2;1345:9;1336:7;1332:23;1328:32;1325:52;;;1373:1;1370;1363:12;1325:52;1396:29;1415:9;1396:29;:::i;:::-;1386:39;1472:2;1457:18;;;;1444:32;;-1:-1:-1;;;1228:254:36:o;1669:328::-;1746:6;1754;1762;1815:2;1803:9;1794:7;1790:23;1786:32;1783:52;;;1831:1;1828;1821:12;1783:52;1854:29;1873:9;1854:29;:::i;:::-;1844:39;;1902:38;1936:2;1925:9;1921:18;1902:38;:::i;:::-;1892:48;;1987:2;1976:9;1972:18;1959:32;1949:42;;1669:328;;;;;:::o;2002:180::-;2061:6;2114:2;2102:9;2093:7;2089:23;2085:32;2082:52;;;2130:1;2127;2120:12;2082:52;-1:-1:-1;2153:23:36;;2002:180;-1:-1:-1;2002:180:36:o;2369:254::-;2437:6;2445;2498:2;2486:9;2477:7;2473:23;2469:32;2466:52;;;2514:1;2511;2504:12;2466:52;2550:9;2537:23;2527:33;;2579:38;2613:2;2602:9;2598:18;2579:38;:::i;:::-;2569:48;;2369:254;;;;;:::o;2628:186::-;2687:6;2740:2;2728:9;2719:7;2715:23;2711:32;2708:52;;;2756:1;2753;2746:12;2708:52;2779:29;2798:9;2779:29;:::i;3193:260::-;3261:6;3269;3322:2;3310:9;3301:7;3297:23;3293:32;3290:52;;;3338:1;3335;3328:12;3290:52;3361:29;3380:9;3361:29;:::i;:::-;3351:39;;3409:38;3443:2;3432:9;3428:18;3409:38;:::i;3458:380::-;3537:1;3533:12;;;;3580;;;3601:61;;3655:4;3647:6;3643:17;3633:27;;3601:61;3708:2;3700:6;3697:14;3677:18;3674:38;3671:161;;3754:10;3749:3;3745:20;3742:1;3735:31;3789:4;3786:1;3779:15;3817:4;3814:1;3807:15;3671:161;;3458:380;;;:::o;6882:222::-;6947:9;;;6968:10;;;6965:133;;;7020:10;7015:3;7011:20;7008:1;7001:31;7055:4;7052:1;7045:15;7083:4;7080:1;7073:15" + "object": "608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a217fddf11610097578063aa271e1a11610071578063aa271e1a14610300578063d539139314610313578063d547741f14610328578063dd62ed3e1461033b57600080fd5b8063a217fddf146102ea578063a457c2d7146101b5578063a9059cbb146102f257600080fd5b806342966c681461026d57806370a082311461028057806379cc6790146102a957806391d14854146102bc57806395d89b41146102cf578063983b2d56146102d757600080fd5b80632f2ff15d116101305780632f2ff15d146102105780633092afd514610225578063313ce5671461023857806336568abe1461024757806339509351146101b557806340c10f191461025a57600080fd5b806301ffc9a71461017857806306fdde03146101a0578063095ea7b3146101b557806318160ddd146101c857806323b872dd146101da578063248a9ca3146101ed575b600080fd5b61018b610186366004610ca3565b610349565b60405190151581526020015b60405180910390f35b6101a8610380565b6040516101979190610cd4565b61018b6101c3366004610d3f565b610412565b6002545b604051908152602001610197565b61018b6101e8366004610d69565b61042d565b6101cc6101fb366004610da5565b60009081526005602052604090206001015490565b61022361021e366004610dbe565b610448565b005b610223610233366004610dea565b610473565b60405160068152602001610197565b610223610255366004610dbe565b6105ca565b610223610268366004610d3f565b610602565b61022361027b366004610da5565b6106d7565b6101cc61028e366004610dea565b6001600160a01b031660009081526020819052604090205490565b6102236102b7366004610d3f565b610729565b61018b6102ca366004610dbe565b61086f565b6101a861089a565b6102236102e5366004610dea565b6108a9565b6101cc600081565b61018b6101e8366004610d3f565b61018b61030e366004610dea565b610983565b6101cc600080516020610e8b83398151915281565b610223610336366004610dbe565b61099d565b6101cc6101c3366004610e05565b60006001600160e01b03198216637965db0b60e01b148061037a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461038f90610e2f565b80601f01602080910402602001604051908101604052809291908181526020018280546103bb90610e2f565b80156104085780601f106103dd57610100808354040283529160200191610408565b820191906000526020600020905b8154815290600101906020018083116103eb57829003601f168201915b5050505050905090565b600060405163043038b760e11b815260040160405180910390fd5b6000604051638cd22d1960e01b815260040160405180910390fd5b600082815260056020526040902060010154610463816109c2565b61046d83836109cf565b50505050565b600080516020610e8b83398151915261048b816109c2565b6001600160a01b0382166105045760405162461bcd60e51b815260206004820152603560248201527f456e73656d626c65437265646974733a2063616e6e6f742072656d6f7665207a60448201527432b9379030b2323932b9b99030b99036b4b73a32b960591b60648201526084015b60405180910390fd5b61051c600080516020610e8b8339815191528361086f565b6105795760405162461bcd60e51b815260206004820152602860248201527f456e73656d626c65437265646974733a2061646472657373206973206e6f7420604482015267309036b4b73a32b960c11b60648201526084016104fb565b610591600080516020610e8b83398151915283610a63565b506040516001600160a01b038316907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a25050565b6001600160a01b03811633146105f35760405163334bd91960e11b815260040160405180910390fd5b6105fd8282610a63565b505050565b600080516020610e8b83398151915261061a816109c2565b6001600160a01b0383166106855760405162461bcd60e51b815260206004820152602c60248201527f456e73656d626c65437265646974733a2063616e6e6f74206d696e7420746f2060448201526b7a65726f206164647265737360a01b60648201526084016104fb565b61068f8383610ad0565b826001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040516106ca91815260200190565b60405180910390a2505050565b336106e28183610b0a565b806001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161071d91815260200190565b60405180910390a25050565b610741600080516020610e8b8339815191523361086f565b6107bd5760405162461bcd60e51b815260206004820152604160248201527f456e73656d626c65437265646974733a2063616c6c6572206d7573742068617660448201527f65206d696e74657220726f6c6520746f206275726e2066726f6d206f746865726064820152607360f81b608482015260a4016104fb565b6001600160a01b03821661082a5760405162461bcd60e51b815260206004820152602e60248201527f456e73656d626c65437265646974733a2063616e6e6f74206275726e2066726f60448201526d6d207a65726f206164647265737360901b60648201526084016104fb565b6108348282610b0a565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161071d91815260200190565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461038f90610e2f565b600080516020610e8b8339815191526108c1816109c2565b6001600160a01b0382166109325760405162461bcd60e51b815260206004820152603260248201527f456e73656d626c65437265646974733a2063616e6e6f7420616464207a65726f6044820152711030b2323932b9b99030b99036b4b73a32b960711b60648201526084016104fb565b61094a600080516020610e8b833981519152836109cf565b506040516001600160a01b038316907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a25050565b600061037a600080516020610e8b8339815191528361086f565b6000828152600560205260409020600101546109b8816109c2565b61046d8383610a63565b6109cc8133610b40565b50565b60006109db838361086f565b610a5b5760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055610a133390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161037a565b50600061037a565b6000610a6f838361086f565b15610a5b5760008381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161037a565b6001600160a01b038216610afa5760405163ec442f0560e01b8152600060048201526024016104fb565b610b0660008383610b79565b5050565b6001600160a01b038216610b3457604051634b637e8f60e11b8152600060048201526024016104fb565b610b0682600083610b79565b610b4a828261086f565b610b065760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104fb565b6001600160a01b038316610ba4578060026000828254610b999190610e69565b90915550610c169050565b6001600160a01b03831660009081526020819052604090205481811015610bf75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104fb565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610c3257600280548290039055610c51565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c9691815260200190565b60405180910390a3505050565b600060208284031215610cb557600080fd5b81356001600160e01b031981168114610ccd57600080fd5b9392505050565b60006020808352835180602085015260005b81811015610d0257858101830151858201604001528201610ce6565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d3a57600080fd5b919050565b60008060408385031215610d5257600080fd5b610d5b83610d23565b946020939093013593505050565b600080600060608486031215610d7e57600080fd5b610d8784610d23565b9250610d9560208501610d23565b9150604084013590509250925092565b600060208284031215610db757600080fd5b5035919050565b60008060408385031215610dd157600080fd5b82359150610de160208401610d23565b90509250929050565b600060208284031215610dfc57600080fd5b610ccd82610d23565b60008060408385031215610e1857600080fd5b610e2183610d23565b9150610de160208401610d23565b600181811c90821680610e4357607f821691505b602082108103610e6357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561037a57634e487b7160e01b600052601160045260246000fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220cbcbaafbce63d8ac619a22d4e837fc602232386c5248b061ca0f8706e5c5be4564736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x173 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x42966C68 GT PUSH2 0xDE JUMPI DUP1 PUSH4 0xA217FDDF GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xAA271E1A GT PUSH2 0x71 JUMPI DUP1 PUSH4 0xAA271E1A EQ PUSH2 0x300 JUMPI DUP1 PUSH4 0xD5391393 EQ PUSH2 0x313 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x328 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x33B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2EA JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x2F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x42966C68 EQ PUSH2 0x26D JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x280 JUMPI DUP1 PUSH4 0x79CC6790 EQ PUSH2 0x2A9 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2BC JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x2CF JUMPI DUP1 PUSH4 0x983B2D56 EQ PUSH2 0x2D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2F2FF15D GT PUSH2 0x130 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x210 JUMPI DUP1 PUSH4 0x3092AFD5 EQ PUSH2 0x225 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x238 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x247 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x25A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x178 JUMPI DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0x1A0 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x1B5 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1DA JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x1ED JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x18B PUSH2 0x186 CALLDATASIZE PUSH1 0x4 PUSH2 0xCA3 JUMP JUMPDEST PUSH2 0x349 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1A8 PUSH2 0x380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x197 SWAP2 SWAP1 PUSH2 0xCD4 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x412 JUMP JUMPDEST PUSH1 0x2 SLOAD JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x197 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x1E8 CALLDATASIZE PUSH1 0x4 PUSH2 0xD69 JUMP JUMPDEST PUSH2 0x42D JUMP JUMPDEST PUSH2 0x1CC PUSH2 0x1FB CALLDATASIZE PUSH1 0x4 PUSH2 0xDA5 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x21E CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x448 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x223 PUSH2 0x233 CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH2 0x473 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x6 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x197 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x255 CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x5CA JUMP JUMPDEST PUSH2 0x223 PUSH2 0x268 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x602 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x27B CALLDATASIZE PUSH1 0x4 PUSH2 0xDA5 JUMP JUMPDEST PUSH2 0x6D7 JUMP JUMPDEST PUSH2 0x1CC PUSH2 0x28E CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD SWAP1 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x2B7 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x729 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x2CA CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x86F JUMP JUMPDEST PUSH2 0x1A8 PUSH2 0x89A JUMP JUMPDEST PUSH2 0x223 PUSH2 0x2E5 CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH2 0x8A9 JUMP JUMPDEST PUSH2 0x1CC PUSH1 0x0 DUP2 JUMP JUMPDEST PUSH2 0x18B PUSH2 0x1E8 CALLDATASIZE PUSH1 0x4 PUSH2 0xD3F JUMP JUMPDEST PUSH2 0x18B PUSH2 0x30E CALLDATASIZE PUSH1 0x4 PUSH2 0xDEA JUMP JUMPDEST PUSH2 0x983 JUMP JUMPDEST PUSH2 0x1CC PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 JUMP JUMPDEST PUSH2 0x223 PUSH2 0x336 CALLDATASIZE PUSH1 0x4 PUSH2 0xDBE JUMP JUMPDEST PUSH2 0x99D JUMP JUMPDEST PUSH2 0x1CC PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0xE05 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP3 AND PUSH4 0x7965DB0B PUSH1 0xE0 SHL EQ DUP1 PUSH2 0x37A JUMPI POP PUSH4 0x1FFC9A7 PUSH1 0xE0 SHL PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP4 AND EQ JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x38F SWAP1 PUSH2 0xE2F JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x3BB SWAP1 PUSH2 0xE2F JUMP JUMPDEST DUP1 ISZERO PUSH2 0x408 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3DD JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x408 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3EB JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x43038B7 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD PUSH4 0x8CD22D19 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x463 DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH2 0x46D DUP4 DUP4 PUSH2 0x9CF JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x48B DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x504 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x35 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F742072656D6F7665207A PUSH1 0x44 DUP3 ADD MSTORE PUSH21 0x32B9379030B2323932B9B99030B99036B4B73A32B9 PUSH1 0x59 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x51C PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0x86F JUMP JUMPDEST PUSH2 0x579 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2061646472657373206973206E6F7420 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x309036B4B73A32B9 PUSH1 0xC1 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x591 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0xA63 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xE94479A9F7E1952CC78F2D6BAAB678ADC1B772D936C6583DEF489E524CB66692 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND CALLER EQ PUSH2 0x5F3 JUMPI PUSH1 0x40 MLOAD PUSH4 0x334BD919 PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5FD DUP3 DUP3 PUSH2 0xA63 JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x61A DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0x685 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F74206D696E7420746F20 PUSH1 0x44 DUP3 ADD MSTORE PUSH12 0x7A65726F2061646472657373 PUSH1 0xA0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x68F DUP4 DUP4 PUSH2 0xAD0 JUMP JUMPDEST DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xF6798A560793A54C3BCFE86A93CDE1E73087D944C0EA20544137D4121396885 DUP4 PUSH1 0x40 MLOAD PUSH2 0x6CA SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP JUMP JUMPDEST CALLER PUSH2 0x6E2 DUP2 DUP4 PUSH2 0xB0A JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xCC16F5DBB4873280815C1EE09DBD06736CFFCC184412CF7A71A0FDB75D397CA5 DUP4 PUSH1 0x40 MLOAD PUSH2 0x71D SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH2 0x741 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE CALLER PUSH2 0x86F JUMP JUMPDEST PUSH2 0x7BD JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x41 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616C6C6572206D75737420686176 PUSH1 0x44 DUP3 ADD MSTORE PUSH32 0x65206D696E74657220726F6C6520746F206275726E2066726F6D206F74686572 PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x73 PUSH1 0xF8 SHL PUSH1 0x84 DUP3 ADD MSTORE PUSH1 0xA4 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x82A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2E PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F74206275726E2066726F PUSH1 0x44 DUP3 ADD MSTORE PUSH14 0x6D207A65726F2061646472657373 PUSH1 0x90 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x834 DUP3 DUP3 PUSH2 0xB0A JUMP JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xCC16F5DBB4873280815C1EE09DBD06736CFFCC184412CF7A71A0FDB75D397CA5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x71D SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP5 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP4 SWAP1 SWAP4 AND DUP5 MSTORE SWAP2 SWAP1 MSTORE SWAP1 KECCAK256 SLOAD PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x38F SWAP1 PUSH2 0xE2F JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE PUSH2 0x8C1 DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0x932 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x32 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x456E73656D626C65437265646974733A2063616E6E6F7420616464207A65726F PUSH1 0x44 DUP3 ADD MSTORE PUSH18 0x1030B2323932B9B99030B99036B4B73A32B9 PUSH1 0x71 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0x94A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0x9CF JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x6AE172837EA30B801FBFCDD4108AA1D5BF8FF775444FD70256B44E6BF3DFC3F6 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x37A PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0xE8B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP4 PUSH2 0x86F JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD SLOAD PUSH2 0x9B8 DUP2 PUSH2 0x9C2 JUMP JUMPDEST PUSH2 0x46D DUP4 DUP4 PUSH2 0xA63 JUMP JUMPDEST PUSH2 0x9CC DUP2 CALLER PUSH2 0xB40 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x9DB DUP4 DUP4 PUSH2 0x86F JUMP JUMPDEST PUSH2 0xA5B JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP5 MSTORE SWAP1 SWAP2 MSTORE SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0x1 OR SWAP1 SSTORE PUSH2 0xA13 CALLER SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 POP PUSH1 0x1 PUSH2 0x37A JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x37A JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA6F DUP4 DUP4 PUSH2 0x86F JUMP JUMPDEST ISZERO PUSH2 0xA5B JUMPI PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x5 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 KECCAK256 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND DUP1 DUP6 MSTORE SWAP3 MSTORE DUP1 DUP4 KECCAK256 DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE MLOAD CALLER SWAP3 DUP7 SWAP2 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B SWAP2 SWAP1 LOG4 POP PUSH1 0x1 PUSH2 0x37A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xAFA JUMPI PUSH1 0x40 MLOAD PUSH4 0xEC442F05 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0xB06 PUSH1 0x0 DUP4 DUP4 PUSH2 0xB79 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xB34 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4B637E8F PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH2 0xB06 DUP3 PUSH1 0x0 DUP4 PUSH2 0xB79 JUMP JUMPDEST PUSH2 0xB4A DUP3 DUP3 PUSH2 0x86F JUMP JUMPDEST PUSH2 0xB06 JUMPI PUSH1 0x40 MLOAD PUSH4 0xE2517D3F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x44 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH2 0xBA4 JUMPI DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xB99 SWAP2 SWAP1 PUSH2 0xE69 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP PUSH2 0xC16 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD DUP2 DUP2 LT ISZERO PUSH2 0xBF7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x391434E3 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x44 DUP2 ADD DUP4 SWAP1 MSTORE PUSH1 0x64 ADD PUSH2 0x4FB JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP3 SWAP1 SUB SWAP1 SSTORE JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH2 0xC32 JUMPI PUSH1 0x2 DUP1 SLOAD DUP3 SWAP1 SUB SWAP1 SSTORE PUSH2 0xC51 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP3 ADD SWAP1 SSTORE JUMPDEST DUP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0xC96 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xCB5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB NOT DUP2 AND DUP2 EQ PUSH2 0xCCD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 MSTORE DUP4 MLOAD DUP1 PUSH1 0x20 DUP6 ADD MSTORE PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xD02 JUMPI DUP6 DUP2 ADD DUP4 ADD MLOAD DUP6 DUP3 ADD PUSH1 0x40 ADD MSTORE DUP3 ADD PUSH2 0xCE6 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x40 DUP3 DUP7 ADD ADD MSTORE PUSH1 0x40 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND DUP6 ADD ADD SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0xD3A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xD52 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD5B DUP4 PUSH2 0xD23 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xD7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xD87 DUP5 PUSH2 0xD23 JUMP JUMPDEST SWAP3 POP PUSH2 0xD95 PUSH1 0x20 DUP6 ADD PUSH2 0xD23 JUMP JUMPDEST SWAP2 POP PUSH1 0x40 DUP5 ADD CALLDATALOAD SWAP1 POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDB7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xDD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH2 0xDE1 PUSH1 0x20 DUP5 ADD PUSH2 0xD23 JUMP JUMPDEST SWAP1 POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xDFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xCCD DUP3 PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xE18 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xE21 DUP4 PUSH2 0xD23 JUMP JUMPDEST SWAP2 POP PUSH2 0xDE1 PUSH1 0x20 DUP5 ADD PUSH2 0xD23 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0xE43 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0xE63 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0x37A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT INVALID SWAP16 0x2D CREATE INVALID 0xD2 0xC7 PUSH23 0x48DE5860A4CC508CD0818C85B8B8A1AB4CEEEF8D981C89 JUMP 0xA6 LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xCB 0xCB 0xAA 0xFB 0xCE PUSH4 0xD8AC619A 0x22 0xD4 0xE8 CALLDATACOPY 0xFC PUSH1 0x22 ORIGIN CODESIZE PUSH13 0x5248B061CA0F8706E5C5BE4564 PUSH20 0x6F6C634300081600330000000000000000000000 ", + "sourceMap": "677:7167:27:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2541:202:4;;;;;;:::i;:::-;;:::i;:::-;;;470:14:34;;463:22;445:41;;433:2;418:18;2541:202:4;;;;;;;;1760:89:16;;;:::i;:::-;;;;;;;:::i;6695:115:27:-;;;;;;:::i;:::-;;:::i;2803:97:16:-;2881:12;;2803:97;;;1633:25:34;;;1621:2;1606:18;2803:97:16;1487:177:34;6357:129:27;;;;;;:::i;:::-;;:::i;3786:120:4:-;;;;;;:::i;:::-;3851:7;3877:12;;;:6;:12;;;;;:22;;;;3786:120;4202:136;;;;;;:::i;:::-;;:::i;:::-;;5300:350:27;;;;;;:::i;:::-;;:::i;3024:82::-;;;3098:1;2961:36:34;;2949:2;2934:18;3024:82:27;2819:184:34;5304:245:4;;;;;;:::i;:::-;;:::i;3368:230:27:-;;;;;;:::i;:::-;;:::i;3786:161::-;;;;;;:::i;:::-;;:::i;2933:116:16:-;;;;;;:::i;:::-;-1:-1:-1;;;;;3024:18:16;2998:7;3024:18;;;;;;;;;;;;2933:116;4237:405:27;;;;;;:::i;:::-;;:::i;2830:136:4:-;;;;;;:::i;:::-;;:::i;1962:93:16:-;;;:::i;4842:250:27:-;;;;;;:::i;:::-;;:::i;2196:49:4:-;;2241:4;2196:49;;6080:116:27;;;;;;:::i;5806:117::-;;;;;;:::i;:::-;;:::i;813:62::-;;-1:-1:-1;;;;;;;;;;;813:62:27;;4618:138:4;;;;;;:::i;:::-;;:::i;7030:120:27:-;;;;;;:::i;2541:202:4:-;2626:4;-1:-1:-1;;;;;;2649:47:4;;-1:-1:-1;;;2649:47:4;;:87;;-1:-1:-1;;;;;;;;;;829:40:24;;;2700:36:4;2642:94;2541:202;-1:-1:-1;;2541:202:4:o;1760:89:16:-;1805:13;1837:5;1830:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1760:89;:::o;6695:115:27:-;6760:4;6783:20;;-1:-1:-1;;;6783:20:27;;;;;;;;;;;6357:129;6436:4;6459:20;;-1:-1:-1;;;6459:20:27;;;;;;;;;;;4202:136:4;3851:7;3877:12;;;:6;:12;;;;;:22;;;2473:16;2484:4;2473:10;:16::i;:::-;4306:25:::1;4317:4;4323:7;4306:10;:25::i;:::-;;4202:136:::0;;;:::o;5300:350:27:-;-1:-1:-1;;;;;;;;;;;2473:16:4;2484:4;2473:10;:16::i;:::-;-1:-1:-1;;;;;5387:20:27;::::1;5379:86;;;::::0;-1:-1:-1;;;5379:86:27;;4045:2:34;5379:86:27::1;::::0;::::1;4027:21:34::0;4084:2;4064:18;;;4057:30;4123:34;4103:18;;;4096:62;-1:-1:-1;;;4174:18:34;;;4167:51;4235:19;;5379:86:27::1;;;;;;;;;5483:28;-1:-1:-1::0;;;;;;;;;;;5504:6:27::1;5483:7;:28::i;:::-;5475:81;;;::::0;-1:-1:-1;;;5475:81:27;;4467:2:34;5475:81:27::1;::::0;::::1;4449:21:34::0;4506:2;4486:18;;;4479:30;4545:34;4525:18;;;4518:62;-1:-1:-1;;;4596:18:34;;;4589:38;4644:19;;5475:81:27::1;4265:404:34::0;5475:81:27::1;5575:32;-1:-1:-1::0;;;;;;;;;;;5600:6:27::1;5575:11;:32::i;:::-;-1:-1:-1::0;5622:21:27::1;::::0;-1:-1:-1;;;;;5622:21:27;::::1;::::0;::::1;::::0;;;::::1;5300:350:::0;;:::o;5304:245:4:-;-1:-1:-1;;;;;5397:34:4;;735:10:21;5397:34:4;5393:102;;5454:30;;-1:-1:-1;;;5454:30:4;;;;;;;;;;;5393:102;5505:37;5517:4;5523:18;5505:11;:37::i;:::-;;5304:245;;:::o;3368:230:27:-;-1:-1:-1;;;;;;;;;;;2473:16:4;2484:4;2473:10;:16::i;:::-;-1:-1:-1;;;;;3459:16:27;::::1;3451:73;;;::::0;-1:-1:-1;;;3451:73:27;;4876:2:34;3451:73:27::1;::::0;::::1;4858:21:34::0;4915:2;4895:18;;;4888:30;4954:34;4934:18;;;4927:62;-1:-1:-1;;;5005:18:34;;;4998:42;5057:19;;3451:73:27::1;4674:408:34::0;3451:73:27::1;3543:17;3549:2;3553:6;3543:5;:17::i;:::-;3580:2;-1:-1:-1::0;;;;;3575:16:27::1;;3584:6;3575:16;;;;1633:25:34::0;;1621:2;1606:18;;1487:177;3575:16:27::1;;;;;;;;3368:230:::0;;;:::o;3786:161::-;735:10:21;3882:22:27;735:10:21;3897:6:27;3882:5;:22::i;:::-;3924:7;-1:-1:-1;;;;;3919:21:27;;3933:6;3919:21;;;;1633:25:34;;1621:2;1606:18;;1487:177;3919:21:27;;;;;;;;3832:115;3786:161;:::o;4237:405::-;4373:34;-1:-1:-1;;;;;;;;;;;735:10:21;2830:136:4;:::i;4373:34:27:-;4365:112;;;;-1:-1:-1;;;4365:112:27;;5289:2:34;4365:112:27;;;5271:21:34;5328:2;5308:18;;;5301:30;5367:34;5347:18;;;5340:62;5438:34;5418:18;;;5411:62;-1:-1:-1;;;5489:19:34;;;5482:32;5531:19;;4365:112:27;5087:469:34;4365:112:27;-1:-1:-1;;;;;4495:18:27;;4487:77;;;;-1:-1:-1;;;4487:77:27;;5763:2:34;4487:77:27;;;5745:21:34;5802:2;5782:18;;;5775:30;5841:34;5821:18;;;5814:62;-1:-1:-1;;;5892:18:34;;;5885:44;5946:19;;4487:77:27;5561:410:34;4487:77:27;4583:19;4589:4;4595:6;4583:5;:19::i;:::-;4622:4;-1:-1:-1;;;;;4617:18:27;;4628:6;4617:18;;;;1633:25:34;;1621:2;1606:18;;1487:177;2830:136:4;2907:4;2930:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;2930:29:4;;;;;;;;;;;;;;;2830:136::o;1962:93:16:-;2009:13;2041:7;2034:14;;;;;:::i;4842:250:27:-;-1:-1:-1;;;;;;;;;;;2473:16:4;2484:4;2473:10;:16::i;:::-;-1:-1:-1;;;;;4926:20:27;::::1;4918:83;;;::::0;-1:-1:-1;;;4918:83:27;;6178:2:34;4918:83:27::1;::::0;::::1;6160:21:34::0;6217:2;6197:18;;;6190:30;6256:34;6236:18;;;6229:62;-1:-1:-1;;;6307:18:34;;;6300:48;6365:19;;4918:83:27::1;5976:414:34::0;4918:83:27::1;5020:31;-1:-1:-1::0;;;;;;;;;;;5044:6:27::1;5020:10;:31::i;:::-;-1:-1:-1::0;5066:19:27::1;::::0;-1:-1:-1;;;;;5066:19:27;::::1;::::0;::::1;::::0;;;::::1;4842:250:::0;;:::o;5806:117::-;5864:4;5887:29;-1:-1:-1;;;;;;;;;;;5908:7:27;5887;:29::i;4618:138:4:-;3851:7;3877:12;;;:6;:12;;;;;:22;;;2473:16;2484:4;2473:10;:16::i;:::-;4723:26:::1;4735:4;4741:7;4723:11;:26::i;3175:103::-:0;3241:30;3252:4;735:10:21;3241::4;:30::i;:::-;3175:103;:::o;6155:316::-;6232:4;6253:22;6261:4;6267:7;6253;:22::i;:::-;6248:217;;6291:12;;;;:6;:12;;;;;;;;-1:-1:-1;;;;;6291:29:4;;;;;;;;;:36;;-1:-1:-1;;6291:36:4;6323:4;6291:36;;;6373:12;735:10:21;;656:96;6373:12:4;-1:-1:-1;;;;;6346:40:4;6364:7;-1:-1:-1;;;;;6346:40:4;6358:4;6346:40;;;;;;;;;;-1:-1:-1;6407:4:4;6400:11;;6248:217;-1:-1:-1;6449:5:4;6442:12;;6708:317;6786:4;6806:22;6814:4;6820:7;6806;:22::i;:::-;6802:217;;;6876:5;6844:12;;;:6;:12;;;;;;;;-1:-1:-1;;;;;6844:29:4;;;;;;;;;;:37;;-1:-1:-1;;6844:37:4;;;6900:40;735:10:21;;6844:12:4;;6900:40;;6876:5;6900:40;-1:-1:-1;6961:4:4;6954:11;;7362:208:16;-1:-1:-1;;;;;7432:21:16;;7428:91;;7476:32;;-1:-1:-1;;;7476:32:16;;7505:1;7476:32;;;6541:51:34;6514:18;;7476:32:16;6395:203:34;7428:91:16;7528:35;7544:1;7548:7;7557:5;7528:7;:35::i;:::-;7362:208;;:::o;7888:206::-;-1:-1:-1;;;;;7958:21:16;;7954:89;;8002:30;;-1:-1:-1;;;8002:30:16;;8029:1;8002:30;;;6541:51:34;6514:18;;8002:30:16;6395:203:34;7954:89:16;8052:35;8060:7;8077:1;8081:5;8052:7;:35::i;3408:197:4:-;3496:22;3504:4;3510:7;3496;:22::i;:::-;3491:108;;3541:47;;-1:-1:-1;;;3541:47:4;;-1:-1:-1;;;;;6795:32:34;;3541:47:4;;;6777:51:34;6844:18;;;6837:34;;;6750:18;;3541:47:4;6603:274:34;5912:1107:16;-1:-1:-1;;;;;6001:18:16;;5997:540;;6153:5;6137:12;;:21;;;;;;;:::i;:::-;;;;-1:-1:-1;5997:540:16;;-1:-1:-1;5997:540:16;;-1:-1:-1;;;;;6211:15:16;;6189:19;6211:15;;;;;;;;;;;6244:19;;;6240:115;;;6290:50;;-1:-1:-1;;;6290:50:16;;-1:-1:-1;;;;;7329:32:34;;6290:50:16;;;7311:51:34;7378:18;;;7371:34;;;7421:18;;;7414:34;;;7284:18;;6290:50:16;7109:345:34;6240:115:16;-1:-1:-1;;;;;6475:15:16;;:9;:15;;;;;;;;;;6493:19;;;;6475:37;;5997:540;-1:-1:-1;;;;;6551:16:16;;6547:425;;6714:12;:21;;;;;;;6547:425;;;-1:-1:-1;;;;;6925:13:16;;:9;:13;;;;;;;;;;:22;;;;;;6547:425;7002:2;-1:-1:-1;;;;;6987:25:16;6996:4;-1:-1:-1;;;;;6987:25:16;;7006:5;6987:25;;;;1633::34;;1621:2;1606:18;;1487:177;6987:25:16;;;;;;;;5912:1107;;;:::o;14:286:34:-;72:6;125:2;113:9;104:7;100:23;96:32;93:52;;;141:1;138;131:12;93:52;167:23;;-1:-1:-1;;;;;;219:32:34;;209:43;;199:71;;266:1;263;256:12;199:71;289:5;14:286;-1:-1:-1;;;14:286:34:o;497:548::-;609:4;638:2;667;656:9;649:21;699:6;693:13;742:6;737:2;726:9;722:18;715:34;767:1;777:140;791:6;788:1;785:13;777:140;;;886:14;;;882:23;;876:30;852:17;;;871:2;848:26;841:66;806:10;;777:140;;;781:3;966:1;961:2;952:6;941:9;937:22;933:31;926:42;1036:2;1029;1025:7;1020:2;1012:6;1008:15;1004:29;993:9;989:45;985:54;977:62;;;;497:548;;;;:::o;1050:173::-;1118:20;;-1:-1:-1;;;;;1167:31:34;;1157:42;;1147:70;;1213:1;1210;1203:12;1147:70;1050:173;;;:::o;1228:254::-;1296:6;1304;1357:2;1345:9;1336:7;1332:23;1328:32;1325:52;;;1373:1;1370;1363:12;1325:52;1396:29;1415:9;1396:29;:::i;:::-;1386:39;1472:2;1457:18;;;;1444:32;;-1:-1:-1;;;1228:254:34:o;1669:328::-;1746:6;1754;1762;1815:2;1803:9;1794:7;1790:23;1786:32;1783:52;;;1831:1;1828;1821:12;1783:52;1854:29;1873:9;1854:29;:::i;:::-;1844:39;;1902:38;1936:2;1925:9;1921:18;1902:38;:::i;:::-;1892:48;;1987:2;1976:9;1972:18;1959:32;1949:42;;1669:328;;;;;:::o;2002:180::-;2061:6;2114:2;2102:9;2093:7;2089:23;2085:32;2082:52;;;2130:1;2127;2120:12;2082:52;-1:-1:-1;2153:23:34;;2002:180;-1:-1:-1;2002:180:34:o;2369:254::-;2437:6;2445;2498:2;2486:9;2477:7;2473:23;2469:32;2466:52;;;2514:1;2511;2504:12;2466:52;2550:9;2537:23;2527:33;;2579:38;2613:2;2602:9;2598:18;2579:38;:::i;:::-;2569:48;;2369:254;;;;;:::o;2628:186::-;2687:6;2740:2;2728:9;2719:7;2715:23;2711:32;2708:52;;;2756:1;2753;2746:12;2708:52;2779:29;2798:9;2779:29;:::i;3193:260::-;3261:6;3269;3322:2;3310:9;3301:7;3297:23;3293:32;3290:52;;;3338:1;3335;3328:12;3290:52;3361:29;3380:9;3361:29;:::i;:::-;3351:39;;3409:38;3443:2;3432:9;3428:18;3409:38;:::i;3458:380::-;3537:1;3533:12;;;;3580;;;3601:61;;3655:4;3647:6;3643:17;3633:27;;3601:61;3708:2;3700:6;3697:14;3677:18;3674:38;3671:161;;3754:10;3749:3;3745:20;3742:1;3735:31;3789:4;3786:1;3779:15;3817:4;3814:1;3807:15;3671:161;;3458:380;;;:::o;6882:222::-;6947:9;;;6968:10;;;6965:133;;;7020:10;7015:3;7011:20;7008:1;7001:31;7055:4;7052:1;7045:15;7083:4;7080:1;7073:15" }, "methodIdentifiers": { "DEFAULT_ADMIN_ROLE()": "a217fddf", @@ -121059,11 +120069,11 @@ "transferFrom(address,address,uint256)": "23b872dd" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"initialAdmin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"initialSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ApprovalNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"removeMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Non-transferable ERC20 token for the Ensemble ecosystem Features: - Non-transferable: tokens cannot be transferred between addresses - Mintable: tokens can be minted by addresses with MINTER_ROLE - Burnable: tokens can be burned by holders or minters - 6 decimals precision for micro-transactions - Role-based access control where minters can manage other minters\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"ApprovalNotAllowed()\":[{\"details\":\"Custom error for when approvals are attempted (not needed for non-transferable token)\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"TransferNotAllowed()\":[{\"details\":\"Custom error for when transfers are attempted (non-transferable token)\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Burn(address,uint256)\":{\"details\":\"Emitted when tokens are burned\",\"params\":{\"amount\":\"Amount of tokens burned\",\"from\":\"Address from which tokens are burned\"}},\"Mint(address,uint256)\":{\"details\":\"Emitted when tokens are minted\",\"params\":{\"amount\":\"Amount of tokens minted\",\"to\":\"Address receiving the tokens\"}},\"MinterAdded(address)\":{\"details\":\"Emitted when a new minter is added\",\"params\":{\"minter\":\"Address granted minter role\"}},\"MinterRemoved(address)\":{\"details\":\"Emitted when a minter is removed\",\"params\":{\"minter\":\"Address removed from minter role\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"addMinter(address)\":{\"details\":\"Add a new minter\",\"params\":{\"minter\":\"Address to grant minter role Requirements: - Caller must have minter role (minters can add other minters)\"}},\"allowance(address,address)\":{\"details\":\"Override allowance to prevent allowance queries (not needed for non-transferable token)This function always reverts as allowances are not needed for non-transferable tokens\"},\"approve(address,uint256)\":{\"details\":\"Override approve to prevent approvals (not needed for non-transferable token)This function always reverts as approvals are not needed for non-transferable tokens\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"burn(uint256)\":{\"details\":\"Burn tokens from caller's balance\",\"params\":{\"amount\":\"Amount of tokens to burn Requirements: - Caller must have sufficient balance\"}},\"burnFrom(address,uint256)\":{\"details\":\"Burn tokens from a specified address (minter only)\",\"params\":{\"amount\":\"Amount of tokens to burn Requirements: - Caller must have minter role - `from` must have sufficient balance\",\"from\":\"Address to burn tokens from\"}},\"constructor\":{\"details\":\"Constructor that sets up the token with initial admin\",\"params\":{\"initialAdmin\":\"Address that will have admin and initial minter roles\",\"initialSupply\":\"Optional initial supply to mint to admin (0 for no initial supply)\",\"name\":\"Token name\",\"symbol\":\"Token symbol\"}},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation\",\"returns\":{\"_0\":\"Number of decimals (6 for micro-transactions)\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Override decreaseAllowance to prevent allowance decreases (not needed for non-transferable token)This function always reverts as allowances are not needed for non-transferable tokens\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Override increaseAllowance to prevent allowance increases (not needed for non-transferable token)This function always reverts as allowances are not needed for non-transferable tokens\"},\"isMinter(address)\":{\"details\":\"Check if an address has minter role\",\"params\":{\"account\":\"Address to check\"},\"returns\":{\"_0\":\"true if account has minter role\"}},\"mint(address,uint256)\":{\"details\":\"Mint tokens to a specified address\",\"params\":{\"amount\":\"Amount of tokens to mint Requirements: - Caller must have minter role - `to` cannot be zero address\",\"to\":\"Address to mint tokens to\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"removeMinter(address)\":{\"details\":\"Remove a minter\",\"params\":{\"minter\":\"Address to remove minter role from Requirements: - Caller must have minter role (minters can remove other minters)\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"Override transfer to make token non-transferableThis function always reverts as the token is non-transferable\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Override transferFrom to make token non-transferableThis function always reverts as the token is non-transferable\"}},\"stateVariables\":{\"MINTER_ROLE\":{\"details\":\"Role identifier for addresses allowed to mint tokens\"}},\"title\":\"EnsembleCredits\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/EnsembleCredits.sol\":\"EnsembleCredits\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xc1bebdee8943bd5e9ef1e0f2e63296aa1dd4171a66b9e74d0286220e891e1458\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928cf2f0042c606f3dcb21bd8a272573f462a215cd65285d2d6b407f31e9bd67\",\"dweb:/ipfs/QmWGxjckno6sfjHPX5naPnsfsyisgy4PJDf46eLw9umfpx\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x4d9a2b261b56a1e4a37bb038151dec98b952fed16de2bdfdda27e38e2b12b530\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f724110f7aeb6151af800ab8c12e6060b29bda9e013f0ccb331eb754d6a7cbf0\",\"dweb:/ipfs/QmUcjzCZpxtUPdEThtAzE1f9LvuJiUGZxTdH9N6bHrb5Cf\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a\",\"dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x2659248df25e34000ed214b3dc8da2160bc39874c992b477d9e2b1b3283dc073\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c345af1b0e7ea28d1216d6a04ab28f5534a5229b9edf9ca3cd0e84950ae58d26\",\"dweb:/ipfs/QmY63jtSrYpLRe8Gj1ep2vMDCKxGNNG3hnNVKBVnrs2nmA\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]},\"contracts/EnsembleCredits.sol\":{\"keccak256\":\"0x3bdcc75acfebb3fc40dfc2463d31bf1974ad1318b887eff2a576e0669e76ce88\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a270d06fd5f17adec4ce5a4940d9df6d6b64d6167efdf9c4e9c54fae8f72b5f6\",\"dweb:/ipfs/QmVtisy8GErmWj3fPhrYUETZDLnsV5WtjYXCNP4o9FF79W\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"initialAdmin\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"initialSupply\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ApprovalNotAllowed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TransferNotAllowed\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Burn\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"Mint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"MinterAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"MinterRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"MINTER_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"addMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burn\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"burnFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"isMinter\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"minter\",\"type\":\"address\"}],\"name\":\"removeMinter\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Non-transferable ERC20 token for the Ensemble ecosystem Features: - Non-transferable: tokens cannot be transferred between addresses - Mintable: tokens can be minted by addresses with MINTER_ROLE - Burnable: tokens can be burned by holders or minters - 6 decimals precision for micro-transactions - Role-based access control where minters can manage other minters\",\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"ApprovalNotAllowed()\":[{\"details\":\"Custom error for when approvals are attempted (not needed for non-transferable token)\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"TransferNotAllowed()\":[{\"details\":\"Custom error for when transfers are attempted (non-transferable token)\"}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"Burn(address,uint256)\":{\"details\":\"Emitted when tokens are burned\",\"params\":{\"amount\":\"Amount of tokens burned\",\"from\":\"Address from which tokens are burned\"}},\"Mint(address,uint256)\":{\"details\":\"Emitted when tokens are minted\",\"params\":{\"amount\":\"Amount of tokens minted\",\"to\":\"Address receiving the tokens\"}},\"MinterAdded(address)\":{\"details\":\"Emitted when a new minter is added\",\"params\":{\"minter\":\"Address granted minter role\"}},\"MinterRemoved(address)\":{\"details\":\"Emitted when a minter is removed\",\"params\":{\"minter\":\"Address removed from minter role\"}},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"addMinter(address)\":{\"details\":\"Add a new minter\",\"params\":{\"minter\":\"Address to grant minter role Requirements: - Caller must have minter role (minters can add other minters)\"}},\"allowance(address,address)\":{\"details\":\"Override allowance to prevent allowance queries (not needed for non-transferable token)This function always reverts as allowances are not needed for non-transferable tokens\"},\"approve(address,uint256)\":{\"details\":\"Override approve to prevent approvals (not needed for non-transferable token)This function always reverts as approvals are not needed for non-transferable tokens\"},\"balanceOf(address)\":{\"details\":\"Returns the value of tokens owned by `account`.\"},\"burn(uint256)\":{\"details\":\"Burn tokens from caller's balance\",\"params\":{\"amount\":\"Amount of tokens to burn Requirements: - Caller must have sufficient balance\"}},\"burnFrom(address,uint256)\":{\"details\":\"Burn tokens from a specified address (minter only)\",\"params\":{\"amount\":\"Amount of tokens to burn Requirements: - Caller must have minter role - `from` must have sufficient balance\",\"from\":\"Address to burn tokens from\"}},\"constructor\":{\"details\":\"Constructor that sets up the token with initial admin\",\"params\":{\"initialAdmin\":\"Address that will have admin and initial minter roles\",\"initialSupply\":\"Optional initial supply to mint to admin (0 for no initial supply)\",\"name\":\"Token name\",\"symbol\":\"Token symbol\"}},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation\",\"returns\":{\"_0\":\"Number of decimals (6 for micro-transactions)\"}},\"decreaseAllowance(address,uint256)\":{\"details\":\"Override decreaseAllowance to prevent allowance decreases (not needed for non-transferable token)This function always reverts as allowances are not needed for non-transferable tokens\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Override increaseAllowance to prevent allowance increases (not needed for non-transferable token)This function always reverts as allowances are not needed for non-transferable tokens\"},\"isMinter(address)\":{\"details\":\"Check if an address has minter role\",\"params\":{\"account\":\"Address to check\"},\"returns\":{\"_0\":\"true if account has minter role\"}},\"mint(address,uint256)\":{\"details\":\"Mint tokens to a specified address\",\"params\":{\"amount\":\"Amount of tokens to mint Requirements: - Caller must have minter role - `to` cannot be zero address\",\"to\":\"Address to mint tokens to\"}},\"name()\":{\"details\":\"Returns the name of the token.\"},\"removeMinter(address)\":{\"details\":\"Remove a minter\",\"params\":{\"minter\":\"Address to remove minter role from Requirements: - Caller must have minter role (minters can remove other minters)\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[ERC section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"Returns the value of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Override transfer to make token non-transferableThis function always reverts as the token is non-transferable\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Override transferFrom to make token non-transferableThis function always reverts as the token is non-transferable\"}},\"stateVariables\":{\"MINTER_ROLE\":{\"details\":\"Role identifier for addresses allowed to mint tokens\"}},\"title\":\"EnsembleCredits\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/EnsembleCredits.sol\":\"EnsembleCredits\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x1a6b4f6b7798ab80929d491b89d5427a9b3338c0fd1acd0ba325f69c6f1646af\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7bb7f346c12a14dc622bc105ce3c47202fbc89f4b153a28a63bb68193297330c\",\"dweb:/ipfs/QmagwF8P3bUBXwdo159ueEnY9dLSvEWwK24kk2op58egwG\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0xbff9f59c84e5337689161ce7641c0ef8e872d6a7536fbc1f5133f128887aba3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b308f882e796f7b79c9502deacb0a62983035c6f6f4e962b319ba6a1f4a77d3d\",\"dweb:/ipfs/QmaWCW7ahEQqFjwhSUhV7Ae7WhfNvzSpE7DQ58hvEooqPL\"]},\"@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23\",\"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x86b7b71a6aedefdad89b607378eeab1dcc5389b9ea7d17346d08af01d7190994\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1dc2db8d94a21eac8efe03adf574c419b08536409b416057a2b5b95cb772c43c\",\"dweb:/ipfs/QmZfqJCKVU1ScuX2A7s8WZdQEaikwJbDH5JBrBdKTUT4Gu\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x74ed01eb66b923d0d0cfe3be84604ac04b76482a55f9dd655e1ef4d367f95bc2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5282825a626cfe924e504274b864a652b0023591fa66f06a067b25b51ba9b303\",\"dweb:/ipfs/QmeCfPykghhMc81VJTrHTC7sF6CRvaA1FXVq2pJhwYp1dV\"]},\"@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol\":{\"keccak256\":\"0x2659248df25e34000ed214b3dc8da2160bc39874c992b477d9e2b1b3283dc073\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c345af1b0e7ea28d1216d6a04ab28f5534a5229b9edf9ca3cd0e84950ae58d26\",\"dweb:/ipfs/QmY63jtSrYpLRe8Gj1ep2vMDCKxGNNG3hnNVKBVnrs2nmA\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0xd6fa4088198f04eef10c5bce8a2f4d60554b7ec4b987f684393c01bf79b94d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f95ee0bbd4dd3ac730d066ba3e785ded4565e890dbec2fa7d3b9fe3bad9d0d6e\",\"dweb:/ipfs/QmSLr6bHkPFWT7ntj34jmwfyskpwo97T9jZUrk5sz3sdtR\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377\",\"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617\",\"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u\"]},\"contracts/EnsembleCredits.sol\":{\"keccak256\":\"0x3bdcc75acfebb3fc40dfc2463d31bf1974ad1318b887eff2a576e0669e76ce88\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a270d06fd5f17adec4ce5a4940d9df6d6b64d6167efdf9c4e9c54fae8f72b5f6\",\"dweb:/ipfs/QmVtisy8GErmWj3fPhrYUETZDLnsV5WtjYXCNP4o9FF79W\"]}},\"version\":1}", "storageLayout": { "storage": [ { - "astId": 1970, + "astId": 1971, "contract": "contracts/EnsembleCredits.sol:EnsembleCredits", "label": "_balances", "offset": 0, @@ -121071,7 +120081,7 @@ "type": "t_mapping(t_address,t_uint256)" }, { - "astId": 1976, + "astId": 1977, "contract": "contracts/EnsembleCredits.sol:EnsembleCredits", "label": "_allowances", "offset": 0, @@ -121079,7 +120089,7 @@ "type": "t_mapping(t_address,t_mapping(t_address,t_uint256))" }, { - "astId": 1978, + "astId": 1979, "contract": "contracts/EnsembleCredits.sol:EnsembleCredits", "label": "_totalSupply", "offset": 0, @@ -121087,7 +120097,7 @@ "type": "t_uint256" }, { - "astId": 1980, + "astId": 1981, "contract": "contracts/EnsembleCredits.sol:EnsembleCredits", "label": "_name", "offset": 0, @@ -121095,7 +120105,7 @@ "type": "t_string_storage" }, { - "astId": 1982, + "astId": 1983, "contract": "contracts/EnsembleCredits.sol:EnsembleCredits", "label": "_symbol", "offset": 0, @@ -121103,12 +120113,12 @@ "type": "t_string_storage" }, { - "astId": 717, + "astId": 718, "contract": "contracts/EnsembleCredits.sol:EnsembleCredits", "label": "_roles", "offset": 0, "slot": "5", - "type": "t_mapping(t_bytes32,t_struct(RoleData)712_storage)" + "type": "t_mapping(t_bytes32,t_struct(RoleData)713_storage)" } ], "types": { @@ -121148,24 +120158,24 @@ "numberOfBytes": "32", "value": "t_uint256" }, - "t_mapping(t_bytes32,t_struct(RoleData)712_storage)": { + "t_mapping(t_bytes32,t_struct(RoleData)713_storage)": { "encoding": "mapping", "key": "t_bytes32", "label": "mapping(bytes32 => struct AccessControl.RoleData)", "numberOfBytes": "32", - "value": "t_struct(RoleData)712_storage" + "value": "t_struct(RoleData)713_storage" }, "t_string_storage": { "encoding": "bytes", "label": "string", "numberOfBytes": "32" }, - "t_struct(RoleData)712_storage": { + "t_struct(RoleData)713_storage": { "encoding": "inplace", "label": "struct AccessControl.RoleData", "members": [ { - "astId": 709, + "astId": 710, "contract": "contracts/EnsembleCredits.sol:EnsembleCredits", "label": "hasRole", "offset": 0, @@ -121173,7 +120183,7 @@ "type": "t_mapping(t_address,t_bool)" }, { - "astId": 711, + "astId": 712, "contract": "contracts/EnsembleCredits.sol:EnsembleCredits", "label": "adminRole", "offset": 0, @@ -121629,9 +120639,9 @@ "evm": { "bytecode": { "functionDebugData": { - "@_4451": { + "@_4452": { "entryPoint": null, - "id": 4451, + "id": 4452, "parameterSlots": 0, "returnSlots": 0 }, @@ -121663,59 +120673,59 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:216:36", + "nativeSrc": "0:216:34", "nodeType": "YulBlock", - "src": "0:216:36", + "src": "0:216:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "113:101:36", + "nativeSrc": "113:101:34", "nodeType": "YulBlock", - "src": "113:101:36", + "src": "113:101:34", "statements": [ { - "nativeSrc": "123:26:36", + "nativeSrc": "123:26:34", "nodeType": "YulAssignment", - "src": "123:26:36", + "src": "123:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "135:9:36", + "nativeSrc": "135:9:34", "nodeType": "YulIdentifier", - "src": "135:9:36" + "src": "135:9:34" }, { "kind": "number", - "nativeSrc": "146:2:36", + "nativeSrc": "146:2:34", "nodeType": "YulLiteral", - "src": "146:2:36", + "src": "146:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "131:3:36", + "nativeSrc": "131:3:34", "nodeType": "YulIdentifier", - "src": "131:3:36" + "src": "131:3:34" }, - "nativeSrc": "131:18:36", + "nativeSrc": "131:18:34", "nodeType": "YulFunctionCall", - "src": "131:18:36" + "src": "131:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "123:4:36", + "nativeSrc": "123:4:34", "nodeType": "YulIdentifier", - "src": "123:4:36" + "src": "123:4:34" } ] }, @@ -121724,17 +120734,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "165:9:36", + "nativeSrc": "165:9:34", "nodeType": "YulIdentifier", - "src": "165:9:36" + "src": "165:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "180:6:36", + "nativeSrc": "180:6:34", "nodeType": "YulIdentifier", - "src": "180:6:36" + "src": "180:6:34" }, { "arguments": [ @@ -121742,120 +120752,120 @@ "arguments": [ { "kind": "number", - "nativeSrc": "196:2:36", + "nativeSrc": "196:2:34", "nodeType": "YulLiteral", - "src": "196:2:36", + "src": "196:2:34", "type": "", "value": "64" }, { "kind": "number", - "nativeSrc": "200:1:36", + "nativeSrc": "200:1:34", "nodeType": "YulLiteral", - "src": "200:1:36", + "src": "200:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "192:3:36", + "nativeSrc": "192:3:34", "nodeType": "YulIdentifier", - "src": "192:3:36" + "src": "192:3:34" }, - "nativeSrc": "192:10:36", + "nativeSrc": "192:10:34", "nodeType": "YulFunctionCall", - "src": "192:10:36" + "src": "192:10:34" }, { "kind": "number", - "nativeSrc": "204:1:36", + "nativeSrc": "204:1:34", "nodeType": "YulLiteral", - "src": "204:1:36", + "src": "204:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "188:3:36", + "nativeSrc": "188:3:34", "nodeType": "YulIdentifier", - "src": "188:3:36" + "src": "188:3:34" }, - "nativeSrc": "188:18:36", + "nativeSrc": "188:18:34", "nodeType": "YulFunctionCall", - "src": "188:18:36" + "src": "188:18:34" } ], "functionName": { "name": "and", - "nativeSrc": "176:3:36", + "nativeSrc": "176:3:34", "nodeType": "YulIdentifier", - "src": "176:3:36" + "src": "176:3:34" }, - "nativeSrc": "176:31:36", + "nativeSrc": "176:31:34", "nodeType": "YulFunctionCall", - "src": "176:31:36" + "src": "176:31:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "158:6:36", + "nativeSrc": "158:6:34", "nodeType": "YulIdentifier", - "src": "158:6:36" + "src": "158:6:34" }, - "nativeSrc": "158:50:36", + "nativeSrc": "158:50:34", "nodeType": "YulFunctionCall", - "src": "158:50:36" + "src": "158:50:34" }, - "nativeSrc": "158:50:36", + "nativeSrc": "158:50:34", "nodeType": "YulExpressionStatement", - "src": "158:50:36" + "src": "158:50:34" } ] }, "name": "abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed", - "nativeSrc": "14:200:36", + "nativeSrc": "14:200:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "82:9:36", + "nativeSrc": "82:9:34", "nodeType": "YulTypedName", - "src": "82:9:36", + "src": "82:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "93:6:36", + "nativeSrc": "93:6:34", "nodeType": "YulTypedName", - "src": "93:6:36", + "src": "93:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "104:4:36", + "nativeSrc": "104:4:34", "nodeType": "YulTypedName", - "src": "104:4:36", + "src": "104:4:34", "type": "" } ], - "src": "14:200:36" + "src": "14:200:34" } ] }, "contents": "{\n { }\n function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n }\n}", - "id": 36, + "id": 34, "language": "Yul", "name": "#utility.yul" } ], "linkReferences": {}, - "object": "60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516115ac6100fd60003960008181610bce01528181610bf70152610d3d01526115ac6000f3fe6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611132565b6102b5565b6040516100e7939291906111bf565b61013261012d36600461121e565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611132565b6104ca565b6040516100e79190611280565b34801561019757600080fd5b506101326101a63660046112d8565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e79190611360565b34801561025157600080fd5b50610265610260366004611132565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d8565b6109da565b3480156102a157600080fd5b506101326102b0366004611373565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138e565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138e565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138e565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155783398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c8565b90815260200160405180910390206040518060600160405290816000820180546105279061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138e565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138e565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138e565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff908690600401611360565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e4565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c8565b908152604051908190036020019020815181906107d29082611456565b50602082015160018201906107e79082611456565b50604082015160028201906107fc9082611456565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111bf565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c8565b90815260405190819003602001902080546109d09061138e565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a21908790600401611360565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e4565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c8565b90815260405190819003602001902081518190610afc9082611456565b5060208201516001820190610b119082611456565b5060408201516002820190610b269082611456565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111bf565b60405180910390a160018054906000610b7583611516565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611557833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153d565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115578339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c8565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b7576110b7611086565b604051601f8501601f19908116603f011681019082821181831017156110df576110df611086565b816040528093508581528686860111156110f857600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112357600080fd5b610b7e8383356020850161109c565b60006020828403121561114457600080fd5b813567ffffffffffffffff81111561115b57600080fd5b61116784828501611112565b949350505050565b60005b8381101561118a578181015183820152602001611172565b50506000910152565b600081518084526111ab81602086016020860161116f565b601f01601f19169290920160200192915050565b6060815260006111d26060830186611193565b82810360208401526111e48186611193565b905082810360408401526111f88185611193565b9695505050505050565b80356001600160a01b038116811461121957600080fd5b919050565b6000806040838503121561123157600080fd5b61123a83611202565b9150602083013567ffffffffffffffff81111561125657600080fd5b8301601f8101851361126757600080fd5b6112768582356020840161109c565b9150509250929050565b60208152600082516060602084015261129c6080840182611193565b90506020840151601f19808584030160408601526112ba8383611193565b9250604086015191508085840301606086015250610fd98282611193565b6000806000606084860312156112ed57600080fd5b833567ffffffffffffffff8082111561130557600080fd5b61131187838801611112565b9450602086013591508082111561132757600080fd5b61133387838801611112565b9350604086013591508082111561134957600080fd5b5061135686828701611112565b9150509250925092565b602081526000610b7e6020830184611193565b60006020828403121561138557600080fd5b610b7e82611202565b600181811c908216806113a257607f821691505b6020821081036113c257634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113da81846020870161116f565b9190910192915050565b6000602082840312156113f657600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142f5750805b601f850160051c820191505b8181101561144e5782815560010161143b565b505050505050565b815167ffffffffffffffff81111561147057611470611086565b6114848161147e845461138e565b84611406565b602080601f8311600181146114b957600084156114a15750858301515b600019600386901b1c1916600185901b17855561144e565b600085815260208120601f198616915b828110156114e8578886015182559484019460019091019084016114c9565b50858210156115065787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153657634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c75f83ec32a46ec4d9bba6a16b97fd7f4f8b4040e24571dde401082ff2399d0564736f6c63430008160033", - "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D PUSH2 0x22 JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x72 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH2 0xD1 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x15AC PUSH2 0xFD PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0xBCE ADD MSTORE DUP2 DUP2 PUSH2 0xBF7 ADD MSTORE PUSH2 0xD3D ADD MSTORE PUSH2 0x15AC PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC2 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7F3ED719 GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xAD3CB1CC GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xB405166B EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xEF57D884 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7F3ED719 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x1AB JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6237526 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x3017BA09 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x794758BE EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x110 PUSH2 0x10B CALLDATASIZE PUSH1 0x4 PUSH2 0x1132 JUMP JUMPDEST PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BF JUMP JUMPDEST PUSH2 0x132 PUSH2 0x12D CALLDATASIZE PUSH1 0x4 PUSH2 0x121E JUMP JUMPDEST PUSH2 0x47A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x499 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x4B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x1132 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x1280 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x1A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D8 JUMP JUMPDEST PUSH2 0x6D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x840 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x238 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x1360 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x1132 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D8 JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1373 JUMP JUMPDEST PUSH2 0xB85 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x0 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD DUP2 SWAP1 PUSH2 0x2DB SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x354 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x329 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x354 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x337 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x369 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x395 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3E2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3C5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x3F7 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x423 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x470 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x445 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x470 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x453 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xBC3 JUMP JUMPDEST PUSH2 0x48B DUP3 PUSH2 0xC68 JUMP JUMPDEST PUSH2 0x495 DUP3 DUP3 PUSH2 0xC70 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A3 PUSH2 0xD32 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x4BE PUSH2 0xD7B JUMP JUMPDEST PUSH2 0x4C8 PUSH1 0x0 PUSH2 0xDD6 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH2 0x4FE SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x527 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x553 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5A0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x575 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5A0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x583 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x5B9 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5E5 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x632 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x607 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x632 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x615 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x64B SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x677 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6C4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x699 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6C4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6A7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6DC PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x6FF SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x1360 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x71C 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 0x740 SWAP2 SWAP1 PUSH2 0x13E4 JUMP JUMPDEST PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP5 PUSH1 0x40 MLOAD PUSH2 0x7B5 SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0x7D2 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0x7E7 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x7FC SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0x4CD09E35844CCDF25AAC9862AF453CEDF05D8A8B765F2763BE8373B55215DF8D DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x833 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x1 PUSH1 0x40 SHL DUP2 DIV PUSH1 0xFF AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x886 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x8A3 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x8B1 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x8CF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x8F9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x902 CALLER PUSH2 0xE47 JUMP JUMPDEST PUSH2 0x90A PUSH2 0xE58 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SSTORE DUP4 ISZERO PUSH2 0x955 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD GT PUSH2 0x9A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x496E76616C69642073657276696365206E616D65 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x40 MLOAD PUSH2 0x9B6 SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x9D0 SWAP1 PUSH2 0x138E JUMP JUMPDEST SWAP1 POP GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0xA21 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x1360 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA3E 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 0xA62 SWAP2 SWAP1 PUSH2 0x13E4 JUMP JUMPDEST ISZERO PUSH2 0xAAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636520616C72656164792072656769737465726564000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 POP DUP1 PUSH1 0x0 DUP7 PUSH1 0x40 MLOAD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0xAFC SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0xB11 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0xB26 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xC182FE36565BE4905BE53A8ED353F07898B528F1625E778EDF77C13674806486 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xB5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xB75 DUP4 PUSH2 0x1516 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP SWAP1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xB8D PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBB7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xDD6 JUMP JUMPDEST POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0xC4A JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC3E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBC0 PUSH2 0xD7B JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xCCA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xCC7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x153D JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xCF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0xD23 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xD2D DUP4 DUP4 PUSH2 0xE60 JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0xDAD PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0xE4F PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xEFF JUMP JUMPDEST PUSH2 0x4C8 PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xE69 DUP3 PUSH2 0xF07 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0xEAE JUMPI PUSH2 0xD2D DUP3 DUP3 PUSH2 0xF6C JUMP JUMPDEST PUSH2 0x495 PUSH2 0xFE2 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB8D PUSH2 0xEB6 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0xF3D JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0xF89 SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xFC4 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 0xFC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xFD9 DUP6 DUP4 DUP4 PUSH2 0x1001 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1016 JUMPI PUSH2 0x1011 DUP3 PUSH2 0x105D JUMP JUMPDEST PUSH2 0xB7E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x102D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1056 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST POP DUP1 PUSH2 0xB7E JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x106D JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x10B7 JUMPI PUSH2 0x10B7 PUSH2 0x1086 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x10DF JUMPI PUSH2 0x10DF PUSH2 0x1086 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x10F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1123 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x109C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1144 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x115B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1167 DUP5 DUP3 DUP6 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x118A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1172 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x11AB DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x116F JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x11D2 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x1193 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x11E4 DUP2 DUP7 PUSH2 0x1193 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x11F8 DUP2 DUP6 PUSH2 0x1193 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1219 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1231 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x123A DUP4 PUSH2 0x1202 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x1267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1276 DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x109C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0x60 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x129C PUSH1 0x80 DUP5 ADD DUP3 PUSH2 0x1193 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP1 DUP6 DUP5 SUB ADD PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x12BA DUP4 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP6 DUP5 SUB ADD PUSH1 0x60 DUP7 ADD MSTORE POP PUSH2 0xFD9 DUP3 DUP3 PUSH2 0x1193 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x12ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1305 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1311 DUP8 DUP4 DUP9 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1333 DUP8 DUP4 DUP9 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1356 DUP7 DUP3 DUP8 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xB7E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1193 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP3 PUSH2 0x1202 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x13A2 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x13C2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x13DA DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x116F JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xD2D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x142F JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x144E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x143B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1470 JUMPI PUSH2 0x1470 PUSH2 0x1086 JUMP JUMPDEST PUSH2 0x1484 DUP2 PUSH2 0x147E DUP5 SLOAD PUSH2 0x138E JUMP JUMPDEST DUP5 PUSH2 0x1406 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x14B9 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x14A1 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x144E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x14E8 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x14C9 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1506 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1536 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x154F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220C7 PUSH0 DUP4 0xEC ORIGIN LOG4 PUSH15 0xC4D9BBA6A16B97FD7F4F8B4040E245 PUSH18 0xDDE401082FF2399D0564736F6C6343000816 STOP CALLER ", - "sourceMap": "498:2704:29:-:0;;;1171:4:2;1128:48;;987:53:29;;;;;;;;;-1:-1:-1;1011:22:29;:20;:22::i;:::-;498:2704;;7709:422:1;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:1;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:1;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:1;-1:-1:-1;;;;;8033:33:1;;;;;8085:29;;158:50:36;;;8085:29:1;;146:2:36;131:18;8085:29:1;;;;;;;7979:146;7758:373;7709:422::o;14:200:36:-;498:2704:29;;;;;;;;;;;;;;;;;;;;;;" + "object": "60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516115ab6100fd60003960008181610bce01528181610bf70152610d3d01526115ab6000f3fe6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611131565b6102b5565b6040516100e7939291906111be565b61013261012d36600461121d565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611131565b6104ca565b6040516100e7919061127f565b34801561019757600080fd5b506101326101a63660046112d7565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e7919061135f565b34801561025157600080fd5b50610265610260366004611131565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d7565b6109da565b3480156102a157600080fd5b506101326102b0366004611372565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138d565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138d565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138d565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155683398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c7565b90815260200160405180910390206040518060600160405290816000820180546105279061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138d565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138d565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138d565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff90869060040161135f565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e3565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c7565b908152604051908190036020019020815181906107d29082611455565b50602082015160018201906107e79082611455565b50604082015160028201906107fc9082611455565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111be565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c7565b90815260405190819003602001902080546109d09061138d565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a2190879060040161135f565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e3565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c7565b90815260405190819003602001902081518190610afc9082611455565b5060208201516001820190610b119082611455565b5060408201516002820190610b269082611455565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111be565b60405180910390a160018054906000610b7583611515565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611556833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153c565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115568339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c7565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b6576110b6611085565b604051601f8501601f19908116603f011681019082821181831017156110de576110de611085565b816040528093508581528686860111156110f757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112257600080fd5b610b7e8383356020850161109b565b60006020828403121561114357600080fd5b813567ffffffffffffffff81111561115a57600080fd5b61116684828501611111565b949350505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b6060815260006111d16060830186611192565b82810360208401526111e38186611192565b905082810360408401526111f78185611192565b9695505050505050565b80356001600160a01b038116811461121857600080fd5b919050565b6000806040838503121561123057600080fd5b61123983611201565b9150602083013567ffffffffffffffff81111561125557600080fd5b8301601f8101851361126657600080fd5b6112758582356020840161109b565b9150509250929050565b60208152600082516060602084015261129b6080840182611192565b90506020840151601f19808584030160408601526112b98383611192565b9250604086015191508085840301606086015250610fd98282611192565b6000806000606084860312156112ec57600080fd5b833567ffffffffffffffff8082111561130457600080fd5b61131087838801611111565b9450602086013591508082111561132657600080fd5b61133287838801611111565b9350604086013591508082111561134857600080fd5b5061135586828701611111565b9150509250925092565b602081526000610b7e6020830184611192565b60006020828403121561138457600080fd5b610b7e82611201565b600181811c908216806113a157607f821691505b6020821081036113c157634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113d981846020870161116e565b9190910192915050565b6000602082840312156113f557600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142e5750805b601f850160051c820191505b8181101561144d5782815560010161143a565b505050505050565b815167ffffffffffffffff81111561146f5761146f611085565b6114838161147d845461138d565b84611405565b602080601f8311600181146114b857600084156114a05750858301515b600019600386901b1c1916600185901b17855561144d565b600085815260208120601f198616915b828110156114e7578886015182559484019460019091019084016114c8565b50858210156115055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153557634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154e57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212202bfc3b81f904787b5ab23808a04349a17cd56f161fa1b7a96ecce2619be06d4264736f6c63430008160033", + "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D PUSH2 0x22 JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x72 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH2 0xD1 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x15AB PUSH2 0xFD PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0xBCE ADD MSTORE DUP2 DUP2 PUSH2 0xBF7 ADD MSTORE PUSH2 0xD3D ADD MSTORE PUSH2 0x15AB PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC2 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7F3ED719 GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xAD3CB1CC GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xB405166B EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xEF57D884 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7F3ED719 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x1AB JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6237526 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x3017BA09 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x794758BE EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x110 PUSH2 0x10B CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH2 0x132 PUSH2 0x12D CALLDATASIZE PUSH1 0x4 PUSH2 0x121D JUMP JUMPDEST PUSH2 0x47A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x499 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x4B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x127F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x1A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D7 JUMP JUMPDEST PUSH2 0x6D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x840 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x238 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x135F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D7 JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1372 JUMP JUMPDEST PUSH2 0xB85 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x0 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD DUP2 SWAP1 PUSH2 0x2DB SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x354 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x329 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x354 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x337 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x369 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x395 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3E2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3C5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x3F7 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x423 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x470 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x445 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x470 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x453 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xBC3 JUMP JUMPDEST PUSH2 0x48B DUP3 PUSH2 0xC68 JUMP JUMPDEST PUSH2 0x495 DUP3 DUP3 PUSH2 0xC70 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A3 PUSH2 0xD32 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x4BE PUSH2 0xD7B JUMP JUMPDEST PUSH2 0x4C8 PUSH1 0x0 PUSH2 0xDD6 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH2 0x4FE SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x527 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x553 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5A0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x575 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5A0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x583 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x5B9 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5E5 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x632 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x607 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x632 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x615 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x64B SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x677 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6C4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x699 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6C4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6A7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6DC PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x6FF SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x135F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x71C 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 0x740 SWAP2 SWAP1 PUSH2 0x13E3 JUMP JUMPDEST PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP5 PUSH1 0x40 MLOAD PUSH2 0x7B5 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0x7D2 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0x7E7 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x7FC SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0x4CD09E35844CCDF25AAC9862AF453CEDF05D8A8B765F2763BE8373B55215DF8D DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x833 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x1 PUSH1 0x40 SHL DUP2 DIV PUSH1 0xFF AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x886 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x8A3 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x8B1 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x8CF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x8F9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x902 CALLER PUSH2 0xE47 JUMP JUMPDEST PUSH2 0x90A PUSH2 0xE58 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SSTORE DUP4 ISZERO PUSH2 0x955 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD GT PUSH2 0x9A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x496E76616C69642073657276696365206E616D65 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x40 MLOAD PUSH2 0x9B6 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x9D0 SWAP1 PUSH2 0x138D JUMP JUMPDEST SWAP1 POP GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0xA21 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x135F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA3E 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 0xA62 SWAP2 SWAP1 PUSH2 0x13E3 JUMP JUMPDEST ISZERO PUSH2 0xAAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636520616C72656164792072656769737465726564000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 POP DUP1 PUSH1 0x0 DUP7 PUSH1 0x40 MLOAD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0xAFC SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0xB11 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0xB26 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xC182FE36565BE4905BE53A8ED353F07898B528F1625E778EDF77C13674806486 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xB5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xB75 DUP4 PUSH2 0x1515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP SWAP1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xB8D PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBB7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xDD6 JUMP JUMPDEST POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0xC4A JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC3E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBC0 PUSH2 0xD7B JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xCCA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xCC7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x153C JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xCF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0xD23 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xD2D DUP4 DUP4 PUSH2 0xE60 JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0xDAD PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0xE4F PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xEFF JUMP JUMPDEST PUSH2 0x4C8 PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xE69 DUP3 PUSH2 0xF07 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0xEAE JUMPI PUSH2 0xD2D DUP3 DUP3 PUSH2 0xF6C JUMP JUMPDEST PUSH2 0x495 PUSH2 0xFE2 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB8D PUSH2 0xEB6 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0xF3D JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0xF89 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xFC4 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 0xFC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xFD9 DUP6 DUP4 DUP4 PUSH2 0x1001 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1016 JUMPI PUSH2 0x1011 DUP3 PUSH2 0x105D JUMP JUMPDEST PUSH2 0xB7E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x102D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1056 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST POP DUP1 PUSH2 0xB7E JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x106C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x10B6 JUMPI PUSH2 0x10B6 PUSH2 0x1085 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x10DE JUMPI PUSH2 0x10DE PUSH2 0x1085 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x10F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1122 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x109B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x115A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1166 DUP5 DUP3 DUP6 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1189 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1171 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x11AA DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x116E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x11D1 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x1192 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x11E3 DUP2 DUP7 PUSH2 0x1192 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x11F7 DUP2 DUP6 PUSH2 0x1192 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1239 DUP4 PUSH2 0x1201 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1255 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x1266 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1275 DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x109B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0x60 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x129B PUSH1 0x80 DUP5 ADD DUP3 PUSH2 0x1192 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP1 DUP6 DUP5 SUB ADD PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x12B9 DUP4 DUP4 PUSH2 0x1192 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP6 DUP5 SUB ADD PUSH1 0x60 DUP7 ADD MSTORE POP PUSH2 0xFD9 DUP3 DUP3 PUSH2 0x1192 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x12EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1304 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1310 DUP8 DUP4 DUP9 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1332 DUP8 DUP4 DUP9 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1355 DUP7 DUP3 DUP8 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xB7E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1192 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1384 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP3 PUSH2 0x1201 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x13A1 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x13C1 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x13D9 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x116E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xD2D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x142E JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x144D JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x143A JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x146F JUMPI PUSH2 0x146F PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x1483 DUP2 PUSH2 0x147D DUP5 SLOAD PUSH2 0x138D JUMP JUMPDEST DUP5 PUSH2 0x1405 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x14B8 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x14A0 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x144D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x14E7 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x14C8 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1505 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1535 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x154E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA26469706673582212202B 0xFC EXTCODESIZE DUP2 0xF9 DIV PUSH25 0x7B5AB23808A04349A17CD56F161FA1B7A96ECCE2619BE06D42 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "498:2704:29:-:0;;;1171:4:2;1128:48;;987:53:29;;;;;;;;;-1:-1:-1;1011:22:29;:20;:22::i;:::-;498:2704;;7709:422:1;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:1;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:1;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:1;-1:-1:-1;;;;;8033:33:1;;;;;8085:29;;158:50:34;;;8085:29:1;;146:2:34;131:18;8085:29:1;;;;;;;7979:146;7758:373;7709:422::o;14:200:34:-;498:2704:29;;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": { @@ -121883,9 +120893,9 @@ "parameterSlots": 0, "returnSlots": 0 }, - "@_authorizeUpgrade_4609": { + "@_authorizeUpgrade_4610": { "entryPoint": 3176, - "id": 4609, + "id": 4610, "parameterSlots": 1, "returnSlots": 0 }, @@ -121895,9 +120905,9 @@ "parameterSlots": 0, "returnSlots": 0 }, - "@_checkNonPayable_1716": { + "@_checkNonPayable_1717": { "entryPoint": 4066, - "id": 1716, + "id": 1717, "parameterSlots": 0, "returnSlots": 0 }, @@ -121949,15 +120959,15 @@ "parameterSlots": 0, "returnSlots": 1 }, - "@_revert_2871": { + "@_revert_2872": { "entryPoint": 4189, - "id": 2871, + "id": 2872, "parameterSlots": 1, "returnSlots": 0 }, - "@_setImplementation_1496": { + "@_setImplementation_1497": { "entryPoint": 3847, - "id": 1496, + "id": 1497, "parameterSlots": 1, "returnSlots": 0 }, @@ -121973,39 +120983,39 @@ "parameterSlots": 2, "returnSlots": 0 }, - "@functionDelegateCall_2789": { + "@functionDelegateCall_2790": { "entryPoint": 3948, - "id": 2789, + "id": 2790, "parameterSlots": 2, "returnSlots": 1 }, - "@getAddressSlot_2959": { + "@getAddressSlot_2960": { "entryPoint": null, - "id": 2959, + "id": 2960, "parameterSlots": 1, "returnSlots": 1 }, - "@getImplementation_1469": { + "@getImplementation_1470": { "entryPoint": null, - "id": 1469, + "id": 1470, "parameterSlots": 0, "returnSlots": 1 }, - "@getService_4533": { + "@getService_4534": { "entryPoint": 1226, - "id": 4533, + "id": 4534, "parameterSlots": 1, "returnSlots": 1 }, - "@initialize_4470": { + "@initialize_4471": { "entryPoint": 2112, - "id": 4470, + "id": 4471, "parameterSlots": 0, "returnSlots": 0 }, - "@isServiceRegistered_4563": { + "@isServiceRegistered_4564": { "entryPoint": 2396, - "id": 4563, + "id": 4564, "parameterSlots": 1, "returnSlots": 1 }, @@ -122021,9 +121031,9 @@ "parameterSlots": 0, "returnSlots": 1 }, - "@registerService_4519": { + "@registerService_4520": { "entryPoint": 2522, - "id": 4519, + "id": 4520, "parameterSlots": 3, "returnSlots": 1 }, @@ -122033,15 +121043,15 @@ "parameterSlots": 0, "returnSlots": 0 }, - "@serviceCount_4427": { + "@serviceCount_4428": { "entryPoint": null, - "id": 4427, + "id": 4428, "parameterSlots": 0, "returnSlots": 0 }, - "@services_4425": { + "@services_4426": { "entryPoint": 693, - "id": 4425, + "id": 4426, "parameterSlots": 0, "returnSlots": 0 }, @@ -122051,15 +121061,15 @@ "parameterSlots": 1, "returnSlots": 0 }, - "@updateService_4599": { + "@updateService_4600": { "entryPoint": 1748, - "id": 4599, + "id": 4600, "parameterSlots": 3, "returnSlots": 0 }, - "@upgradeToAndCall_1532": { + "@upgradeToAndCall_1533": { "entryPoint": 3680, - "id": 1532, + "id": 1533, "parameterSlots": 2, "returnSlots": 0 }, @@ -122069,68 +121079,68 @@ "parameterSlots": 2, "returnSlots": 0 }, - "@verifyCallResultFromTarget_2829": { + "@verifyCallResultFromTarget_2830": { "entryPoint": 4097, - "id": 2829, + "id": 2830, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_address": { - "entryPoint": 4610, + "entryPoint": 4609, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_available_length_string": { - "entryPoint": 4252, + "entryPoint": 4251, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_string": { - "entryPoint": 4370, + "entryPoint": 4369, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_address": { - "entryPoint": 4979, + "entryPoint": 4978, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_addresst_bytes_memory_ptr": { - "entryPoint": 4638, + "entryPoint": 4637, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_bool_fromMemory": { - "entryPoint": 5092, + "entryPoint": 5091, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_bytes32_fromMemory": { - "entryPoint": 5437, + "entryPoint": 5436, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_string_memory_ptr": { - "entryPoint": 4402, + "entryPoint": 4401, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr": { - "entryPoint": 4824, + "entryPoint": 4823, "id": null, "parameterSlots": 2, "returnSlots": 3 }, "abi_encode_string": { - "entryPoint": 4499, + "entryPoint": 4498, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -122142,7 +121152,7 @@ "returnSlots": 1 }, "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 5064, + "entryPoint": 5063, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -122172,13 +121182,13 @@ "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 4960, + "entryPoint": 4959, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 4543, + "entryPoint": 4542, "id": null, "parameterSlots": 4, "returnSlots": 1 @@ -122201,8 +121211,8 @@ "parameterSlots": 1, "returnSlots": 1 }, - "abi_encode_tuple_t_struct$_Service_$4420_memory_ptr__to_t_struct$_Service_$4420_memory_ptr__fromStack_reversed": { - "entryPoint": 4736, + "abi_encode_tuple_t_struct$_Service_$4421_memory_ptr__to_t_struct$_Service_$4421_memory_ptr__fromStack_reversed": { + "entryPoint": 4735, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -122220,25 +121230,25 @@ "returnSlots": 1 }, "clean_up_bytearray_end_slots_string_storage": { - "entryPoint": 5126, + "entryPoint": 5125, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 5206, + "entryPoint": 5205, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "copy_memory_to_memory_with_cleanup": { - "entryPoint": 4463, + "entryPoint": 4462, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "extract_byte_array_length": { - "entryPoint": 5006, + "entryPoint": 5005, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -122250,13 +121260,13 @@ "returnSlots": 1 }, "increment_t_uint256": { - "entryPoint": 5398, + "entryPoint": 5397, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "panic_error_0x41": { - "entryPoint": 4230, + "entryPoint": 4229, "id": null, "parameterSlots": 0, "returnSlots": 0 @@ -122265,59 +121275,59 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:10937:36", + "nativeSrc": "0:10937:34", "nodeType": "YulBlock", - "src": "0:10937:36", + "src": "0:10937:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "115:76:36", + "nativeSrc": "115:76:34", "nodeType": "YulBlock", - "src": "115:76:36", + "src": "115:76:34", "statements": [ { - "nativeSrc": "125:26:36", + "nativeSrc": "125:26:34", "nodeType": "YulAssignment", - "src": "125:26:36", + "src": "125:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "137:9:36", + "nativeSrc": "137:9:34", "nodeType": "YulIdentifier", - "src": "137:9:36" + "src": "137:9:34" }, { "kind": "number", - "nativeSrc": "148:2:36", + "nativeSrc": "148:2:34", "nodeType": "YulLiteral", - "src": "148:2:36", + "src": "148:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "133:3:36", + "nativeSrc": "133:3:34", "nodeType": "YulIdentifier", - "src": "133:3:36" + "src": "133:3:34" }, - "nativeSrc": "133:18:36", + "nativeSrc": "133:18:34", "nodeType": "YulFunctionCall", - "src": "133:18:36" + "src": "133:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "125:4:36", + "nativeSrc": "125:4:34", "nodeType": "YulIdentifier", - "src": "125:4:36" + "src": "125:4:34" } ] }, @@ -122326,77 +121336,77 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "167:9:36", + "nativeSrc": "167:9:34", "nodeType": "YulIdentifier", - "src": "167:9:36" + "src": "167:9:34" }, { "name": "value0", - "nativeSrc": "178:6:36", + "nativeSrc": "178:6:34", "nodeType": "YulIdentifier", - "src": "178:6:36" + "src": "178:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "160:6:36", + "nativeSrc": "160:6:34", "nodeType": "YulIdentifier", - "src": "160:6:36" + "src": "160:6:34" }, - "nativeSrc": "160:25:36", + "nativeSrc": "160:25:34", "nodeType": "YulFunctionCall", - "src": "160:25:36" + "src": "160:25:34" }, - "nativeSrc": "160:25:36", + "nativeSrc": "160:25:34", "nodeType": "YulExpressionStatement", - "src": "160:25:36" + "src": "160:25:34" } ] }, "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nativeSrc": "14:177:36", + "nativeSrc": "14:177:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "84:9:36", + "nativeSrc": "84:9:34", "nodeType": "YulTypedName", - "src": "84:9:36", + "src": "84:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "95:6:36", + "nativeSrc": "95:6:34", "nodeType": "YulTypedName", - "src": "95:6:36", + "src": "95:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "106:4:36", + "nativeSrc": "106:4:34", "nodeType": "YulTypedName", - "src": "106:4:36", + "src": "106:4:34", "type": "" } ], - "src": "14:177:36" + "src": "14:177:34" }, { "body": { - "nativeSrc": "228:95:36", + "nativeSrc": "228:95:34", "nodeType": "YulBlock", - "src": "228:95:36", + "src": "228:95:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "245:1:36", + "nativeSrc": "245:1:34", "nodeType": "YulLiteral", - "src": "245:1:36", + "src": "245:1:34", "type": "", "value": "0" }, @@ -122404,171 +121414,171 @@ "arguments": [ { "kind": "number", - "nativeSrc": "252:3:36", + "nativeSrc": "252:3:34", "nodeType": "YulLiteral", - "src": "252:3:36", + "src": "252:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "257:10:36", + "nativeSrc": "257:10:34", "nodeType": "YulLiteral", - "src": "257:10:36", + "src": "257:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "248:3:36", + "nativeSrc": "248:3:34", "nodeType": "YulIdentifier", - "src": "248:3:36" + "src": "248:3:34" }, - "nativeSrc": "248:20:36", + "nativeSrc": "248:20:34", "nodeType": "YulFunctionCall", - "src": "248:20:36" + "src": "248:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "238:6:36", + "nativeSrc": "238:6:34", "nodeType": "YulIdentifier", - "src": "238:6:36" + "src": "238:6:34" }, - "nativeSrc": "238:31:36", + "nativeSrc": "238:31:34", "nodeType": "YulFunctionCall", - "src": "238:31:36" + "src": "238:31:34" }, - "nativeSrc": "238:31:36", + "nativeSrc": "238:31:34", "nodeType": "YulExpressionStatement", - "src": "238:31:36" + "src": "238:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "285:1:36", + "nativeSrc": "285:1:34", "nodeType": "YulLiteral", - "src": "285:1:36", + "src": "285:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "288:4:36", + "nativeSrc": "288:4:34", "nodeType": "YulLiteral", - "src": "288:4:36", + "src": "288:4:34", "type": "", "value": "0x41" } ], "functionName": { "name": "mstore", - "nativeSrc": "278:6:36", + "nativeSrc": "278:6:34", "nodeType": "YulIdentifier", - "src": "278:6:36" + "src": "278:6:34" }, - "nativeSrc": "278:15:36", + "nativeSrc": "278:15:34", "nodeType": "YulFunctionCall", - "src": "278:15:36" + "src": "278:15:34" }, - "nativeSrc": "278:15:36", + "nativeSrc": "278:15:34", "nodeType": "YulExpressionStatement", - "src": "278:15:36" + "src": "278:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "309:1:36", + "nativeSrc": "309:1:34", "nodeType": "YulLiteral", - "src": "309:1:36", + "src": "309:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "312:4:36", + "nativeSrc": "312:4:34", "nodeType": "YulLiteral", - "src": "312:4:36", + "src": "312:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "302:6:36", + "nativeSrc": "302:6:34", "nodeType": "YulIdentifier", - "src": "302:6:36" + "src": "302:6:34" }, - "nativeSrc": "302:15:36", + "nativeSrc": "302:15:34", "nodeType": "YulFunctionCall", - "src": "302:15:36" + "src": "302:15:34" }, - "nativeSrc": "302:15:36", + "nativeSrc": "302:15:34", "nodeType": "YulExpressionStatement", - "src": "302:15:36" + "src": "302:15:34" } ] }, "name": "panic_error_0x41", - "nativeSrc": "196:127:36", + "nativeSrc": "196:127:34", "nodeType": "YulFunctionDefinition", - "src": "196:127:36" + "src": "196:127:34" }, { "body": { - "nativeSrc": "403:557:36", + "nativeSrc": "403:557:34", "nodeType": "YulBlock", - "src": "403:557:36", + "src": "403:557:34", "statements": [ { - "nativeSrc": "413:28:36", + "nativeSrc": "413:28:34", "nodeType": "YulVariableDeclaration", - "src": "413:28:36", + "src": "413:28:34", "value": { "kind": "number", - "nativeSrc": "423:18:36", + "nativeSrc": "423:18:34", "nodeType": "YulLiteral", - "src": "423:18:36", + "src": "423:18:34", "type": "", "value": "0xffffffffffffffff" }, "variables": [ { "name": "_1", - "nativeSrc": "417:2:36", + "nativeSrc": "417:2:34", "nodeType": "YulTypedName", - "src": "417:2:36", + "src": "417:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "468:22:36", + "nativeSrc": "468:22:34", "nodeType": "YulBlock", - "src": "468:22:36", + "src": "468:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "470:16:36", + "nativeSrc": "470:16:34", "nodeType": "YulIdentifier", - "src": "470:16:36" + "src": "470:16:34" }, - "nativeSrc": "470:18:36", + "nativeSrc": "470:18:34", "nodeType": "YulFunctionCall", - "src": "470:18:36" + "src": "470:18:34" }, - "nativeSrc": "470:18:36", + "nativeSrc": "470:18:34", "nodeType": "YulExpressionStatement", - "src": "470:18:36" + "src": "470:18:34" } ] }, @@ -122576,112 +121586,112 @@ "arguments": [ { "name": "length", - "nativeSrc": "456:6:36", + "nativeSrc": "456:6:34", "nodeType": "YulIdentifier", - "src": "456:6:36" + "src": "456:6:34" }, { "name": "_1", - "nativeSrc": "464:2:36", + "nativeSrc": "464:2:34", "nodeType": "YulIdentifier", - "src": "464:2:36" + "src": "464:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "453:2:36", + "nativeSrc": "453:2:34", "nodeType": "YulIdentifier", - "src": "453:2:36" + "src": "453:2:34" }, - "nativeSrc": "453:14:36", + "nativeSrc": "453:14:34", "nodeType": "YulFunctionCall", - "src": "453:14:36" + "src": "453:14:34" }, - "nativeSrc": "450:40:36", + "nativeSrc": "450:40:34", "nodeType": "YulIf", - "src": "450:40:36" + "src": "450:40:34" }, { - "nativeSrc": "499:17:36", + "nativeSrc": "499:17:34", "nodeType": "YulVariableDeclaration", - "src": "499:17:36", + "src": "499:17:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "513:2:36", + "nativeSrc": "513:2:34", "nodeType": "YulLiteral", - "src": "513:2:36", + "src": "513:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "509:3:36", + "nativeSrc": "509:3:34", "nodeType": "YulIdentifier", - "src": "509:3:36" + "src": "509:3:34" }, - "nativeSrc": "509:7:36", + "nativeSrc": "509:7:34", "nodeType": "YulFunctionCall", - "src": "509:7:36" + "src": "509:7:34" }, "variables": [ { "name": "_2", - "nativeSrc": "503:2:36", + "nativeSrc": "503:2:34", "nodeType": "YulTypedName", - "src": "503:2:36", + "src": "503:2:34", "type": "" } ] }, { - "nativeSrc": "525:23:36", + "nativeSrc": "525:23:34", "nodeType": "YulVariableDeclaration", - "src": "525:23:36", + "src": "525:23:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "545:2:36", + "nativeSrc": "545:2:34", "nodeType": "YulLiteral", - "src": "545:2:36", + "src": "545:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "539:5:36", + "nativeSrc": "539:5:34", "nodeType": "YulIdentifier", - "src": "539:5:36" + "src": "539:5:34" }, - "nativeSrc": "539:9:36", + "nativeSrc": "539:9:34", "nodeType": "YulFunctionCall", - "src": "539:9:36" + "src": "539:9:34" }, "variables": [ { "name": "memPtr", - "nativeSrc": "529:6:36", + "nativeSrc": "529:6:34", "nodeType": "YulTypedName", - "src": "529:6:36", + "src": "529:6:34", "type": "" } ] }, { - "nativeSrc": "557:73:36", + "nativeSrc": "557:73:34", "nodeType": "YulVariableDeclaration", - "src": "557:73:36", + "src": "557:73:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "579:6:36", + "nativeSrc": "579:6:34", "nodeType": "YulIdentifier", - "src": "579:6:36" + "src": "579:6:34" }, { "arguments": [ @@ -122693,125 +121703,125 @@ "arguments": [ { "name": "length", - "nativeSrc": "603:6:36", + "nativeSrc": "603:6:34", "nodeType": "YulIdentifier", - "src": "603:6:36" + "src": "603:6:34" }, { "kind": "number", - "nativeSrc": "611:2:36", + "nativeSrc": "611:2:34", "nodeType": "YulLiteral", - "src": "611:2:36", + "src": "611:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "599:3:36", + "nativeSrc": "599:3:34", "nodeType": "YulIdentifier", - "src": "599:3:36" + "src": "599:3:34" }, - "nativeSrc": "599:15:36", + "nativeSrc": "599:15:34", "nodeType": "YulFunctionCall", - "src": "599:15:36" + "src": "599:15:34" }, { "name": "_2", - "nativeSrc": "616:2:36", + "nativeSrc": "616:2:34", "nodeType": "YulIdentifier", - "src": "616:2:36" + "src": "616:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "595:3:36", + "nativeSrc": "595:3:34", "nodeType": "YulIdentifier", - "src": "595:3:36" + "src": "595:3:34" }, - "nativeSrc": "595:24:36", + "nativeSrc": "595:24:34", "nodeType": "YulFunctionCall", - "src": "595:24:36" + "src": "595:24:34" }, { "kind": "number", - "nativeSrc": "621:2:36", + "nativeSrc": "621:2:34", "nodeType": "YulLiteral", - "src": "621:2:36", + "src": "621:2:34", "type": "", "value": "63" } ], "functionName": { "name": "add", - "nativeSrc": "591:3:36", + "nativeSrc": "591:3:34", "nodeType": "YulIdentifier", - "src": "591:3:36" + "src": "591:3:34" }, - "nativeSrc": "591:33:36", + "nativeSrc": "591:33:34", "nodeType": "YulFunctionCall", - "src": "591:33:36" + "src": "591:33:34" }, { "name": "_2", - "nativeSrc": "626:2:36", + "nativeSrc": "626:2:34", "nodeType": "YulIdentifier", - "src": "626:2:36" + "src": "626:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "587:3:36", + "nativeSrc": "587:3:34", "nodeType": "YulIdentifier", - "src": "587:3:36" + "src": "587:3:34" }, - "nativeSrc": "587:42:36", + "nativeSrc": "587:42:34", "nodeType": "YulFunctionCall", - "src": "587:42:36" + "src": "587:42:34" } ], "functionName": { "name": "add", - "nativeSrc": "575:3:36", + "nativeSrc": "575:3:34", "nodeType": "YulIdentifier", - "src": "575:3:36" + "src": "575:3:34" }, - "nativeSrc": "575:55:36", + "nativeSrc": "575:55:34", "nodeType": "YulFunctionCall", - "src": "575:55:36" + "src": "575:55:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "561:10:36", + "nativeSrc": "561:10:34", "nodeType": "YulTypedName", - "src": "561:10:36", + "src": "561:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "689:22:36", + "nativeSrc": "689:22:34", "nodeType": "YulBlock", - "src": "689:22:36", + "src": "689:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "691:16:36", + "nativeSrc": "691:16:34", "nodeType": "YulIdentifier", - "src": "691:16:36" + "src": "691:16:34" }, - "nativeSrc": "691:18:36", + "nativeSrc": "691:18:34", "nodeType": "YulFunctionCall", - "src": "691:18:36" + "src": "691:18:34" }, - "nativeSrc": "691:18:36", + "nativeSrc": "691:18:34", "nodeType": "YulExpressionStatement", - "src": "691:18:36" + "src": "691:18:34" } ] }, @@ -122821,115 +121831,115 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "648:10:36", + "nativeSrc": "648:10:34", "nodeType": "YulIdentifier", - "src": "648:10:36" + "src": "648:10:34" }, { "name": "_1", - "nativeSrc": "660:2:36", + "nativeSrc": "660:2:34", "nodeType": "YulIdentifier", - "src": "660:2:36" + "src": "660:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "645:2:36", + "nativeSrc": "645:2:34", "nodeType": "YulIdentifier", - "src": "645:2:36" + "src": "645:2:34" }, - "nativeSrc": "645:18:36", + "nativeSrc": "645:18:34", "nodeType": "YulFunctionCall", - "src": "645:18:36" + "src": "645:18:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "668:10:36", + "nativeSrc": "668:10:34", "nodeType": "YulIdentifier", - "src": "668:10:36" + "src": "668:10:34" }, { "name": "memPtr", - "nativeSrc": "680:6:36", + "nativeSrc": "680:6:34", "nodeType": "YulIdentifier", - "src": "680:6:36" + "src": "680:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "665:2:36", + "nativeSrc": "665:2:34", "nodeType": "YulIdentifier", - "src": "665:2:36" + "src": "665:2:34" }, - "nativeSrc": "665:22:36", + "nativeSrc": "665:22:34", "nodeType": "YulFunctionCall", - "src": "665:22:36" + "src": "665:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "642:2:36", + "nativeSrc": "642:2:34", "nodeType": "YulIdentifier", - "src": "642:2:36" + "src": "642:2:34" }, - "nativeSrc": "642:46:36", + "nativeSrc": "642:46:34", "nodeType": "YulFunctionCall", - "src": "642:46:36" + "src": "642:46:34" }, - "nativeSrc": "639:72:36", + "nativeSrc": "639:72:34", "nodeType": "YulIf", - "src": "639:72:36" + "src": "639:72:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "727:2:36", + "nativeSrc": "727:2:34", "nodeType": "YulLiteral", - "src": "727:2:36", + "src": "727:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "731:10:36", + "nativeSrc": "731:10:34", "nodeType": "YulIdentifier", - "src": "731:10:36" + "src": "731:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "720:6:36", + "nativeSrc": "720:6:34", "nodeType": "YulIdentifier", - "src": "720:6:36" + "src": "720:6:34" }, - "nativeSrc": "720:22:36", + "nativeSrc": "720:22:34", "nodeType": "YulFunctionCall", - "src": "720:22:36" + "src": "720:22:34" }, - "nativeSrc": "720:22:36", + "nativeSrc": "720:22:34", "nodeType": "YulExpressionStatement", - "src": "720:22:36" + "src": "720:22:34" }, { - "nativeSrc": "751:15:36", + "nativeSrc": "751:15:34", "nodeType": "YulAssignment", - "src": "751:15:36", + "src": "751:15:34", "value": { "name": "memPtr", - "nativeSrc": "760:6:36", + "nativeSrc": "760:6:34", "nodeType": "YulIdentifier", - "src": "760:6:36" + "src": "760:6:34" }, "variableNames": [ { "name": "array", - "nativeSrc": "751:5:36", + "nativeSrc": "751:5:34", "nodeType": "YulIdentifier", - "src": "751:5:36" + "src": "751:5:34" } ] }, @@ -122938,70 +121948,70 @@ "arguments": [ { "name": "memPtr", - "nativeSrc": "782:6:36", + "nativeSrc": "782:6:34", "nodeType": "YulIdentifier", - "src": "782:6:36" + "src": "782:6:34" }, { "name": "length", - "nativeSrc": "790:6:36", + "nativeSrc": "790:6:34", "nodeType": "YulIdentifier", - "src": "790:6:36" + "src": "790:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "775:6:36", + "nativeSrc": "775:6:34", "nodeType": "YulIdentifier", - "src": "775:6:36" + "src": "775:6:34" }, - "nativeSrc": "775:22:36", + "nativeSrc": "775:22:34", "nodeType": "YulFunctionCall", - "src": "775:22:36" + "src": "775:22:34" }, - "nativeSrc": "775:22:36", + "nativeSrc": "775:22:34", "nodeType": "YulExpressionStatement", - "src": "775:22:36" + "src": "775:22:34" }, { "body": { - "nativeSrc": "835:16:36", + "nativeSrc": "835:16:34", "nodeType": "YulBlock", - "src": "835:16:36", + "src": "835:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "844:1:36", + "nativeSrc": "844:1:34", "nodeType": "YulLiteral", - "src": "844:1:36", + "src": "844:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "847:1:36", + "nativeSrc": "847:1:34", "nodeType": "YulLiteral", - "src": "847:1:36", + "src": "847:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "837:6:36", + "nativeSrc": "837:6:34", "nodeType": "YulIdentifier", - "src": "837:6:36" + "src": "837:6:34" }, - "nativeSrc": "837:12:36", + "nativeSrc": "837:12:34", "nodeType": "YulFunctionCall", - "src": "837:12:36" + "src": "837:12:34" }, - "nativeSrc": "837:12:36", + "nativeSrc": "837:12:34", "nodeType": "YulExpressionStatement", - "src": "837:12:36" + "src": "837:12:34" } ] }, @@ -123011,47 +122021,47 @@ "arguments": [ { "name": "src", - "nativeSrc": "816:3:36", + "nativeSrc": "816:3:34", "nodeType": "YulIdentifier", - "src": "816:3:36" + "src": "816:3:34" }, { "name": "length", - "nativeSrc": "821:6:36", + "nativeSrc": "821:6:34", "nodeType": "YulIdentifier", - "src": "821:6:36" + "src": "821:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "812:3:36", + "nativeSrc": "812:3:34", "nodeType": "YulIdentifier", - "src": "812:3:36" + "src": "812:3:34" }, - "nativeSrc": "812:16:36", + "nativeSrc": "812:16:34", "nodeType": "YulFunctionCall", - "src": "812:16:36" + "src": "812:16:34" }, { "name": "end", - "nativeSrc": "830:3:36", + "nativeSrc": "830:3:34", "nodeType": "YulIdentifier", - "src": "830:3:36" + "src": "830:3:34" } ], "functionName": { "name": "gt", - "nativeSrc": "809:2:36", + "nativeSrc": "809:2:34", "nodeType": "YulIdentifier", - "src": "809:2:36" + "src": "809:2:34" }, - "nativeSrc": "809:25:36", + "nativeSrc": "809:25:34", "nodeType": "YulFunctionCall", - "src": "809:25:36" + "src": "809:25:34" }, - "nativeSrc": "806:45:36", + "nativeSrc": "806:45:34", "nodeType": "YulIf", - "src": "806:45:36" + "src": "806:45:34" }, { "expression": { @@ -123060,55 +122070,55 @@ "arguments": [ { "name": "memPtr", - "nativeSrc": "877:6:36", + "nativeSrc": "877:6:34", "nodeType": "YulIdentifier", - "src": "877:6:36" + "src": "877:6:34" }, { "kind": "number", - "nativeSrc": "885:4:36", + "nativeSrc": "885:4:34", "nodeType": "YulLiteral", - "src": "885:4:36", + "src": "885:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "873:3:36", + "nativeSrc": "873:3:34", "nodeType": "YulIdentifier", - "src": "873:3:36" + "src": "873:3:34" }, - "nativeSrc": "873:17:36", + "nativeSrc": "873:17:34", "nodeType": "YulFunctionCall", - "src": "873:17:36" + "src": "873:17:34" }, { "name": "src", - "nativeSrc": "892:3:36", + "nativeSrc": "892:3:34", "nodeType": "YulIdentifier", - "src": "892:3:36" + "src": "892:3:34" }, { "name": "length", - "nativeSrc": "897:6:36", + "nativeSrc": "897:6:34", "nodeType": "YulIdentifier", - "src": "897:6:36" + "src": "897:6:34" } ], "functionName": { "name": "calldatacopy", - "nativeSrc": "860:12:36", + "nativeSrc": "860:12:34", "nodeType": "YulIdentifier", - "src": "860:12:36" + "src": "860:12:34" }, - "nativeSrc": "860:44:36", + "nativeSrc": "860:44:34", "nodeType": "YulFunctionCall", - "src": "860:44:36" + "src": "860:44:34" }, - "nativeSrc": "860:44:36", + "nativeSrc": "860:44:34", "nodeType": "YulExpressionStatement", - "src": "860:44:36" + "src": "860:44:34" }, { "expression": { @@ -123119,153 +122129,153 @@ "arguments": [ { "name": "memPtr", - "nativeSrc": "928:6:36", + "nativeSrc": "928:6:34", "nodeType": "YulIdentifier", - "src": "928:6:36" + "src": "928:6:34" }, { "name": "length", - "nativeSrc": "936:6:36", + "nativeSrc": "936:6:34", "nodeType": "YulIdentifier", - "src": "936:6:36" + "src": "936:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "924:3:36", + "nativeSrc": "924:3:34", "nodeType": "YulIdentifier", - "src": "924:3:36" + "src": "924:3:34" }, - "nativeSrc": "924:19:36", + "nativeSrc": "924:19:34", "nodeType": "YulFunctionCall", - "src": "924:19:36" + "src": "924:19:34" }, { "kind": "number", - "nativeSrc": "945:4:36", + "nativeSrc": "945:4:34", "nodeType": "YulLiteral", - "src": "945:4:36", + "src": "945:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "920:3:36", + "nativeSrc": "920:3:34", "nodeType": "YulIdentifier", - "src": "920:3:36" + "src": "920:3:34" }, - "nativeSrc": "920:30:36", + "nativeSrc": "920:30:34", "nodeType": "YulFunctionCall", - "src": "920:30:36" + "src": "920:30:34" }, { "kind": "number", - "nativeSrc": "952:1:36", + "nativeSrc": "952:1:34", "nodeType": "YulLiteral", - "src": "952:1:36", + "src": "952:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "913:6:36", + "nativeSrc": "913:6:34", "nodeType": "YulIdentifier", - "src": "913:6:36" + "src": "913:6:34" }, - "nativeSrc": "913:41:36", + "nativeSrc": "913:41:34", "nodeType": "YulFunctionCall", - "src": "913:41:36" + "src": "913:41:34" }, - "nativeSrc": "913:41:36", + "nativeSrc": "913:41:34", "nodeType": "YulExpressionStatement", - "src": "913:41:36" + "src": "913:41:34" } ] }, "name": "abi_decode_available_length_string", - "nativeSrc": "328:632:36", + "nativeSrc": "328:632:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "src", - "nativeSrc": "372:3:36", + "nativeSrc": "372:3:34", "nodeType": "YulTypedName", - "src": "372:3:36", + "src": "372:3:34", "type": "" }, { "name": "length", - "nativeSrc": "377:6:36", + "nativeSrc": "377:6:34", "nodeType": "YulTypedName", - "src": "377:6:36", + "src": "377:6:34", "type": "" }, { "name": "end", - "nativeSrc": "385:3:36", + "nativeSrc": "385:3:34", "nodeType": "YulTypedName", - "src": "385:3:36", + "src": "385:3:34", "type": "" } ], "returnVariables": [ { "name": "array", - "nativeSrc": "393:5:36", + "nativeSrc": "393:5:34", "nodeType": "YulTypedName", - "src": "393:5:36", + "src": "393:5:34", "type": "" } ], - "src": "328:632:36" + "src": "328:632:34" }, { "body": { - "nativeSrc": "1018:169:36", + "nativeSrc": "1018:169:34", "nodeType": "YulBlock", - "src": "1018:169:36", + "src": "1018:169:34", "statements": [ { "body": { - "nativeSrc": "1067:16:36", + "nativeSrc": "1067:16:34", "nodeType": "YulBlock", - "src": "1067:16:36", + "src": "1067:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1076:1:36", + "nativeSrc": "1076:1:34", "nodeType": "YulLiteral", - "src": "1076:1:36", + "src": "1076:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1079:1:36", + "nativeSrc": "1079:1:34", "nodeType": "YulLiteral", - "src": "1079:1:36", + "src": "1079:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1069:6:36", + "nativeSrc": "1069:6:34", "nodeType": "YulIdentifier", - "src": "1069:6:36" + "src": "1069:6:34" }, - "nativeSrc": "1069:12:36", + "nativeSrc": "1069:12:34", "nodeType": "YulFunctionCall", - "src": "1069:12:36" + "src": "1069:12:34" }, - "nativeSrc": "1069:12:36", + "nativeSrc": "1069:12:34", "nodeType": "YulExpressionStatement", - "src": "1069:12:36" + "src": "1069:12:34" } ] }, @@ -123277,216 +122287,216 @@ "arguments": [ { "name": "offset", - "nativeSrc": "1046:6:36", + "nativeSrc": "1046:6:34", "nodeType": "YulIdentifier", - "src": "1046:6:36" + "src": "1046:6:34" }, { "kind": "number", - "nativeSrc": "1054:4:36", + "nativeSrc": "1054:4:34", "nodeType": "YulLiteral", - "src": "1054:4:36", + "src": "1054:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "1042:3:36", + "nativeSrc": "1042:3:34", "nodeType": "YulIdentifier", - "src": "1042:3:36" + "src": "1042:3:34" }, - "nativeSrc": "1042:17:36", + "nativeSrc": "1042:17:34", "nodeType": "YulFunctionCall", - "src": "1042:17:36" + "src": "1042:17:34" }, { "name": "end", - "nativeSrc": "1061:3:36", + "nativeSrc": "1061:3:34", "nodeType": "YulIdentifier", - "src": "1061:3:36" + "src": "1061:3:34" } ], "functionName": { "name": "slt", - "nativeSrc": "1038:3:36", + "nativeSrc": "1038:3:34", "nodeType": "YulIdentifier", - "src": "1038:3:36" + "src": "1038:3:34" }, - "nativeSrc": "1038:27:36", + "nativeSrc": "1038:27:34", "nodeType": "YulFunctionCall", - "src": "1038:27:36" + "src": "1038:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "1031:6:36", + "nativeSrc": "1031:6:34", "nodeType": "YulIdentifier", - "src": "1031:6:36" + "src": "1031:6:34" }, - "nativeSrc": "1031:35:36", + "nativeSrc": "1031:35:34", "nodeType": "YulFunctionCall", - "src": "1031:35:36" + "src": "1031:35:34" }, - "nativeSrc": "1028:55:36", + "nativeSrc": "1028:55:34", "nodeType": "YulIf", - "src": "1028:55:36" + "src": "1028:55:34" }, { - "nativeSrc": "1092:89:36", + "nativeSrc": "1092:89:34", "nodeType": "YulAssignment", - "src": "1092:89:36", + "src": "1092:89:34", "value": { "arguments": [ { "arguments": [ { "name": "offset", - "nativeSrc": "1140:6:36", + "nativeSrc": "1140:6:34", "nodeType": "YulIdentifier", - "src": "1140:6:36" + "src": "1140:6:34" }, { "kind": "number", - "nativeSrc": "1148:4:36", + "nativeSrc": "1148:4:34", "nodeType": "YulLiteral", - "src": "1148:4:36", + "src": "1148:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "1136:3:36", + "nativeSrc": "1136:3:34", "nodeType": "YulIdentifier", - "src": "1136:3:36" + "src": "1136:3:34" }, - "nativeSrc": "1136:17:36", + "nativeSrc": "1136:17:34", "nodeType": "YulFunctionCall", - "src": "1136:17:36" + "src": "1136:17:34" }, { "arguments": [ { "name": "offset", - "nativeSrc": "1168:6:36", + "nativeSrc": "1168:6:34", "nodeType": "YulIdentifier", - "src": "1168:6:36" + "src": "1168:6:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "1155:12:36", + "nativeSrc": "1155:12:34", "nodeType": "YulIdentifier", - "src": "1155:12:36" + "src": "1155:12:34" }, - "nativeSrc": "1155:20:36", + "nativeSrc": "1155:20:34", "nodeType": "YulFunctionCall", - "src": "1155:20:36" + "src": "1155:20:34" }, { "name": "end", - "nativeSrc": "1177:3:36", + "nativeSrc": "1177:3:34", "nodeType": "YulIdentifier", - "src": "1177:3:36" + "src": "1177:3:34" } ], "functionName": { "name": "abi_decode_available_length_string", - "nativeSrc": "1101:34:36", + "nativeSrc": "1101:34:34", "nodeType": "YulIdentifier", - "src": "1101:34:36" + "src": "1101:34:34" }, - "nativeSrc": "1101:80:36", + "nativeSrc": "1101:80:34", "nodeType": "YulFunctionCall", - "src": "1101:80:36" + "src": "1101:80:34" }, "variableNames": [ { "name": "array", - "nativeSrc": "1092:5:36", + "nativeSrc": "1092:5:34", "nodeType": "YulIdentifier", - "src": "1092:5:36" + "src": "1092:5:34" } ] } ] }, "name": "abi_decode_string", - "nativeSrc": "965:222:36", + "nativeSrc": "965:222:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "992:6:36", + "nativeSrc": "992:6:34", "nodeType": "YulTypedName", - "src": "992:6:36", + "src": "992:6:34", "type": "" }, { "name": "end", - "nativeSrc": "1000:3:36", + "nativeSrc": "1000:3:34", "nodeType": "YulTypedName", - "src": "1000:3:36", + "src": "1000:3:34", "type": "" } ], "returnVariables": [ { "name": "array", - "nativeSrc": "1008:5:36", + "nativeSrc": "1008:5:34", "nodeType": "YulTypedName", - "src": "1008:5:36", + "src": "1008:5:34", "type": "" } ], - "src": "965:222:36" + "src": "965:222:34" }, { "body": { - "nativeSrc": "1272:242:36", + "nativeSrc": "1272:242:34", "nodeType": "YulBlock", - "src": "1272:242:36", + "src": "1272:242:34", "statements": [ { "body": { - "nativeSrc": "1318:16:36", + "nativeSrc": "1318:16:34", "nodeType": "YulBlock", - "src": "1318:16:36", + "src": "1318:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1327:1:36", + "nativeSrc": "1327:1:34", "nodeType": "YulLiteral", - "src": "1327:1:36", + "src": "1327:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1330:1:36", + "nativeSrc": "1330:1:34", "nodeType": "YulLiteral", - "src": "1330:1:36", + "src": "1330:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1320:6:36", + "nativeSrc": "1320:6:34", "nodeType": "YulIdentifier", - "src": "1320:6:36" + "src": "1320:6:34" }, - "nativeSrc": "1320:12:36", + "nativeSrc": "1320:12:34", "nodeType": "YulFunctionCall", - "src": "1320:12:36" + "src": "1320:12:34" }, - "nativeSrc": "1320:12:36", + "nativeSrc": "1320:12:34", "nodeType": "YulExpressionStatement", - "src": "1320:12:36" + "src": "1320:12:34" } ] }, @@ -123496,122 +122506,122 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "1293:7:36", + "nativeSrc": "1293:7:34", "nodeType": "YulIdentifier", - "src": "1293:7:36" + "src": "1293:7:34" }, { "name": "headStart", - "nativeSrc": "1302:9:36", + "nativeSrc": "1302:9:34", "nodeType": "YulIdentifier", - "src": "1302:9:36" + "src": "1302:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "1289:3:36", + "nativeSrc": "1289:3:34", "nodeType": "YulIdentifier", - "src": "1289:3:36" + "src": "1289:3:34" }, - "nativeSrc": "1289:23:36", + "nativeSrc": "1289:23:34", "nodeType": "YulFunctionCall", - "src": "1289:23:36" + "src": "1289:23:34" }, { "kind": "number", - "nativeSrc": "1314:2:36", + "nativeSrc": "1314:2:34", "nodeType": "YulLiteral", - "src": "1314:2:36", + "src": "1314:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "1285:3:36", + "nativeSrc": "1285:3:34", "nodeType": "YulIdentifier", - "src": "1285:3:36" + "src": "1285:3:34" }, - "nativeSrc": "1285:32:36", + "nativeSrc": "1285:32:34", "nodeType": "YulFunctionCall", - "src": "1285:32:36" + "src": "1285:32:34" }, - "nativeSrc": "1282:52:36", + "nativeSrc": "1282:52:34", "nodeType": "YulIf", - "src": "1282:52:36" + "src": "1282:52:34" }, { - "nativeSrc": "1343:37:36", + "nativeSrc": "1343:37:34", "nodeType": "YulVariableDeclaration", - "src": "1343:37:36", + "src": "1343:37:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "1370:9:36", + "nativeSrc": "1370:9:34", "nodeType": "YulIdentifier", - "src": "1370:9:36" + "src": "1370:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "1357:12:36", + "nativeSrc": "1357:12:34", "nodeType": "YulIdentifier", - "src": "1357:12:36" + "src": "1357:12:34" }, - "nativeSrc": "1357:23:36", + "nativeSrc": "1357:23:34", "nodeType": "YulFunctionCall", - "src": "1357:23:36" + "src": "1357:23:34" }, "variables": [ { "name": "offset", - "nativeSrc": "1347:6:36", + "nativeSrc": "1347:6:34", "nodeType": "YulTypedName", - "src": "1347:6:36", + "src": "1347:6:34", "type": "" } ] }, { "body": { - "nativeSrc": "1423:16:36", + "nativeSrc": "1423:16:34", "nodeType": "YulBlock", - "src": "1423:16:36", + "src": "1423:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1432:1:36", + "nativeSrc": "1432:1:34", "nodeType": "YulLiteral", - "src": "1432:1:36", + "src": "1432:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1435:1:36", + "nativeSrc": "1435:1:34", "nodeType": "YulLiteral", - "src": "1435:1:36", + "src": "1435:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1425:6:36", + "nativeSrc": "1425:6:34", "nodeType": "YulIdentifier", - "src": "1425:6:36" + "src": "1425:6:34" }, - "nativeSrc": "1425:12:36", + "nativeSrc": "1425:12:34", "nodeType": "YulFunctionCall", - "src": "1425:12:36" + "src": "1425:12:34" }, - "nativeSrc": "1425:12:36", + "nativeSrc": "1425:12:34", "nodeType": "YulExpressionStatement", - "src": "1425:12:36" + "src": "1425:12:34" } ] }, @@ -123619,155 +122629,155 @@ "arguments": [ { "name": "offset", - "nativeSrc": "1395:6:36", + "nativeSrc": "1395:6:34", "nodeType": "YulIdentifier", - "src": "1395:6:36" + "src": "1395:6:34" }, { "kind": "number", - "nativeSrc": "1403:18:36", + "nativeSrc": "1403:18:34", "nodeType": "YulLiteral", - "src": "1403:18:36", + "src": "1403:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "1392:2:36", + "nativeSrc": "1392:2:34", "nodeType": "YulIdentifier", - "src": "1392:2:36" + "src": "1392:2:34" }, - "nativeSrc": "1392:30:36", + "nativeSrc": "1392:30:34", "nodeType": "YulFunctionCall", - "src": "1392:30:36" + "src": "1392:30:34" }, - "nativeSrc": "1389:50:36", + "nativeSrc": "1389:50:34", "nodeType": "YulIf", - "src": "1389:50:36" + "src": "1389:50:34" }, { - "nativeSrc": "1448:60:36", + "nativeSrc": "1448:60:34", "nodeType": "YulAssignment", - "src": "1448:60:36", + "src": "1448:60:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "1480:9:36", + "nativeSrc": "1480:9:34", "nodeType": "YulIdentifier", - "src": "1480:9:36" + "src": "1480:9:34" }, { "name": "offset", - "nativeSrc": "1491:6:36", + "nativeSrc": "1491:6:34", "nodeType": "YulIdentifier", - "src": "1491:6:36" + "src": "1491:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "1476:3:36", + "nativeSrc": "1476:3:34", "nodeType": "YulIdentifier", - "src": "1476:3:36" + "src": "1476:3:34" }, - "nativeSrc": "1476:22:36", + "nativeSrc": "1476:22:34", "nodeType": "YulFunctionCall", - "src": "1476:22:36" + "src": "1476:22:34" }, { "name": "dataEnd", - "nativeSrc": "1500:7:36", + "nativeSrc": "1500:7:34", "nodeType": "YulIdentifier", - "src": "1500:7:36" + "src": "1500:7:34" } ], "functionName": { "name": "abi_decode_string", - "nativeSrc": "1458:17:36", + "nativeSrc": "1458:17:34", "nodeType": "YulIdentifier", - "src": "1458:17:36" + "src": "1458:17:34" }, - "nativeSrc": "1458:50:36", + "nativeSrc": "1458:50:34", "nodeType": "YulFunctionCall", - "src": "1458:50:36" + "src": "1458:50:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "1448:6:36", + "nativeSrc": "1448:6:34", "nodeType": "YulIdentifier", - "src": "1448:6:36" + "src": "1448:6:34" } ] } ] }, "name": "abi_decode_tuple_t_string_memory_ptr", - "nativeSrc": "1192:322:36", + "nativeSrc": "1192:322:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "1238:9:36", + "nativeSrc": "1238:9:34", "nodeType": "YulTypedName", - "src": "1238:9:36", + "src": "1238:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "1249:7:36", + "nativeSrc": "1249:7:34", "nodeType": "YulTypedName", - "src": "1249:7:36", + "src": "1249:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "1261:6:36", + "nativeSrc": "1261:6:34", "nodeType": "YulTypedName", - "src": "1261:6:36", + "src": "1261:6:34", "type": "" } ], - "src": "1192:322:36" + "src": "1192:322:34" }, { "body": { - "nativeSrc": "1585:184:36", + "nativeSrc": "1585:184:34", "nodeType": "YulBlock", - "src": "1585:184:36", + "src": "1585:184:34", "statements": [ { - "nativeSrc": "1595:10:36", + "nativeSrc": "1595:10:34", "nodeType": "YulVariableDeclaration", - "src": "1595:10:36", + "src": "1595:10:34", "value": { "kind": "number", - "nativeSrc": "1604:1:36", + "nativeSrc": "1604:1:34", "nodeType": "YulLiteral", - "src": "1604:1:36", + "src": "1604:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "1599:1:36", + "nativeSrc": "1599:1:34", "nodeType": "YulTypedName", - "src": "1599:1:36", + "src": "1599:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "1664:63:36", + "nativeSrc": "1664:63:34", "nodeType": "YulBlock", - "src": "1664:63:36", + "src": "1664:63:34", "statements": [ { "expression": { @@ -123776,26 +122786,26 @@ "arguments": [ { "name": "dst", - "nativeSrc": "1689:3:36", + "nativeSrc": "1689:3:34", "nodeType": "YulIdentifier", - "src": "1689:3:36" + "src": "1689:3:34" }, { "name": "i", - "nativeSrc": "1694:1:36", + "nativeSrc": "1694:1:34", "nodeType": "YulIdentifier", - "src": "1694:1:36" + "src": "1694:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "1685:3:36", + "nativeSrc": "1685:3:34", "nodeType": "YulIdentifier", - "src": "1685:3:36" + "src": "1685:3:34" }, - "nativeSrc": "1685:11:36", + "nativeSrc": "1685:11:34", "nodeType": "YulFunctionCall", - "src": "1685:11:36" + "src": "1685:11:34" }, { "arguments": [ @@ -123803,52 +122813,52 @@ "arguments": [ { "name": "src", - "nativeSrc": "1708:3:36", + "nativeSrc": "1708:3:34", "nodeType": "YulIdentifier", - "src": "1708:3:36" + "src": "1708:3:34" }, { "name": "i", - "nativeSrc": "1713:1:36", + "nativeSrc": "1713:1:34", "nodeType": "YulIdentifier", - "src": "1713:1:36" + "src": "1713:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "1704:3:36", + "nativeSrc": "1704:3:34", "nodeType": "YulIdentifier", - "src": "1704:3:36" + "src": "1704:3:34" }, - "nativeSrc": "1704:11:36", + "nativeSrc": "1704:11:34", "nodeType": "YulFunctionCall", - "src": "1704:11:36" + "src": "1704:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "1698:5:36", + "nativeSrc": "1698:5:34", "nodeType": "YulIdentifier", - "src": "1698:5:36" + "src": "1698:5:34" }, - "nativeSrc": "1698:18:36", + "nativeSrc": "1698:18:34", "nodeType": "YulFunctionCall", - "src": "1698:18:36" + "src": "1698:18:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1678:6:36", + "nativeSrc": "1678:6:34", "nodeType": "YulIdentifier", - "src": "1678:6:36" + "src": "1678:6:34" }, - "nativeSrc": "1678:39:36", + "nativeSrc": "1678:39:34", "nodeType": "YulFunctionCall", - "src": "1678:39:36" + "src": "1678:39:34" }, - "nativeSrc": "1678:39:36", + "nativeSrc": "1678:39:34", "nodeType": "YulExpressionStatement", - "src": "1678:39:36" + "src": "1678:39:34" } ] }, @@ -123856,83 +122866,83 @@ "arguments": [ { "name": "i", - "nativeSrc": "1625:1:36", + "nativeSrc": "1625:1:34", "nodeType": "YulIdentifier", - "src": "1625:1:36" + "src": "1625:1:34" }, { "name": "length", - "nativeSrc": "1628:6:36", + "nativeSrc": "1628:6:34", "nodeType": "YulIdentifier", - "src": "1628:6:36" + "src": "1628:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "1622:2:36", + "nativeSrc": "1622:2:34", "nodeType": "YulIdentifier", - "src": "1622:2:36" + "src": "1622:2:34" }, - "nativeSrc": "1622:13:36", + "nativeSrc": "1622:13:34", "nodeType": "YulFunctionCall", - "src": "1622:13:36" + "src": "1622:13:34" }, - "nativeSrc": "1614:113:36", + "nativeSrc": "1614:113:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "1636:19:36", + "nativeSrc": "1636:19:34", "nodeType": "YulBlock", - "src": "1636:19:36", + "src": "1636:19:34", "statements": [ { - "nativeSrc": "1638:15:36", + "nativeSrc": "1638:15:34", "nodeType": "YulAssignment", - "src": "1638:15:36", + "src": "1638:15:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "1647:1:36", + "nativeSrc": "1647:1:34", "nodeType": "YulIdentifier", - "src": "1647:1:36" + "src": "1647:1:34" }, { "kind": "number", - "nativeSrc": "1650:2:36", + "nativeSrc": "1650:2:34", "nodeType": "YulLiteral", - "src": "1650:2:36", + "src": "1650:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1643:3:36", + "nativeSrc": "1643:3:34", "nodeType": "YulIdentifier", - "src": "1643:3:36" + "src": "1643:3:34" }, - "nativeSrc": "1643:10:36", + "nativeSrc": "1643:10:34", "nodeType": "YulFunctionCall", - "src": "1643:10:36" + "src": "1643:10:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "1638:1:36", + "nativeSrc": "1638:1:34", "nodeType": "YulIdentifier", - "src": "1638:1:36" + "src": "1638:1:34" } ] } ] }, "pre": { - "nativeSrc": "1618:3:36", + "nativeSrc": "1618:3:34", "nodeType": "YulBlock", - "src": "1618:3:36", + "src": "1618:3:34", "statements": [] }, - "src": "1614:113:36" + "src": "1614:113:34" }, { "expression": { @@ -123941,115 +122951,115 @@ "arguments": [ { "name": "dst", - "nativeSrc": "1747:3:36", + "nativeSrc": "1747:3:34", "nodeType": "YulIdentifier", - "src": "1747:3:36" + "src": "1747:3:34" }, { "name": "length", - "nativeSrc": "1752:6:36", + "nativeSrc": "1752:6:34", "nodeType": "YulIdentifier", - "src": "1752:6:36" + "src": "1752:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "1743:3:36", + "nativeSrc": "1743:3:34", "nodeType": "YulIdentifier", - "src": "1743:3:36" + "src": "1743:3:34" }, - "nativeSrc": "1743:16:36", + "nativeSrc": "1743:16:34", "nodeType": "YulFunctionCall", - "src": "1743:16:36" + "src": "1743:16:34" }, { "kind": "number", - "nativeSrc": "1761:1:36", + "nativeSrc": "1761:1:34", "nodeType": "YulLiteral", - "src": "1761:1:36", + "src": "1761:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "1736:6:36", + "nativeSrc": "1736:6:34", "nodeType": "YulIdentifier", - "src": "1736:6:36" + "src": "1736:6:34" }, - "nativeSrc": "1736:27:36", + "nativeSrc": "1736:27:34", "nodeType": "YulFunctionCall", - "src": "1736:27:36" + "src": "1736:27:34" }, - "nativeSrc": "1736:27:36", + "nativeSrc": "1736:27:34", "nodeType": "YulExpressionStatement", - "src": "1736:27:36" + "src": "1736:27:34" } ] }, "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "1519:250:36", + "nativeSrc": "1519:250:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "src", - "nativeSrc": "1563:3:36", + "nativeSrc": "1563:3:34", "nodeType": "YulTypedName", - "src": "1563:3:36", + "src": "1563:3:34", "type": "" }, { "name": "dst", - "nativeSrc": "1568:3:36", + "nativeSrc": "1568:3:34", "nodeType": "YulTypedName", - "src": "1568:3:36", + "src": "1568:3:34", "type": "" }, { "name": "length", - "nativeSrc": "1573:6:36", + "nativeSrc": "1573:6:34", "nodeType": "YulTypedName", - "src": "1573:6:36", + "src": "1573:6:34", "type": "" } ], - "src": "1519:250:36" + "src": "1519:250:34" }, { "body": { - "nativeSrc": "1824:221:36", + "nativeSrc": "1824:221:34", "nodeType": "YulBlock", - "src": "1824:221:36", + "src": "1824:221:34", "statements": [ { - "nativeSrc": "1834:26:36", + "nativeSrc": "1834:26:34", "nodeType": "YulVariableDeclaration", - "src": "1834:26:36", + "src": "1834:26:34", "value": { "arguments": [ { "name": "value", - "nativeSrc": "1854:5:36", + "nativeSrc": "1854:5:34", "nodeType": "YulIdentifier", - "src": "1854:5:36" + "src": "1854:5:34" } ], "functionName": { "name": "mload", - "nativeSrc": "1848:5:36", + "nativeSrc": "1848:5:34", "nodeType": "YulIdentifier", - "src": "1848:5:36" + "src": "1848:5:34" }, - "nativeSrc": "1848:12:36", + "nativeSrc": "1848:12:34", "nodeType": "YulFunctionCall", - "src": "1848:12:36" + "src": "1848:12:34" }, "variables": [ { "name": "length", - "nativeSrc": "1838:6:36", + "nativeSrc": "1838:6:34", "nodeType": "YulTypedName", - "src": "1838:6:36", + "src": "1838:6:34", "type": "" } ] @@ -124059,30 +123069,30 @@ "arguments": [ { "name": "pos", - "nativeSrc": "1876:3:36", + "nativeSrc": "1876:3:34", "nodeType": "YulIdentifier", - "src": "1876:3:36" + "src": "1876:3:34" }, { "name": "length", - "nativeSrc": "1881:6:36", + "nativeSrc": "1881:6:34", "nodeType": "YulIdentifier", - "src": "1881:6:36" + "src": "1881:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1869:6:36", + "nativeSrc": "1869:6:34", "nodeType": "YulIdentifier", - "src": "1869:6:36" + "src": "1869:6:34" }, - "nativeSrc": "1869:19:36", + "nativeSrc": "1869:19:34", "nodeType": "YulFunctionCall", - "src": "1869:19:36" + "src": "1869:19:34" }, - "nativeSrc": "1869:19:36", + "nativeSrc": "1869:19:34", "nodeType": "YulExpressionStatement", - "src": "1869:19:36" + "src": "1869:19:34" }, { "expression": { @@ -124091,90 +123101,90 @@ "arguments": [ { "name": "value", - "nativeSrc": "1936:5:36", + "nativeSrc": "1936:5:34", "nodeType": "YulIdentifier", - "src": "1936:5:36" + "src": "1936:5:34" }, { "kind": "number", - "nativeSrc": "1943:4:36", + "nativeSrc": "1943:4:34", "nodeType": "YulLiteral", - "src": "1943:4:36", + "src": "1943:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "1932:3:36", + "nativeSrc": "1932:3:34", "nodeType": "YulIdentifier", - "src": "1932:3:36" + "src": "1932:3:34" }, - "nativeSrc": "1932:16:36", + "nativeSrc": "1932:16:34", "nodeType": "YulFunctionCall", - "src": "1932:16:36" + "src": "1932:16:34" }, { "arguments": [ { "name": "pos", - "nativeSrc": "1954:3:36", + "nativeSrc": "1954:3:34", "nodeType": "YulIdentifier", - "src": "1954:3:36" + "src": "1954:3:34" }, { "kind": "number", - "nativeSrc": "1959:4:36", + "nativeSrc": "1959:4:34", "nodeType": "YulLiteral", - "src": "1959:4:36", + "src": "1959:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "1950:3:36", + "nativeSrc": "1950:3:34", "nodeType": "YulIdentifier", - "src": "1950:3:36" + "src": "1950:3:34" }, - "nativeSrc": "1950:14:36", + "nativeSrc": "1950:14:34", "nodeType": "YulFunctionCall", - "src": "1950:14:36" + "src": "1950:14:34" }, { "name": "length", - "nativeSrc": "1966:6:36", + "nativeSrc": "1966:6:34", "nodeType": "YulIdentifier", - "src": "1966:6:36" + "src": "1966:6:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "1897:34:36", + "nativeSrc": "1897:34:34", "nodeType": "YulIdentifier", - "src": "1897:34:36" + "src": "1897:34:34" }, - "nativeSrc": "1897:76:36", + "nativeSrc": "1897:76:34", "nodeType": "YulFunctionCall", - "src": "1897:76:36" + "src": "1897:76:34" }, - "nativeSrc": "1897:76:36", + "nativeSrc": "1897:76:34", "nodeType": "YulExpressionStatement", - "src": "1897:76:36" + "src": "1897:76:34" }, { - "nativeSrc": "1982:57:36", + "nativeSrc": "1982:57:34", "nodeType": "YulAssignment", - "src": "1982:57:36", + "src": "1982:57:34", "value": { "arguments": [ { "arguments": [ { "name": "pos", - "nativeSrc": "1997:3:36", + "nativeSrc": "1997:3:34", "nodeType": "YulIdentifier", - "src": "1997:3:36" + "src": "1997:3:34" }, { "arguments": [ @@ -124182,226 +123192,226 @@ "arguments": [ { "name": "length", - "nativeSrc": "2010:6:36", + "nativeSrc": "2010:6:34", "nodeType": "YulIdentifier", - "src": "2010:6:36" + "src": "2010:6:34" }, { "kind": "number", - "nativeSrc": "2018:2:36", + "nativeSrc": "2018:2:34", "nodeType": "YulLiteral", - "src": "2018:2:36", + "src": "2018:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "2006:3:36", + "nativeSrc": "2006:3:34", "nodeType": "YulIdentifier", - "src": "2006:3:36" + "src": "2006:3:34" }, - "nativeSrc": "2006:15:36", + "nativeSrc": "2006:15:34", "nodeType": "YulFunctionCall", - "src": "2006:15:36" + "src": "2006:15:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "2027:2:36", + "nativeSrc": "2027:2:34", "nodeType": "YulLiteral", - "src": "2027:2:36", + "src": "2027:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "2023:3:36", + "nativeSrc": "2023:3:34", "nodeType": "YulIdentifier", - "src": "2023:3:36" + "src": "2023:3:34" }, - "nativeSrc": "2023:7:36", + "nativeSrc": "2023:7:34", "nodeType": "YulFunctionCall", - "src": "2023:7:36" + "src": "2023:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "2002:3:36", + "nativeSrc": "2002:3:34", "nodeType": "YulIdentifier", - "src": "2002:3:36" + "src": "2002:3:34" }, - "nativeSrc": "2002:29:36", + "nativeSrc": "2002:29:34", "nodeType": "YulFunctionCall", - "src": "2002:29:36" + "src": "2002:29:34" } ], "functionName": { "name": "add", - "nativeSrc": "1993:3:36", + "nativeSrc": "1993:3:34", "nodeType": "YulIdentifier", - "src": "1993:3:36" + "src": "1993:3:34" }, - "nativeSrc": "1993:39:36", + "nativeSrc": "1993:39:34", "nodeType": "YulFunctionCall", - "src": "1993:39:36" + "src": "1993:39:34" }, { "kind": "number", - "nativeSrc": "2034:4:36", + "nativeSrc": "2034:4:34", "nodeType": "YulLiteral", - "src": "2034:4:36", + "src": "2034:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "1989:3:36", + "nativeSrc": "1989:3:34", "nodeType": "YulIdentifier", - "src": "1989:3:36" + "src": "1989:3:34" }, - "nativeSrc": "1989:50:36", + "nativeSrc": "1989:50:34", "nodeType": "YulFunctionCall", - "src": "1989:50:36" + "src": "1989:50:34" }, "variableNames": [ { "name": "end", - "nativeSrc": "1982:3:36", + "nativeSrc": "1982:3:34", "nodeType": "YulIdentifier", - "src": "1982:3:36" + "src": "1982:3:34" } ] } ] }, "name": "abi_encode_string", - "nativeSrc": "1774:271:36", + "nativeSrc": "1774:271:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "1801:5:36", + "nativeSrc": "1801:5:34", "nodeType": "YulTypedName", - "src": "1801:5:36", + "src": "1801:5:34", "type": "" }, { "name": "pos", - "nativeSrc": "1808:3:36", + "nativeSrc": "1808:3:34", "nodeType": "YulTypedName", - "src": "1808:3:36", + "src": "1808:3:34", "type": "" } ], "returnVariables": [ { "name": "end", - "nativeSrc": "1816:3:36", + "nativeSrc": "1816:3:34", "nodeType": "YulTypedName", - "src": "1816:3:36", + "src": "1816:3:34", "type": "" } ], - "src": "1774:271:36" + "src": "1774:271:34" }, { "body": { - "nativeSrc": "2267:329:36", + "nativeSrc": "2267:329:34", "nodeType": "YulBlock", - "src": "2267:329:36", + "src": "2267:329:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "2284:9:36", + "nativeSrc": "2284:9:34", "nodeType": "YulIdentifier", - "src": "2284:9:36" + "src": "2284:9:34" }, { "kind": "number", - "nativeSrc": "2295:2:36", + "nativeSrc": "2295:2:34", "nodeType": "YulLiteral", - "src": "2295:2:36", + "src": "2295:2:34", "type": "", "value": "96" } ], "functionName": { "name": "mstore", - "nativeSrc": "2277:6:36", + "nativeSrc": "2277:6:34", "nodeType": "YulIdentifier", - "src": "2277:6:36" + "src": "2277:6:34" }, - "nativeSrc": "2277:21:36", + "nativeSrc": "2277:21:34", "nodeType": "YulFunctionCall", - "src": "2277:21:36" + "src": "2277:21:34" }, - "nativeSrc": "2277:21:36", + "nativeSrc": "2277:21:34", "nodeType": "YulExpressionStatement", - "src": "2277:21:36" + "src": "2277:21:34" }, { - "nativeSrc": "2307:59:36", + "nativeSrc": "2307:59:34", "nodeType": "YulVariableDeclaration", - "src": "2307:59:36", + "src": "2307:59:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "2339:6:36", + "nativeSrc": "2339:6:34", "nodeType": "YulIdentifier", - "src": "2339:6:36" + "src": "2339:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "2351:9:36", + "nativeSrc": "2351:9:34", "nodeType": "YulIdentifier", - "src": "2351:9:36" + "src": "2351:9:34" }, { "kind": "number", - "nativeSrc": "2362:2:36", + "nativeSrc": "2362:2:34", "nodeType": "YulLiteral", - "src": "2362:2:36", + "src": "2362:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "2347:3:36", + "nativeSrc": "2347:3:34", "nodeType": "YulIdentifier", - "src": "2347:3:36" + "src": "2347:3:34" }, - "nativeSrc": "2347:18:36", + "nativeSrc": "2347:18:34", "nodeType": "YulFunctionCall", - "src": "2347:18:36" + "src": "2347:18:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "2321:17:36", + "nativeSrc": "2321:17:34", "nodeType": "YulIdentifier", - "src": "2321:17:36" + "src": "2321:17:34" }, - "nativeSrc": "2321:45:36", + "nativeSrc": "2321:45:34", "nodeType": "YulFunctionCall", - "src": "2321:45:36" + "src": "2321:45:34" }, "variables": [ { "name": "tail_1", - "nativeSrc": "2311:6:36", + "nativeSrc": "2311:6:34", "nodeType": "YulTypedName", - "src": "2311:6:36", + "src": "2311:6:34", "type": "" } ] @@ -124413,104 +123423,104 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "2386:9:36", + "nativeSrc": "2386:9:34", "nodeType": "YulIdentifier", - "src": "2386:9:36" + "src": "2386:9:34" }, { "kind": "number", - "nativeSrc": "2397:2:36", + "nativeSrc": "2397:2:34", "nodeType": "YulLiteral", - "src": "2397:2:36", + "src": "2397:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "2382:3:36", + "nativeSrc": "2382:3:34", "nodeType": "YulIdentifier", - "src": "2382:3:36" + "src": "2382:3:34" }, - "nativeSrc": "2382:18:36", + "nativeSrc": "2382:18:34", "nodeType": "YulFunctionCall", - "src": "2382:18:36" + "src": "2382:18:34" }, { "arguments": [ { "name": "tail_1", - "nativeSrc": "2406:6:36", + "nativeSrc": "2406:6:34", "nodeType": "YulIdentifier", - "src": "2406:6:36" + "src": "2406:6:34" }, { "name": "headStart", - "nativeSrc": "2414:9:36", + "nativeSrc": "2414:9:34", "nodeType": "YulIdentifier", - "src": "2414:9:36" + "src": "2414:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "2402:3:36", + "nativeSrc": "2402:3:34", "nodeType": "YulIdentifier", - "src": "2402:3:36" + "src": "2402:3:34" }, - "nativeSrc": "2402:22:36", + "nativeSrc": "2402:22:34", "nodeType": "YulFunctionCall", - "src": "2402:22:36" + "src": "2402:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2375:6:36", + "nativeSrc": "2375:6:34", "nodeType": "YulIdentifier", - "src": "2375:6:36" + "src": "2375:6:34" }, - "nativeSrc": "2375:50:36", + "nativeSrc": "2375:50:34", "nodeType": "YulFunctionCall", - "src": "2375:50:36" + "src": "2375:50:34" }, - "nativeSrc": "2375:50:36", + "nativeSrc": "2375:50:34", "nodeType": "YulExpressionStatement", - "src": "2375:50:36" + "src": "2375:50:34" }, { - "nativeSrc": "2434:47:36", + "nativeSrc": "2434:47:34", "nodeType": "YulVariableDeclaration", - "src": "2434:47:36", + "src": "2434:47:34", "value": { "arguments": [ { "name": "value1", - "nativeSrc": "2466:6:36", + "nativeSrc": "2466:6:34", "nodeType": "YulIdentifier", - "src": "2466:6:36" + "src": "2466:6:34" }, { "name": "tail_1", - "nativeSrc": "2474:6:36", + "nativeSrc": "2474:6:34", "nodeType": "YulIdentifier", - "src": "2474:6:36" + "src": "2474:6:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "2448:17:36", + "nativeSrc": "2448:17:34", "nodeType": "YulIdentifier", - "src": "2448:17:36" + "src": "2448:17:34" }, - "nativeSrc": "2448:33:36", + "nativeSrc": "2448:33:34", "nodeType": "YulFunctionCall", - "src": "2448:33:36" + "src": "2448:33:34" }, "variables": [ { "name": "tail_2", - "nativeSrc": "2438:6:36", + "nativeSrc": "2438:6:34", "nodeType": "YulTypedName", - "src": "2438:6:36", + "src": "2438:6:34", "type": "" } ] @@ -124522,230 +123532,230 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "2501:9:36", + "nativeSrc": "2501:9:34", "nodeType": "YulIdentifier", - "src": "2501:9:36" + "src": "2501:9:34" }, { "kind": "number", - "nativeSrc": "2512:2:36", + "nativeSrc": "2512:2:34", "nodeType": "YulLiteral", - "src": "2512:2:36", + "src": "2512:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "2497:3:36", + "nativeSrc": "2497:3:34", "nodeType": "YulIdentifier", - "src": "2497:3:36" + "src": "2497:3:34" }, - "nativeSrc": "2497:18:36", + "nativeSrc": "2497:18:34", "nodeType": "YulFunctionCall", - "src": "2497:18:36" + "src": "2497:18:34" }, { "arguments": [ { "name": "tail_2", - "nativeSrc": "2521:6:36", + "nativeSrc": "2521:6:34", "nodeType": "YulIdentifier", - "src": "2521:6:36" + "src": "2521:6:34" }, { "name": "headStart", - "nativeSrc": "2529:9:36", + "nativeSrc": "2529:9:34", "nodeType": "YulIdentifier", - "src": "2529:9:36" + "src": "2529:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "2517:3:36", + "nativeSrc": "2517:3:34", "nodeType": "YulIdentifier", - "src": "2517:3:36" + "src": "2517:3:34" }, - "nativeSrc": "2517:22:36", + "nativeSrc": "2517:22:34", "nodeType": "YulFunctionCall", - "src": "2517:22:36" + "src": "2517:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2490:6:36", + "nativeSrc": "2490:6:34", "nodeType": "YulIdentifier", - "src": "2490:6:36" + "src": "2490:6:34" }, - "nativeSrc": "2490:50:36", + "nativeSrc": "2490:50:34", "nodeType": "YulFunctionCall", - "src": "2490:50:36" + "src": "2490:50:34" }, - "nativeSrc": "2490:50:36", + "nativeSrc": "2490:50:34", "nodeType": "YulExpressionStatement", - "src": "2490:50:36" + "src": "2490:50:34" }, { - "nativeSrc": "2549:41:36", + "nativeSrc": "2549:41:34", "nodeType": "YulAssignment", - "src": "2549:41:36", + "src": "2549:41:34", "value": { "arguments": [ { "name": "value2", - "nativeSrc": "2575:6:36", + "nativeSrc": "2575:6:34", "nodeType": "YulIdentifier", - "src": "2575:6:36" + "src": "2575:6:34" }, { "name": "tail_2", - "nativeSrc": "2583:6:36", + "nativeSrc": "2583:6:34", "nodeType": "YulIdentifier", - "src": "2583:6:36" + "src": "2583:6:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "2557:17:36", + "nativeSrc": "2557:17:34", "nodeType": "YulIdentifier", - "src": "2557:17:36" + "src": "2557:17:34" }, - "nativeSrc": "2557:33:36", + "nativeSrc": "2557:33:34", "nodeType": "YulFunctionCall", - "src": "2557:33:36" + "src": "2557:33:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "2549:4:36", + "nativeSrc": "2549:4:34", "nodeType": "YulIdentifier", - "src": "2549:4:36" + "src": "2549:4:34" } ] } ] }, "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "2050:546:36", + "nativeSrc": "2050:546:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "2220:9:36", + "nativeSrc": "2220:9:34", "nodeType": "YulTypedName", - "src": "2220:9:36", + "src": "2220:9:34", "type": "" }, { "name": "value2", - "nativeSrc": "2231:6:36", + "nativeSrc": "2231:6:34", "nodeType": "YulTypedName", - "src": "2231:6:36", + "src": "2231:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "2239:6:36", + "nativeSrc": "2239:6:34", "nodeType": "YulTypedName", - "src": "2239:6:36", + "src": "2239:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "2247:6:36", + "nativeSrc": "2247:6:34", "nodeType": "YulTypedName", - "src": "2247:6:36", + "src": "2247:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "2258:4:36", + "nativeSrc": "2258:4:34", "nodeType": "YulTypedName", - "src": "2258:4:36", + "src": "2258:4:34", "type": "" } ], - "src": "2050:546:36" + "src": "2050:546:34" }, { "body": { - "nativeSrc": "2650:124:36", + "nativeSrc": "2650:124:34", "nodeType": "YulBlock", - "src": "2650:124:36", + "src": "2650:124:34", "statements": [ { - "nativeSrc": "2660:29:36", + "nativeSrc": "2660:29:34", "nodeType": "YulAssignment", - "src": "2660:29:36", + "src": "2660:29:34", "value": { "arguments": [ { "name": "offset", - "nativeSrc": "2682:6:36", + "nativeSrc": "2682:6:34", "nodeType": "YulIdentifier", - "src": "2682:6:36" + "src": "2682:6:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "2669:12:36", + "nativeSrc": "2669:12:34", "nodeType": "YulIdentifier", - "src": "2669:12:36" + "src": "2669:12:34" }, - "nativeSrc": "2669:20:36", + "nativeSrc": "2669:20:34", "nodeType": "YulFunctionCall", - "src": "2669:20:36" + "src": "2669:20:34" }, "variableNames": [ { "name": "value", - "nativeSrc": "2660:5:36", + "nativeSrc": "2660:5:34", "nodeType": "YulIdentifier", - "src": "2660:5:36" + "src": "2660:5:34" } ] }, { "body": { - "nativeSrc": "2752:16:36", + "nativeSrc": "2752:16:34", "nodeType": "YulBlock", - "src": "2752:16:36", + "src": "2752:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2761:1:36", + "nativeSrc": "2761:1:34", "nodeType": "YulLiteral", - "src": "2761:1:36", + "src": "2761:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "2764:1:36", + "nativeSrc": "2764:1:34", "nodeType": "YulLiteral", - "src": "2764:1:36", + "src": "2764:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "2754:6:36", + "nativeSrc": "2754:6:34", "nodeType": "YulIdentifier", - "src": "2754:6:36" + "src": "2754:6:34" }, - "nativeSrc": "2754:12:36", + "nativeSrc": "2754:12:34", "nodeType": "YulFunctionCall", - "src": "2754:12:36" + "src": "2754:12:34" }, - "nativeSrc": "2754:12:36", + "nativeSrc": "2754:12:34", "nodeType": "YulExpressionStatement", - "src": "2754:12:36" + "src": "2754:12:34" } ] }, @@ -124755,17 +123765,17 @@ "arguments": [ { "name": "value", - "nativeSrc": "2711:5:36", + "nativeSrc": "2711:5:34", "nodeType": "YulIdentifier", - "src": "2711:5:36" + "src": "2711:5:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "2722:5:36", + "nativeSrc": "2722:5:34", "nodeType": "YulIdentifier", - "src": "2722:5:36" + "src": "2722:5:34" }, { "arguments": [ @@ -124773,157 +123783,157 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2737:3:36", + "nativeSrc": "2737:3:34", "nodeType": "YulLiteral", - "src": "2737:3:36", + "src": "2737:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "2742:1:36", + "nativeSrc": "2742:1:34", "nodeType": "YulLiteral", - "src": "2742:1:36", + "src": "2742:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "2733:3:36", + "nativeSrc": "2733:3:34", "nodeType": "YulIdentifier", - "src": "2733:3:36" + "src": "2733:3:34" }, - "nativeSrc": "2733:11:36", + "nativeSrc": "2733:11:34", "nodeType": "YulFunctionCall", - "src": "2733:11:36" + "src": "2733:11:34" }, { "kind": "number", - "nativeSrc": "2746:1:36", + "nativeSrc": "2746:1:34", "nodeType": "YulLiteral", - "src": "2746:1:36", + "src": "2746:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "2729:3:36", + "nativeSrc": "2729:3:34", "nodeType": "YulIdentifier", - "src": "2729:3:36" + "src": "2729:3:34" }, - "nativeSrc": "2729:19:36", + "nativeSrc": "2729:19:34", "nodeType": "YulFunctionCall", - "src": "2729:19:36" + "src": "2729:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "2718:3:36", + "nativeSrc": "2718:3:34", "nodeType": "YulIdentifier", - "src": "2718:3:36" + "src": "2718:3:34" }, - "nativeSrc": "2718:31:36", + "nativeSrc": "2718:31:34", "nodeType": "YulFunctionCall", - "src": "2718:31:36" + "src": "2718:31:34" } ], "functionName": { "name": "eq", - "nativeSrc": "2708:2:36", + "nativeSrc": "2708:2:34", "nodeType": "YulIdentifier", - "src": "2708:2:36" + "src": "2708:2:34" }, - "nativeSrc": "2708:42:36", + "nativeSrc": "2708:42:34", "nodeType": "YulFunctionCall", - "src": "2708:42:36" + "src": "2708:42:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "2701:6:36", + "nativeSrc": "2701:6:34", "nodeType": "YulIdentifier", - "src": "2701:6:36" + "src": "2701:6:34" }, - "nativeSrc": "2701:50:36", + "nativeSrc": "2701:50:34", "nodeType": "YulFunctionCall", - "src": "2701:50:36" + "src": "2701:50:34" }, - "nativeSrc": "2698:70:36", + "nativeSrc": "2698:70:34", "nodeType": "YulIf", - "src": "2698:70:36" + "src": "2698:70:34" } ] }, "name": "abi_decode_address", - "nativeSrc": "2601:173:36", + "nativeSrc": "2601:173:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "2629:6:36", + "nativeSrc": "2629:6:34", "nodeType": "YulTypedName", - "src": "2629:6:36", + "src": "2629:6:34", "type": "" } ], "returnVariables": [ { "name": "value", - "nativeSrc": "2640:5:36", + "nativeSrc": "2640:5:34", "nodeType": "YulTypedName", - "src": "2640:5:36", + "src": "2640:5:34", "type": "" } ], - "src": "2601:173:36" + "src": "2601:173:34" }, { "body": { - "nativeSrc": "2875:428:36", + "nativeSrc": "2875:428:34", "nodeType": "YulBlock", - "src": "2875:428:36", + "src": "2875:428:34", "statements": [ { "body": { - "nativeSrc": "2921:16:36", + "nativeSrc": "2921:16:34", "nodeType": "YulBlock", - "src": "2921:16:36", + "src": "2921:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2930:1:36", + "nativeSrc": "2930:1:34", "nodeType": "YulLiteral", - "src": "2930:1:36", + "src": "2930:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "2933:1:36", + "nativeSrc": "2933:1:34", "nodeType": "YulLiteral", - "src": "2933:1:36", + "src": "2933:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "2923:6:36", + "nativeSrc": "2923:6:34", "nodeType": "YulIdentifier", - "src": "2923:6:36" + "src": "2923:6:34" }, - "nativeSrc": "2923:12:36", + "nativeSrc": "2923:12:34", "nodeType": "YulFunctionCall", - "src": "2923:12:36" + "src": "2923:12:34" }, - "nativeSrc": "2923:12:36", + "nativeSrc": "2923:12:34", "nodeType": "YulExpressionStatement", - "src": "2923:12:36" + "src": "2923:12:34" } ] }, @@ -124933,175 +123943,175 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "2896:7:36", + "nativeSrc": "2896:7:34", "nodeType": "YulIdentifier", - "src": "2896:7:36" + "src": "2896:7:34" }, { "name": "headStart", - "nativeSrc": "2905:9:36", + "nativeSrc": "2905:9:34", "nodeType": "YulIdentifier", - "src": "2905:9:36" + "src": "2905:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "2892:3:36", + "nativeSrc": "2892:3:34", "nodeType": "YulIdentifier", - "src": "2892:3:36" + "src": "2892:3:34" }, - "nativeSrc": "2892:23:36", + "nativeSrc": "2892:23:34", "nodeType": "YulFunctionCall", - "src": "2892:23:36" + "src": "2892:23:34" }, { "kind": "number", - "nativeSrc": "2917:2:36", + "nativeSrc": "2917:2:34", "nodeType": "YulLiteral", - "src": "2917:2:36", + "src": "2917:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "2888:3:36", + "nativeSrc": "2888:3:34", "nodeType": "YulIdentifier", - "src": "2888:3:36" + "src": "2888:3:34" }, - "nativeSrc": "2888:32:36", + "nativeSrc": "2888:32:34", "nodeType": "YulFunctionCall", - "src": "2888:32:36" + "src": "2888:32:34" }, - "nativeSrc": "2885:52:36", + "nativeSrc": "2885:52:34", "nodeType": "YulIf", - "src": "2885:52:36" + "src": "2885:52:34" }, { - "nativeSrc": "2946:39:36", + "nativeSrc": "2946:39:34", "nodeType": "YulAssignment", - "src": "2946:39:36", + "src": "2946:39:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "2975:9:36", + "nativeSrc": "2975:9:34", "nodeType": "YulIdentifier", - "src": "2975:9:36" + "src": "2975:9:34" } ], "functionName": { "name": "abi_decode_address", - "nativeSrc": "2956:18:36", + "nativeSrc": "2956:18:34", "nodeType": "YulIdentifier", - "src": "2956:18:36" + "src": "2956:18:34" }, - "nativeSrc": "2956:29:36", + "nativeSrc": "2956:29:34", "nodeType": "YulFunctionCall", - "src": "2956:29:36" + "src": "2956:29:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "2946:6:36", + "nativeSrc": "2946:6:34", "nodeType": "YulIdentifier", - "src": "2946:6:36" + "src": "2946:6:34" } ] }, { - "nativeSrc": "2994:46:36", + "nativeSrc": "2994:46:34", "nodeType": "YulVariableDeclaration", - "src": "2994:46:36", + "src": "2994:46:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "3025:9:36", + "nativeSrc": "3025:9:34", "nodeType": "YulIdentifier", - "src": "3025:9:36" + "src": "3025:9:34" }, { "kind": "number", - "nativeSrc": "3036:2:36", + "nativeSrc": "3036:2:34", "nodeType": "YulLiteral", - "src": "3036:2:36", + "src": "3036:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "3021:3:36", + "nativeSrc": "3021:3:34", "nodeType": "YulIdentifier", - "src": "3021:3:36" + "src": "3021:3:34" }, - "nativeSrc": "3021:18:36", + "nativeSrc": "3021:18:34", "nodeType": "YulFunctionCall", - "src": "3021:18:36" + "src": "3021:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "3008:12:36", + "nativeSrc": "3008:12:34", "nodeType": "YulIdentifier", - "src": "3008:12:36" + "src": "3008:12:34" }, - "nativeSrc": "3008:32:36", + "nativeSrc": "3008:32:34", "nodeType": "YulFunctionCall", - "src": "3008:32:36" + "src": "3008:32:34" }, "variables": [ { "name": "offset", - "nativeSrc": "2998:6:36", + "nativeSrc": "2998:6:34", "nodeType": "YulTypedName", - "src": "2998:6:36", + "src": "2998:6:34", "type": "" } ] }, { "body": { - "nativeSrc": "3083:16:36", + "nativeSrc": "3083:16:34", "nodeType": "YulBlock", - "src": "3083:16:36", + "src": "3083:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "3092:1:36", + "nativeSrc": "3092:1:34", "nodeType": "YulLiteral", - "src": "3092:1:36", + "src": "3092:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "3095:1:36", + "nativeSrc": "3095:1:34", "nodeType": "YulLiteral", - "src": "3095:1:36", + "src": "3095:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "3085:6:36", + "nativeSrc": "3085:6:34", "nodeType": "YulIdentifier", - "src": "3085:6:36" + "src": "3085:6:34" }, - "nativeSrc": "3085:12:36", + "nativeSrc": "3085:12:34", "nodeType": "YulFunctionCall", - "src": "3085:12:36" + "src": "3085:12:34" }, - "nativeSrc": "3085:12:36", + "nativeSrc": "3085:12:34", "nodeType": "YulExpressionStatement", - "src": "3085:12:36" + "src": "3085:12:34" } ] }, @@ -125109,111 +124119,111 @@ "arguments": [ { "name": "offset", - "nativeSrc": "3055:6:36", + "nativeSrc": "3055:6:34", "nodeType": "YulIdentifier", - "src": "3055:6:36" + "src": "3055:6:34" }, { "kind": "number", - "nativeSrc": "3063:18:36", + "nativeSrc": "3063:18:34", "nodeType": "YulLiteral", - "src": "3063:18:36", + "src": "3063:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "3052:2:36", + "nativeSrc": "3052:2:34", "nodeType": "YulIdentifier", - "src": "3052:2:36" + "src": "3052:2:34" }, - "nativeSrc": "3052:30:36", + "nativeSrc": "3052:30:34", "nodeType": "YulFunctionCall", - "src": "3052:30:36" + "src": "3052:30:34" }, - "nativeSrc": "3049:50:36", + "nativeSrc": "3049:50:34", "nodeType": "YulIf", - "src": "3049:50:36" + "src": "3049:50:34" }, { - "nativeSrc": "3108:32:36", + "nativeSrc": "3108:32:34", "nodeType": "YulVariableDeclaration", - "src": "3108:32:36", + "src": "3108:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "3122:9:36", + "nativeSrc": "3122:9:34", "nodeType": "YulIdentifier", - "src": "3122:9:36" + "src": "3122:9:34" }, { "name": "offset", - "nativeSrc": "3133:6:36", + "nativeSrc": "3133:6:34", "nodeType": "YulIdentifier", - "src": "3133:6:36" + "src": "3133:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "3118:3:36", + "nativeSrc": "3118:3:34", "nodeType": "YulIdentifier", - "src": "3118:3:36" + "src": "3118:3:34" }, - "nativeSrc": "3118:22:36", + "nativeSrc": "3118:22:34", "nodeType": "YulFunctionCall", - "src": "3118:22:36" + "src": "3118:22:34" }, "variables": [ { "name": "_1", - "nativeSrc": "3112:2:36", + "nativeSrc": "3112:2:34", "nodeType": "YulTypedName", - "src": "3112:2:36", + "src": "3112:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "3188:16:36", + "nativeSrc": "3188:16:34", "nodeType": "YulBlock", - "src": "3188:16:36", + "src": "3188:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "3197:1:36", + "nativeSrc": "3197:1:34", "nodeType": "YulLiteral", - "src": "3197:1:36", + "src": "3197:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "3200:1:36", + "nativeSrc": "3200:1:34", "nodeType": "YulLiteral", - "src": "3200:1:36", + "src": "3200:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "3190:6:36", + "nativeSrc": "3190:6:34", "nodeType": "YulIdentifier", - "src": "3190:6:36" + "src": "3190:6:34" }, - "nativeSrc": "3190:12:36", + "nativeSrc": "3190:12:34", "nodeType": "YulFunctionCall", - "src": "3190:12:36" + "src": "3190:12:34" }, - "nativeSrc": "3190:12:36", + "nativeSrc": "3190:12:34", "nodeType": "YulExpressionStatement", - "src": "3190:12:36" + "src": "3190:12:34" } ] }, @@ -125225,221 +124235,221 @@ "arguments": [ { "name": "_1", - "nativeSrc": "3167:2:36", + "nativeSrc": "3167:2:34", "nodeType": "YulIdentifier", - "src": "3167:2:36" + "src": "3167:2:34" }, { "kind": "number", - "nativeSrc": "3171:4:36", + "nativeSrc": "3171:4:34", "nodeType": "YulLiteral", - "src": "3171:4:36", + "src": "3171:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "3163:3:36", + "nativeSrc": "3163:3:34", "nodeType": "YulIdentifier", - "src": "3163:3:36" + "src": "3163:3:34" }, - "nativeSrc": "3163:13:36", + "nativeSrc": "3163:13:34", "nodeType": "YulFunctionCall", - "src": "3163:13:36" + "src": "3163:13:34" }, { "name": "dataEnd", - "nativeSrc": "3178:7:36", + "nativeSrc": "3178:7:34", "nodeType": "YulIdentifier", - "src": "3178:7:36" + "src": "3178:7:34" } ], "functionName": { "name": "slt", - "nativeSrc": "3159:3:36", + "nativeSrc": "3159:3:34", "nodeType": "YulIdentifier", - "src": "3159:3:36" + "src": "3159:3:34" }, - "nativeSrc": "3159:27:36", + "nativeSrc": "3159:27:34", "nodeType": "YulFunctionCall", - "src": "3159:27:36" + "src": "3159:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "3152:6:36", + "nativeSrc": "3152:6:34", "nodeType": "YulIdentifier", - "src": "3152:6:36" + "src": "3152:6:34" }, - "nativeSrc": "3152:35:36", + "nativeSrc": "3152:35:34", "nodeType": "YulFunctionCall", - "src": "3152:35:36" + "src": "3152:35:34" }, - "nativeSrc": "3149:55:36", + "nativeSrc": "3149:55:34", "nodeType": "YulIf", - "src": "3149:55:36" + "src": "3149:55:34" }, { - "nativeSrc": "3213:84:36", + "nativeSrc": "3213:84:34", "nodeType": "YulAssignment", - "src": "3213:84:36", + "src": "3213:84:34", "value": { "arguments": [ { "arguments": [ { "name": "_1", - "nativeSrc": "3262:2:36", + "nativeSrc": "3262:2:34", "nodeType": "YulIdentifier", - "src": "3262:2:36" + "src": "3262:2:34" }, { "kind": "number", - "nativeSrc": "3266:2:36", + "nativeSrc": "3266:2:34", "nodeType": "YulLiteral", - "src": "3266:2:36", + "src": "3266:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "3258:3:36", + "nativeSrc": "3258:3:34", "nodeType": "YulIdentifier", - "src": "3258:3:36" + "src": "3258:3:34" }, - "nativeSrc": "3258:11:36", + "nativeSrc": "3258:11:34", "nodeType": "YulFunctionCall", - "src": "3258:11:36" + "src": "3258:11:34" }, { "arguments": [ { "name": "_1", - "nativeSrc": "3284:2:36", + "nativeSrc": "3284:2:34", "nodeType": "YulIdentifier", - "src": "3284:2:36" + "src": "3284:2:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "3271:12:36", + "nativeSrc": "3271:12:34", "nodeType": "YulIdentifier", - "src": "3271:12:36" + "src": "3271:12:34" }, - "nativeSrc": "3271:16:36", + "nativeSrc": "3271:16:34", "nodeType": "YulFunctionCall", - "src": "3271:16:36" + "src": "3271:16:34" }, { "name": "dataEnd", - "nativeSrc": "3289:7:36", + "nativeSrc": "3289:7:34", "nodeType": "YulIdentifier", - "src": "3289:7:36" + "src": "3289:7:34" } ], "functionName": { "name": "abi_decode_available_length_string", - "nativeSrc": "3223:34:36", + "nativeSrc": "3223:34:34", "nodeType": "YulIdentifier", - "src": "3223:34:36" + "src": "3223:34:34" }, - "nativeSrc": "3223:74:36", + "nativeSrc": "3223:74:34", "nodeType": "YulFunctionCall", - "src": "3223:74:36" + "src": "3223:74:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "3213:6:36", + "nativeSrc": "3213:6:34", "nodeType": "YulIdentifier", - "src": "3213:6:36" + "src": "3213:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_bytes_memory_ptr", - "nativeSrc": "2779:524:36", + "nativeSrc": "2779:524:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "2833:9:36", + "nativeSrc": "2833:9:34", "nodeType": "YulTypedName", - "src": "2833:9:36", + "src": "2833:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "2844:7:36", + "nativeSrc": "2844:7:34", "nodeType": "YulTypedName", - "src": "2844:7:36", + "src": "2844:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "2856:6:36", + "nativeSrc": "2856:6:34", "nodeType": "YulTypedName", - "src": "2856:6:36", + "src": "2856:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "2864:6:36", + "nativeSrc": "2864:6:34", "nodeType": "YulTypedName", - "src": "2864:6:36", + "src": "2864:6:34", "type": "" } ], - "src": "2779:524:36" + "src": "2779:524:34" }, { "body": { - "nativeSrc": "3409:76:36", + "nativeSrc": "3409:76:34", "nodeType": "YulBlock", - "src": "3409:76:36", + "src": "3409:76:34", "statements": [ { - "nativeSrc": "3419:26:36", + "nativeSrc": "3419:26:34", "nodeType": "YulAssignment", - "src": "3419:26:36", + "src": "3419:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "3431:9:36", + "nativeSrc": "3431:9:34", "nodeType": "YulIdentifier", - "src": "3431:9:36" + "src": "3431:9:34" }, { "kind": "number", - "nativeSrc": "3442:2:36", + "nativeSrc": "3442:2:34", "nodeType": "YulLiteral", - "src": "3442:2:36", + "src": "3442:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "3427:3:36", + "nativeSrc": "3427:3:34", "nodeType": "YulIdentifier", - "src": "3427:3:36" + "src": "3427:3:34" }, - "nativeSrc": "3427:18:36", + "nativeSrc": "3427:18:34", "nodeType": "YulFunctionCall", - "src": "3427:18:36" + "src": "3427:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "3419:4:36", + "nativeSrc": "3419:4:34", "nodeType": "YulIdentifier", - "src": "3419:4:36" + "src": "3419:4:34" } ] }, @@ -125448,130 +124458,130 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "3461:9:36", + "nativeSrc": "3461:9:34", "nodeType": "YulIdentifier", - "src": "3461:9:36" + "src": "3461:9:34" }, { "name": "value0", - "nativeSrc": "3472:6:36", + "nativeSrc": "3472:6:34", "nodeType": "YulIdentifier", - "src": "3472:6:36" + "src": "3472:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "3454:6:36", + "nativeSrc": "3454:6:34", "nodeType": "YulIdentifier", - "src": "3454:6:36" + "src": "3454:6:34" }, - "nativeSrc": "3454:25:36", + "nativeSrc": "3454:25:34", "nodeType": "YulFunctionCall", - "src": "3454:25:36" + "src": "3454:25:34" }, - "nativeSrc": "3454:25:36", + "nativeSrc": "3454:25:34", "nodeType": "YulExpressionStatement", - "src": "3454:25:36" + "src": "3454:25:34" } ] }, "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nativeSrc": "3308:177:36", + "nativeSrc": "3308:177:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "3378:9:36", + "nativeSrc": "3378:9:34", "nodeType": "YulTypedName", - "src": "3378:9:36", + "src": "3378:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "3389:6:36", + "nativeSrc": "3389:6:34", "nodeType": "YulTypedName", - "src": "3389:6:36", + "src": "3389:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "3400:4:36", + "nativeSrc": "3400:4:34", "nodeType": "YulTypedName", - "src": "3400:4:36", + "src": "3400:4:34", "type": "" } ], - "src": "3308:177:36" + "src": "3308:177:34" }, { "body": { - "nativeSrc": "3641:587:36", + "nativeSrc": "3641:587:34", "nodeType": "YulBlock", - "src": "3641:587:36", + "src": "3641:587:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "3658:9:36", + "nativeSrc": "3658:9:34", "nodeType": "YulIdentifier", - "src": "3658:9:36" + "src": "3658:9:34" }, { "kind": "number", - "nativeSrc": "3669:2:36", + "nativeSrc": "3669:2:34", "nodeType": "YulLiteral", - "src": "3669:2:36", + "src": "3669:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "3651:6:36", + "nativeSrc": "3651:6:34", "nodeType": "YulIdentifier", - "src": "3651:6:36" + "src": "3651:6:34" }, - "nativeSrc": "3651:21:36", + "nativeSrc": "3651:21:34", "nodeType": "YulFunctionCall", - "src": "3651:21:36" + "src": "3651:21:34" }, - "nativeSrc": "3651:21:36", + "nativeSrc": "3651:21:34", "nodeType": "YulExpressionStatement", - "src": "3651:21:36" + "src": "3651:21:34" }, { - "nativeSrc": "3681:33:36", + "nativeSrc": "3681:33:34", "nodeType": "YulVariableDeclaration", - "src": "3681:33:36", + "src": "3681:33:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "3707:6:36", + "nativeSrc": "3707:6:34", "nodeType": "YulIdentifier", - "src": "3707:6:36" + "src": "3707:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3701:5:36", + "nativeSrc": "3701:5:34", "nodeType": "YulIdentifier", - "src": "3701:5:36" + "src": "3701:5:34" }, - "nativeSrc": "3701:13:36", + "nativeSrc": "3701:13:34", "nodeType": "YulFunctionCall", - "src": "3701:13:36" + "src": "3701:13:34" }, "variables": [ { "name": "memberValue0", - "nativeSrc": "3685:12:36", + "nativeSrc": "3685:12:34", "nodeType": "YulTypedName", - "src": "3685:12:36", + "src": "3685:12:34", "type": "" } ] @@ -125583,197 +124593,197 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "3734:9:36", + "nativeSrc": "3734:9:34", "nodeType": "YulIdentifier", - "src": "3734:9:36" + "src": "3734:9:34" }, { "kind": "number", - "nativeSrc": "3745:2:36", + "nativeSrc": "3745:2:34", "nodeType": "YulLiteral", - "src": "3745:2:36", + "src": "3745:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "3730:3:36", + "nativeSrc": "3730:3:34", "nodeType": "YulIdentifier", - "src": "3730:3:36" + "src": "3730:3:34" }, - "nativeSrc": "3730:18:36", + "nativeSrc": "3730:18:34", "nodeType": "YulFunctionCall", - "src": "3730:18:36" + "src": "3730:18:34" }, { "kind": "number", - "nativeSrc": "3750:4:36", + "nativeSrc": "3750:4:34", "nodeType": "YulLiteral", - "src": "3750:4:36", + "src": "3750:4:34", "type": "", "value": "0x60" } ], "functionName": { "name": "mstore", - "nativeSrc": "3723:6:36", + "nativeSrc": "3723:6:34", "nodeType": "YulIdentifier", - "src": "3723:6:36" + "src": "3723:6:34" }, - "nativeSrc": "3723:32:36", + "nativeSrc": "3723:32:34", "nodeType": "YulFunctionCall", - "src": "3723:32:36" + "src": "3723:32:34" }, - "nativeSrc": "3723:32:36", + "nativeSrc": "3723:32:34", "nodeType": "YulExpressionStatement", - "src": "3723:32:36" + "src": "3723:32:34" }, { - "nativeSrc": "3764:66:36", + "nativeSrc": "3764:66:34", "nodeType": "YulVariableDeclaration", - "src": "3764:66:36", + "src": "3764:66:34", "value": { "arguments": [ { "name": "memberValue0", - "nativeSrc": "3796:12:36", + "nativeSrc": "3796:12:34", "nodeType": "YulIdentifier", - "src": "3796:12:36" + "src": "3796:12:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "3814:9:36", + "nativeSrc": "3814:9:34", "nodeType": "YulIdentifier", - "src": "3814:9:36" + "src": "3814:9:34" }, { "kind": "number", - "nativeSrc": "3825:3:36", + "nativeSrc": "3825:3:34", "nodeType": "YulLiteral", - "src": "3825:3:36", + "src": "3825:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "3810:3:36", + "nativeSrc": "3810:3:34", "nodeType": "YulIdentifier", - "src": "3810:3:36" + "src": "3810:3:34" }, - "nativeSrc": "3810:19:36", + "nativeSrc": "3810:19:34", "nodeType": "YulFunctionCall", - "src": "3810:19:36" + "src": "3810:19:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "3778:17:36", + "nativeSrc": "3778:17:34", "nodeType": "YulIdentifier", - "src": "3778:17:36" + "src": "3778:17:34" }, - "nativeSrc": "3778:52:36", + "nativeSrc": "3778:52:34", "nodeType": "YulFunctionCall", - "src": "3778:52:36" + "src": "3778:52:34" }, "variables": [ { "name": "tail_1", - "nativeSrc": "3768:6:36", + "nativeSrc": "3768:6:34", "nodeType": "YulTypedName", - "src": "3768:6:36", + "src": "3768:6:34", "type": "" } ] }, { - "nativeSrc": "3839:44:36", + "nativeSrc": "3839:44:34", "nodeType": "YulVariableDeclaration", - "src": "3839:44:36", + "src": "3839:44:34", "value": { "arguments": [ { "arguments": [ { "name": "value0", - "nativeSrc": "3871:6:36", + "nativeSrc": "3871:6:34", "nodeType": "YulIdentifier", - "src": "3871:6:36" + "src": "3871:6:34" }, { "kind": "number", - "nativeSrc": "3879:2:36", + "nativeSrc": "3879:2:34", "nodeType": "YulLiteral", - "src": "3879:2:36", + "src": "3879:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "3867:3:36", + "nativeSrc": "3867:3:34", "nodeType": "YulIdentifier", - "src": "3867:3:36" + "src": "3867:3:34" }, - "nativeSrc": "3867:15:36", + "nativeSrc": "3867:15:34", "nodeType": "YulFunctionCall", - "src": "3867:15:36" + "src": "3867:15:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3861:5:36", + "nativeSrc": "3861:5:34", "nodeType": "YulIdentifier", - "src": "3861:5:36" + "src": "3861:5:34" }, - "nativeSrc": "3861:22:36", + "nativeSrc": "3861:22:34", "nodeType": "YulFunctionCall", - "src": "3861:22:36" + "src": "3861:22:34" }, "variables": [ { "name": "memberValue0_1", - "nativeSrc": "3843:14:36", + "nativeSrc": "3843:14:34", "nodeType": "YulTypedName", - "src": "3843:14:36", + "src": "3843:14:34", "type": "" } ] }, { - "nativeSrc": "3892:17:36", + "nativeSrc": "3892:17:34", "nodeType": "YulVariableDeclaration", - "src": "3892:17:36", + "src": "3892:17:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "3906:2:36", + "nativeSrc": "3906:2:34", "nodeType": "YulLiteral", - "src": "3906:2:36", + "src": "3906:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "3902:3:36", + "nativeSrc": "3902:3:34", "nodeType": "YulIdentifier", - "src": "3902:3:36" + "src": "3902:3:34" }, - "nativeSrc": "3902:7:36", + "nativeSrc": "3902:7:34", "nodeType": "YulFunctionCall", - "src": "3902:7:36" + "src": "3902:7:34" }, "variables": [ { "name": "_1", - "nativeSrc": "3896:2:36", + "nativeSrc": "3896:2:34", "nodeType": "YulTypedName", - "src": "3896:2:36", + "src": "3896:2:34", "type": "" } ] @@ -125785,28 +124795,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "3929:9:36", + "nativeSrc": "3929:9:34", "nodeType": "YulIdentifier", - "src": "3929:9:36" + "src": "3929:9:34" }, { "kind": "number", - "nativeSrc": "3940:2:36", + "nativeSrc": "3940:2:34", "nodeType": "YulLiteral", - "src": "3940:2:36", + "src": "3940:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "3925:3:36", + "nativeSrc": "3925:3:34", "nodeType": "YulIdentifier", - "src": "3925:3:36" + "src": "3925:3:34" }, - "nativeSrc": "3925:18:36", + "nativeSrc": "3925:18:34", "nodeType": "YulFunctionCall", - "src": "3925:18:36" + "src": "3925:18:34" }, { "arguments": [ @@ -125814,148 +124824,148 @@ "arguments": [ { "name": "tail_1", - "nativeSrc": "3953:6:36", + "nativeSrc": "3953:6:34", "nodeType": "YulIdentifier", - "src": "3953:6:36" + "src": "3953:6:34" }, { "name": "headStart", - "nativeSrc": "3961:9:36", + "nativeSrc": "3961:9:34", "nodeType": "YulIdentifier", - "src": "3961:9:36" + "src": "3961:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "3949:3:36", + "nativeSrc": "3949:3:34", "nodeType": "YulIdentifier", - "src": "3949:3:36" + "src": "3949:3:34" }, - "nativeSrc": "3949:22:36", + "nativeSrc": "3949:22:34", "nodeType": "YulFunctionCall", - "src": "3949:22:36" + "src": "3949:22:34" }, { "name": "_1", - "nativeSrc": "3973:2:36", + "nativeSrc": "3973:2:34", "nodeType": "YulIdentifier", - "src": "3973:2:36" + "src": "3973:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "3945:3:36", + "nativeSrc": "3945:3:34", "nodeType": "YulIdentifier", - "src": "3945:3:36" + "src": "3945:3:34" }, - "nativeSrc": "3945:31:36", + "nativeSrc": "3945:31:34", "nodeType": "YulFunctionCall", - "src": "3945:31:36" + "src": "3945:31:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "3918:6:36", + "nativeSrc": "3918:6:34", "nodeType": "YulIdentifier", - "src": "3918:6:36" + "src": "3918:6:34" }, - "nativeSrc": "3918:59:36", + "nativeSrc": "3918:59:34", "nodeType": "YulFunctionCall", - "src": "3918:59:36" + "src": "3918:59:34" }, - "nativeSrc": "3918:59:36", + "nativeSrc": "3918:59:34", "nodeType": "YulExpressionStatement", - "src": "3918:59:36" + "src": "3918:59:34" }, { - "nativeSrc": "3986:55:36", + "nativeSrc": "3986:55:34", "nodeType": "YulVariableDeclaration", - "src": "3986:55:36", + "src": "3986:55:34", "value": { "arguments": [ { "name": "memberValue0_1", - "nativeSrc": "4018:14:36", + "nativeSrc": "4018:14:34", "nodeType": "YulIdentifier", - "src": "4018:14:36" + "src": "4018:14:34" }, { "name": "tail_1", - "nativeSrc": "4034:6:36", + "nativeSrc": "4034:6:34", "nodeType": "YulIdentifier", - "src": "4034:6:36" + "src": "4034:6:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "4000:17:36", + "nativeSrc": "4000:17:34", "nodeType": "YulIdentifier", - "src": "4000:17:36" + "src": "4000:17:34" }, - "nativeSrc": "4000:41:36", + "nativeSrc": "4000:41:34", "nodeType": "YulFunctionCall", - "src": "4000:41:36" + "src": "4000:41:34" }, "variables": [ { "name": "tail_2", - "nativeSrc": "3990:6:36", + "nativeSrc": "3990:6:34", "nodeType": "YulTypedName", - "src": "3990:6:36", + "src": "3990:6:34", "type": "" } ] }, { - "nativeSrc": "4050:44:36", + "nativeSrc": "4050:44:34", "nodeType": "YulVariableDeclaration", - "src": "4050:44:36", + "src": "4050:44:34", "value": { "arguments": [ { "arguments": [ { "name": "value0", - "nativeSrc": "4082:6:36", + "nativeSrc": "4082:6:34", "nodeType": "YulIdentifier", - "src": "4082:6:36" + "src": "4082:6:34" }, { "kind": "number", - "nativeSrc": "4090:2:36", + "nativeSrc": "4090:2:34", "nodeType": "YulLiteral", - "src": "4090:2:36", + "src": "4090:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "4078:3:36", + "nativeSrc": "4078:3:34", "nodeType": "YulIdentifier", - "src": "4078:3:36" + "src": "4078:3:34" }, - "nativeSrc": "4078:15:36", + "nativeSrc": "4078:15:34", "nodeType": "YulFunctionCall", - "src": "4078:15:36" + "src": "4078:15:34" } ], "functionName": { "name": "mload", - "nativeSrc": "4072:5:36", + "nativeSrc": "4072:5:34", "nodeType": "YulIdentifier", - "src": "4072:5:36" + "src": "4072:5:34" }, - "nativeSrc": "4072:22:36", + "nativeSrc": "4072:22:34", "nodeType": "YulFunctionCall", - "src": "4072:22:36" + "src": "4072:22:34" }, "variables": [ { "name": "memberValue0_2", - "nativeSrc": "4054:14:36", + "nativeSrc": "4054:14:34", "nodeType": "YulTypedName", - "src": "4054:14:36", + "src": "4054:14:34", "type": "" } ] @@ -125967,28 +124977,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4114:9:36", + "nativeSrc": "4114:9:34", "nodeType": "YulIdentifier", - "src": "4114:9:36" + "src": "4114:9:34" }, { "kind": "number", - "nativeSrc": "4125:4:36", + "nativeSrc": "4125:4:34", "nodeType": "YulLiteral", - "src": "4125:4:36", + "src": "4125:4:34", "type": "", "value": "0x60" } ], "functionName": { "name": "add", - "nativeSrc": "4110:3:36", + "nativeSrc": "4110:3:34", "nodeType": "YulIdentifier", - "src": "4110:3:36" + "src": "4110:3:34" }, - "nativeSrc": "4110:20:36", + "nativeSrc": "4110:20:34", "nodeType": "YulFunctionCall", - "src": "4110:20:36" + "src": "4110:20:34" }, { "arguments": [ @@ -125996,174 +125006,174 @@ "arguments": [ { "name": "tail_2", - "nativeSrc": "4140:6:36", + "nativeSrc": "4140:6:34", "nodeType": "YulIdentifier", - "src": "4140:6:36" + "src": "4140:6:34" }, { "name": "headStart", - "nativeSrc": "4148:9:36", + "nativeSrc": "4148:9:34", "nodeType": "YulIdentifier", - "src": "4148:9:36" + "src": "4148:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "4136:3:36", + "nativeSrc": "4136:3:34", "nodeType": "YulIdentifier", - "src": "4136:3:36" + "src": "4136:3:34" }, - "nativeSrc": "4136:22:36", + "nativeSrc": "4136:22:34", "nodeType": "YulFunctionCall", - "src": "4136:22:36" + "src": "4136:22:34" }, { "name": "_1", - "nativeSrc": "4160:2:36", + "nativeSrc": "4160:2:34", "nodeType": "YulIdentifier", - "src": "4160:2:36" + "src": "4160:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "4132:3:36", + "nativeSrc": "4132:3:34", "nodeType": "YulIdentifier", - "src": "4132:3:36" + "src": "4132:3:34" }, - "nativeSrc": "4132:31:36", + "nativeSrc": "4132:31:34", "nodeType": "YulFunctionCall", - "src": "4132:31:36" + "src": "4132:31:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "4103:6:36", + "nativeSrc": "4103:6:34", "nodeType": "YulIdentifier", - "src": "4103:6:36" + "src": "4103:6:34" }, - "nativeSrc": "4103:61:36", + "nativeSrc": "4103:61:34", "nodeType": "YulFunctionCall", - "src": "4103:61:36" + "src": "4103:61:34" }, - "nativeSrc": "4103:61:36", + "nativeSrc": "4103:61:34", "nodeType": "YulExpressionStatement", - "src": "4103:61:36" + "src": "4103:61:34" }, { - "nativeSrc": "4173:49:36", + "nativeSrc": "4173:49:34", "nodeType": "YulAssignment", - "src": "4173:49:36", + "src": "4173:49:34", "value": { "arguments": [ { "name": "memberValue0_2", - "nativeSrc": "4199:14:36", + "nativeSrc": "4199:14:34", "nodeType": "YulIdentifier", - "src": "4199:14:36" + "src": "4199:14:34" }, { "name": "tail_2", - "nativeSrc": "4215:6:36", + "nativeSrc": "4215:6:34", "nodeType": "YulIdentifier", - "src": "4215:6:36" + "src": "4215:6:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "4181:17:36", + "nativeSrc": "4181:17:34", "nodeType": "YulIdentifier", - "src": "4181:17:36" + "src": "4181:17:34" }, - "nativeSrc": "4181:41:36", + "nativeSrc": "4181:41:34", "nodeType": "YulFunctionCall", - "src": "4181:41:36" + "src": "4181:41:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "4173:4:36", + "nativeSrc": "4173:4:34", "nodeType": "YulIdentifier", - "src": "4173:4:36" + "src": "4173:4:34" } ] } ] }, - "name": "abi_encode_tuple_t_struct$_Service_$4420_memory_ptr__to_t_struct$_Service_$4420_memory_ptr__fromStack_reversed", - "nativeSrc": "3490:738:36", + "name": "abi_encode_tuple_t_struct$_Service_$4421_memory_ptr__to_t_struct$_Service_$4421_memory_ptr__fromStack_reversed", + "nativeSrc": "3490:738:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "3610:9:36", + "nativeSrc": "3610:9:34", "nodeType": "YulTypedName", - "src": "3610:9:36", + "src": "3610:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "3621:6:36", + "nativeSrc": "3621:6:34", "nodeType": "YulTypedName", - "src": "3621:6:36", + "src": "3621:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "3632:4:36", + "nativeSrc": "3632:4:34", "nodeType": "YulTypedName", - "src": "3632:4:36", + "src": "3632:4:34", "type": "" } ], - "src": "3490:738:36" + "src": "3490:738:34" }, { "body": { - "nativeSrc": "4367:609:36", + "nativeSrc": "4367:609:34", "nodeType": "YulBlock", - "src": "4367:609:36", + "src": "4367:609:34", "statements": [ { "body": { - "nativeSrc": "4413:16:36", + "nativeSrc": "4413:16:34", "nodeType": "YulBlock", - "src": "4413:16:36", + "src": "4413:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4422:1:36", + "nativeSrc": "4422:1:34", "nodeType": "YulLiteral", - "src": "4422:1:36", + "src": "4422:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "4425:1:36", + "nativeSrc": "4425:1:34", "nodeType": "YulLiteral", - "src": "4425:1:36", + "src": "4425:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "4415:6:36", + "nativeSrc": "4415:6:34", "nodeType": "YulIdentifier", - "src": "4415:6:36" + "src": "4415:6:34" }, - "nativeSrc": "4415:12:36", + "nativeSrc": "4415:12:34", "nodeType": "YulFunctionCall", - "src": "4415:12:36" + "src": "4415:12:34" }, - "nativeSrc": "4415:12:36", + "nativeSrc": "4415:12:34", "nodeType": "YulExpressionStatement", - "src": "4415:12:36" + "src": "4415:12:34" } ] }, @@ -126173,144 +125183,144 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "4388:7:36", + "nativeSrc": "4388:7:34", "nodeType": "YulIdentifier", - "src": "4388:7:36" + "src": "4388:7:34" }, { "name": "headStart", - "nativeSrc": "4397:9:36", + "nativeSrc": "4397:9:34", "nodeType": "YulIdentifier", - "src": "4397:9:36" + "src": "4397:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "4384:3:36", + "nativeSrc": "4384:3:34", "nodeType": "YulIdentifier", - "src": "4384:3:36" + "src": "4384:3:34" }, - "nativeSrc": "4384:23:36", + "nativeSrc": "4384:23:34", "nodeType": "YulFunctionCall", - "src": "4384:23:36" + "src": "4384:23:34" }, { "kind": "number", - "nativeSrc": "4409:2:36", + "nativeSrc": "4409:2:34", "nodeType": "YulLiteral", - "src": "4409:2:36", + "src": "4409:2:34", "type": "", "value": "96" } ], "functionName": { "name": "slt", - "nativeSrc": "4380:3:36", + "nativeSrc": "4380:3:34", "nodeType": "YulIdentifier", - "src": "4380:3:36" + "src": "4380:3:34" }, - "nativeSrc": "4380:32:36", + "nativeSrc": "4380:32:34", "nodeType": "YulFunctionCall", - "src": "4380:32:36" + "src": "4380:32:34" }, - "nativeSrc": "4377:52:36", + "nativeSrc": "4377:52:34", "nodeType": "YulIf", - "src": "4377:52:36" + "src": "4377:52:34" }, { - "nativeSrc": "4438:37:36", + "nativeSrc": "4438:37:34", "nodeType": "YulVariableDeclaration", - "src": "4438:37:36", + "src": "4438:37:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "4465:9:36", + "nativeSrc": "4465:9:34", "nodeType": "YulIdentifier", - "src": "4465:9:36" + "src": "4465:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "4452:12:36", + "nativeSrc": "4452:12:34", "nodeType": "YulIdentifier", - "src": "4452:12:36" + "src": "4452:12:34" }, - "nativeSrc": "4452:23:36", + "nativeSrc": "4452:23:34", "nodeType": "YulFunctionCall", - "src": "4452:23:36" + "src": "4452:23:34" }, "variables": [ { "name": "offset", - "nativeSrc": "4442:6:36", + "nativeSrc": "4442:6:34", "nodeType": "YulTypedName", - "src": "4442:6:36", + "src": "4442:6:34", "type": "" } ] }, { - "nativeSrc": "4484:28:36", + "nativeSrc": "4484:28:34", "nodeType": "YulVariableDeclaration", - "src": "4484:28:36", + "src": "4484:28:34", "value": { "kind": "number", - "nativeSrc": "4494:18:36", + "nativeSrc": "4494:18:34", "nodeType": "YulLiteral", - "src": "4494:18:36", + "src": "4494:18:34", "type": "", "value": "0xffffffffffffffff" }, "variables": [ { "name": "_1", - "nativeSrc": "4488:2:36", + "nativeSrc": "4488:2:34", "nodeType": "YulTypedName", - "src": "4488:2:36", + "src": "4488:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "4539:16:36", + "nativeSrc": "4539:16:34", "nodeType": "YulBlock", - "src": "4539:16:36", + "src": "4539:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4548:1:36", + "nativeSrc": "4548:1:34", "nodeType": "YulLiteral", - "src": "4548:1:36", + "src": "4548:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "4551:1:36", + "nativeSrc": "4551:1:34", "nodeType": "YulLiteral", - "src": "4551:1:36", + "src": "4551:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "4541:6:36", + "nativeSrc": "4541:6:34", "nodeType": "YulIdentifier", - "src": "4541:6:36" + "src": "4541:6:34" }, - "nativeSrc": "4541:12:36", + "nativeSrc": "4541:12:34", "nodeType": "YulFunctionCall", - "src": "4541:12:36" + "src": "4541:12:34" }, - "nativeSrc": "4541:12:36", + "nativeSrc": "4541:12:34", "nodeType": "YulExpressionStatement", - "src": "4541:12:36" + "src": "4541:12:34" } ] }, @@ -126318,181 +125328,181 @@ "arguments": [ { "name": "offset", - "nativeSrc": "4527:6:36", + "nativeSrc": "4527:6:34", "nodeType": "YulIdentifier", - "src": "4527:6:36" + "src": "4527:6:34" }, { "name": "_1", - "nativeSrc": "4535:2:36", + "nativeSrc": "4535:2:34", "nodeType": "YulIdentifier", - "src": "4535:2:36" + "src": "4535:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "4524:2:36", + "nativeSrc": "4524:2:34", "nodeType": "YulIdentifier", - "src": "4524:2:36" + "src": "4524:2:34" }, - "nativeSrc": "4524:14:36", + "nativeSrc": "4524:14:34", "nodeType": "YulFunctionCall", - "src": "4524:14:36" + "src": "4524:14:34" }, - "nativeSrc": "4521:34:36", + "nativeSrc": "4521:34:34", "nodeType": "YulIf", - "src": "4521:34:36" + "src": "4521:34:34" }, { - "nativeSrc": "4564:60:36", + "nativeSrc": "4564:60:34", "nodeType": "YulAssignment", - "src": "4564:60:36", + "src": "4564:60:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4596:9:36", + "nativeSrc": "4596:9:34", "nodeType": "YulIdentifier", - "src": "4596:9:36" + "src": "4596:9:34" }, { "name": "offset", - "nativeSrc": "4607:6:36", + "nativeSrc": "4607:6:34", "nodeType": "YulIdentifier", - "src": "4607:6:36" + "src": "4607:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "4592:3:36", + "nativeSrc": "4592:3:34", "nodeType": "YulIdentifier", - "src": "4592:3:36" + "src": "4592:3:34" }, - "nativeSrc": "4592:22:36", + "nativeSrc": "4592:22:34", "nodeType": "YulFunctionCall", - "src": "4592:22:36" + "src": "4592:22:34" }, { "name": "dataEnd", - "nativeSrc": "4616:7:36", + "nativeSrc": "4616:7:34", "nodeType": "YulIdentifier", - "src": "4616:7:36" + "src": "4616:7:34" } ], "functionName": { "name": "abi_decode_string", - "nativeSrc": "4574:17:36", + "nativeSrc": "4574:17:34", "nodeType": "YulIdentifier", - "src": "4574:17:36" + "src": "4574:17:34" }, - "nativeSrc": "4574:50:36", + "nativeSrc": "4574:50:34", "nodeType": "YulFunctionCall", - "src": "4574:50:36" + "src": "4574:50:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "4564:6:36", + "nativeSrc": "4564:6:34", "nodeType": "YulIdentifier", - "src": "4564:6:36" + "src": "4564:6:34" } ] }, { - "nativeSrc": "4633:48:36", + "nativeSrc": "4633:48:34", "nodeType": "YulVariableDeclaration", - "src": "4633:48:36", + "src": "4633:48:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4666:9:36", + "nativeSrc": "4666:9:34", "nodeType": "YulIdentifier", - "src": "4666:9:36" + "src": "4666:9:34" }, { "kind": "number", - "nativeSrc": "4677:2:36", + "nativeSrc": "4677:2:34", "nodeType": "YulLiteral", - "src": "4677:2:36", + "src": "4677:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "4662:3:36", + "nativeSrc": "4662:3:34", "nodeType": "YulIdentifier", - "src": "4662:3:36" + "src": "4662:3:34" }, - "nativeSrc": "4662:18:36", + "nativeSrc": "4662:18:34", "nodeType": "YulFunctionCall", - "src": "4662:18:36" + "src": "4662:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "4649:12:36", + "nativeSrc": "4649:12:34", "nodeType": "YulIdentifier", - "src": "4649:12:36" + "src": "4649:12:34" }, - "nativeSrc": "4649:32:36", + "nativeSrc": "4649:32:34", "nodeType": "YulFunctionCall", - "src": "4649:32:36" + "src": "4649:32:34" }, "variables": [ { "name": "offset_1", - "nativeSrc": "4637:8:36", + "nativeSrc": "4637:8:34", "nodeType": "YulTypedName", - "src": "4637:8:36", + "src": "4637:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "4710:16:36", + "nativeSrc": "4710:16:34", "nodeType": "YulBlock", - "src": "4710:16:36", + "src": "4710:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4719:1:36", + "nativeSrc": "4719:1:34", "nodeType": "YulLiteral", - "src": "4719:1:36", + "src": "4719:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "4722:1:36", + "nativeSrc": "4722:1:34", "nodeType": "YulLiteral", - "src": "4722:1:36", + "src": "4722:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "4712:6:36", + "nativeSrc": "4712:6:34", "nodeType": "YulIdentifier", - "src": "4712:6:36" + "src": "4712:6:34" }, - "nativeSrc": "4712:12:36", + "nativeSrc": "4712:12:34", "nodeType": "YulFunctionCall", - "src": "4712:12:36" + "src": "4712:12:34" }, - "nativeSrc": "4712:12:36", + "nativeSrc": "4712:12:34", "nodeType": "YulExpressionStatement", - "src": "4712:12:36" + "src": "4712:12:34" } ] }, @@ -126500,181 +125510,181 @@ "arguments": [ { "name": "offset_1", - "nativeSrc": "4696:8:36", + "nativeSrc": "4696:8:34", "nodeType": "YulIdentifier", - "src": "4696:8:36" + "src": "4696:8:34" }, { "name": "_1", - "nativeSrc": "4706:2:36", + "nativeSrc": "4706:2:34", "nodeType": "YulIdentifier", - "src": "4706:2:36" + "src": "4706:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "4693:2:36", + "nativeSrc": "4693:2:34", "nodeType": "YulIdentifier", - "src": "4693:2:36" + "src": "4693:2:34" }, - "nativeSrc": "4693:16:36", + "nativeSrc": "4693:16:34", "nodeType": "YulFunctionCall", - "src": "4693:16:36" + "src": "4693:16:34" }, - "nativeSrc": "4690:36:36", + "nativeSrc": "4690:36:34", "nodeType": "YulIf", - "src": "4690:36:36" + "src": "4690:36:34" }, { - "nativeSrc": "4735:62:36", + "nativeSrc": "4735:62:34", "nodeType": "YulAssignment", - "src": "4735:62:36", + "src": "4735:62:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4767:9:36", + "nativeSrc": "4767:9:34", "nodeType": "YulIdentifier", - "src": "4767:9:36" + "src": "4767:9:34" }, { "name": "offset_1", - "nativeSrc": "4778:8:36", + "nativeSrc": "4778:8:34", "nodeType": "YulIdentifier", - "src": "4778:8:36" + "src": "4778:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "4763:3:36", + "nativeSrc": "4763:3:34", "nodeType": "YulIdentifier", - "src": "4763:3:36" + "src": "4763:3:34" }, - "nativeSrc": "4763:24:36", + "nativeSrc": "4763:24:34", "nodeType": "YulFunctionCall", - "src": "4763:24:36" + "src": "4763:24:34" }, { "name": "dataEnd", - "nativeSrc": "4789:7:36", + "nativeSrc": "4789:7:34", "nodeType": "YulIdentifier", - "src": "4789:7:36" + "src": "4789:7:34" } ], "functionName": { "name": "abi_decode_string", - "nativeSrc": "4745:17:36", + "nativeSrc": "4745:17:34", "nodeType": "YulIdentifier", - "src": "4745:17:36" + "src": "4745:17:34" }, - "nativeSrc": "4745:52:36", + "nativeSrc": "4745:52:34", "nodeType": "YulFunctionCall", - "src": "4745:52:36" + "src": "4745:52:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "4735:6:36", + "nativeSrc": "4735:6:34", "nodeType": "YulIdentifier", - "src": "4735:6:36" + "src": "4735:6:34" } ] }, { - "nativeSrc": "4806:48:36", + "nativeSrc": "4806:48:34", "nodeType": "YulVariableDeclaration", - "src": "4806:48:36", + "src": "4806:48:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4839:9:36", + "nativeSrc": "4839:9:34", "nodeType": "YulIdentifier", - "src": "4839:9:36" + "src": "4839:9:34" }, { "kind": "number", - "nativeSrc": "4850:2:36", + "nativeSrc": "4850:2:34", "nodeType": "YulLiteral", - "src": "4850:2:36", + "src": "4850:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "4835:3:36", + "nativeSrc": "4835:3:34", "nodeType": "YulIdentifier", - "src": "4835:3:36" + "src": "4835:3:34" }, - "nativeSrc": "4835:18:36", + "nativeSrc": "4835:18:34", "nodeType": "YulFunctionCall", - "src": "4835:18:36" + "src": "4835:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "4822:12:36", + "nativeSrc": "4822:12:34", "nodeType": "YulIdentifier", - "src": "4822:12:36" + "src": "4822:12:34" }, - "nativeSrc": "4822:32:36", + "nativeSrc": "4822:32:34", "nodeType": "YulFunctionCall", - "src": "4822:32:36" + "src": "4822:32:34" }, "variables": [ { "name": "offset_2", - "nativeSrc": "4810:8:36", + "nativeSrc": "4810:8:34", "nodeType": "YulTypedName", - "src": "4810:8:36", + "src": "4810:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "4883:16:36", + "nativeSrc": "4883:16:34", "nodeType": "YulBlock", - "src": "4883:16:36", + "src": "4883:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4892:1:36", + "nativeSrc": "4892:1:34", "nodeType": "YulLiteral", - "src": "4892:1:36", + "src": "4892:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "4895:1:36", + "nativeSrc": "4895:1:34", "nodeType": "YulLiteral", - "src": "4895:1:36", + "src": "4895:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "4885:6:36", + "nativeSrc": "4885:6:34", "nodeType": "YulIdentifier", - "src": "4885:6:36" + "src": "4885:6:34" }, - "nativeSrc": "4885:12:36", + "nativeSrc": "4885:12:34", "nodeType": "YulFunctionCall", - "src": "4885:12:36" + "src": "4885:12:34" }, - "nativeSrc": "4885:12:36", + "nativeSrc": "4885:12:34", "nodeType": "YulExpressionStatement", - "src": "4885:12:36" + "src": "4885:12:34" } ] }, @@ -126682,177 +125692,177 @@ "arguments": [ { "name": "offset_2", - "nativeSrc": "4869:8:36", + "nativeSrc": "4869:8:34", "nodeType": "YulIdentifier", - "src": "4869:8:36" + "src": "4869:8:34" }, { "name": "_1", - "nativeSrc": "4879:2:36", + "nativeSrc": "4879:2:34", "nodeType": "YulIdentifier", - "src": "4879:2:36" + "src": "4879:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "4866:2:36", + "nativeSrc": "4866:2:34", "nodeType": "YulIdentifier", - "src": "4866:2:36" + "src": "4866:2:34" }, - "nativeSrc": "4866:16:36", + "nativeSrc": "4866:16:34", "nodeType": "YulFunctionCall", - "src": "4866:16:36" + "src": "4866:16:34" }, - "nativeSrc": "4863:36:36", + "nativeSrc": "4863:36:34", "nodeType": "YulIf", - "src": "4863:36:36" + "src": "4863:36:34" }, { - "nativeSrc": "4908:62:36", + "nativeSrc": "4908:62:34", "nodeType": "YulAssignment", - "src": "4908:62:36", + "src": "4908:62:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "4940:9:36", + "nativeSrc": "4940:9:34", "nodeType": "YulIdentifier", - "src": "4940:9:36" + "src": "4940:9:34" }, { "name": "offset_2", - "nativeSrc": "4951:8:36", + "nativeSrc": "4951:8:34", "nodeType": "YulIdentifier", - "src": "4951:8:36" + "src": "4951:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "4936:3:36", + "nativeSrc": "4936:3:34", "nodeType": "YulIdentifier", - "src": "4936:3:36" + "src": "4936:3:34" }, - "nativeSrc": "4936:24:36", + "nativeSrc": "4936:24:34", "nodeType": "YulFunctionCall", - "src": "4936:24:36" + "src": "4936:24:34" }, { "name": "dataEnd", - "nativeSrc": "4962:7:36", + "nativeSrc": "4962:7:34", "nodeType": "YulIdentifier", - "src": "4962:7:36" + "src": "4962:7:34" } ], "functionName": { "name": "abi_decode_string", - "nativeSrc": "4918:17:36", + "nativeSrc": "4918:17:34", "nodeType": "YulIdentifier", - "src": "4918:17:36" + "src": "4918:17:34" }, - "nativeSrc": "4918:52:36", + "nativeSrc": "4918:52:34", "nodeType": "YulFunctionCall", - "src": "4918:52:36" + "src": "4918:52:34" }, "variableNames": [ { "name": "value2", - "nativeSrc": "4908:6:36", + "nativeSrc": "4908:6:34", "nodeType": "YulIdentifier", - "src": "4908:6:36" + "src": "4908:6:34" } ] } ] }, "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr", - "nativeSrc": "4233:743:36", + "nativeSrc": "4233:743:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "4317:9:36", + "nativeSrc": "4317:9:34", "nodeType": "YulTypedName", - "src": "4317:9:36", + "src": "4317:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "4328:7:36", + "nativeSrc": "4328:7:34", "nodeType": "YulTypedName", - "src": "4328:7:36", + "src": "4328:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "4340:6:36", + "nativeSrc": "4340:6:34", "nodeType": "YulTypedName", - "src": "4340:6:36", + "src": "4340:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "4348:6:36", + "nativeSrc": "4348:6:34", "nodeType": "YulTypedName", - "src": "4348:6:36", + "src": "4348:6:34", "type": "" }, { "name": "value2", - "nativeSrc": "4356:6:36", + "nativeSrc": "4356:6:34", "nodeType": "YulTypedName", - "src": "4356:6:36", + "src": "4356:6:34", "type": "" } ], - "src": "4233:743:36" + "src": "4233:743:34" }, { "body": { - "nativeSrc": "5082:102:36", + "nativeSrc": "5082:102:34", "nodeType": "YulBlock", - "src": "5082:102:36", + "src": "5082:102:34", "statements": [ { - "nativeSrc": "5092:26:36", + "nativeSrc": "5092:26:34", "nodeType": "YulAssignment", - "src": "5092:26:36", + "src": "5092:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5104:9:36", + "nativeSrc": "5104:9:34", "nodeType": "YulIdentifier", - "src": "5104:9:36" + "src": "5104:9:34" }, { "kind": "number", - "nativeSrc": "5115:2:36", + "nativeSrc": "5115:2:34", "nodeType": "YulLiteral", - "src": "5115:2:36", + "src": "5115:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5100:3:36", + "nativeSrc": "5100:3:34", "nodeType": "YulIdentifier", - "src": "5100:3:36" + "src": "5100:3:34" }, - "nativeSrc": "5100:18:36", + "nativeSrc": "5100:18:34", "nodeType": "YulFunctionCall", - "src": "5100:18:36" + "src": "5100:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "5092:4:36", + "nativeSrc": "5092:4:34", "nodeType": "YulIdentifier", - "src": "5092:4:36" + "src": "5092:4:34" } ] }, @@ -126861,17 +125871,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5134:9:36", + "nativeSrc": "5134:9:34", "nodeType": "YulIdentifier", - "src": "5134:9:36" + "src": "5134:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "5149:6:36", + "nativeSrc": "5149:6:34", "nodeType": "YulIdentifier", - "src": "5149:6:36" + "src": "5149:6:34" }, { "arguments": [ @@ -126879,280 +125889,280 @@ "arguments": [ { "kind": "number", - "nativeSrc": "5165:3:36", + "nativeSrc": "5165:3:34", "nodeType": "YulLiteral", - "src": "5165:3:36", + "src": "5165:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "5170:1:36", + "nativeSrc": "5170:1:34", "nodeType": "YulLiteral", - "src": "5170:1:36", + "src": "5170:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "5161:3:36", + "nativeSrc": "5161:3:34", "nodeType": "YulIdentifier", - "src": "5161:3:36" + "src": "5161:3:34" }, - "nativeSrc": "5161:11:36", + "nativeSrc": "5161:11:34", "nodeType": "YulFunctionCall", - "src": "5161:11:36" + "src": "5161:11:34" }, { "kind": "number", - "nativeSrc": "5174:1:36", + "nativeSrc": "5174:1:34", "nodeType": "YulLiteral", - "src": "5174:1:36", + "src": "5174:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "5157:3:36", + "nativeSrc": "5157:3:34", "nodeType": "YulIdentifier", - "src": "5157:3:36" + "src": "5157:3:34" }, - "nativeSrc": "5157:19:36", + "nativeSrc": "5157:19:34", "nodeType": "YulFunctionCall", - "src": "5157:19:36" + "src": "5157:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "5145:3:36", + "nativeSrc": "5145:3:34", "nodeType": "YulIdentifier", - "src": "5145:3:36" + "src": "5145:3:34" }, - "nativeSrc": "5145:32:36", + "nativeSrc": "5145:32:34", "nodeType": "YulFunctionCall", - "src": "5145:32:36" + "src": "5145:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "5127:6:36", + "nativeSrc": "5127:6:34", "nodeType": "YulIdentifier", - "src": "5127:6:36" + "src": "5127:6:34" }, - "nativeSrc": "5127:51:36", + "nativeSrc": "5127:51:34", "nodeType": "YulFunctionCall", - "src": "5127:51:36" + "src": "5127:51:34" }, - "nativeSrc": "5127:51:36", + "nativeSrc": "5127:51:34", "nodeType": "YulExpressionStatement", - "src": "5127:51:36" + "src": "5127:51:34" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nativeSrc": "4981:203:36", + "nativeSrc": "4981:203:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "5051:9:36", + "nativeSrc": "5051:9:34", "nodeType": "YulTypedName", - "src": "5051:9:36", + "src": "5051:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "5062:6:36", + "nativeSrc": "5062:6:34", "nodeType": "YulTypedName", - "src": "5062:6:36", + "src": "5062:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "5073:4:36", + "nativeSrc": "5073:4:34", "nodeType": "YulTypedName", - "src": "5073:4:36", + "src": "5073:4:34", "type": "" } ], - "src": "4981:203:36" + "src": "4981:203:34" }, { "body": { - "nativeSrc": "5310:99:36", + "nativeSrc": "5310:99:34", "nodeType": "YulBlock", - "src": "5310:99:36", + "src": "5310:99:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "5327:9:36", + "nativeSrc": "5327:9:34", "nodeType": "YulIdentifier", - "src": "5327:9:36" + "src": "5327:9:34" }, { "kind": "number", - "nativeSrc": "5338:2:36", + "nativeSrc": "5338:2:34", "nodeType": "YulLiteral", - "src": "5338:2:36", + "src": "5338:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "5320:6:36", + "nativeSrc": "5320:6:34", "nodeType": "YulIdentifier", - "src": "5320:6:36" + "src": "5320:6:34" }, - "nativeSrc": "5320:21:36", + "nativeSrc": "5320:21:34", "nodeType": "YulFunctionCall", - "src": "5320:21:36" + "src": "5320:21:34" }, - "nativeSrc": "5320:21:36", + "nativeSrc": "5320:21:34", "nodeType": "YulExpressionStatement", - "src": "5320:21:36" + "src": "5320:21:34" }, { - "nativeSrc": "5350:53:36", + "nativeSrc": "5350:53:34", "nodeType": "YulAssignment", - "src": "5350:53:36", + "src": "5350:53:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "5376:6:36", + "nativeSrc": "5376:6:34", "nodeType": "YulIdentifier", - "src": "5376:6:36" + "src": "5376:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "5388:9:36", + "nativeSrc": "5388:9:34", "nodeType": "YulIdentifier", - "src": "5388:9:36" + "src": "5388:9:34" }, { "kind": "number", - "nativeSrc": "5399:2:36", + "nativeSrc": "5399:2:34", "nodeType": "YulLiteral", - "src": "5399:2:36", + "src": "5399:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5384:3:36", + "nativeSrc": "5384:3:34", "nodeType": "YulIdentifier", - "src": "5384:3:36" + "src": "5384:3:34" }, - "nativeSrc": "5384:18:36", + "nativeSrc": "5384:18:34", "nodeType": "YulFunctionCall", - "src": "5384:18:36" + "src": "5384:18:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "5358:17:36", + "nativeSrc": "5358:17:34", "nodeType": "YulIdentifier", - "src": "5358:17:36" + "src": "5358:17:34" }, - "nativeSrc": "5358:45:36", + "nativeSrc": "5358:45:34", "nodeType": "YulFunctionCall", - "src": "5358:45:36" + "src": "5358:45:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "5350:4:36", + "nativeSrc": "5350:4:34", "nodeType": "YulIdentifier", - "src": "5350:4:36" + "src": "5350:4:34" } ] } ] }, "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "5189:220:36", + "nativeSrc": "5189:220:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "5279:9:36", + "nativeSrc": "5279:9:34", "nodeType": "YulTypedName", - "src": "5279:9:36", + "src": "5279:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "5290:6:36", + "nativeSrc": "5290:6:34", "nodeType": "YulTypedName", - "src": "5290:6:36", + "src": "5290:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "5301:4:36", + "nativeSrc": "5301:4:34", "nodeType": "YulTypedName", - "src": "5301:4:36", + "src": "5301:4:34", "type": "" } ], - "src": "5189:220:36" + "src": "5189:220:34" }, { "body": { - "nativeSrc": "5509:92:36", + "nativeSrc": "5509:92:34", "nodeType": "YulBlock", - "src": "5509:92:36", + "src": "5509:92:34", "statements": [ { - "nativeSrc": "5519:26:36", + "nativeSrc": "5519:26:34", "nodeType": "YulAssignment", - "src": "5519:26:36", + "src": "5519:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5531:9:36", + "nativeSrc": "5531:9:34", "nodeType": "YulIdentifier", - "src": "5531:9:36" + "src": "5531:9:34" }, { "kind": "number", - "nativeSrc": "5542:2:36", + "nativeSrc": "5542:2:34", "nodeType": "YulLiteral", - "src": "5542:2:36", + "src": "5542:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5527:3:36", + "nativeSrc": "5527:3:34", "nodeType": "YulIdentifier", - "src": "5527:3:36" + "src": "5527:3:34" }, - "nativeSrc": "5527:18:36", + "nativeSrc": "5527:18:34", "nodeType": "YulFunctionCall", - "src": "5527:18:36" + "src": "5527:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "5519:4:36", + "nativeSrc": "5519:4:34", "nodeType": "YulIdentifier", - "src": "5519:4:36" + "src": "5519:4:34" } ] }, @@ -127161,9 +126171,9 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5561:9:36", + "nativeSrc": "5561:9:34", "nodeType": "YulIdentifier", - "src": "5561:9:36" + "src": "5561:9:34" }, { "arguments": [ @@ -127171,124 +126181,124 @@ "arguments": [ { "name": "value0", - "nativeSrc": "5586:6:36", + "nativeSrc": "5586:6:34", "nodeType": "YulIdentifier", - "src": "5586:6:36" + "src": "5586:6:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "5579:6:36", + "nativeSrc": "5579:6:34", "nodeType": "YulIdentifier", - "src": "5579:6:36" + "src": "5579:6:34" }, - "nativeSrc": "5579:14:36", + "nativeSrc": "5579:14:34", "nodeType": "YulFunctionCall", - "src": "5579:14:36" + "src": "5579:14:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "5572:6:36", + "nativeSrc": "5572:6:34", "nodeType": "YulIdentifier", - "src": "5572:6:36" + "src": "5572:6:34" }, - "nativeSrc": "5572:22:36", + "nativeSrc": "5572:22:34", "nodeType": "YulFunctionCall", - "src": "5572:22:36" + "src": "5572:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "5554:6:36", + "nativeSrc": "5554:6:34", "nodeType": "YulIdentifier", - "src": "5554:6:36" + "src": "5554:6:34" }, - "nativeSrc": "5554:41:36", + "nativeSrc": "5554:41:34", "nodeType": "YulFunctionCall", - "src": "5554:41:36" + "src": "5554:41:34" }, - "nativeSrc": "5554:41:36", + "nativeSrc": "5554:41:34", "nodeType": "YulExpressionStatement", - "src": "5554:41:36" + "src": "5554:41:34" } ] }, "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", - "nativeSrc": "5414:187:36", + "nativeSrc": "5414:187:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "5478:9:36", + "nativeSrc": "5478:9:34", "nodeType": "YulTypedName", - "src": "5478:9:36", + "src": "5478:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "5489:6:36", + "nativeSrc": "5489:6:34", "nodeType": "YulTypedName", - "src": "5489:6:36", + "src": "5489:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "5500:4:36", + "nativeSrc": "5500:4:34", "nodeType": "YulTypedName", - "src": "5500:4:36", + "src": "5500:4:34", "type": "" } ], - "src": "5414:187:36" + "src": "5414:187:34" }, { "body": { - "nativeSrc": "5676:116:36", + "nativeSrc": "5676:116:34", "nodeType": "YulBlock", - "src": "5676:116:36", + "src": "5676:116:34", "statements": [ { "body": { - "nativeSrc": "5722:16:36", + "nativeSrc": "5722:16:34", "nodeType": "YulBlock", - "src": "5722:16:36", + "src": "5722:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5731:1:36", + "nativeSrc": "5731:1:34", "nodeType": "YulLiteral", - "src": "5731:1:36", + "src": "5731:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "5734:1:36", + "nativeSrc": "5734:1:34", "nodeType": "YulLiteral", - "src": "5734:1:36", + "src": "5734:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "5724:6:36", + "nativeSrc": "5724:6:34", "nodeType": "YulIdentifier", - "src": "5724:6:36" + "src": "5724:6:34" }, - "nativeSrc": "5724:12:36", + "nativeSrc": "5724:12:34", "nodeType": "YulFunctionCall", - "src": "5724:12:36" + "src": "5724:12:34" }, - "nativeSrc": "5724:12:36", + "nativeSrc": "5724:12:34", "nodeType": "YulExpressionStatement", - "src": "5724:12:36" + "src": "5724:12:34" } ] }, @@ -127298,244 +126308,244 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "5697:7:36", + "nativeSrc": "5697:7:34", "nodeType": "YulIdentifier", - "src": "5697:7:36" + "src": "5697:7:34" }, { "name": "headStart", - "nativeSrc": "5706:9:36", + "nativeSrc": "5706:9:34", "nodeType": "YulIdentifier", - "src": "5706:9:36" + "src": "5706:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "5693:3:36", + "nativeSrc": "5693:3:34", "nodeType": "YulIdentifier", - "src": "5693:3:36" + "src": "5693:3:34" }, - "nativeSrc": "5693:23:36", + "nativeSrc": "5693:23:34", "nodeType": "YulFunctionCall", - "src": "5693:23:36" + "src": "5693:23:34" }, { "kind": "number", - "nativeSrc": "5718:2:36", + "nativeSrc": "5718:2:34", "nodeType": "YulLiteral", - "src": "5718:2:36", + "src": "5718:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "5689:3:36", + "nativeSrc": "5689:3:34", "nodeType": "YulIdentifier", - "src": "5689:3:36" + "src": "5689:3:34" }, - "nativeSrc": "5689:32:36", + "nativeSrc": "5689:32:34", "nodeType": "YulFunctionCall", - "src": "5689:32:36" + "src": "5689:32:34" }, - "nativeSrc": "5686:52:36", + "nativeSrc": "5686:52:34", "nodeType": "YulIf", - "src": "5686:52:36" + "src": "5686:52:34" }, { - "nativeSrc": "5747:39:36", + "nativeSrc": "5747:39:34", "nodeType": "YulAssignment", - "src": "5747:39:36", + "src": "5747:39:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5776:9:36", + "nativeSrc": "5776:9:34", "nodeType": "YulIdentifier", - "src": "5776:9:36" + "src": "5776:9:34" } ], "functionName": { "name": "abi_decode_address", - "nativeSrc": "5757:18:36", + "nativeSrc": "5757:18:34", "nodeType": "YulIdentifier", - "src": "5757:18:36" + "src": "5757:18:34" }, - "nativeSrc": "5757:29:36", + "nativeSrc": "5757:29:34", "nodeType": "YulFunctionCall", - "src": "5757:29:36" + "src": "5757:29:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "5747:6:36", + "nativeSrc": "5747:6:34", "nodeType": "YulIdentifier", - "src": "5747:6:36" + "src": "5747:6:34" } ] } ] }, "name": "abi_decode_tuple_t_address", - "nativeSrc": "5606:186:36", + "nativeSrc": "5606:186:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "5642:9:36", + "nativeSrc": "5642:9:34", "nodeType": "YulTypedName", - "src": "5642:9:36", + "src": "5642:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "5653:7:36", + "nativeSrc": "5653:7:34", "nodeType": "YulTypedName", - "src": "5653:7:36", + "src": "5653:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "5665:6:36", + "nativeSrc": "5665:6:34", "nodeType": "YulTypedName", - "src": "5665:6:36", + "src": "5665:6:34", "type": "" } ], - "src": "5606:186:36" + "src": "5606:186:34" }, { "body": { - "nativeSrc": "5852:325:36", + "nativeSrc": "5852:325:34", "nodeType": "YulBlock", - "src": "5852:325:36", + "src": "5852:325:34", "statements": [ { - "nativeSrc": "5862:22:36", + "nativeSrc": "5862:22:34", "nodeType": "YulAssignment", - "src": "5862:22:36", + "src": "5862:22:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "5876:1:36", + "nativeSrc": "5876:1:34", "nodeType": "YulLiteral", - "src": "5876:1:36", + "src": "5876:1:34", "type": "", "value": "1" }, { "name": "data", - "nativeSrc": "5879:4:36", + "nativeSrc": "5879:4:34", "nodeType": "YulIdentifier", - "src": "5879:4:36" + "src": "5879:4:34" } ], "functionName": { "name": "shr", - "nativeSrc": "5872:3:36", + "nativeSrc": "5872:3:34", "nodeType": "YulIdentifier", - "src": "5872:3:36" + "src": "5872:3:34" }, - "nativeSrc": "5872:12:36", + "nativeSrc": "5872:12:34", "nodeType": "YulFunctionCall", - "src": "5872:12:36" + "src": "5872:12:34" }, "variableNames": [ { "name": "length", - "nativeSrc": "5862:6:36", + "nativeSrc": "5862:6:34", "nodeType": "YulIdentifier", - "src": "5862:6:36" + "src": "5862:6:34" } ] }, { - "nativeSrc": "5893:38:36", + "nativeSrc": "5893:38:34", "nodeType": "YulVariableDeclaration", - "src": "5893:38:36", + "src": "5893:38:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "5923:4:36", + "nativeSrc": "5923:4:34", "nodeType": "YulIdentifier", - "src": "5923:4:36" + "src": "5923:4:34" }, { "kind": "number", - "nativeSrc": "5929:1:36", + "nativeSrc": "5929:1:34", "nodeType": "YulLiteral", - "src": "5929:1:36", + "src": "5929:1:34", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "5919:3:36", + "nativeSrc": "5919:3:34", "nodeType": "YulIdentifier", - "src": "5919:3:36" + "src": "5919:3:34" }, - "nativeSrc": "5919:12:36", + "nativeSrc": "5919:12:34", "nodeType": "YulFunctionCall", - "src": "5919:12:36" + "src": "5919:12:34" }, "variables": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "5897:18:36", + "nativeSrc": "5897:18:34", "nodeType": "YulTypedName", - "src": "5897:18:36", + "src": "5897:18:34", "type": "" } ] }, { "body": { - "nativeSrc": "5970:31:36", + "nativeSrc": "5970:31:34", "nodeType": "YulBlock", - "src": "5970:31:36", + "src": "5970:31:34", "statements": [ { - "nativeSrc": "5972:27:36", + "nativeSrc": "5972:27:34", "nodeType": "YulAssignment", - "src": "5972:27:36", + "src": "5972:27:34", "value": { "arguments": [ { "name": "length", - "nativeSrc": "5986:6:36", + "nativeSrc": "5986:6:34", "nodeType": "YulIdentifier", - "src": "5986:6:36" + "src": "5986:6:34" }, { "kind": "number", - "nativeSrc": "5994:4:36", + "nativeSrc": "5994:4:34", "nodeType": "YulLiteral", - "src": "5994:4:36", + "src": "5994:4:34", "type": "", "value": "0x7f" } ], "functionName": { "name": "and", - "nativeSrc": "5982:3:36", + "nativeSrc": "5982:3:34", "nodeType": "YulIdentifier", - "src": "5982:3:36" + "src": "5982:3:34" }, - "nativeSrc": "5982:17:36", + "nativeSrc": "5982:17:34", "nodeType": "YulFunctionCall", - "src": "5982:17:36" + "src": "5982:17:34" }, "variableNames": [ { "name": "length", - "nativeSrc": "5972:6:36", + "nativeSrc": "5972:6:34", "nodeType": "YulIdentifier", - "src": "5972:6:36" + "src": "5972:6:34" } ] } @@ -127545,39 +126555,39 @@ "arguments": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "5950:18:36", + "nativeSrc": "5950:18:34", "nodeType": "YulIdentifier", - "src": "5950:18:36" + "src": "5950:18:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "5943:6:36", + "nativeSrc": "5943:6:34", "nodeType": "YulIdentifier", - "src": "5943:6:36" + "src": "5943:6:34" }, - "nativeSrc": "5943:26:36", + "nativeSrc": "5943:26:34", "nodeType": "YulFunctionCall", - "src": "5943:26:36" + "src": "5943:26:34" }, - "nativeSrc": "5940:61:36", + "nativeSrc": "5940:61:34", "nodeType": "YulIf", - "src": "5940:61:36" + "src": "5940:61:34" }, { "body": { - "nativeSrc": "6060:111:36", + "nativeSrc": "6060:111:34", "nodeType": "YulBlock", - "src": "6060:111:36", + "src": "6060:111:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6081:1:36", + "nativeSrc": "6081:1:34", "nodeType": "YulLiteral", - "src": "6081:1:36", + "src": "6081:1:34", "type": "", "value": "0" }, @@ -127585,113 +126595,113 @@ "arguments": [ { "kind": "number", - "nativeSrc": "6088:3:36", + "nativeSrc": "6088:3:34", "nodeType": "YulLiteral", - "src": "6088:3:36", + "src": "6088:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "6093:10:36", + "nativeSrc": "6093:10:34", "nodeType": "YulLiteral", - "src": "6093:10:36", + "src": "6093:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "6084:3:36", + "nativeSrc": "6084:3:34", "nodeType": "YulIdentifier", - "src": "6084:3:36" + "src": "6084:3:34" }, - "nativeSrc": "6084:20:36", + "nativeSrc": "6084:20:34", "nodeType": "YulFunctionCall", - "src": "6084:20:36" + "src": "6084:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "6074:6:36", + "nativeSrc": "6074:6:34", "nodeType": "YulIdentifier", - "src": "6074:6:36" + "src": "6074:6:34" }, - "nativeSrc": "6074:31:36", + "nativeSrc": "6074:31:34", "nodeType": "YulFunctionCall", - "src": "6074:31:36" + "src": "6074:31:34" }, - "nativeSrc": "6074:31:36", + "nativeSrc": "6074:31:34", "nodeType": "YulExpressionStatement", - "src": "6074:31:36" + "src": "6074:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6125:1:36", + "nativeSrc": "6125:1:34", "nodeType": "YulLiteral", - "src": "6125:1:36", + "src": "6125:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "6128:4:36", + "nativeSrc": "6128:4:34", "nodeType": "YulLiteral", - "src": "6128:4:36", + "src": "6128:4:34", "type": "", "value": "0x22" } ], "functionName": { "name": "mstore", - "nativeSrc": "6118:6:36", + "nativeSrc": "6118:6:34", "nodeType": "YulIdentifier", - "src": "6118:6:36" + "src": "6118:6:34" }, - "nativeSrc": "6118:15:36", + "nativeSrc": "6118:15:34", "nodeType": "YulFunctionCall", - "src": "6118:15:36" + "src": "6118:15:34" }, - "nativeSrc": "6118:15:36", + "nativeSrc": "6118:15:34", "nodeType": "YulExpressionStatement", - "src": "6118:15:36" + "src": "6118:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6153:1:36", + "nativeSrc": "6153:1:34", "nodeType": "YulLiteral", - "src": "6153:1:36", + "src": "6153:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "6156:4:36", + "nativeSrc": "6156:4:34", "nodeType": "YulLiteral", - "src": "6156:4:36", + "src": "6156:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "6146:6:36", + "nativeSrc": "6146:6:34", "nodeType": "YulIdentifier", - "src": "6146:6:36" + "src": "6146:6:34" }, - "nativeSrc": "6146:15:36", + "nativeSrc": "6146:15:34", "nodeType": "YulFunctionCall", - "src": "6146:15:36" + "src": "6146:15:34" }, - "nativeSrc": "6146:15:36", + "nativeSrc": "6146:15:34", "nodeType": "YulExpressionStatement", - "src": "6146:15:36" + "src": "6146:15:34" } ] }, @@ -127699,112 +126709,112 @@ "arguments": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "6016:18:36", + "nativeSrc": "6016:18:34", "nodeType": "YulIdentifier", - "src": "6016:18:36" + "src": "6016:18:34" }, { "arguments": [ { "name": "length", - "nativeSrc": "6039:6:36", + "nativeSrc": "6039:6:34", "nodeType": "YulIdentifier", - "src": "6039:6:36" + "src": "6039:6:34" }, { "kind": "number", - "nativeSrc": "6047:2:36", + "nativeSrc": "6047:2:34", "nodeType": "YulLiteral", - "src": "6047:2:36", + "src": "6047:2:34", "type": "", "value": "32" } ], "functionName": { "name": "lt", - "nativeSrc": "6036:2:36", + "nativeSrc": "6036:2:34", "nodeType": "YulIdentifier", - "src": "6036:2:36" + "src": "6036:2:34" }, - "nativeSrc": "6036:14:36", + "nativeSrc": "6036:14:34", "nodeType": "YulFunctionCall", - "src": "6036:14:36" + "src": "6036:14:34" } ], "functionName": { "name": "eq", - "nativeSrc": "6013:2:36", + "nativeSrc": "6013:2:34", "nodeType": "YulIdentifier", - "src": "6013:2:36" + "src": "6013:2:34" }, - "nativeSrc": "6013:38:36", + "nativeSrc": "6013:38:34", "nodeType": "YulFunctionCall", - "src": "6013:38:36" + "src": "6013:38:34" }, - "nativeSrc": "6010:161:36", + "nativeSrc": "6010:161:34", "nodeType": "YulIf", - "src": "6010:161:36" + "src": "6010:161:34" } ] }, "name": "extract_byte_array_length", - "nativeSrc": "5797:380:36", + "nativeSrc": "5797:380:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "data", - "nativeSrc": "5832:4:36", + "nativeSrc": "5832:4:34", "nodeType": "YulTypedName", - "src": "5832:4:36", + "src": "5832:4:34", "type": "" } ], "returnVariables": [ { "name": "length", - "nativeSrc": "5841:6:36", + "nativeSrc": "5841:6:34", "nodeType": "YulTypedName", - "src": "5841:6:36", + "src": "5841:6:34", "type": "" } ], - "src": "5797:380:36" + "src": "5797:380:34" }, { "body": { - "nativeSrc": "6321:150:36", + "nativeSrc": "6321:150:34", "nodeType": "YulBlock", - "src": "6321:150:36", + "src": "6321:150:34", "statements": [ { - "nativeSrc": "6331:27:36", + "nativeSrc": "6331:27:34", "nodeType": "YulVariableDeclaration", - "src": "6331:27:36", + "src": "6331:27:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "6351:6:36", + "nativeSrc": "6351:6:34", "nodeType": "YulIdentifier", - "src": "6351:6:36" + "src": "6351:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "6345:5:36", + "nativeSrc": "6345:5:34", "nodeType": "YulIdentifier", - "src": "6345:5:36" + "src": "6345:5:34" }, - "nativeSrc": "6345:13:36", + "nativeSrc": "6345:13:34", "nodeType": "YulFunctionCall", - "src": "6345:13:36" + "src": "6345:13:34" }, "variables": [ { "name": "length", - "nativeSrc": "6335:6:36", + "nativeSrc": "6335:6:34", "nodeType": "YulTypedName", - "src": "6335:6:36", + "src": "6335:6:34", "type": "" } ] @@ -127816,171 +126826,171 @@ "arguments": [ { "name": "value0", - "nativeSrc": "6406:6:36", + "nativeSrc": "6406:6:34", "nodeType": "YulIdentifier", - "src": "6406:6:36" + "src": "6406:6:34" }, { "kind": "number", - "nativeSrc": "6414:4:36", + "nativeSrc": "6414:4:34", "nodeType": "YulLiteral", - "src": "6414:4:36", + "src": "6414:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "6402:3:36", + "nativeSrc": "6402:3:34", "nodeType": "YulIdentifier", - "src": "6402:3:36" + "src": "6402:3:34" }, - "nativeSrc": "6402:17:36", + "nativeSrc": "6402:17:34", "nodeType": "YulFunctionCall", - "src": "6402:17:36" + "src": "6402:17:34" }, { "name": "pos", - "nativeSrc": "6421:3:36", + "nativeSrc": "6421:3:34", "nodeType": "YulIdentifier", - "src": "6421:3:36" + "src": "6421:3:34" }, { "name": "length", - "nativeSrc": "6426:6:36", + "nativeSrc": "6426:6:34", "nodeType": "YulIdentifier", - "src": "6426:6:36" + "src": "6426:6:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "6367:34:36", + "nativeSrc": "6367:34:34", "nodeType": "YulIdentifier", - "src": "6367:34:36" + "src": "6367:34:34" }, - "nativeSrc": "6367:66:36", + "nativeSrc": "6367:66:34", "nodeType": "YulFunctionCall", - "src": "6367:66:36" + "src": "6367:66:34" }, - "nativeSrc": "6367:66:36", + "nativeSrc": "6367:66:34", "nodeType": "YulExpressionStatement", - "src": "6367:66:36" + "src": "6367:66:34" }, { - "nativeSrc": "6442:23:36", + "nativeSrc": "6442:23:34", "nodeType": "YulAssignment", - "src": "6442:23:36", + "src": "6442:23:34", "value": { "arguments": [ { "name": "pos", - "nativeSrc": "6453:3:36", + "nativeSrc": "6453:3:34", "nodeType": "YulIdentifier", - "src": "6453:3:36" + "src": "6453:3:34" }, { "name": "length", - "nativeSrc": "6458:6:36", + "nativeSrc": "6458:6:34", "nodeType": "YulIdentifier", - "src": "6458:6:36" + "src": "6458:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "6449:3:36", + "nativeSrc": "6449:3:34", "nodeType": "YulIdentifier", - "src": "6449:3:36" + "src": "6449:3:34" }, - "nativeSrc": "6449:16:36", + "nativeSrc": "6449:16:34", "nodeType": "YulFunctionCall", - "src": "6449:16:36" + "src": "6449:16:34" }, "variableNames": [ { "name": "end", - "nativeSrc": "6442:3:36", + "nativeSrc": "6442:3:34", "nodeType": "YulIdentifier", - "src": "6442:3:36" + "src": "6442:3:34" } ] } ] }, "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "6182:289:36", + "nativeSrc": "6182:289:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", - "nativeSrc": "6297:3:36", + "nativeSrc": "6297:3:34", "nodeType": "YulTypedName", - "src": "6297:3:36", + "src": "6297:3:34", "type": "" }, { "name": "value0", - "nativeSrc": "6302:6:36", + "nativeSrc": "6302:6:34", "nodeType": "YulTypedName", - "src": "6302:6:36", + "src": "6302:6:34", "type": "" } ], "returnVariables": [ { "name": "end", - "nativeSrc": "6313:3:36", + "nativeSrc": "6313:3:34", "nodeType": "YulTypedName", - "src": "6313:3:36", + "src": "6313:3:34", "type": "" } ], - "src": "6182:289:36" + "src": "6182:289:34" }, { "body": { - "nativeSrc": "6554:199:36", + "nativeSrc": "6554:199:34", "nodeType": "YulBlock", - "src": "6554:199:36", + "src": "6554:199:34", "statements": [ { "body": { - "nativeSrc": "6600:16:36", + "nativeSrc": "6600:16:34", "nodeType": "YulBlock", - "src": "6600:16:36", + "src": "6600:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6609:1:36", + "nativeSrc": "6609:1:34", "nodeType": "YulLiteral", - "src": "6609:1:36", + "src": "6609:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "6612:1:36", + "nativeSrc": "6612:1:34", "nodeType": "YulLiteral", - "src": "6612:1:36", + "src": "6612:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "6602:6:36", + "nativeSrc": "6602:6:34", "nodeType": "YulIdentifier", - "src": "6602:6:36" + "src": "6602:6:34" }, - "nativeSrc": "6602:12:36", + "nativeSrc": "6602:12:34", "nodeType": "YulFunctionCall", - "src": "6602:12:36" + "src": "6602:12:34" }, - "nativeSrc": "6602:12:36", + "nativeSrc": "6602:12:34", "nodeType": "YulExpressionStatement", - "src": "6602:12:36" + "src": "6602:12:34" } ] }, @@ -127990,122 +127000,122 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "6575:7:36", + "nativeSrc": "6575:7:34", "nodeType": "YulIdentifier", - "src": "6575:7:36" + "src": "6575:7:34" }, { "name": "headStart", - "nativeSrc": "6584:9:36", + "nativeSrc": "6584:9:34", "nodeType": "YulIdentifier", - "src": "6584:9:36" + "src": "6584:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "6571:3:36", + "nativeSrc": "6571:3:34", "nodeType": "YulIdentifier", - "src": "6571:3:36" + "src": "6571:3:34" }, - "nativeSrc": "6571:23:36", + "nativeSrc": "6571:23:34", "nodeType": "YulFunctionCall", - "src": "6571:23:36" + "src": "6571:23:34" }, { "kind": "number", - "nativeSrc": "6596:2:36", + "nativeSrc": "6596:2:34", "nodeType": "YulLiteral", - "src": "6596:2:36", + "src": "6596:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "6567:3:36", + "nativeSrc": "6567:3:34", "nodeType": "YulIdentifier", - "src": "6567:3:36" + "src": "6567:3:34" }, - "nativeSrc": "6567:32:36", + "nativeSrc": "6567:32:34", "nodeType": "YulFunctionCall", - "src": "6567:32:36" + "src": "6567:32:34" }, - "nativeSrc": "6564:52:36", + "nativeSrc": "6564:52:34", "nodeType": "YulIf", - "src": "6564:52:36" + "src": "6564:52:34" }, { - "nativeSrc": "6625:29:36", + "nativeSrc": "6625:29:34", "nodeType": "YulVariableDeclaration", - "src": "6625:29:36", + "src": "6625:29:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "6644:9:36", + "nativeSrc": "6644:9:34", "nodeType": "YulIdentifier", - "src": "6644:9:36" + "src": "6644:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "6638:5:36", + "nativeSrc": "6638:5:34", "nodeType": "YulIdentifier", - "src": "6638:5:36" + "src": "6638:5:34" }, - "nativeSrc": "6638:16:36", + "nativeSrc": "6638:16:34", "nodeType": "YulFunctionCall", - "src": "6638:16:36" + "src": "6638:16:34" }, "variables": [ { "name": "value", - "nativeSrc": "6629:5:36", + "nativeSrc": "6629:5:34", "nodeType": "YulTypedName", - "src": "6629:5:36", + "src": "6629:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "6707:16:36", + "nativeSrc": "6707:16:34", "nodeType": "YulBlock", - "src": "6707:16:36", + "src": "6707:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6716:1:36", + "nativeSrc": "6716:1:34", "nodeType": "YulLiteral", - "src": "6716:1:36", + "src": "6716:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "6719:1:36", + "nativeSrc": "6719:1:34", "nodeType": "YulLiteral", - "src": "6719:1:36", + "src": "6719:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "6709:6:36", + "nativeSrc": "6709:6:34", "nodeType": "YulIdentifier", - "src": "6709:6:36" + "src": "6709:6:34" }, - "nativeSrc": "6709:12:36", + "nativeSrc": "6709:12:34", "nodeType": "YulFunctionCall", - "src": "6709:12:36" + "src": "6709:12:34" }, - "nativeSrc": "6709:12:36", + "nativeSrc": "6709:12:34", "nodeType": "YulExpressionStatement", - "src": "6709:12:36" + "src": "6709:12:34" } ] }, @@ -128115,9 +127125,9 @@ "arguments": [ { "name": "value", - "nativeSrc": "6676:5:36", + "nativeSrc": "6676:5:34", "nodeType": "YulIdentifier", - "src": "6676:5:36" + "src": "6676:5:34" }, { "arguments": [ @@ -128125,146 +127135,146 @@ "arguments": [ { "name": "value", - "nativeSrc": "6697:5:36", + "nativeSrc": "6697:5:34", "nodeType": "YulIdentifier", - "src": "6697:5:36" + "src": "6697:5:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "6690:6:36", + "nativeSrc": "6690:6:34", "nodeType": "YulIdentifier", - "src": "6690:6:36" + "src": "6690:6:34" }, - "nativeSrc": "6690:13:36", + "nativeSrc": "6690:13:34", "nodeType": "YulFunctionCall", - "src": "6690:13:36" + "src": "6690:13:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "6683:6:36", + "nativeSrc": "6683:6:34", "nodeType": "YulIdentifier", - "src": "6683:6:36" + "src": "6683:6:34" }, - "nativeSrc": "6683:21:36", + "nativeSrc": "6683:21:34", "nodeType": "YulFunctionCall", - "src": "6683:21:36" + "src": "6683:21:34" } ], "functionName": { "name": "eq", - "nativeSrc": "6673:2:36", + "nativeSrc": "6673:2:34", "nodeType": "YulIdentifier", - "src": "6673:2:36" + "src": "6673:2:34" }, - "nativeSrc": "6673:32:36", + "nativeSrc": "6673:32:34", "nodeType": "YulFunctionCall", - "src": "6673:32:36" + "src": "6673:32:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "6666:6:36", + "nativeSrc": "6666:6:34", "nodeType": "YulIdentifier", - "src": "6666:6:36" + "src": "6666:6:34" }, - "nativeSrc": "6666:40:36", + "nativeSrc": "6666:40:34", "nodeType": "YulFunctionCall", - "src": "6666:40:36" + "src": "6666:40:34" }, - "nativeSrc": "6663:60:36", + "nativeSrc": "6663:60:34", "nodeType": "YulIf", - "src": "6663:60:36" + "src": "6663:60:34" }, { - "nativeSrc": "6732:15:36", + "nativeSrc": "6732:15:34", "nodeType": "YulAssignment", - "src": "6732:15:36", + "src": "6732:15:34", "value": { "name": "value", - "nativeSrc": "6742:5:36", + "nativeSrc": "6742:5:34", "nodeType": "YulIdentifier", - "src": "6742:5:36" + "src": "6742:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "6732:6:36", + "nativeSrc": "6732:6:34", "nodeType": "YulIdentifier", - "src": "6732:6:36" + "src": "6732:6:34" } ] } ] }, "name": "abi_decode_tuple_t_bool_fromMemory", - "nativeSrc": "6476:277:36", + "nativeSrc": "6476:277:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6520:9:36", + "nativeSrc": "6520:9:34", "nodeType": "YulTypedName", - "src": "6520:9:36", + "src": "6520:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "6531:7:36", + "nativeSrc": "6531:7:34", "nodeType": "YulTypedName", - "src": "6531:7:36", + "src": "6531:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "6543:6:36", + "nativeSrc": "6543:6:34", "nodeType": "YulTypedName", - "src": "6543:6:36", + "src": "6543:6:34", "type": "" } ], - "src": "6476:277:36" + "src": "6476:277:34" }, { "body": { - "nativeSrc": "6932:172:36", + "nativeSrc": "6932:172:34", "nodeType": "YulBlock", - "src": "6932:172:36", + "src": "6932:172:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "6949:9:36", + "nativeSrc": "6949:9:34", "nodeType": "YulIdentifier", - "src": "6949:9:36" + "src": "6949:9:34" }, { "kind": "number", - "nativeSrc": "6960:2:36", + "nativeSrc": "6960:2:34", "nodeType": "YulLiteral", - "src": "6960:2:36", + "src": "6960:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "6942:6:36", + "nativeSrc": "6942:6:34", "nodeType": "YulIdentifier", - "src": "6942:6:36" + "src": "6942:6:34" }, - "nativeSrc": "6942:21:36", + "nativeSrc": "6942:21:34", "nodeType": "YulFunctionCall", - "src": "6942:21:36" + "src": "6942:21:34" }, - "nativeSrc": "6942:21:36", + "nativeSrc": "6942:21:34", "nodeType": "YulExpressionStatement", - "src": "6942:21:36" + "src": "6942:21:34" }, { "expression": { @@ -128273,51 +127283,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "6983:9:36", + "nativeSrc": "6983:9:34", "nodeType": "YulIdentifier", - "src": "6983:9:36" + "src": "6983:9:34" }, { "kind": "number", - "nativeSrc": "6994:2:36", + "nativeSrc": "6994:2:34", "nodeType": "YulLiteral", - "src": "6994:2:36", + "src": "6994:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "6979:3:36", + "nativeSrc": "6979:3:34", "nodeType": "YulIdentifier", - "src": "6979:3:36" + "src": "6979:3:34" }, - "nativeSrc": "6979:18:36", + "nativeSrc": "6979:18:34", "nodeType": "YulFunctionCall", - "src": "6979:18:36" + "src": "6979:18:34" }, { "kind": "number", - "nativeSrc": "6999:2:36", + "nativeSrc": "6999:2:34", "nodeType": "YulLiteral", - "src": "6999:2:36", + "src": "6999:2:34", "type": "", "value": "22" } ], "functionName": { "name": "mstore", - "nativeSrc": "6972:6:36", + "nativeSrc": "6972:6:34", "nodeType": "YulIdentifier", - "src": "6972:6:36" + "src": "6972:6:34" }, - "nativeSrc": "6972:30:36", + "nativeSrc": "6972:30:34", "nodeType": "YulFunctionCall", - "src": "6972:30:36" + "src": "6972:30:34" }, - "nativeSrc": "6972:30:36", + "nativeSrc": "6972:30:34", "nodeType": "YulExpressionStatement", - "src": "6972:30:36" + "src": "6972:30:34" }, { "expression": { @@ -128326,253 +127336,253 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "7022:9:36", + "nativeSrc": "7022:9:34", "nodeType": "YulIdentifier", - "src": "7022:9:36" + "src": "7022:9:34" }, { "kind": "number", - "nativeSrc": "7033:2:36", + "nativeSrc": "7033:2:34", "nodeType": "YulLiteral", - "src": "7033:2:36", + "src": "7033:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "7018:3:36", + "nativeSrc": "7018:3:34", "nodeType": "YulIdentifier", - "src": "7018:3:36" + "src": "7018:3:34" }, - "nativeSrc": "7018:18:36", + "nativeSrc": "7018:18:34", "nodeType": "YulFunctionCall", - "src": "7018:18:36" + "src": "7018:18:34" }, { "hexValue": "53657276696365206e6f742072656769737465726564", "kind": "string", - "nativeSrc": "7038:24:36", + "nativeSrc": "7038:24:34", "nodeType": "YulLiteral", - "src": "7038:24:36", + "src": "7038:24:34", "type": "", "value": "Service not registered" } ], "functionName": { "name": "mstore", - "nativeSrc": "7011:6:36", + "nativeSrc": "7011:6:34", "nodeType": "YulIdentifier", - "src": "7011:6:36" + "src": "7011:6:34" }, - "nativeSrc": "7011:52:36", + "nativeSrc": "7011:52:34", "nodeType": "YulFunctionCall", - "src": "7011:52:36" + "src": "7011:52:34" }, - "nativeSrc": "7011:52:36", + "nativeSrc": "7011:52:34", "nodeType": "YulExpressionStatement", - "src": "7011:52:36" + "src": "7011:52:34" }, { - "nativeSrc": "7072:26:36", + "nativeSrc": "7072:26:34", "nodeType": "YulAssignment", - "src": "7072:26:36", + "src": "7072:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "7084:9:36", + "nativeSrc": "7084:9:34", "nodeType": "YulIdentifier", - "src": "7084:9:36" + "src": "7084:9:34" }, { "kind": "number", - "nativeSrc": "7095:2:36", + "nativeSrc": "7095:2:34", "nodeType": "YulLiteral", - "src": "7095:2:36", + "src": "7095:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "7080:3:36", + "nativeSrc": "7080:3:34", "nodeType": "YulIdentifier", - "src": "7080:3:36" + "src": "7080:3:34" }, - "nativeSrc": "7080:18:36", + "nativeSrc": "7080:18:34", "nodeType": "YulFunctionCall", - "src": "7080:18:36" + "src": "7080:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "7072:4:36", + "nativeSrc": "7072:4:34", "nodeType": "YulIdentifier", - "src": "7072:4:36" + "src": "7072:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "6758:346:36", + "nativeSrc": "6758:346:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6909:9:36", + "nativeSrc": "6909:9:34", "nodeType": "YulTypedName", - "src": "6909:9:36", + "src": "6909:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "6923:4:36", + "nativeSrc": "6923:4:34", "nodeType": "YulTypedName", - "src": "6923:4:36", + "src": "6923:4:34", "type": "" } ], - "src": "6758:346:36" + "src": "6758:346:34" }, { "body": { - "nativeSrc": "7165:65:36", + "nativeSrc": "7165:65:34", "nodeType": "YulBlock", - "src": "7165:65:36", + "src": "7165:65:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "7182:1:36", + "nativeSrc": "7182:1:34", "nodeType": "YulLiteral", - "src": "7182:1:36", + "src": "7182:1:34", "type": "", "value": "0" }, { "name": "ptr", - "nativeSrc": "7185:3:36", + "nativeSrc": "7185:3:34", "nodeType": "YulIdentifier", - "src": "7185:3:36" + "src": "7185:3:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "7175:6:36", + "nativeSrc": "7175:6:34", "nodeType": "YulIdentifier", - "src": "7175:6:36" + "src": "7175:6:34" }, - "nativeSrc": "7175:14:36", + "nativeSrc": "7175:14:34", "nodeType": "YulFunctionCall", - "src": "7175:14:36" + "src": "7175:14:34" }, - "nativeSrc": "7175:14:36", + "nativeSrc": "7175:14:34", "nodeType": "YulExpressionStatement", - "src": "7175:14:36" + "src": "7175:14:34" }, { - "nativeSrc": "7198:26:36", + "nativeSrc": "7198:26:34", "nodeType": "YulAssignment", - "src": "7198:26:36", + "src": "7198:26:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "7216:1:36", + "nativeSrc": "7216:1:34", "nodeType": "YulLiteral", - "src": "7216:1:36", + "src": "7216:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "7219:4:36", + "nativeSrc": "7219:4:34", "nodeType": "YulLiteral", - "src": "7219:4:36", + "src": "7219:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "7206:9:36", + "nativeSrc": "7206:9:34", "nodeType": "YulIdentifier", - "src": "7206:9:36" + "src": "7206:9:34" }, - "nativeSrc": "7206:18:36", + "nativeSrc": "7206:18:34", "nodeType": "YulFunctionCall", - "src": "7206:18:36" + "src": "7206:18:34" }, "variableNames": [ { "name": "data", - "nativeSrc": "7198:4:36", + "nativeSrc": "7198:4:34", "nodeType": "YulIdentifier", - "src": "7198:4:36" + "src": "7198:4:34" } ] } ] }, "name": "array_dataslot_string_storage", - "nativeSrc": "7109:121:36", + "nativeSrc": "7109:121:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "ptr", - "nativeSrc": "7148:3:36", + "nativeSrc": "7148:3:34", "nodeType": "YulTypedName", - "src": "7148:3:36", + "src": "7148:3:34", "type": "" } ], "returnVariables": [ { "name": "data", - "nativeSrc": "7156:4:36", + "nativeSrc": "7156:4:34", "nodeType": "YulTypedName", - "src": "7156:4:36", + "src": "7156:4:34", "type": "" } ], - "src": "7109:121:36" + "src": "7109:121:34" }, { "body": { - "nativeSrc": "7316:462:36", + "nativeSrc": "7316:462:34", "nodeType": "YulBlock", - "src": "7316:462:36", + "src": "7316:462:34", "statements": [ { "body": { - "nativeSrc": "7349:423:36", + "nativeSrc": "7349:423:34", "nodeType": "YulBlock", - "src": "7349:423:36", + "src": "7349:423:34", "statements": [ { - "nativeSrc": "7363:11:36", + "nativeSrc": "7363:11:34", "nodeType": "YulVariableDeclaration", - "src": "7363:11:36", + "src": "7363:11:34", "value": { "kind": "number", - "nativeSrc": "7373:1:36", + "nativeSrc": "7373:1:34", "nodeType": "YulLiteral", - "src": "7373:1:36", + "src": "7373:1:34", "type": "", "value": "0" }, "variables": [ { "name": "_1", - "nativeSrc": "7367:2:36", + "nativeSrc": "7367:2:34", "nodeType": "YulTypedName", - "src": "7367:2:36", + "src": "7367:2:34", "type": "" } ] @@ -128582,95 +127592,95 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7394:1:36", + "nativeSrc": "7394:1:34", "nodeType": "YulLiteral", - "src": "7394:1:36", + "src": "7394:1:34", "type": "", "value": "0" }, { "name": "array", - "nativeSrc": "7397:5:36", + "nativeSrc": "7397:5:34", "nodeType": "YulIdentifier", - "src": "7397:5:36" + "src": "7397:5:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "7387:6:36", + "nativeSrc": "7387:6:34", "nodeType": "YulIdentifier", - "src": "7387:6:36" + "src": "7387:6:34" }, - "nativeSrc": "7387:16:36", + "nativeSrc": "7387:16:34", "nodeType": "YulFunctionCall", - "src": "7387:16:36" + "src": "7387:16:34" }, - "nativeSrc": "7387:16:36", + "nativeSrc": "7387:16:34", "nodeType": "YulExpressionStatement", - "src": "7387:16:36" + "src": "7387:16:34" }, { - "nativeSrc": "7416:30:36", + "nativeSrc": "7416:30:34", "nodeType": "YulVariableDeclaration", - "src": "7416:30:36", + "src": "7416:30:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "7438:1:36", + "nativeSrc": "7438:1:34", "nodeType": "YulLiteral", - "src": "7438:1:36", + "src": "7438:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "7441:4:36", + "nativeSrc": "7441:4:34", "nodeType": "YulLiteral", - "src": "7441:4:36", + "src": "7441:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "7428:9:36", + "nativeSrc": "7428:9:34", "nodeType": "YulIdentifier", - "src": "7428:9:36" + "src": "7428:9:34" }, - "nativeSrc": "7428:18:36", + "nativeSrc": "7428:18:34", "nodeType": "YulFunctionCall", - "src": "7428:18:36" + "src": "7428:18:34" }, "variables": [ { "name": "data", - "nativeSrc": "7420:4:36", + "nativeSrc": "7420:4:34", "nodeType": "YulTypedName", - "src": "7420:4:36", + "src": "7420:4:34", "type": "" } ] }, { - "nativeSrc": "7459:57:36", + "nativeSrc": "7459:57:34", "nodeType": "YulVariableDeclaration", - "src": "7459:57:36", + "src": "7459:57:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "7482:4:36", + "nativeSrc": "7482:4:34", "nodeType": "YulIdentifier", - "src": "7482:4:36" + "src": "7482:4:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "7492:1:36", + "nativeSrc": "7492:1:34", "nodeType": "YulLiteral", - "src": "7492:1:36", + "src": "7492:1:34", "type": "", "value": "5" }, @@ -128678,83 +127688,83 @@ "arguments": [ { "name": "startIndex", - "nativeSrc": "7499:10:36", + "nativeSrc": "7499:10:34", "nodeType": "YulIdentifier", - "src": "7499:10:36" + "src": "7499:10:34" }, { "kind": "number", - "nativeSrc": "7511:2:36", + "nativeSrc": "7511:2:34", "nodeType": "YulLiteral", - "src": "7511:2:36", + "src": "7511:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "7495:3:36", + "nativeSrc": "7495:3:34", "nodeType": "YulIdentifier", - "src": "7495:3:36" + "src": "7495:3:34" }, - "nativeSrc": "7495:19:36", + "nativeSrc": "7495:19:34", "nodeType": "YulFunctionCall", - "src": "7495:19:36" + "src": "7495:19:34" } ], "functionName": { "name": "shr", - "nativeSrc": "7488:3:36", + "nativeSrc": "7488:3:34", "nodeType": "YulIdentifier", - "src": "7488:3:36" + "src": "7488:3:34" }, - "nativeSrc": "7488:27:36", + "nativeSrc": "7488:27:34", "nodeType": "YulFunctionCall", - "src": "7488:27:36" + "src": "7488:27:34" } ], "functionName": { "name": "add", - "nativeSrc": "7478:3:36", + "nativeSrc": "7478:3:34", "nodeType": "YulIdentifier", - "src": "7478:3:36" + "src": "7478:3:34" }, - "nativeSrc": "7478:38:36", + "nativeSrc": "7478:38:34", "nodeType": "YulFunctionCall", - "src": "7478:38:36" + "src": "7478:38:34" }, "variables": [ { "name": "deleteStart", - "nativeSrc": "7463:11:36", + "nativeSrc": "7463:11:34", "nodeType": "YulTypedName", - "src": "7463:11:36", + "src": "7463:11:34", "type": "" } ] }, { "body": { - "nativeSrc": "7553:23:36", + "nativeSrc": "7553:23:34", "nodeType": "YulBlock", - "src": "7553:23:36", + "src": "7553:23:34", "statements": [ { - "nativeSrc": "7555:19:36", + "nativeSrc": "7555:19:34", "nodeType": "YulAssignment", - "src": "7555:19:36", + "src": "7555:19:34", "value": { "name": "data", - "nativeSrc": "7570:4:36", + "nativeSrc": "7570:4:34", "nodeType": "YulIdentifier", - "src": "7570:4:36" + "src": "7570:4:34" }, "variableNames": [ { "name": "deleteStart", - "nativeSrc": "7555:11:36", + "nativeSrc": "7555:11:34", "nodeType": "YulIdentifier", - "src": "7555:11:36" + "src": "7555:11:34" } ] } @@ -128764,52 +127774,52 @@ "arguments": [ { "name": "startIndex", - "nativeSrc": "7535:10:36", + "nativeSrc": "7535:10:34", "nodeType": "YulIdentifier", - "src": "7535:10:36" + "src": "7535:10:34" }, { "kind": "number", - "nativeSrc": "7547:4:36", + "nativeSrc": "7547:4:34", "nodeType": "YulLiteral", - "src": "7547:4:36", + "src": "7547:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "lt", - "nativeSrc": "7532:2:36", + "nativeSrc": "7532:2:34", "nodeType": "YulIdentifier", - "src": "7532:2:36" + "src": "7532:2:34" }, - "nativeSrc": "7532:20:36", + "nativeSrc": "7532:20:34", "nodeType": "YulFunctionCall", - "src": "7532:20:36" + "src": "7532:20:34" }, - "nativeSrc": "7529:47:36", + "nativeSrc": "7529:47:34", "nodeType": "YulIf", - "src": "7529:47:36" + "src": "7529:47:34" }, { - "nativeSrc": "7589:41:36", + "nativeSrc": "7589:41:34", "nodeType": "YulVariableDeclaration", - "src": "7589:41:36", + "src": "7589:41:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "7603:4:36", + "nativeSrc": "7603:4:34", "nodeType": "YulIdentifier", - "src": "7603:4:36" + "src": "7603:4:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "7613:1:36", + "nativeSrc": "7613:1:34", "nodeType": "YulLiteral", - "src": "7613:1:36", + "src": "7613:1:34", "type": "", "value": "5" }, @@ -128817,116 +127827,116 @@ "arguments": [ { "name": "len", - "nativeSrc": "7620:3:36", + "nativeSrc": "7620:3:34", "nodeType": "YulIdentifier", - "src": "7620:3:36" + "src": "7620:3:34" }, { "kind": "number", - "nativeSrc": "7625:2:36", + "nativeSrc": "7625:2:34", "nodeType": "YulLiteral", - "src": "7625:2:36", + "src": "7625:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "7616:3:36", + "nativeSrc": "7616:3:34", "nodeType": "YulIdentifier", - "src": "7616:3:36" + "src": "7616:3:34" }, - "nativeSrc": "7616:12:36", + "nativeSrc": "7616:12:34", "nodeType": "YulFunctionCall", - "src": "7616:12:36" + "src": "7616:12:34" } ], "functionName": { "name": "shr", - "nativeSrc": "7609:3:36", + "nativeSrc": "7609:3:34", "nodeType": "YulIdentifier", - "src": "7609:3:36" + "src": "7609:3:34" }, - "nativeSrc": "7609:20:36", + "nativeSrc": "7609:20:34", "nodeType": "YulFunctionCall", - "src": "7609:20:36" + "src": "7609:20:34" } ], "functionName": { "name": "add", - "nativeSrc": "7599:3:36", + "nativeSrc": "7599:3:34", "nodeType": "YulIdentifier", - "src": "7599:3:36" + "src": "7599:3:34" }, - "nativeSrc": "7599:31:36", + "nativeSrc": "7599:31:34", "nodeType": "YulFunctionCall", - "src": "7599:31:36" + "src": "7599:31:34" }, "variables": [ { "name": "_2", - "nativeSrc": "7593:2:36", + "nativeSrc": "7593:2:34", "nodeType": "YulTypedName", - "src": "7593:2:36", + "src": "7593:2:34", "type": "" } ] }, { - "nativeSrc": "7643:24:36", + "nativeSrc": "7643:24:34", "nodeType": "YulVariableDeclaration", - "src": "7643:24:36", + "src": "7643:24:34", "value": { "name": "deleteStart", - "nativeSrc": "7656:11:36", + "nativeSrc": "7656:11:34", "nodeType": "YulIdentifier", - "src": "7656:11:36" + "src": "7656:11:34" }, "variables": [ { "name": "start", - "nativeSrc": "7647:5:36", + "nativeSrc": "7647:5:34", "nodeType": "YulTypedName", - "src": "7647:5:36", + "src": "7647:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "7741:21:36", + "nativeSrc": "7741:21:34", "nodeType": "YulBlock", - "src": "7741:21:36", + "src": "7741:21:34", "statements": [ { "expression": { "arguments": [ { "name": "start", - "nativeSrc": "7750:5:36", + "nativeSrc": "7750:5:34", "nodeType": "YulIdentifier", - "src": "7750:5:36" + "src": "7750:5:34" }, { "name": "_1", - "nativeSrc": "7757:2:36", + "nativeSrc": "7757:2:34", "nodeType": "YulIdentifier", - "src": "7757:2:36" + "src": "7757:2:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "7743:6:36", + "nativeSrc": "7743:6:34", "nodeType": "YulIdentifier", - "src": "7743:6:36" + "src": "7743:6:34" }, - "nativeSrc": "7743:17:36", + "nativeSrc": "7743:17:34", "nodeType": "YulFunctionCall", - "src": "7743:17:36" + "src": "7743:17:34" }, - "nativeSrc": "7743:17:36", + "nativeSrc": "7743:17:34", "nodeType": "YulExpressionStatement", - "src": "7743:17:36" + "src": "7743:17:34" } ] }, @@ -128934,83 +127944,83 @@ "arguments": [ { "name": "start", - "nativeSrc": "7691:5:36", + "nativeSrc": "7691:5:34", "nodeType": "YulIdentifier", - "src": "7691:5:36" + "src": "7691:5:34" }, { "name": "_2", - "nativeSrc": "7698:2:36", + "nativeSrc": "7698:2:34", "nodeType": "YulIdentifier", - "src": "7698:2:36" + "src": "7698:2:34" } ], "functionName": { "name": "lt", - "nativeSrc": "7688:2:36", + "nativeSrc": "7688:2:34", "nodeType": "YulIdentifier", - "src": "7688:2:36" + "src": "7688:2:34" }, - "nativeSrc": "7688:13:36", + "nativeSrc": "7688:13:34", "nodeType": "YulFunctionCall", - "src": "7688:13:36" + "src": "7688:13:34" }, - "nativeSrc": "7680:82:36", + "nativeSrc": "7680:82:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "7702:26:36", + "nativeSrc": "7702:26:34", "nodeType": "YulBlock", - "src": "7702:26:36", + "src": "7702:26:34", "statements": [ { - "nativeSrc": "7704:22:36", + "nativeSrc": "7704:22:34", "nodeType": "YulAssignment", - "src": "7704:22:36", + "src": "7704:22:34", "value": { "arguments": [ { "name": "start", - "nativeSrc": "7717:5:36", + "nativeSrc": "7717:5:34", "nodeType": "YulIdentifier", - "src": "7717:5:36" + "src": "7717:5:34" }, { "kind": "number", - "nativeSrc": "7724:1:36", + "nativeSrc": "7724:1:34", "nodeType": "YulLiteral", - "src": "7724:1:36", + "src": "7724:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "7713:3:36", + "nativeSrc": "7713:3:34", "nodeType": "YulIdentifier", - "src": "7713:3:36" + "src": "7713:3:34" }, - "nativeSrc": "7713:13:36", + "nativeSrc": "7713:13:34", "nodeType": "YulFunctionCall", - "src": "7713:13:36" + "src": "7713:13:34" }, "variableNames": [ { "name": "start", - "nativeSrc": "7704:5:36", + "nativeSrc": "7704:5:34", "nodeType": "YulIdentifier", - "src": "7704:5:36" + "src": "7704:5:34" } ] } ] }, "pre": { - "nativeSrc": "7684:3:36", + "nativeSrc": "7684:3:34", "nodeType": "YulBlock", - "src": "7684:3:36", + "src": "7684:3:34", "statements": [] }, - "src": "7680:82:36" + "src": "7680:82:34" } ] }, @@ -129018,82 +128028,82 @@ "arguments": [ { "name": "len", - "nativeSrc": "7332:3:36", + "nativeSrc": "7332:3:34", "nodeType": "YulIdentifier", - "src": "7332:3:36" + "src": "7332:3:34" }, { "kind": "number", - "nativeSrc": "7337:2:36", + "nativeSrc": "7337:2:34", "nodeType": "YulLiteral", - "src": "7337:2:36", + "src": "7337:2:34", "type": "", "value": "31" } ], "functionName": { "name": "gt", - "nativeSrc": "7329:2:36", + "nativeSrc": "7329:2:34", "nodeType": "YulIdentifier", - "src": "7329:2:36" + "src": "7329:2:34" }, - "nativeSrc": "7329:11:36", + "nativeSrc": "7329:11:34", "nodeType": "YulFunctionCall", - "src": "7329:11:36" + "src": "7329:11:34" }, - "nativeSrc": "7326:446:36", + "nativeSrc": "7326:446:34", "nodeType": "YulIf", - "src": "7326:446:36" + "src": "7326:446:34" } ] }, "name": "clean_up_bytearray_end_slots_string_storage", - "nativeSrc": "7235:543:36", + "nativeSrc": "7235:543:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "array", - "nativeSrc": "7288:5:36", + "nativeSrc": "7288:5:34", "nodeType": "YulTypedName", - "src": "7288:5:36", + "src": "7288:5:34", "type": "" }, { "name": "len", - "nativeSrc": "7295:3:36", + "nativeSrc": "7295:3:34", "nodeType": "YulTypedName", - "src": "7295:3:36", + "src": "7295:3:34", "type": "" }, { "name": "startIndex", - "nativeSrc": "7300:10:36", + "nativeSrc": "7300:10:34", "nodeType": "YulTypedName", - "src": "7300:10:36", + "src": "7300:10:34", "type": "" } ], - "src": "7235:543:36" + "src": "7235:543:34" }, { "body": { - "nativeSrc": "7868:81:36", + "nativeSrc": "7868:81:34", "nodeType": "YulBlock", - "src": "7868:81:36", + "src": "7868:81:34", "statements": [ { - "nativeSrc": "7878:65:36", + "nativeSrc": "7878:65:34", "nodeType": "YulAssignment", - "src": "7878:65:36", + "src": "7878:65:34", "value": { "arguments": [ { "arguments": [ { "name": "data", - "nativeSrc": "7893:4:36", + "nativeSrc": "7893:4:34", "nodeType": "YulIdentifier", - "src": "7893:4:36" + "src": "7893:4:34" }, { "arguments": [ @@ -129103,223 +128113,223 @@ "arguments": [ { "kind": "number", - "nativeSrc": "7911:1:36", + "nativeSrc": "7911:1:34", "nodeType": "YulLiteral", - "src": "7911:1:36", + "src": "7911:1:34", "type": "", "value": "3" }, { "name": "len", - "nativeSrc": "7914:3:36", + "nativeSrc": "7914:3:34", "nodeType": "YulIdentifier", - "src": "7914:3:36" + "src": "7914:3:34" } ], "functionName": { "name": "shl", - "nativeSrc": "7907:3:36", + "nativeSrc": "7907:3:34", "nodeType": "YulIdentifier", - "src": "7907:3:36" + "src": "7907:3:34" }, - "nativeSrc": "7907:11:36", + "nativeSrc": "7907:11:34", "nodeType": "YulFunctionCall", - "src": "7907:11:36" + "src": "7907:11:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "7924:1:36", + "nativeSrc": "7924:1:34", "nodeType": "YulLiteral", - "src": "7924:1:36", + "src": "7924:1:34", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "7920:3:36", + "nativeSrc": "7920:3:34", "nodeType": "YulIdentifier", - "src": "7920:3:36" + "src": "7920:3:34" }, - "nativeSrc": "7920:6:36", + "nativeSrc": "7920:6:34", "nodeType": "YulFunctionCall", - "src": "7920:6:36" + "src": "7920:6:34" } ], "functionName": { "name": "shr", - "nativeSrc": "7903:3:36", + "nativeSrc": "7903:3:34", "nodeType": "YulIdentifier", - "src": "7903:3:36" + "src": "7903:3:34" }, - "nativeSrc": "7903:24:36", + "nativeSrc": "7903:24:34", "nodeType": "YulFunctionCall", - "src": "7903:24:36" + "src": "7903:24:34" } ], "functionName": { "name": "not", - "nativeSrc": "7899:3:36", + "nativeSrc": "7899:3:34", "nodeType": "YulIdentifier", - "src": "7899:3:36" + "src": "7899:3:34" }, - "nativeSrc": "7899:29:36", + "nativeSrc": "7899:29:34", "nodeType": "YulFunctionCall", - "src": "7899:29:36" + "src": "7899:29:34" } ], "functionName": { "name": "and", - "nativeSrc": "7889:3:36", + "nativeSrc": "7889:3:34", "nodeType": "YulIdentifier", - "src": "7889:3:36" + "src": "7889:3:34" }, - "nativeSrc": "7889:40:36", + "nativeSrc": "7889:40:34", "nodeType": "YulFunctionCall", - "src": "7889:40:36" + "src": "7889:40:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "7935:1:36", + "nativeSrc": "7935:1:34", "nodeType": "YulLiteral", - "src": "7935:1:36", + "src": "7935:1:34", "type": "", "value": "1" }, { "name": "len", - "nativeSrc": "7938:3:36", + "nativeSrc": "7938:3:34", "nodeType": "YulIdentifier", - "src": "7938:3:36" + "src": "7938:3:34" } ], "functionName": { "name": "shl", - "nativeSrc": "7931:3:36", + "nativeSrc": "7931:3:34", "nodeType": "YulIdentifier", - "src": "7931:3:36" + "src": "7931:3:34" }, - "nativeSrc": "7931:11:36", + "nativeSrc": "7931:11:34", "nodeType": "YulFunctionCall", - "src": "7931:11:36" + "src": "7931:11:34" } ], "functionName": { "name": "or", - "nativeSrc": "7886:2:36", + "nativeSrc": "7886:2:34", "nodeType": "YulIdentifier", - "src": "7886:2:36" + "src": "7886:2:34" }, - "nativeSrc": "7886:57:36", + "nativeSrc": "7886:57:34", "nodeType": "YulFunctionCall", - "src": "7886:57:36" + "src": "7886:57:34" }, "variableNames": [ { "name": "used", - "nativeSrc": "7878:4:36", + "nativeSrc": "7878:4:34", "nodeType": "YulIdentifier", - "src": "7878:4:36" + "src": "7878:4:34" } ] } ] }, "name": "extract_used_part_and_set_length_of_short_byte_array", - "nativeSrc": "7783:166:36", + "nativeSrc": "7783:166:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "data", - "nativeSrc": "7845:4:36", + "nativeSrc": "7845:4:34", "nodeType": "YulTypedName", - "src": "7845:4:36", + "src": "7845:4:34", "type": "" }, { "name": "len", - "nativeSrc": "7851:3:36", + "nativeSrc": "7851:3:34", "nodeType": "YulTypedName", - "src": "7851:3:36", + "src": "7851:3:34", "type": "" } ], "returnVariables": [ { "name": "used", - "nativeSrc": "7859:4:36", + "nativeSrc": "7859:4:34", "nodeType": "YulTypedName", - "src": "7859:4:36", + "src": "7859:4:34", "type": "" } ], - "src": "7783:166:36" + "src": "7783:166:34" }, { "body": { - "nativeSrc": "8050:1249:36", + "nativeSrc": "8050:1249:34", "nodeType": "YulBlock", - "src": "8050:1249:36", + "src": "8050:1249:34", "statements": [ { - "nativeSrc": "8060:24:36", + "nativeSrc": "8060:24:34", "nodeType": "YulVariableDeclaration", - "src": "8060:24:36", + "src": "8060:24:34", "value": { "arguments": [ { "name": "src", - "nativeSrc": "8080:3:36", + "nativeSrc": "8080:3:34", "nodeType": "YulIdentifier", - "src": "8080:3:36" + "src": "8080:3:34" } ], "functionName": { "name": "mload", - "nativeSrc": "8074:5:36", + "nativeSrc": "8074:5:34", "nodeType": "YulIdentifier", - "src": "8074:5:36" + "src": "8074:5:34" }, - "nativeSrc": "8074:10:36", + "nativeSrc": "8074:10:34", "nodeType": "YulFunctionCall", - "src": "8074:10:36" + "src": "8074:10:34" }, "variables": [ { "name": "newLen", - "nativeSrc": "8064:6:36", + "nativeSrc": "8064:6:34", "nodeType": "YulTypedName", - "src": "8064:6:36", + "src": "8064:6:34", "type": "" } ] }, { "body": { - "nativeSrc": "8127:22:36", + "nativeSrc": "8127:22:34", "nodeType": "YulBlock", - "src": "8127:22:36", + "src": "8127:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "8129:16:36", + "nativeSrc": "8129:16:34", "nodeType": "YulIdentifier", - "src": "8129:16:36" + "src": "8129:16:34" }, - "nativeSrc": "8129:18:36", + "nativeSrc": "8129:18:34", "nodeType": "YulFunctionCall", - "src": "8129:18:36" + "src": "8129:18:34" }, - "nativeSrc": "8129:18:36", + "nativeSrc": "8129:18:34", "nodeType": "YulExpressionStatement", - "src": "8129:18:36" + "src": "8129:18:34" } ] }, @@ -129327,41 +128337,41 @@ "arguments": [ { "name": "newLen", - "nativeSrc": "8099:6:36", + "nativeSrc": "8099:6:34", "nodeType": "YulIdentifier", - "src": "8099:6:36" + "src": "8099:6:34" }, { "kind": "number", - "nativeSrc": "8107:18:36", + "nativeSrc": "8107:18:34", "nodeType": "YulLiteral", - "src": "8107:18:36", + "src": "8107:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "8096:2:36", + "nativeSrc": "8096:2:34", "nodeType": "YulIdentifier", - "src": "8096:2:36" + "src": "8096:2:34" }, - "nativeSrc": "8096:30:36", + "nativeSrc": "8096:30:34", "nodeType": "YulFunctionCall", - "src": "8096:30:36" + "src": "8096:30:34" }, - "nativeSrc": "8093:56:36", + "nativeSrc": "8093:56:34", "nodeType": "YulIf", - "src": "8093:56:36" + "src": "8093:56:34" }, { "expression": { "arguments": [ { "name": "slot", - "nativeSrc": "8202:4:36", + "nativeSrc": "8202:4:34", "nodeType": "YulIdentifier", - "src": "8202:4:36" + "src": "8202:4:34" }, { "arguments": [ @@ -129369,115 +128379,115 @@ "arguments": [ { "name": "slot", - "nativeSrc": "8240:4:36", + "nativeSrc": "8240:4:34", "nodeType": "YulIdentifier", - "src": "8240:4:36" + "src": "8240:4:34" } ], "functionName": { "name": "sload", - "nativeSrc": "8234:5:36", + "nativeSrc": "8234:5:34", "nodeType": "YulIdentifier", - "src": "8234:5:36" + "src": "8234:5:34" }, - "nativeSrc": "8234:11:36", + "nativeSrc": "8234:11:34", "nodeType": "YulFunctionCall", - "src": "8234:11:36" + "src": "8234:11:34" } ], "functionName": { "name": "extract_byte_array_length", - "nativeSrc": "8208:25:36", + "nativeSrc": "8208:25:34", "nodeType": "YulIdentifier", - "src": "8208:25:36" + "src": "8208:25:34" }, - "nativeSrc": "8208:38:36", + "nativeSrc": "8208:38:34", "nodeType": "YulFunctionCall", - "src": "8208:38:36" + "src": "8208:38:34" }, { "name": "newLen", - "nativeSrc": "8248:6:36", + "nativeSrc": "8248:6:34", "nodeType": "YulIdentifier", - "src": "8248:6:36" + "src": "8248:6:34" } ], "functionName": { "name": "clean_up_bytearray_end_slots_string_storage", - "nativeSrc": "8158:43:36", + "nativeSrc": "8158:43:34", "nodeType": "YulIdentifier", - "src": "8158:43:36" + "src": "8158:43:34" }, - "nativeSrc": "8158:97:36", + "nativeSrc": "8158:97:34", "nodeType": "YulFunctionCall", - "src": "8158:97:36" + "src": "8158:97:34" }, - "nativeSrc": "8158:97:36", + "nativeSrc": "8158:97:34", "nodeType": "YulExpressionStatement", - "src": "8158:97:36" + "src": "8158:97:34" }, { - "nativeSrc": "8264:18:36", + "nativeSrc": "8264:18:34", "nodeType": "YulVariableDeclaration", - "src": "8264:18:36", + "src": "8264:18:34", "value": { "kind": "number", - "nativeSrc": "8281:1:36", + "nativeSrc": "8281:1:34", "nodeType": "YulLiteral", - "src": "8281:1:36", + "src": "8281:1:34", "type": "", "value": "0" }, "variables": [ { "name": "srcOffset", - "nativeSrc": "8268:9:36", + "nativeSrc": "8268:9:34", "nodeType": "YulTypedName", - "src": "8268:9:36", + "src": "8268:9:34", "type": "" } ] }, { - "nativeSrc": "8291:23:36", + "nativeSrc": "8291:23:34", "nodeType": "YulVariableDeclaration", - "src": "8291:23:36", + "src": "8291:23:34", "value": { "kind": "number", - "nativeSrc": "8310:4:36", + "nativeSrc": "8310:4:34", "nodeType": "YulLiteral", - "src": "8310:4:36", + "src": "8310:4:34", "type": "", "value": "0x20" }, "variables": [ { "name": "srcOffset_1", - "nativeSrc": "8295:11:36", + "nativeSrc": "8295:11:34", "nodeType": "YulTypedName", - "src": "8295:11:36", + "src": "8295:11:34", "type": "" } ] }, { - "nativeSrc": "8323:17:36", + "nativeSrc": "8323:17:34", "nodeType": "YulAssignment", - "src": "8323:17:36", + "src": "8323:17:34", "value": { "kind": "number", - "nativeSrc": "8336:4:36", + "nativeSrc": "8336:4:34", "nodeType": "YulLiteral", - "src": "8336:4:36", + "src": "8336:4:34", "type": "", "value": "0x20" }, "variableNames": [ { "name": "srcOffset", - "nativeSrc": "8323:9:36", + "nativeSrc": "8323:9:34", "nodeType": "YulIdentifier", - "src": "8323:9:36" + "src": "8323:9:34" } ] }, @@ -129485,133 +128495,133 @@ "cases": [ { "body": { - "nativeSrc": "8386:656:36", + "nativeSrc": "8386:656:34", "nodeType": "YulBlock", - "src": "8386:656:36", + "src": "8386:656:34", "statements": [ { - "nativeSrc": "8400:35:36", + "nativeSrc": "8400:35:34", "nodeType": "YulVariableDeclaration", - "src": "8400:35:36", + "src": "8400:35:34", "value": { "arguments": [ { "name": "newLen", - "nativeSrc": "8419:6:36", + "nativeSrc": "8419:6:34", "nodeType": "YulIdentifier", - "src": "8419:6:36" + "src": "8419:6:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "8431:2:36", + "nativeSrc": "8431:2:34", "nodeType": "YulLiteral", - "src": "8431:2:36", + "src": "8431:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "8427:3:36", + "nativeSrc": "8427:3:34", "nodeType": "YulIdentifier", - "src": "8427:3:36" + "src": "8427:3:34" }, - "nativeSrc": "8427:7:36", + "nativeSrc": "8427:7:34", "nodeType": "YulFunctionCall", - "src": "8427:7:36" + "src": "8427:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "8415:3:36", + "nativeSrc": "8415:3:34", "nodeType": "YulIdentifier", - "src": "8415:3:36" + "src": "8415:3:34" }, - "nativeSrc": "8415:20:36", + "nativeSrc": "8415:20:34", "nodeType": "YulFunctionCall", - "src": "8415:20:36" + "src": "8415:20:34" }, "variables": [ { "name": "loopEnd", - "nativeSrc": "8404:7:36", + "nativeSrc": "8404:7:34", "nodeType": "YulTypedName", - "src": "8404:7:36", + "src": "8404:7:34", "type": "" } ] }, { - "nativeSrc": "8448:49:36", + "nativeSrc": "8448:49:34", "nodeType": "YulVariableDeclaration", - "src": "8448:49:36", + "src": "8448:49:34", "value": { "arguments": [ { "name": "slot", - "nativeSrc": "8492:4:36", + "nativeSrc": "8492:4:34", "nodeType": "YulIdentifier", - "src": "8492:4:36" + "src": "8492:4:34" } ], "functionName": { "name": "array_dataslot_string_storage", - "nativeSrc": "8462:29:36", + "nativeSrc": "8462:29:34", "nodeType": "YulIdentifier", - "src": "8462:29:36" + "src": "8462:29:34" }, - "nativeSrc": "8462:35:36", + "nativeSrc": "8462:35:34", "nodeType": "YulFunctionCall", - "src": "8462:35:36" + "src": "8462:35:34" }, "variables": [ { "name": "dstPtr", - "nativeSrc": "8452:6:36", + "nativeSrc": "8452:6:34", "nodeType": "YulTypedName", - "src": "8452:6:36", + "src": "8452:6:34", "type": "" } ] }, { - "nativeSrc": "8510:10:36", + "nativeSrc": "8510:10:34", "nodeType": "YulVariableDeclaration", - "src": "8510:10:36", + "src": "8510:10:34", "value": { "kind": "number", - "nativeSrc": "8519:1:36", + "nativeSrc": "8519:1:34", "nodeType": "YulLiteral", - "src": "8519:1:36", + "src": "8519:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "8514:1:36", + "nativeSrc": "8514:1:34", "nodeType": "YulTypedName", - "src": "8514:1:36", + "src": "8514:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "8597:172:36", + "nativeSrc": "8597:172:34", "nodeType": "YulBlock", - "src": "8597:172:36", + "src": "8597:172:34", "statements": [ { "expression": { "arguments": [ { "name": "dstPtr", - "nativeSrc": "8622:6:36", + "nativeSrc": "8622:6:34", "nodeType": "YulIdentifier", - "src": "8622:6:36" + "src": "8622:6:34" }, { "arguments": [ @@ -129619,128 +128629,128 @@ "arguments": [ { "name": "src", - "nativeSrc": "8640:3:36", + "nativeSrc": "8640:3:34", "nodeType": "YulIdentifier", - "src": "8640:3:36" + "src": "8640:3:34" }, { "name": "srcOffset", - "nativeSrc": "8645:9:36", + "nativeSrc": "8645:9:34", "nodeType": "YulIdentifier", - "src": "8645:9:36" + "src": "8645:9:34" } ], "functionName": { "name": "add", - "nativeSrc": "8636:3:36", + "nativeSrc": "8636:3:34", "nodeType": "YulIdentifier", - "src": "8636:3:36" + "src": "8636:3:34" }, - "nativeSrc": "8636:19:36", + "nativeSrc": "8636:19:34", "nodeType": "YulFunctionCall", - "src": "8636:19:36" + "src": "8636:19:34" } ], "functionName": { "name": "mload", - "nativeSrc": "8630:5:36", + "nativeSrc": "8630:5:34", "nodeType": "YulIdentifier", - "src": "8630:5:36" + "src": "8630:5:34" }, - "nativeSrc": "8630:26:36", + "nativeSrc": "8630:26:34", "nodeType": "YulFunctionCall", - "src": "8630:26:36" + "src": "8630:26:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "8615:6:36", + "nativeSrc": "8615:6:34", "nodeType": "YulIdentifier", - "src": "8615:6:36" + "src": "8615:6:34" }, - "nativeSrc": "8615:42:36", + "nativeSrc": "8615:42:34", "nodeType": "YulFunctionCall", - "src": "8615:42:36" + "src": "8615:42:34" }, - "nativeSrc": "8615:42:36", + "nativeSrc": "8615:42:34", "nodeType": "YulExpressionStatement", - "src": "8615:42:36" + "src": "8615:42:34" }, { - "nativeSrc": "8674:24:36", + "nativeSrc": "8674:24:34", "nodeType": "YulAssignment", - "src": "8674:24:36", + "src": "8674:24:34", "value": { "arguments": [ { "name": "dstPtr", - "nativeSrc": "8688:6:36", + "nativeSrc": "8688:6:34", "nodeType": "YulIdentifier", - "src": "8688:6:36" + "src": "8688:6:34" }, { "kind": "number", - "nativeSrc": "8696:1:36", + "nativeSrc": "8696:1:34", "nodeType": "YulLiteral", - "src": "8696:1:36", + "src": "8696:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "8684:3:36", + "nativeSrc": "8684:3:34", "nodeType": "YulIdentifier", - "src": "8684:3:36" + "src": "8684:3:34" }, - "nativeSrc": "8684:14:36", + "nativeSrc": "8684:14:34", "nodeType": "YulFunctionCall", - "src": "8684:14:36" + "src": "8684:14:34" }, "variableNames": [ { "name": "dstPtr", - "nativeSrc": "8674:6:36", + "nativeSrc": "8674:6:34", "nodeType": "YulIdentifier", - "src": "8674:6:36" + "src": "8674:6:34" } ] }, { - "nativeSrc": "8715:40:36", + "nativeSrc": "8715:40:34", "nodeType": "YulAssignment", - "src": "8715:40:36", + "src": "8715:40:34", "value": { "arguments": [ { "name": "srcOffset", - "nativeSrc": "8732:9:36", + "nativeSrc": "8732:9:34", "nodeType": "YulIdentifier", - "src": "8732:9:36" + "src": "8732:9:34" }, { "name": "srcOffset_1", - "nativeSrc": "8743:11:36", + "nativeSrc": "8743:11:34", "nodeType": "YulIdentifier", - "src": "8743:11:36" + "src": "8743:11:34" } ], "functionName": { "name": "add", - "nativeSrc": "8728:3:36", + "nativeSrc": "8728:3:34", "nodeType": "YulIdentifier", - "src": "8728:3:36" + "src": "8728:3:34" }, - "nativeSrc": "8728:27:36", + "nativeSrc": "8728:27:34", "nodeType": "YulFunctionCall", - "src": "8728:27:36" + "src": "8728:27:34" }, "variableNames": [ { "name": "srcOffset", - "nativeSrc": "8715:9:36", + "nativeSrc": "8715:9:34", "nodeType": "YulIdentifier", - "src": "8715:9:36" + "src": "8715:9:34" } ] } @@ -129750,136 +128760,136 @@ "arguments": [ { "name": "i", - "nativeSrc": "8544:1:36", + "nativeSrc": "8544:1:34", "nodeType": "YulIdentifier", - "src": "8544:1:36" + "src": "8544:1:34" }, { "name": "loopEnd", - "nativeSrc": "8547:7:36", + "nativeSrc": "8547:7:34", "nodeType": "YulIdentifier", - "src": "8547:7:36" + "src": "8547:7:34" } ], "functionName": { "name": "lt", - "nativeSrc": "8541:2:36", + "nativeSrc": "8541:2:34", "nodeType": "YulIdentifier", - "src": "8541:2:36" + "src": "8541:2:34" }, - "nativeSrc": "8541:14:36", + "nativeSrc": "8541:14:34", "nodeType": "YulFunctionCall", - "src": "8541:14:36" + "src": "8541:14:34" }, - "nativeSrc": "8533:236:36", + "nativeSrc": "8533:236:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "8556:28:36", + "nativeSrc": "8556:28:34", "nodeType": "YulBlock", - "src": "8556:28:36", + "src": "8556:28:34", "statements": [ { - "nativeSrc": "8558:24:36", + "nativeSrc": "8558:24:34", "nodeType": "YulAssignment", - "src": "8558:24:36", + "src": "8558:24:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "8567:1:36", + "nativeSrc": "8567:1:34", "nodeType": "YulIdentifier", - "src": "8567:1:36" + "src": "8567:1:34" }, { "name": "srcOffset_1", - "nativeSrc": "8570:11:36", + "nativeSrc": "8570:11:34", "nodeType": "YulIdentifier", - "src": "8570:11:36" + "src": "8570:11:34" } ], "functionName": { "name": "add", - "nativeSrc": "8563:3:36", + "nativeSrc": "8563:3:34", "nodeType": "YulIdentifier", - "src": "8563:3:36" + "src": "8563:3:34" }, - "nativeSrc": "8563:19:36", + "nativeSrc": "8563:19:34", "nodeType": "YulFunctionCall", - "src": "8563:19:36" + "src": "8563:19:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "8558:1:36", + "nativeSrc": "8558:1:34", "nodeType": "YulIdentifier", - "src": "8558:1:36" + "src": "8558:1:34" } ] } ] }, "pre": { - "nativeSrc": "8537:3:36", + "nativeSrc": "8537:3:34", "nodeType": "YulBlock", - "src": "8537:3:36", + "src": "8537:3:34", "statements": [] }, - "src": "8533:236:36" + "src": "8533:236:34" }, { "body": { - "nativeSrc": "8817:166:36", + "nativeSrc": "8817:166:34", "nodeType": "YulBlock", - "src": "8817:166:36", + "src": "8817:166:34", "statements": [ { - "nativeSrc": "8835:43:36", + "nativeSrc": "8835:43:34", "nodeType": "YulVariableDeclaration", - "src": "8835:43:36", + "src": "8835:43:34", "value": { "arguments": [ { "arguments": [ { "name": "src", - "nativeSrc": "8862:3:36", + "nativeSrc": "8862:3:34", "nodeType": "YulIdentifier", - "src": "8862:3:36" + "src": "8862:3:34" }, { "name": "srcOffset", - "nativeSrc": "8867:9:36", + "nativeSrc": "8867:9:34", "nodeType": "YulIdentifier", - "src": "8867:9:36" + "src": "8867:9:34" } ], "functionName": { "name": "add", - "nativeSrc": "8858:3:36", + "nativeSrc": "8858:3:34", "nodeType": "YulIdentifier", - "src": "8858:3:36" + "src": "8858:3:34" }, - "nativeSrc": "8858:19:36", + "nativeSrc": "8858:19:34", "nodeType": "YulFunctionCall", - "src": "8858:19:36" + "src": "8858:19:34" } ], "functionName": { "name": "mload", - "nativeSrc": "8852:5:36", + "nativeSrc": "8852:5:34", "nodeType": "YulIdentifier", - "src": "8852:5:36" + "src": "8852:5:34" }, - "nativeSrc": "8852:26:36", + "nativeSrc": "8852:26:34", "nodeType": "YulFunctionCall", - "src": "8852:26:36" + "src": "8852:26:34" }, "variables": [ { "name": "lastValue", - "nativeSrc": "8839:9:36", + "nativeSrc": "8839:9:34", "nodeType": "YulTypedName", - "src": "8839:9:36", + "src": "8839:9:34", "type": "" } ] @@ -129889,17 +128899,17 @@ "arguments": [ { "name": "dstPtr", - "nativeSrc": "8902:6:36", + "nativeSrc": "8902:6:34", "nodeType": "YulIdentifier", - "src": "8902:6:36" + "src": "8902:6:34" }, { "arguments": [ { "name": "lastValue", - "nativeSrc": "8914:9:36", + "nativeSrc": "8914:9:34", "nodeType": "YulIdentifier", - "src": "8914:9:36" + "src": "8914:9:34" }, { "arguments": [ @@ -129911,116 +128921,116 @@ "arguments": [ { "kind": "number", - "nativeSrc": "8941:1:36", + "nativeSrc": "8941:1:34", "nodeType": "YulLiteral", - "src": "8941:1:36", + "src": "8941:1:34", "type": "", "value": "3" }, { "name": "newLen", - "nativeSrc": "8944:6:36", + "nativeSrc": "8944:6:34", "nodeType": "YulIdentifier", - "src": "8944:6:36" + "src": "8944:6:34" } ], "functionName": { "name": "shl", - "nativeSrc": "8937:3:36", + "nativeSrc": "8937:3:34", "nodeType": "YulIdentifier", - "src": "8937:3:36" + "src": "8937:3:34" }, - "nativeSrc": "8937:14:36", + "nativeSrc": "8937:14:34", "nodeType": "YulFunctionCall", - "src": "8937:14:36" + "src": "8937:14:34" }, { "kind": "number", - "nativeSrc": "8953:3:36", + "nativeSrc": "8953:3:34", "nodeType": "YulLiteral", - "src": "8953:3:36", + "src": "8953:3:34", "type": "", "value": "248" } ], "functionName": { "name": "and", - "nativeSrc": "8933:3:36", + "nativeSrc": "8933:3:34", "nodeType": "YulIdentifier", - "src": "8933:3:36" + "src": "8933:3:34" }, - "nativeSrc": "8933:24:36", + "nativeSrc": "8933:24:34", "nodeType": "YulFunctionCall", - "src": "8933:24:36" + "src": "8933:24:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "8963:1:36", + "nativeSrc": "8963:1:34", "nodeType": "YulLiteral", - "src": "8963:1:36", + "src": "8963:1:34", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "8959:3:36", + "nativeSrc": "8959:3:34", "nodeType": "YulIdentifier", - "src": "8959:3:36" + "src": "8959:3:34" }, - "nativeSrc": "8959:6:36", + "nativeSrc": "8959:6:34", "nodeType": "YulFunctionCall", - "src": "8959:6:36" + "src": "8959:6:34" } ], "functionName": { "name": "shr", - "nativeSrc": "8929:3:36", + "nativeSrc": "8929:3:34", "nodeType": "YulIdentifier", - "src": "8929:3:36" + "src": "8929:3:34" }, - "nativeSrc": "8929:37:36", + "nativeSrc": "8929:37:34", "nodeType": "YulFunctionCall", - "src": "8929:37:36" + "src": "8929:37:34" } ], "functionName": { "name": "not", - "nativeSrc": "8925:3:36", + "nativeSrc": "8925:3:34", "nodeType": "YulIdentifier", - "src": "8925:3:36" + "src": "8925:3:34" }, - "nativeSrc": "8925:42:36", + "nativeSrc": "8925:42:34", "nodeType": "YulFunctionCall", - "src": "8925:42:36" + "src": "8925:42:34" } ], "functionName": { "name": "and", - "nativeSrc": "8910:3:36", + "nativeSrc": "8910:3:34", "nodeType": "YulIdentifier", - "src": "8910:3:36" + "src": "8910:3:34" }, - "nativeSrc": "8910:58:36", + "nativeSrc": "8910:58:34", "nodeType": "YulFunctionCall", - "src": "8910:58:36" + "src": "8910:58:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "8895:6:36", + "nativeSrc": "8895:6:34", "nodeType": "YulIdentifier", - "src": "8895:6:36" + "src": "8895:6:34" }, - "nativeSrc": "8895:74:36", + "nativeSrc": "8895:74:34", "nodeType": "YulFunctionCall", - "src": "8895:74:36" + "src": "8895:74:34" }, - "nativeSrc": "8895:74:36", + "nativeSrc": "8895:74:34", "nodeType": "YulExpressionStatement", - "src": "8895:74:36" + "src": "8895:74:34" } ] }, @@ -130028,39 +129038,39 @@ "arguments": [ { "name": "loopEnd", - "nativeSrc": "8788:7:36", + "nativeSrc": "8788:7:34", "nodeType": "YulIdentifier", - "src": "8788:7:36" + "src": "8788:7:34" }, { "name": "newLen", - "nativeSrc": "8797:6:36", + "nativeSrc": "8797:6:34", "nodeType": "YulIdentifier", - "src": "8797:6:36" + "src": "8797:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "8785:2:36", + "nativeSrc": "8785:2:34", "nodeType": "YulIdentifier", - "src": "8785:2:36" + "src": "8785:2:34" }, - "nativeSrc": "8785:19:36", + "nativeSrc": "8785:19:34", "nodeType": "YulFunctionCall", - "src": "8785:19:36" + "src": "8785:19:34" }, - "nativeSrc": "8782:201:36", + "nativeSrc": "8782:201:34", "nodeType": "YulIf", - "src": "8782:201:36" + "src": "8782:201:34" }, { "expression": { "arguments": [ { "name": "slot", - "nativeSrc": "9003:4:36", + "nativeSrc": "9003:4:34", "nodeType": "YulIdentifier", - "src": "9003:4:36" + "src": "9003:4:34" }, { "arguments": [ @@ -130068,159 +129078,159 @@ "arguments": [ { "kind": "number", - "nativeSrc": "9017:1:36", + "nativeSrc": "9017:1:34", "nodeType": "YulLiteral", - "src": "9017:1:36", + "src": "9017:1:34", "type": "", "value": "1" }, { "name": "newLen", - "nativeSrc": "9020:6:36", + "nativeSrc": "9020:6:34", "nodeType": "YulIdentifier", - "src": "9020:6:36" + "src": "9020:6:34" } ], "functionName": { "name": "shl", - "nativeSrc": "9013:3:36", + "nativeSrc": "9013:3:34", "nodeType": "YulIdentifier", - "src": "9013:3:36" + "src": "9013:3:34" }, - "nativeSrc": "9013:14:36", + "nativeSrc": "9013:14:34", "nodeType": "YulFunctionCall", - "src": "9013:14:36" + "src": "9013:14:34" }, { "kind": "number", - "nativeSrc": "9029:1:36", + "nativeSrc": "9029:1:34", "nodeType": "YulLiteral", - "src": "9029:1:36", + "src": "9029:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "9009:3:36", + "nativeSrc": "9009:3:34", "nodeType": "YulIdentifier", - "src": "9009:3:36" + "src": "9009:3:34" }, - "nativeSrc": "9009:22:36", + "nativeSrc": "9009:22:34", "nodeType": "YulFunctionCall", - "src": "9009:22:36" + "src": "9009:22:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "8996:6:36", + "nativeSrc": "8996:6:34", "nodeType": "YulIdentifier", - "src": "8996:6:36" + "src": "8996:6:34" }, - "nativeSrc": "8996:36:36", + "nativeSrc": "8996:36:34", "nodeType": "YulFunctionCall", - "src": "8996:36:36" + "src": "8996:36:34" }, - "nativeSrc": "8996:36:36", + "nativeSrc": "8996:36:34", "nodeType": "YulExpressionStatement", - "src": "8996:36:36" + "src": "8996:36:34" } ] }, - "nativeSrc": "8379:663:36", + "nativeSrc": "8379:663:34", "nodeType": "YulCase", - "src": "8379:663:36", + "src": "8379:663:34", "value": { "kind": "number", - "nativeSrc": "8384:1:36", + "nativeSrc": "8384:1:34", "nodeType": "YulLiteral", - "src": "8384:1:36", + "src": "8384:1:34", "type": "", "value": "1" } }, { "body": { - "nativeSrc": "9059:234:36", + "nativeSrc": "9059:234:34", "nodeType": "YulBlock", - "src": "9059:234:36", + "src": "9059:234:34", "statements": [ { - "nativeSrc": "9073:14:36", + "nativeSrc": "9073:14:34", "nodeType": "YulVariableDeclaration", - "src": "9073:14:36", + "src": "9073:14:34", "value": { "kind": "number", - "nativeSrc": "9086:1:36", + "nativeSrc": "9086:1:34", "nodeType": "YulLiteral", - "src": "9086:1:36", + "src": "9086:1:34", "type": "", "value": "0" }, "variables": [ { "name": "value", - "nativeSrc": "9077:5:36", + "nativeSrc": "9077:5:34", "nodeType": "YulTypedName", - "src": "9077:5:36", + "src": "9077:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "9122:67:36", + "nativeSrc": "9122:67:34", "nodeType": "YulBlock", - "src": "9122:67:36", + "src": "9122:67:34", "statements": [ { - "nativeSrc": "9140:35:36", + "nativeSrc": "9140:35:34", "nodeType": "YulAssignment", - "src": "9140:35:36", + "src": "9140:35:34", "value": { "arguments": [ { "arguments": [ { "name": "src", - "nativeSrc": "9159:3:36", + "nativeSrc": "9159:3:34", "nodeType": "YulIdentifier", - "src": "9159:3:36" + "src": "9159:3:34" }, { "name": "srcOffset", - "nativeSrc": "9164:9:36", + "nativeSrc": "9164:9:34", "nodeType": "YulIdentifier", - "src": "9164:9:36" + "src": "9164:9:34" } ], "functionName": { "name": "add", - "nativeSrc": "9155:3:36", + "nativeSrc": "9155:3:34", "nodeType": "YulIdentifier", - "src": "9155:3:36" + "src": "9155:3:34" }, - "nativeSrc": "9155:19:36", + "nativeSrc": "9155:19:34", "nodeType": "YulFunctionCall", - "src": "9155:19:36" + "src": "9155:19:34" } ], "functionName": { "name": "mload", - "nativeSrc": "9149:5:36", + "nativeSrc": "9149:5:34", "nodeType": "YulIdentifier", - "src": "9149:5:36" + "src": "9149:5:34" }, - "nativeSrc": "9149:26:36", + "nativeSrc": "9149:26:34", "nodeType": "YulFunctionCall", - "src": "9149:26:36" + "src": "9149:26:34" }, "variableNames": [ { "name": "value", - "nativeSrc": "9140:5:36", + "nativeSrc": "9140:5:34", "nodeType": "YulIdentifier", - "src": "9140:5:36" + "src": "9140:5:34" } ] } @@ -130228,68 +129238,68 @@ }, "condition": { "name": "newLen", - "nativeSrc": "9103:6:36", + "nativeSrc": "9103:6:34", "nodeType": "YulIdentifier", - "src": "9103:6:36" + "src": "9103:6:34" }, - "nativeSrc": "9100:89:36", + "nativeSrc": "9100:89:34", "nodeType": "YulIf", - "src": "9100:89:36" + "src": "9100:89:34" }, { "expression": { "arguments": [ { "name": "slot", - "nativeSrc": "9209:4:36", + "nativeSrc": "9209:4:34", "nodeType": "YulIdentifier", - "src": "9209:4:36" + "src": "9209:4:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "9268:5:36", + "nativeSrc": "9268:5:34", "nodeType": "YulIdentifier", - "src": "9268:5:36" + "src": "9268:5:34" }, { "name": "newLen", - "nativeSrc": "9275:6:36", + "nativeSrc": "9275:6:34", "nodeType": "YulIdentifier", - "src": "9275:6:36" + "src": "9275:6:34" } ], "functionName": { "name": "extract_used_part_and_set_length_of_short_byte_array", - "nativeSrc": "9215:52:36", + "nativeSrc": "9215:52:34", "nodeType": "YulIdentifier", - "src": "9215:52:36" + "src": "9215:52:34" }, - "nativeSrc": "9215:67:36", + "nativeSrc": "9215:67:34", "nodeType": "YulFunctionCall", - "src": "9215:67:36" + "src": "9215:67:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "9202:6:36", + "nativeSrc": "9202:6:34", "nodeType": "YulIdentifier", - "src": "9202:6:36" + "src": "9202:6:34" }, - "nativeSrc": "9202:81:36", + "nativeSrc": "9202:81:34", "nodeType": "YulFunctionCall", - "src": "9202:81:36" + "src": "9202:81:34" }, - "nativeSrc": "9202:81:36", + "nativeSrc": "9202:81:34", "nodeType": "YulExpressionStatement", - "src": "9202:81:36" + "src": "9202:81:34" } ] }, - "nativeSrc": "9051:242:36", + "nativeSrc": "9051:242:34", "nodeType": "YulCase", - "src": "9051:242:36", + "src": "9051:242:34", "value": "default" } ], @@ -130297,99 +129307,99 @@ "arguments": [ { "name": "newLen", - "nativeSrc": "8359:6:36", + "nativeSrc": "8359:6:34", "nodeType": "YulIdentifier", - "src": "8359:6:36" + "src": "8359:6:34" }, { "kind": "number", - "nativeSrc": "8367:2:36", + "nativeSrc": "8367:2:34", "nodeType": "YulLiteral", - "src": "8367:2:36", + "src": "8367:2:34", "type": "", "value": "31" } ], "functionName": { "name": "gt", - "nativeSrc": "8356:2:36", + "nativeSrc": "8356:2:34", "nodeType": "YulIdentifier", - "src": "8356:2:36" + "src": "8356:2:34" }, - "nativeSrc": "8356:14:36", + "nativeSrc": "8356:14:34", "nodeType": "YulFunctionCall", - "src": "8356:14:36" + "src": "8356:14:34" }, - "nativeSrc": "8349:944:36", + "nativeSrc": "8349:944:34", "nodeType": "YulSwitch", - "src": "8349:944:36" + "src": "8349:944:34" } ] }, "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nativeSrc": "7954:1345:36", + "nativeSrc": "7954:1345:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "slot", - "nativeSrc": "8035:4:36", + "nativeSrc": "8035:4:34", "nodeType": "YulTypedName", - "src": "8035:4:36", + "src": "8035:4:34", "type": "" }, { "name": "src", - "nativeSrc": "8041:3:36", + "nativeSrc": "8041:3:34", "nodeType": "YulTypedName", - "src": "8041:3:36", + "src": "8041:3:34", "type": "" } ], - "src": "7954:1345:36" + "src": "7954:1345:34" }, { "body": { - "nativeSrc": "9412:101:36", + "nativeSrc": "9412:101:34", "nodeType": "YulBlock", - "src": "9412:101:36", + "src": "9412:101:34", "statements": [ { - "nativeSrc": "9422:26:36", + "nativeSrc": "9422:26:34", "nodeType": "YulAssignment", - "src": "9422:26:36", + "src": "9422:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "9434:9:36", + "nativeSrc": "9434:9:34", "nodeType": "YulIdentifier", - "src": "9434:9:36" + "src": "9434:9:34" }, { "kind": "number", - "nativeSrc": "9445:2:36", + "nativeSrc": "9445:2:34", "nodeType": "YulLiteral", - "src": "9445:2:36", + "src": "9445:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "9430:3:36", + "nativeSrc": "9430:3:34", "nodeType": "YulIdentifier", - "src": "9430:3:36" + "src": "9430:3:34" }, - "nativeSrc": "9430:18:36", + "nativeSrc": "9430:18:34", "nodeType": "YulFunctionCall", - "src": "9430:18:36" + "src": "9430:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "9422:4:36", + "nativeSrc": "9422:4:34", "nodeType": "YulIdentifier", - "src": "9422:4:36" + "src": "9422:4:34" } ] }, @@ -130398,121 +129408,121 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "9464:9:36", + "nativeSrc": "9464:9:34", "nodeType": "YulIdentifier", - "src": "9464:9:36" + "src": "9464:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "9479:6:36", + "nativeSrc": "9479:6:34", "nodeType": "YulIdentifier", - "src": "9479:6:36" + "src": "9479:6:34" }, { "kind": "number", - "nativeSrc": "9487:18:36", + "nativeSrc": "9487:18:34", "nodeType": "YulLiteral", - "src": "9487:18:36", + "src": "9487:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "and", - "nativeSrc": "9475:3:36", + "nativeSrc": "9475:3:34", "nodeType": "YulIdentifier", - "src": "9475:3:36" + "src": "9475:3:34" }, - "nativeSrc": "9475:31:36", + "nativeSrc": "9475:31:34", "nodeType": "YulFunctionCall", - "src": "9475:31:36" + "src": "9475:31:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "9457:6:36", + "nativeSrc": "9457:6:34", "nodeType": "YulIdentifier", - "src": "9457:6:36" + "src": "9457:6:34" }, - "nativeSrc": "9457:50:36", + "nativeSrc": "9457:50:34", "nodeType": "YulFunctionCall", - "src": "9457:50:36" + "src": "9457:50:34" }, - "nativeSrc": "9457:50:36", + "nativeSrc": "9457:50:34", "nodeType": "YulExpressionStatement", - "src": "9457:50:36" + "src": "9457:50:34" } ] }, "name": "abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed", - "nativeSrc": "9304:209:36", + "nativeSrc": "9304:209:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "9381:9:36", + "nativeSrc": "9381:9:34", "nodeType": "YulTypedName", - "src": "9381:9:36", + "src": "9381:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "9392:6:36", + "nativeSrc": "9392:6:34", "nodeType": "YulTypedName", - "src": "9392:6:36", + "src": "9392:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "9403:4:36", + "nativeSrc": "9403:4:34", "nodeType": "YulTypedName", - "src": "9403:4:36", + "src": "9403:4:34", "type": "" } ], - "src": "9304:209:36" + "src": "9304:209:34" }, { "body": { - "nativeSrc": "9692:170:36", + "nativeSrc": "9692:170:34", "nodeType": "YulBlock", - "src": "9692:170:36", + "src": "9692:170:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "9709:9:36", + "nativeSrc": "9709:9:34", "nodeType": "YulIdentifier", - "src": "9709:9:36" + "src": "9709:9:34" }, { "kind": "number", - "nativeSrc": "9720:2:36", + "nativeSrc": "9720:2:34", "nodeType": "YulLiteral", - "src": "9720:2:36", + "src": "9720:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "9702:6:36", + "nativeSrc": "9702:6:34", "nodeType": "YulIdentifier", - "src": "9702:6:36" + "src": "9702:6:34" }, - "nativeSrc": "9702:21:36", + "nativeSrc": "9702:21:34", "nodeType": "YulFunctionCall", - "src": "9702:21:36" + "src": "9702:21:34" }, - "nativeSrc": "9702:21:36", + "nativeSrc": "9702:21:34", "nodeType": "YulExpressionStatement", - "src": "9702:21:36" + "src": "9702:21:34" }, { "expression": { @@ -130521,51 +129531,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "9743:9:36", + "nativeSrc": "9743:9:34", "nodeType": "YulIdentifier", - "src": "9743:9:36" + "src": "9743:9:34" }, { "kind": "number", - "nativeSrc": "9754:2:36", + "nativeSrc": "9754:2:34", "nodeType": "YulLiteral", - "src": "9754:2:36", + "src": "9754:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "9739:3:36", + "nativeSrc": "9739:3:34", "nodeType": "YulIdentifier", - "src": "9739:3:36" + "src": "9739:3:34" }, - "nativeSrc": "9739:18:36", + "nativeSrc": "9739:18:34", "nodeType": "YulFunctionCall", - "src": "9739:18:36" + "src": "9739:18:34" }, { "kind": "number", - "nativeSrc": "9759:2:36", + "nativeSrc": "9759:2:34", "nodeType": "YulLiteral", - "src": "9759:2:36", + "src": "9759:2:34", "type": "", "value": "20" } ], "functionName": { "name": "mstore", - "nativeSrc": "9732:6:36", + "nativeSrc": "9732:6:34", "nodeType": "YulIdentifier", - "src": "9732:6:36" + "src": "9732:6:34" }, - "nativeSrc": "9732:30:36", + "nativeSrc": "9732:30:34", "nodeType": "YulFunctionCall", - "src": "9732:30:36" + "src": "9732:30:34" }, - "nativeSrc": "9732:30:36", + "nativeSrc": "9732:30:34", "nodeType": "YulExpressionStatement", - "src": "9732:30:36" + "src": "9732:30:34" }, { "expression": { @@ -130574,155 +129584,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "9782:9:36", + "nativeSrc": "9782:9:34", "nodeType": "YulIdentifier", - "src": "9782:9:36" + "src": "9782:9:34" }, { "kind": "number", - "nativeSrc": "9793:2:36", + "nativeSrc": "9793:2:34", "nodeType": "YulLiteral", - "src": "9793:2:36", + "src": "9793:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "9778:3:36", + "nativeSrc": "9778:3:34", "nodeType": "YulIdentifier", - "src": "9778:3:36" + "src": "9778:3:34" }, - "nativeSrc": "9778:18:36", + "nativeSrc": "9778:18:34", "nodeType": "YulFunctionCall", - "src": "9778:18:36" + "src": "9778:18:34" }, { "hexValue": "496e76616c69642073657276696365206e616d65", "kind": "string", - "nativeSrc": "9798:22:36", + "nativeSrc": "9798:22:34", "nodeType": "YulLiteral", - "src": "9798:22:36", + "src": "9798:22:34", "type": "", "value": "Invalid service name" } ], "functionName": { "name": "mstore", - "nativeSrc": "9771:6:36", + "nativeSrc": "9771:6:34", "nodeType": "YulIdentifier", - "src": "9771:6:36" + "src": "9771:6:34" }, - "nativeSrc": "9771:50:36", + "nativeSrc": "9771:50:34", "nodeType": "YulFunctionCall", - "src": "9771:50:36" + "src": "9771:50:34" }, - "nativeSrc": "9771:50:36", + "nativeSrc": "9771:50:34", "nodeType": "YulExpressionStatement", - "src": "9771:50:36" + "src": "9771:50:34" }, { - "nativeSrc": "9830:26:36", + "nativeSrc": "9830:26:34", "nodeType": "YulAssignment", - "src": "9830:26:36", + "src": "9830:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "9842:9:36", + "nativeSrc": "9842:9:34", "nodeType": "YulIdentifier", - "src": "9842:9:36" + "src": "9842:9:34" }, { "kind": "number", - "nativeSrc": "9853:2:36", + "nativeSrc": "9853:2:34", "nodeType": "YulLiteral", - "src": "9853:2:36", + "src": "9853:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "9838:3:36", + "nativeSrc": "9838:3:34", "nodeType": "YulIdentifier", - "src": "9838:3:36" + "src": "9838:3:34" }, - "nativeSrc": "9838:18:36", + "nativeSrc": "9838:18:34", "nodeType": "YulFunctionCall", - "src": "9838:18:36" + "src": "9838:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "9830:4:36", + "nativeSrc": "9830:4:34", "nodeType": "YulIdentifier", - "src": "9830:4:36" + "src": "9830:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_b193a272406cc908bf089bbfd62bbee3e6f0f99dfc3103f9a3b8b4618c96abfe__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "9518:344:36", + "nativeSrc": "9518:344:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "9669:9:36", + "nativeSrc": "9669:9:34", "nodeType": "YulTypedName", - "src": "9669:9:36", + "src": "9669:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "9683:4:36", + "nativeSrc": "9683:4:34", "nodeType": "YulTypedName", - "src": "9683:4:36", + "src": "9683:4:34", "type": "" } ], - "src": "9518:344:36" + "src": "9518:344:34" }, { "body": { - "nativeSrc": "10041:176:36", + "nativeSrc": "10041:176:34", "nodeType": "YulBlock", - "src": "10041:176:36", + "src": "10041:176:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "10058:9:36", + "nativeSrc": "10058:9:34", "nodeType": "YulIdentifier", - "src": "10058:9:36" + "src": "10058:9:34" }, { "kind": "number", - "nativeSrc": "10069:2:36", + "nativeSrc": "10069:2:34", "nodeType": "YulLiteral", - "src": "10069:2:36", + "src": "10069:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "10051:6:36", + "nativeSrc": "10051:6:34", "nodeType": "YulIdentifier", - "src": "10051:6:36" + "src": "10051:6:34" }, - "nativeSrc": "10051:21:36", + "nativeSrc": "10051:21:34", "nodeType": "YulFunctionCall", - "src": "10051:21:36" + "src": "10051:21:34" }, - "nativeSrc": "10051:21:36", + "nativeSrc": "10051:21:34", "nodeType": "YulExpressionStatement", - "src": "10051:21:36" + "src": "10051:21:34" }, { "expression": { @@ -130731,51 +129741,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "10092:9:36", + "nativeSrc": "10092:9:34", "nodeType": "YulIdentifier", - "src": "10092:9:36" + "src": "10092:9:34" }, { "kind": "number", - "nativeSrc": "10103:2:36", + "nativeSrc": "10103:2:34", "nodeType": "YulLiteral", - "src": "10103:2:36", + "src": "10103:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "10088:3:36", + "nativeSrc": "10088:3:34", "nodeType": "YulIdentifier", - "src": "10088:3:36" + "src": "10088:3:34" }, - "nativeSrc": "10088:18:36", + "nativeSrc": "10088:18:34", "nodeType": "YulFunctionCall", - "src": "10088:18:36" + "src": "10088:18:34" }, { "kind": "number", - "nativeSrc": "10108:2:36", + "nativeSrc": "10108:2:34", "nodeType": "YulLiteral", - "src": "10108:2:36", + "src": "10108:2:34", "type": "", "value": "26" } ], "functionName": { "name": "mstore", - "nativeSrc": "10081:6:36", + "nativeSrc": "10081:6:34", "nodeType": "YulIdentifier", - "src": "10081:6:36" + "src": "10081:6:34" }, - "nativeSrc": "10081:30:36", + "nativeSrc": "10081:30:34", "nodeType": "YulFunctionCall", - "src": "10081:30:36" + "src": "10081:30:34" }, - "nativeSrc": "10081:30:36", + "nativeSrc": "10081:30:34", "nodeType": "YulExpressionStatement", - "src": "10081:30:36" + "src": "10081:30:34" }, { "expression": { @@ -130784,138 +129794,138 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "10131:9:36", + "nativeSrc": "10131:9:34", "nodeType": "YulIdentifier", - "src": "10131:9:36" + "src": "10131:9:34" }, { "kind": "number", - "nativeSrc": "10142:2:36", + "nativeSrc": "10142:2:34", "nodeType": "YulLiteral", - "src": "10142:2:36", + "src": "10142:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "10127:3:36", + "nativeSrc": "10127:3:34", "nodeType": "YulIdentifier", - "src": "10127:3:36" + "src": "10127:3:34" }, - "nativeSrc": "10127:18:36", + "nativeSrc": "10127:18:34", "nodeType": "YulFunctionCall", - "src": "10127:18:36" + "src": "10127:18:34" }, { "hexValue": "5365727669636520616c72656164792072656769737465726564", "kind": "string", - "nativeSrc": "10147:28:36", + "nativeSrc": "10147:28:34", "nodeType": "YulLiteral", - "src": "10147:28:36", + "src": "10147:28:34", "type": "", "value": "Service already registered" } ], "functionName": { "name": "mstore", - "nativeSrc": "10120:6:36", + "nativeSrc": "10120:6:34", "nodeType": "YulIdentifier", - "src": "10120:6:36" + "src": "10120:6:34" }, - "nativeSrc": "10120:56:36", + "nativeSrc": "10120:56:34", "nodeType": "YulFunctionCall", - "src": "10120:56:36" + "src": "10120:56:34" }, - "nativeSrc": "10120:56:36", + "nativeSrc": "10120:56:34", "nodeType": "YulExpressionStatement", - "src": "10120:56:36" + "src": "10120:56:34" }, { - "nativeSrc": "10185:26:36", + "nativeSrc": "10185:26:34", "nodeType": "YulAssignment", - "src": "10185:26:36", + "src": "10185:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "10197:9:36", + "nativeSrc": "10197:9:34", "nodeType": "YulIdentifier", - "src": "10197:9:36" + "src": "10197:9:34" }, { "kind": "number", - "nativeSrc": "10208:2:36", + "nativeSrc": "10208:2:34", "nodeType": "YulLiteral", - "src": "10208:2:36", + "src": "10208:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "10193:3:36", + "nativeSrc": "10193:3:34", "nodeType": "YulIdentifier", - "src": "10193:3:36" + "src": "10193:3:34" }, - "nativeSrc": "10193:18:36", + "nativeSrc": "10193:18:34", "nodeType": "YulFunctionCall", - "src": "10193:18:36" + "src": "10193:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "10185:4:36", + "nativeSrc": "10185:4:34", "nodeType": "YulIdentifier", - "src": "10185:4:36" + "src": "10185:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_ac2c61739514b5f463c314c2780e64fc7747cb6b4d2c3e9147a35ee5c42aeefa__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "9867:350:36", + "nativeSrc": "9867:350:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "10018:9:36", + "nativeSrc": "10018:9:34", "nodeType": "YulTypedName", - "src": "10018:9:36", + "src": "10018:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "10032:4:36", + "nativeSrc": "10032:4:34", "nodeType": "YulTypedName", - "src": "10032:4:36", + "src": "10032:4:34", "type": "" } ], - "src": "9867:350:36" + "src": "9867:350:34" }, { "body": { - "nativeSrc": "10269:185:36", + "nativeSrc": "10269:185:34", "nodeType": "YulBlock", - "src": "10269:185:36", + "src": "10269:185:34", "statements": [ { "body": { - "nativeSrc": "10308:111:36", + "nativeSrc": "10308:111:34", "nodeType": "YulBlock", - "src": "10308:111:36", + "src": "10308:111:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "10329:1:36", + "nativeSrc": "10329:1:34", "nodeType": "YulLiteral", - "src": "10329:1:36", + "src": "10329:1:34", "type": "", "value": "0" }, @@ -130923,113 +129933,113 @@ "arguments": [ { "kind": "number", - "nativeSrc": "10336:3:36", + "nativeSrc": "10336:3:34", "nodeType": "YulLiteral", - "src": "10336:3:36", + "src": "10336:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "10341:10:36", + "nativeSrc": "10341:10:34", "nodeType": "YulLiteral", - "src": "10341:10:36", + "src": "10341:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "10332:3:36", + "nativeSrc": "10332:3:34", "nodeType": "YulIdentifier", - "src": "10332:3:36" + "src": "10332:3:34" }, - "nativeSrc": "10332:20:36", + "nativeSrc": "10332:20:34", "nodeType": "YulFunctionCall", - "src": "10332:20:36" + "src": "10332:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10322:6:36", + "nativeSrc": "10322:6:34", "nodeType": "YulIdentifier", - "src": "10322:6:36" + "src": "10322:6:34" }, - "nativeSrc": "10322:31:36", + "nativeSrc": "10322:31:34", "nodeType": "YulFunctionCall", - "src": "10322:31:36" + "src": "10322:31:34" }, - "nativeSrc": "10322:31:36", + "nativeSrc": "10322:31:34", "nodeType": "YulExpressionStatement", - "src": "10322:31:36" + "src": "10322:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "10373:1:36", + "nativeSrc": "10373:1:34", "nodeType": "YulLiteral", - "src": "10373:1:36", + "src": "10373:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "10376:4:36", + "nativeSrc": "10376:4:34", "nodeType": "YulLiteral", - "src": "10376:4:36", + "src": "10376:4:34", "type": "", "value": "0x11" } ], "functionName": { "name": "mstore", - "nativeSrc": "10366:6:36", + "nativeSrc": "10366:6:34", "nodeType": "YulIdentifier", - "src": "10366:6:36" + "src": "10366:6:34" }, - "nativeSrc": "10366:15:36", + "nativeSrc": "10366:15:34", "nodeType": "YulFunctionCall", - "src": "10366:15:36" + "src": "10366:15:34" }, - "nativeSrc": "10366:15:36", + "nativeSrc": "10366:15:34", "nodeType": "YulExpressionStatement", - "src": "10366:15:36" + "src": "10366:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "10401:1:36", + "nativeSrc": "10401:1:34", "nodeType": "YulLiteral", - "src": "10401:1:36", + "src": "10401:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "10404:4:36", + "nativeSrc": "10404:4:34", "nodeType": "YulLiteral", - "src": "10404:4:36", + "src": "10404:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "10394:6:36", + "nativeSrc": "10394:6:34", "nodeType": "YulIdentifier", - "src": "10394:6:36" + "src": "10394:6:34" }, - "nativeSrc": "10394:15:36", + "nativeSrc": "10394:15:34", "nodeType": "YulFunctionCall", - "src": "10394:15:36" + "src": "10394:15:34" }, - "nativeSrc": "10394:15:36", + "nativeSrc": "10394:15:34", "nodeType": "YulExpressionStatement", - "src": "10394:15:36" + "src": "10394:15:34" } ] }, @@ -131037,156 +130047,156 @@ "arguments": [ { "name": "value", - "nativeSrc": "10285:5:36", + "nativeSrc": "10285:5:34", "nodeType": "YulIdentifier", - "src": "10285:5:36" + "src": "10285:5:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "10296:1:36", + "nativeSrc": "10296:1:34", "nodeType": "YulLiteral", - "src": "10296:1:36", + "src": "10296:1:34", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "10292:3:36", + "nativeSrc": "10292:3:34", "nodeType": "YulIdentifier", - "src": "10292:3:36" + "src": "10292:3:34" }, - "nativeSrc": "10292:6:36", + "nativeSrc": "10292:6:34", "nodeType": "YulFunctionCall", - "src": "10292:6:36" + "src": "10292:6:34" } ], "functionName": { "name": "eq", - "nativeSrc": "10282:2:36", + "nativeSrc": "10282:2:34", "nodeType": "YulIdentifier", - "src": "10282:2:36" + "src": "10282:2:34" }, - "nativeSrc": "10282:17:36", + "nativeSrc": "10282:17:34", "nodeType": "YulFunctionCall", - "src": "10282:17:36" + "src": "10282:17:34" }, - "nativeSrc": "10279:140:36", + "nativeSrc": "10279:140:34", "nodeType": "YulIf", - "src": "10279:140:36" + "src": "10279:140:34" }, { - "nativeSrc": "10428:20:36", + "nativeSrc": "10428:20:34", "nodeType": "YulAssignment", - "src": "10428:20:36", + "src": "10428:20:34", "value": { "arguments": [ { "name": "value", - "nativeSrc": "10439:5:36", + "nativeSrc": "10439:5:34", "nodeType": "YulIdentifier", - "src": "10439:5:36" + "src": "10439:5:34" }, { "kind": "number", - "nativeSrc": "10446:1:36", + "nativeSrc": "10446:1:34", "nodeType": "YulLiteral", - "src": "10446:1:36", + "src": "10446:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "10435:3:36", + "nativeSrc": "10435:3:34", "nodeType": "YulIdentifier", - "src": "10435:3:36" + "src": "10435:3:34" }, - "nativeSrc": "10435:13:36", + "nativeSrc": "10435:13:34", "nodeType": "YulFunctionCall", - "src": "10435:13:36" + "src": "10435:13:34" }, "variableNames": [ { "name": "ret", - "nativeSrc": "10428:3:36", + "nativeSrc": "10428:3:34", "nodeType": "YulIdentifier", - "src": "10428:3:36" + "src": "10428:3:34" } ] } ] }, "name": "increment_t_uint256", - "nativeSrc": "10222:232:36", + "nativeSrc": "10222:232:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "10251:5:36", + "nativeSrc": "10251:5:34", "nodeType": "YulTypedName", - "src": "10251:5:36", + "src": "10251:5:34", "type": "" } ], "returnVariables": [ { "name": "ret", - "nativeSrc": "10261:3:36", + "nativeSrc": "10261:3:34", "nodeType": "YulTypedName", - "src": "10261:3:36", + "src": "10261:3:34", "type": "" } ], - "src": "10222:232:36" + "src": "10222:232:34" }, { "body": { - "nativeSrc": "10540:103:36", + "nativeSrc": "10540:103:34", "nodeType": "YulBlock", - "src": "10540:103:36", + "src": "10540:103:34", "statements": [ { "body": { - "nativeSrc": "10586:16:36", + "nativeSrc": "10586:16:34", "nodeType": "YulBlock", - "src": "10586:16:36", + "src": "10586:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "10595:1:36", + "nativeSrc": "10595:1:34", "nodeType": "YulLiteral", - "src": "10595:1:36", + "src": "10595:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "10598:1:36", + "nativeSrc": "10598:1:34", "nodeType": "YulLiteral", - "src": "10598:1:36", + "src": "10598:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "10588:6:36", + "nativeSrc": "10588:6:34", "nodeType": "YulIdentifier", - "src": "10588:6:36" + "src": "10588:6:34" }, - "nativeSrc": "10588:12:36", + "nativeSrc": "10588:12:34", "nodeType": "YulFunctionCall", - "src": "10588:12:36" + "src": "10588:12:34" }, - "nativeSrc": "10588:12:36", + "nativeSrc": "10588:12:34", "nodeType": "YulExpressionStatement", - "src": "10588:12:36" + "src": "10588:12:34" } ] }, @@ -131196,149 +130206,149 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "10561:7:36", + "nativeSrc": "10561:7:34", "nodeType": "YulIdentifier", - "src": "10561:7:36" + "src": "10561:7:34" }, { "name": "headStart", - "nativeSrc": "10570:9:36", + "nativeSrc": "10570:9:34", "nodeType": "YulIdentifier", - "src": "10570:9:36" + "src": "10570:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "10557:3:36", + "nativeSrc": "10557:3:34", "nodeType": "YulIdentifier", - "src": "10557:3:36" + "src": "10557:3:34" }, - "nativeSrc": "10557:23:36", + "nativeSrc": "10557:23:34", "nodeType": "YulFunctionCall", - "src": "10557:23:36" + "src": "10557:23:34" }, { "kind": "number", - "nativeSrc": "10582:2:36", + "nativeSrc": "10582:2:34", "nodeType": "YulLiteral", - "src": "10582:2:36", + "src": "10582:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "10553:3:36", + "nativeSrc": "10553:3:34", "nodeType": "YulIdentifier", - "src": "10553:3:36" + "src": "10553:3:34" }, - "nativeSrc": "10553:32:36", + "nativeSrc": "10553:32:34", "nodeType": "YulFunctionCall", - "src": "10553:32:36" + "src": "10553:32:34" }, - "nativeSrc": "10550:52:36", + "nativeSrc": "10550:52:34", "nodeType": "YulIf", - "src": "10550:52:36" + "src": "10550:52:34" }, { - "nativeSrc": "10611:26:36", + "nativeSrc": "10611:26:34", "nodeType": "YulAssignment", - "src": "10611:26:36", + "src": "10611:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "10627:9:36", + "nativeSrc": "10627:9:34", "nodeType": "YulIdentifier", - "src": "10627:9:36" + "src": "10627:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "10621:5:36", + "nativeSrc": "10621:5:34", "nodeType": "YulIdentifier", - "src": "10621:5:36" + "src": "10621:5:34" }, - "nativeSrc": "10621:16:36", + "nativeSrc": "10621:16:34", "nodeType": "YulFunctionCall", - "src": "10621:16:36" + "src": "10621:16:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "10611:6:36", + "nativeSrc": "10611:6:34", "nodeType": "YulIdentifier", - "src": "10611:6:36" + "src": "10611:6:34" } ] } ] }, "name": "abi_decode_tuple_t_bytes32_fromMemory", - "nativeSrc": "10459:184:36", + "nativeSrc": "10459:184:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "10506:9:36", + "nativeSrc": "10506:9:34", "nodeType": "YulTypedName", - "src": "10506:9:36", + "src": "10506:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "10517:7:36", + "nativeSrc": "10517:7:34", "nodeType": "YulTypedName", - "src": "10517:7:36", + "src": "10517:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "10529:6:36", + "nativeSrc": "10529:6:34", "nodeType": "YulTypedName", - "src": "10529:6:36", + "src": "10529:6:34", "type": "" } ], - "src": "10459:184:36" + "src": "10459:184:34" }, { "body": { - "nativeSrc": "10785:150:36", + "nativeSrc": "10785:150:34", "nodeType": "YulBlock", - "src": "10785:150:36", + "src": "10785:150:34", "statements": [ { - "nativeSrc": "10795:27:36", + "nativeSrc": "10795:27:34", "nodeType": "YulVariableDeclaration", - "src": "10795:27:36", + "src": "10795:27:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "10815:6:36", + "nativeSrc": "10815:6:34", "nodeType": "YulIdentifier", - "src": "10815:6:36" + "src": "10815:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "10809:5:36", + "nativeSrc": "10809:5:34", "nodeType": "YulIdentifier", - "src": "10809:5:36" + "src": "10809:5:34" }, - "nativeSrc": "10809:13:36", + "nativeSrc": "10809:13:34", "nodeType": "YulFunctionCall", - "src": "10809:13:36" + "src": "10809:13:34" }, "variables": [ { "name": "length", - "nativeSrc": "10799:6:36", + "nativeSrc": "10799:6:34", "nodeType": "YulTypedName", - "src": "10799:6:36", + "src": "10799:6:34", "type": "" } ] @@ -131350,130 +130360,130 @@ "arguments": [ { "name": "value0", - "nativeSrc": "10870:6:36", + "nativeSrc": "10870:6:34", "nodeType": "YulIdentifier", - "src": "10870:6:36" + "src": "10870:6:34" }, { "kind": "number", - "nativeSrc": "10878:4:36", + "nativeSrc": "10878:4:34", "nodeType": "YulLiteral", - "src": "10878:4:36", + "src": "10878:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "10866:3:36", + "nativeSrc": "10866:3:34", "nodeType": "YulIdentifier", - "src": "10866:3:36" + "src": "10866:3:34" }, - "nativeSrc": "10866:17:36", + "nativeSrc": "10866:17:34", "nodeType": "YulFunctionCall", - "src": "10866:17:36" + "src": "10866:17:34" }, { "name": "pos", - "nativeSrc": "10885:3:36", + "nativeSrc": "10885:3:34", "nodeType": "YulIdentifier", - "src": "10885:3:36" + "src": "10885:3:34" }, { "name": "length", - "nativeSrc": "10890:6:36", + "nativeSrc": "10890:6:34", "nodeType": "YulIdentifier", - "src": "10890:6:36" + "src": "10890:6:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "10831:34:36", + "nativeSrc": "10831:34:34", "nodeType": "YulIdentifier", - "src": "10831:34:36" + "src": "10831:34:34" }, - "nativeSrc": "10831:66:36", + "nativeSrc": "10831:66:34", "nodeType": "YulFunctionCall", - "src": "10831:66:36" + "src": "10831:66:34" }, - "nativeSrc": "10831:66:36", + "nativeSrc": "10831:66:34", "nodeType": "YulExpressionStatement", - "src": "10831:66:36" + "src": "10831:66:34" }, { - "nativeSrc": "10906:23:36", + "nativeSrc": "10906:23:34", "nodeType": "YulAssignment", - "src": "10906:23:36", + "src": "10906:23:34", "value": { "arguments": [ { "name": "pos", - "nativeSrc": "10917:3:36", + "nativeSrc": "10917:3:34", "nodeType": "YulIdentifier", - "src": "10917:3:36" + "src": "10917:3:34" }, { "name": "length", - "nativeSrc": "10922:6:36", + "nativeSrc": "10922:6:34", "nodeType": "YulIdentifier", - "src": "10922:6:36" + "src": "10922:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "10913:3:36", + "nativeSrc": "10913:3:34", "nodeType": "YulIdentifier", - "src": "10913:3:36" + "src": "10913:3:34" }, - "nativeSrc": "10913:16:36", + "nativeSrc": "10913:16:34", "nodeType": "YulFunctionCall", - "src": "10913:16:36" + "src": "10913:16:34" }, "variableNames": [ { "name": "end", - "nativeSrc": "10906:3:36", + "nativeSrc": "10906:3:34", "nodeType": "YulIdentifier", - "src": "10906:3:36" + "src": "10906:3:34" } ] } ] }, "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "10648:287:36", + "nativeSrc": "10648:287:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", - "nativeSrc": "10761:3:36", + "nativeSrc": "10761:3:34", "nodeType": "YulTypedName", - "src": "10761:3:36", + "src": "10761:3:34", "type": "" }, { "name": "value0", - "nativeSrc": "10766:6:36", + "nativeSrc": "10766:6:34", "nodeType": "YulTypedName", - "src": "10766:6:36", + "src": "10766:6:34", "type": "" } ], "returnVariables": [ { "name": "end", - "nativeSrc": "10777:3:36", + "nativeSrc": "10777:3:34", "nodeType": "YulTypedName", - "src": "10777:3:36", + "src": "10777:3:34", "type": "" } ], - "src": "10648:287:36" + "src": "10648:287:34" } ] }, - "contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_available_length_string(src, length, end) -> array\n {\n let _1 := 0xffffffffffffffff\n if gt(length, _1) { panic_error_0x41() }\n let _2 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(length, 31), _2), 63), _2))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n array := memPtr\n mstore(memPtr, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), src, length)\n mstore(add(add(memPtr, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\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_string(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_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 96)\n let tail_1 := abi_encode_string(value0, add(headStart, 96))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_string(value2, tail_2)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\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 value0 := abi_decode_address(headStart)\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 value1 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_struct$_Service_$4420_memory_ptr__to_t_struct$_Service_$4420_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let memberValue0 := mload(value0)\n mstore(add(headStart, 32), 0x60)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 128))\n let memberValue0_1 := mload(add(value0, 32))\n let _1 := not(31)\n mstore(add(headStart, 64), add(sub(tail_1, headStart), _1))\n let tail_2 := abi_encode_string(memberValue0_1, tail_1)\n let memberValue0_2 := mload(add(value0, 64))\n mstore(add(headStart, 0x60), add(sub(tail_2, headStart), _1))\n tail := abi_encode_string(memberValue0_2, tail_2)\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset_2), dataEnd)\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 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_string(value0, add(headStart, 32))\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_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_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_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_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"Service not registered\")\n tail := add(headStart, 96)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(0, array)\n let data := keccak256(0, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := 0x20\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffff))\n }\n function abi_encode_tuple_t_stringliteral_b193a272406cc908bf089bbfd62bbee3e6f0f99dfc3103f9a3b8b4618c96abfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Invalid service name\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ac2c61739514b5f463c314c2780e64fc7747cb6b4d2c3e9147a35ee5c42aeefa__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Service already registered\")\n tail := add(headStart, 96)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n ret := add(value, 1)\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_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}", - "id": 36, + "contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_available_length_string(src, length, end) -> array\n {\n let _1 := 0xffffffffffffffff\n if gt(length, _1) { panic_error_0x41() }\n let _2 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(length, 31), _2), 63), _2))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n array := memPtr\n mstore(memPtr, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), src, length)\n mstore(add(add(memPtr, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\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_string(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_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 96)\n let tail_1 := abi_encode_string(value0, add(headStart, 96))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_string(value2, tail_2)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\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 value0 := abi_decode_address(headStart)\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 value1 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_struct$_Service_$4421_memory_ptr__to_t_struct$_Service_$4421_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let memberValue0 := mload(value0)\n mstore(add(headStart, 32), 0x60)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 128))\n let memberValue0_1 := mload(add(value0, 32))\n let _1 := not(31)\n mstore(add(headStart, 64), add(sub(tail_1, headStart), _1))\n let tail_2 := abi_encode_string(memberValue0_1, tail_1)\n let memberValue0_2 := mload(add(value0, 64))\n mstore(add(headStart, 0x60), add(sub(tail_2, headStart), _1))\n tail := abi_encode_string(memberValue0_2, tail_2)\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset_2), dataEnd)\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 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_string(value0, add(headStart, 32))\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_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_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_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_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"Service not registered\")\n tail := add(headStart, 96)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(0, array)\n let data := keccak256(0, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := 0x20\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffff))\n }\n function abi_encode_tuple_t_stringliteral_b193a272406cc908bf089bbfd62bbee3e6f0f99dfc3103f9a3b8b4618c96abfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Invalid service name\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ac2c61739514b5f463c314c2780e64fc7747cb6b4d2c3e9147a35ee5c42aeefa__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Service already registered\")\n tail := add(headStart, 96)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n ret := add(value, 1)\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_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}", + "id": 34, "language": "Yul", "name": "#utility.yul" } @@ -131495,9 +130505,9 @@ ] }, "linkReferences": {}, - "object": "6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611132565b6102b5565b6040516100e7939291906111bf565b61013261012d36600461121e565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611132565b6104ca565b6040516100e79190611280565b34801561019757600080fd5b506101326101a63660046112d8565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e79190611360565b34801561025157600080fd5b50610265610260366004611132565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d8565b6109da565b3480156102a157600080fd5b506101326102b0366004611373565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138e565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138e565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138e565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155783398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c8565b90815260200160405180910390206040518060600160405290816000820180546105279061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138e565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138e565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138e565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff908690600401611360565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e4565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c8565b908152604051908190036020019020815181906107d29082611456565b50602082015160018201906107e79082611456565b50604082015160028201906107fc9082611456565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111bf565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c8565b90815260405190819003602001902080546109d09061138e565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a21908790600401611360565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e4565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c8565b90815260405190819003602001902081518190610afc9082611456565b5060208201516001820190610b119082611456565b5060408201516002820190610b269082611456565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111bf565b60405180910390a160018054906000610b7583611516565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611557833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153d565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115578339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c8565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b7576110b7611086565b604051601f8501601f19908116603f011681019082821181831017156110df576110df611086565b816040528093508581528686860111156110f857600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112357600080fd5b610b7e8383356020850161109c565b60006020828403121561114457600080fd5b813567ffffffffffffffff81111561115b57600080fd5b61116784828501611112565b949350505050565b60005b8381101561118a578181015183820152602001611172565b50506000910152565b600081518084526111ab81602086016020860161116f565b601f01601f19169290920160200192915050565b6060815260006111d26060830186611193565b82810360208401526111e48186611193565b905082810360408401526111f88185611193565b9695505050505050565b80356001600160a01b038116811461121957600080fd5b919050565b6000806040838503121561123157600080fd5b61123a83611202565b9150602083013567ffffffffffffffff81111561125657600080fd5b8301601f8101851361126757600080fd5b6112768582356020840161109c565b9150509250929050565b60208152600082516060602084015261129c6080840182611193565b90506020840151601f19808584030160408601526112ba8383611193565b9250604086015191508085840301606086015250610fd98282611193565b6000806000606084860312156112ed57600080fd5b833567ffffffffffffffff8082111561130557600080fd5b61131187838801611112565b9450602086013591508082111561132757600080fd5b61133387838801611112565b9350604086013591508082111561134957600080fd5b5061135686828701611112565b9150509250925092565b602081526000610b7e6020830184611193565b60006020828403121561138557600080fd5b610b7e82611202565b600181811c908216806113a257607f821691505b6020821081036113c257634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113da81846020870161116f565b9190910192915050565b6000602082840312156113f657600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142f5750805b601f850160051c820191505b8181101561144e5782815560010161143b565b505050505050565b815167ffffffffffffffff81111561147057611470611086565b6114848161147e845461138e565b84611406565b602080601f8311600181146114b957600084156114a15750858301515b600019600386901b1c1916600185901b17855561144e565b600085815260208120601f198616915b828110156114e8578886015182559484019460019091019084016114c9565b50858210156115065787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153657634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c75f83ec32a46ec4d9bba6a16b97fd7f4f8b4040e24571dde401082ff2399d0564736f6c63430008160033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC2 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7F3ED719 GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xAD3CB1CC GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xB405166B EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xEF57D884 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7F3ED719 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x1AB JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6237526 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x3017BA09 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x794758BE EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x110 PUSH2 0x10B CALLDATASIZE PUSH1 0x4 PUSH2 0x1132 JUMP JUMPDEST PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BF JUMP JUMPDEST PUSH2 0x132 PUSH2 0x12D CALLDATASIZE PUSH1 0x4 PUSH2 0x121E JUMP JUMPDEST PUSH2 0x47A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x499 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x4B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x1132 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x1280 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x1A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D8 JUMP JUMPDEST PUSH2 0x6D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x840 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x238 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x1360 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x1132 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D8 JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1373 JUMP JUMPDEST PUSH2 0xB85 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x0 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD DUP2 SWAP1 PUSH2 0x2DB SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x354 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x329 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x354 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x337 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x369 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x395 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3E2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3C5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x3F7 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x423 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x470 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x445 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x470 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x453 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xBC3 JUMP JUMPDEST PUSH2 0x48B DUP3 PUSH2 0xC68 JUMP JUMPDEST PUSH2 0x495 DUP3 DUP3 PUSH2 0xC70 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A3 PUSH2 0xD32 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x4BE PUSH2 0xD7B JUMP JUMPDEST PUSH2 0x4C8 PUSH1 0x0 PUSH2 0xDD6 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH2 0x4FE SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x527 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x553 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5A0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x575 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5A0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x583 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x5B9 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5E5 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x632 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x607 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x632 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x615 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x64B SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x677 SWAP1 PUSH2 0x138E JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6C4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x699 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6C4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6A7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6DC PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x6FF SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x1360 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x71C 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 0x740 SWAP2 SWAP1 PUSH2 0x13E4 JUMP JUMPDEST PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP5 PUSH1 0x40 MLOAD PUSH2 0x7B5 SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0x7D2 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0x7E7 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x7FC SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0x4CD09E35844CCDF25AAC9862AF453CEDF05D8A8B765F2763BE8373B55215DF8D DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x833 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x1 PUSH1 0x40 SHL DUP2 DIV PUSH1 0xFF AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x886 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x8A3 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x8B1 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x8CF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x8F9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x902 CALLER PUSH2 0xE47 JUMP JUMPDEST PUSH2 0x90A PUSH2 0xE58 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SSTORE DUP4 ISZERO PUSH2 0x955 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD GT PUSH2 0x9A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x496E76616C69642073657276696365206E616D65 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x40 MLOAD PUSH2 0x9B6 SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x9D0 SWAP1 PUSH2 0x138E JUMP JUMPDEST SWAP1 POP GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0xA21 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x1360 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA3E 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 0xA62 SWAP2 SWAP1 PUSH2 0x13E4 JUMP JUMPDEST ISZERO PUSH2 0xAAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636520616C72656164792072656769737465726564000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 POP DUP1 PUSH1 0x0 DUP7 PUSH1 0x40 MLOAD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0xAFC SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0xB11 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0xB26 SWAP1 DUP3 PUSH2 0x1456 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xC182FE36565BE4905BE53A8ED353F07898B528F1625E778EDF77C13674806486 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xB5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xB75 DUP4 PUSH2 0x1516 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP SWAP1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xB8D PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBB7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xDD6 JUMP JUMPDEST POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0xC4A JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC3E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBC0 PUSH2 0xD7B JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xCCA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xCC7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x153D JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xCF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0xD23 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xD2D DUP4 DUP4 PUSH2 0xE60 JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0xDAD PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0xE4F PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xEFF JUMP JUMPDEST PUSH2 0x4C8 PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xE69 DUP3 PUSH2 0xF07 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0xEAE JUMPI PUSH2 0xD2D DUP3 DUP3 PUSH2 0xF6C JUMP JUMPDEST PUSH2 0x495 PUSH2 0xFE2 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB8D PUSH2 0xEB6 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0xF3D JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1557 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0xF89 SWAP2 SWAP1 PUSH2 0x13C8 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xFC4 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 0xFC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xFD9 DUP6 DUP4 DUP4 PUSH2 0x1001 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1016 JUMPI PUSH2 0x1011 DUP3 PUSH2 0x105D JUMP JUMPDEST PUSH2 0xB7E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x102D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1056 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST POP DUP1 PUSH2 0xB7E JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x106D JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x10B7 JUMPI PUSH2 0x10B7 PUSH2 0x1086 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x10DF JUMPI PUSH2 0x10DF PUSH2 0x1086 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x10F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1123 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x109C JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1144 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x115B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1167 DUP5 DUP3 DUP6 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x118A JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1172 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x11AB DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x116F JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x11D2 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x1193 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x11E4 DUP2 DUP7 PUSH2 0x1193 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x11F8 DUP2 DUP6 PUSH2 0x1193 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1219 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1231 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x123A DUP4 PUSH2 0x1202 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1256 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x1267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1276 DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x109C JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0x60 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x129C PUSH1 0x80 DUP5 ADD DUP3 PUSH2 0x1193 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP1 DUP6 DUP5 SUB ADD PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x12BA DUP4 DUP4 PUSH2 0x1193 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP6 DUP5 SUB ADD PUSH1 0x60 DUP7 ADD MSTORE POP PUSH2 0xFD9 DUP3 DUP3 PUSH2 0x1193 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x12ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1305 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1311 DUP8 DUP4 DUP9 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1327 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1333 DUP8 DUP4 DUP9 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1356 DUP7 DUP3 DUP8 ADD PUSH2 0x1112 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xB7E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1193 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1385 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP3 PUSH2 0x1202 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x13A2 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x13C2 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x13DA DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x116F JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xD2D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x142F JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x144E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x143B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1470 JUMPI PUSH2 0x1470 PUSH2 0x1086 JUMP JUMPDEST PUSH2 0x1484 DUP2 PUSH2 0x147E DUP5 SLOAD PUSH2 0x138E JUMP JUMPDEST DUP5 PUSH2 0x1406 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x14B9 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x14A1 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x144E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x14E8 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x14C9 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1506 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1536 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x154F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220C7 PUSH0 DUP4 0xEC ORIGIN LOG4 PUSH15 0xC4D9BBA6A16B97FD7F4F8B4040E245 PUSH18 0xDDE401082FF2399D0564736F6C6343000816 STOP CALLER ", - "sourceMap": "498:2704:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;744:27;;;;;;;;;;;;;;;;;;;160:25:36;;;148:2;133:18;744:27:29;;;;;;;;696:42;;;;;;;;;;-1:-1:-1;696:42:29;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;4161:214:2:-;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;2106:117:29:-;;;;;;;;;;-1:-1:-1;2106:117:29;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2440:395::-;;;;;;;;;;-1:-1:-1;2440:395:29;;;;;:::i;:::-;;:::i;1099:144::-;;;;;;;;;;;;;:::i;2441::0:-;;;;;;;;;;-1:-1:-1;1313:22:0;2570:8;2441:144;;-1:-1:-1;;;;;2570:8:0;;;5127:51:36;;5115:2;5100:18;2441:144:0;4981:203:36;1819:58:2;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;2229:205:29:-;;;;;;;;;;-1:-1:-1;2229:205:29;;;;;:::i;:::-;;:::i;:::-;;;5579:14:36;;5572:22;5554:41;;5542:2;5527:18;2229:205:29;5414:187:36;1425:512:29;;;;;;;;;;-1:-1:-1;1425:512:29;;;;;:::i;:::-;;:::i;3405:215:0:-;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;696:42:29:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;2106:117:29:-;2169:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;2169:14:29;2202:8;2211:4;2202:14;;;;;;:::i;:::-;;;;;;;;;;;;;2195:21;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2106:117;;;:::o;2440:395::-;2334:13:0;:11;:13::i;:::-;2571:30:29::1;::::0;-1:-1:-1;;;2571:30:29;;:4:::1;::::0;:24:::1;::::0;:30:::1;::::0;2596:4;;2571:30:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2563:65;;;::::0;-1:-1:-1;;;2563:65:29;;6960:2:36;2563:65:29::1;::::0;::::1;6942:21:36::0;6999:2;6979:18;;;6972:30;-1:-1:-1;;;7018:18:36;;;7011:52;7080:18;;2563:65:29::1;;;;;;;;;2656:113;;;;;;;;2684:4;2656:113;;;;2712:8;2656:113;;;;2747:11;2656:113;;::::0;2639:8:::1;2648:4;2639:14;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:130;;:14;;:130:::1;::::0;:14;:130:::1;:::i;:::-;-1:-1:-1::0;2639:130:29::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;2639:130:29::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;;;;;2785:43;2800:4;2806:8;2816:11;2785:43;;;;;;;;:::i;:::-;;;;;;;;2440:395:::0;;;:::o;1099:144::-;3147:66:1;4302:15;;-1:-1:-1;;;4302:15:1;;;;4301:16;;4348:14;;4158:30;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;:16;;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;1150:26:29::1;1165:10;1150:14;:26::i;:::-;1186:24;:22;:24::i;:::-;1235:1;1220:12;:16:::0;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;9457:50:36;;5140:14:1;;9445:2:36;9430:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;1099:144:29:o;2229:205::-;2301:4;2346:1;2331:4;2325:18;:22;2317:55;;;;-1:-1:-1;;;2317:55:29;;9720:2:36;2317:55:29;;;9702:21:36;9759:2;9739:18;;;9732:30;-1:-1:-1;;;9778:18:36;;;9771:50;9838:18;;2317:55:29;9518:344:36;2317:55:29;2426:1;2396:8;2405:4;2396:14;;;;;;:::i;:::-;;;;;;;;;;;;;;2390:33;;;;;:::i;:::-;;;:37;2383:44;;2229:205;;;:::o;1425:512::-;1539:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;1539:14:29;1574:30;;-1:-1:-1;;;1574:30:29;;:4;;:24;;:30;;1599:4;;1574:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1573:31;1565:70;;;;-1:-1:-1;;;1565:70:29;;10069:2:36;1565:70:29;;;10051:21:36;10108:2;10088:18;;;10081:30;10147:28;10127:18;;;10120:56;10193:18;;1565:70:29;9867:350:36;1565:70:29;1646:22;1671:113;;;;;;;;1699:4;1671:113;;;;1727:8;1671:113;;;;1762:11;1671:113;;;1646:138;;1812:7;1795:8;1804:4;1795:14;;;;;;:::i;:::-;;;;;;;;;;;;;;:24;;:14;;:24;;:14;:24;:::i;:::-;-1:-1:-1;1795:24:29;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1795:24:29;;;;;;;;;;;;:::i;:::-;;;;;1835:46;1853:4;1859:8;1869:11;1835:46;;;;;;;;:::i;:::-;;;;;;;;1892:12;:14;;;:12;:14;;;:::i;:::-;;;;-1:-1:-1;1923:7:29;;-1:-1:-1;;1425:512:29;;;;;;:::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;5127:51:36::0;5100:18;;3534:31:0::1;4981:203:36::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:11;-1:-1:-1;;;;;1519:53:11;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;3024:84:29;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;5145:32:36;;6493:60:2;;;5127:51:36;5100:18;;6493:60:2;4981:203:36;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;160:25:36;;;133:18;;6292:34:2;14:177:36;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;:::-;6184:235;6032:538;;:::o;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;2658:162:0;966:10:3;2717:7:0;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144;2717:7;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;5127:51:36;5100:18;;2763:40:0;4981:203:36;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;1847:127::-;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;2264:344:11:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:11;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7082:141:1:-;3147:66;8558:40;-1:-1:-1;;;8558:40:1;;;;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;1671:281:11:-;1748:17;-1:-1:-1;;;;;1748:29:11;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:11;;-1:-1:-1;;;;;5145:32:36;;1805:47:11;;;5127:51:36;5100:18;;1805:47:11;4981:203:36;1744:119:11;-1:-1:-1;;;;;;;;;;;1872:73:11;;-1:-1:-1;;;;;;1872:73:11;-1:-1:-1;;;;;1872:73:11;;;;;;;;;;1671:281::o;3916:253:20:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:20;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:20:o;6113:122:11:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:11;;;;;;;;;;;4437:582:20;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:20;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:20;;-1:-1:-1;;;;;5145:32:36;;4933:24:20;;;5127:51:36;5100:18;;4933:24:20;4981:203:36;4853:119:20;-1:-1:-1;4992:10:20;4985:17;;5559:487;5690:17;;:21;5686:354;;5887:10;5881:17;5943:15;5930:10;5926:2;5922:19;5915:44;5686:354;6010:19;;-1:-1:-1;;;6010:19:20;;;;;;;;;;;196:127:36;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:632;393:5;423:18;464:2;456:6;453:14;450:40;;;470:18;;:::i;:::-;545:2;539:9;513:2;599:15;;-1:-1:-1;;595:24:36;;;621:2;591:33;587:42;575:55;;;645:18;;;665:22;;;642:46;639:72;;;691:18;;:::i;:::-;731:10;727:2;720:22;760:6;751:15;;790:6;782;775:22;830:3;821:6;816:3;812:16;809:25;806:45;;;847:1;844;837:12;806:45;897:6;892:3;885:4;877:6;873:17;860:44;952:1;945:4;936:6;928;924:19;920:30;913:41;;;;328:632;;;;;:::o;965:222::-;1008:5;1061:3;1054:4;1046:6;1042:17;1038:27;1028:55;;1079:1;1076;1069:12;1028:55;1101:80;1177:3;1168:6;1155:20;1148:4;1140:6;1136:17;1101:80;:::i;1192:322::-;1261:6;1314:2;1302:9;1293:7;1289:23;1285:32;1282:52;;;1330:1;1327;1320:12;1282:52;1370:9;1357:23;1403:18;1395:6;1392:30;1389:50;;;1435:1;1432;1425:12;1389:50;1458;1500:7;1491:6;1480:9;1476:22;1458:50;:::i;:::-;1448:60;1192:322;-1:-1:-1;;;;1192:322:36:o;1519:250::-;1604:1;1614:113;1628:6;1625:1;1622:13;1614:113;;;1704:11;;;1698:18;1685:11;;;1678:39;1650:2;1643:10;1614:113;;;-1:-1:-1;;1761:1:36;1743:16;;1736:27;1519:250::o;1774:271::-;1816:3;1854:5;1848:12;1881:6;1876:3;1869:19;1897:76;1966:6;1959:4;1954:3;1950:14;1943:4;1936:5;1932:16;1897:76;:::i;:::-;2027:2;2006:15;-1:-1:-1;;2002:29:36;1993:39;;;;2034:4;1989:50;;1774:271;-1:-1:-1;;1774:271:36:o;2050:546::-;2295:2;2284:9;2277:21;2258:4;2321:45;2362:2;2351:9;2347:18;2339:6;2321:45;:::i;:::-;2414:9;2406:6;2402:22;2397:2;2386:9;2382:18;2375:50;2448:33;2474:6;2466;2448:33;:::i;:::-;2434:47;;2529:9;2521:6;2517:22;2512:2;2501:9;2497:18;2490:50;2557:33;2583:6;2575;2557:33;:::i;:::-;2549:41;2050:546;-1:-1:-1;;;;;;2050:546:36:o;2601:173::-;2669:20;;-1:-1:-1;;;;;2718:31:36;;2708:42;;2698:70;;2764:1;2761;2754:12;2698:70;2601:173;;;:::o;2779:524::-;2856:6;2864;2917:2;2905:9;2896:7;2892:23;2888:32;2885:52;;;2933:1;2930;2923:12;2885:52;2956:29;2975:9;2956:29;:::i;:::-;2946:39;;3036:2;3025:9;3021:18;3008:32;3063:18;3055:6;3052:30;3049:50;;;3095:1;3092;3085:12;3049:50;3118:22;;3171:4;3163:13;;3159:27;-1:-1:-1;3149:55:36;;3200:1;3197;3190:12;3149:55;3223:74;3289:7;3284:2;3271:16;3266:2;3262;3258:11;3223:74;:::i;:::-;3213:84;;;2779:524;;;;;:::o;3490:738::-;3669:2;3658:9;3651:21;3632:4;3707:6;3701:13;3750:4;3745:2;3734:9;3730:18;3723:32;3778:52;3825:3;3814:9;3810:19;3796:12;3778:52;:::i;:::-;3764:66;;3879:2;3871:6;3867:15;3861:22;3906:2;3902:7;3973:2;3961:9;3953:6;3949:22;3945:31;3940:2;3929:9;3925:18;3918:59;4000:41;4034:6;4018:14;4000:41;:::i;:::-;3986:55;;4090:2;4082:6;4078:15;4072:22;4050:44;;4160:2;4148:9;4140:6;4136:22;4132:31;4125:4;4114:9;4110:20;4103:61;;4181:41;4215:6;4199:14;4181:41;:::i;4233:743::-;4340:6;4348;4356;4409:2;4397:9;4388:7;4384:23;4380:32;4377:52;;;4425:1;4422;4415:12;4377:52;4465:9;4452:23;4494:18;4535:2;4527:6;4524:14;4521:34;;;4551:1;4548;4541:12;4521:34;4574:50;4616:7;4607:6;4596:9;4592:22;4574:50;:::i;:::-;4564:60;;4677:2;4666:9;4662:18;4649:32;4633:48;;4706:2;4696:8;4693:16;4690:36;;;4722:1;4719;4712:12;4690:36;4745:52;4789:7;4778:8;4767:9;4763:24;4745:52;:::i;:::-;4735:62;;4850:2;4839:9;4835:18;4822:32;4806:48;;4879:2;4869:8;4866:16;4863:36;;;4895:1;4892;4885:12;4863:36;;4918:52;4962:7;4951:8;4940:9;4936:24;4918:52;:::i;:::-;4908:62;;;4233:743;;;;;:::o;5189:220::-;5338:2;5327:9;5320:21;5301:4;5358:45;5399:2;5388:9;5384:18;5376:6;5358:45;:::i;5606:186::-;5665:6;5718:2;5706:9;5697:7;5693:23;5689:32;5686:52;;;5734:1;5731;5724:12;5686:52;5757:29;5776:9;5757:29;:::i;5797:380::-;5876:1;5872:12;;;;5919;;;5940:61;;5994:4;5986:6;5982:17;5972:27;;5940:61;6047:2;6039:6;6036:14;6016:18;6013:38;6010:161;;6093:10;6088:3;6084:20;6081:1;6074:31;6128:4;6125:1;6118:15;6156:4;6153:1;6146:15;6010:161;;5797:380;;;:::o;6182:289::-;6313:3;6351:6;6345:13;6367:66;6426:6;6421:3;6414:4;6406:6;6402:17;6367:66;:::i;:::-;6449:16;;;;;6182:289;-1:-1:-1;;6182:289:36:o;6476:277::-;6543:6;6596:2;6584:9;6575:7;6571:23;6567:32;6564:52;;;6612:1;6609;6602:12;6564:52;6644:9;6638:16;6697:5;6690:13;6683:21;6676:5;6673:32;6663:60;;6719:1;6716;6709:12;7235:543;7337:2;7332:3;7329:11;7326:446;;;7373:1;7397:5;7394:1;7387:16;7441:4;7438:1;7428:18;7511:2;7499:10;7495:19;7492:1;7488:27;7482:4;7478:38;7547:4;7535:10;7532:20;7529:47;;;-1:-1:-1;7570:4:36;7529:47;7625:2;7620:3;7616:12;7613:1;7609:20;7603:4;7599:31;7589:41;;7680:82;7698:2;7691:5;7688:13;7680:82;;;7743:17;;;7724:1;7713:13;7680:82;;;7684:3;;;7235:543;;;:::o;7954:1345::-;8080:3;8074:10;8107:18;8099:6;8096:30;8093:56;;;8129:18;;:::i;:::-;8158:97;8248:6;8208:38;8240:4;8234:11;8208:38;:::i;:::-;8202:4;8158:97;:::i;:::-;8310:4;;8367:2;8356:14;;8384:1;8379:663;;;;9086:1;9103:6;9100:89;;;-1:-1:-1;9155:19:36;;;9149:26;9100:89;-1:-1:-1;;7911:1:36;7907:11;;;7903:24;7899:29;7889:40;7935:1;7931:11;;;7886:57;9202:81;;8349:944;;8379:663;7182:1;7175:14;;;7219:4;7206:18;;-1:-1:-1;;8415:20:36;;;8533:236;8547:7;8544:1;8541:14;8533:236;;;8636:19;;;8630:26;8615:42;;8728:27;;;;8696:1;8684:14;;;;8563:19;;8533:236;;;8537:3;8797:6;8788:7;8785:19;8782:201;;;8858:19;;;8852:26;-1:-1:-1;;8941:1:36;8937:14;;;8953:3;8933:24;8929:37;8925:42;8910:58;8895:74;;8782:201;-1:-1:-1;;;;;9029:1:36;9013:14;;;9009:22;8996:36;;-1:-1:-1;7954:1345:36:o;10222:232::-;10261:3;10282:17;;;10279:140;;10341:10;10336:3;10332:20;10329:1;10322:31;10376:4;10373:1;10366:15;10404:4;10401:1;10394:15;10279:140;-1:-1:-1;10446:1:36;10435:13;;10222:232::o;10459:184::-;10529:6;10582:2;10570:9;10561:7;10557:23;10553:32;10550:52;;;10598:1;10595;10588:12;10550:52;-1:-1:-1;10621:16:36;;10459:184;-1:-1:-1;10459:184:36:o" + "object": "6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611131565b6102b5565b6040516100e7939291906111be565b61013261012d36600461121d565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611131565b6104ca565b6040516100e7919061127f565b34801561019757600080fd5b506101326101a63660046112d7565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e7919061135f565b34801561025157600080fd5b50610265610260366004611131565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d7565b6109da565b3480156102a157600080fd5b506101326102b0366004611372565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138d565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138d565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138d565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155683398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c7565b90815260200160405180910390206040518060600160405290816000820180546105279061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138d565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138d565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138d565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff90869060040161135f565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e3565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c7565b908152604051908190036020019020815181906107d29082611455565b50602082015160018201906107e79082611455565b50604082015160028201906107fc9082611455565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111be565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c7565b90815260405190819003602001902080546109d09061138d565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a2190879060040161135f565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e3565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c7565b90815260405190819003602001902081518190610afc9082611455565b5060208201516001820190610b119082611455565b5060408201516002820190610b269082611455565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111be565b60405180910390a160018054906000610b7583611515565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611556833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153c565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115568339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c7565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b6576110b6611085565b604051601f8501601f19908116603f011681019082821181831017156110de576110de611085565b816040528093508581528686860111156110f757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112257600080fd5b610b7e8383356020850161109b565b60006020828403121561114357600080fd5b813567ffffffffffffffff81111561115a57600080fd5b61116684828501611111565b949350505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b6060815260006111d16060830186611192565b82810360208401526111e38186611192565b905082810360408401526111f78185611192565b9695505050505050565b80356001600160a01b038116811461121857600080fd5b919050565b6000806040838503121561123057600080fd5b61123983611201565b9150602083013567ffffffffffffffff81111561125557600080fd5b8301601f8101851361126657600080fd5b6112758582356020840161109b565b9150509250929050565b60208152600082516060602084015261129b6080840182611192565b90506020840151601f19808584030160408601526112b98383611192565b9250604086015191508085840301606086015250610fd98282611192565b6000806000606084860312156112ec57600080fd5b833567ffffffffffffffff8082111561130457600080fd5b61131087838801611111565b9450602086013591508082111561132657600080fd5b61133287838801611111565b9350604086013591508082111561134857600080fd5b5061135586828701611111565b9150509250925092565b602081526000610b7e6020830184611192565b60006020828403121561138457600080fd5b610b7e82611201565b600181811c908216806113a157607f821691505b6020821081036113c157634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113d981846020870161116e565b9190910192915050565b6000602082840312156113f557600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142e5750805b601f850160051c820191505b8181101561144d5782815560010161143a565b505050505050565b815167ffffffffffffffff81111561146f5761146f611085565b6114838161147d845461138d565b84611405565b602080601f8311600181146114b857600084156114a05750858301515b600019600386901b1c1916600185901b17855561144d565b600085815260208120601f198616915b828110156114e7578886015182559484019460019091019084016114c8565b50858210156115055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153557634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154e57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212202bfc3b81f904787b5ab23808a04349a17cd56f161fa1b7a96ecce2619be06d4264736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC2 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7F3ED719 GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xAD3CB1CC GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xB405166B EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xEF57D884 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7F3ED719 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x1AB JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6237526 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x3017BA09 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x794758BE EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x110 PUSH2 0x10B CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH2 0x132 PUSH2 0x12D CALLDATASIZE PUSH1 0x4 PUSH2 0x121D JUMP JUMPDEST PUSH2 0x47A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x499 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x4B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x127F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x1A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D7 JUMP JUMPDEST PUSH2 0x6D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x840 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x238 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x135F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D7 JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1372 JUMP JUMPDEST PUSH2 0xB85 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x0 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD DUP2 SWAP1 PUSH2 0x2DB SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x354 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x329 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x354 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x337 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x369 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x395 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3E2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3C5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x3F7 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x423 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x470 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x445 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x470 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x453 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xBC3 JUMP JUMPDEST PUSH2 0x48B DUP3 PUSH2 0xC68 JUMP JUMPDEST PUSH2 0x495 DUP3 DUP3 PUSH2 0xC70 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A3 PUSH2 0xD32 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x4BE PUSH2 0xD7B JUMP JUMPDEST PUSH2 0x4C8 PUSH1 0x0 PUSH2 0xDD6 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH2 0x4FE SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x527 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x553 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5A0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x575 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5A0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x583 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x5B9 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5E5 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x632 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x607 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x632 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x615 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x64B SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x677 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6C4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x699 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6C4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6A7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6DC PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x6FF SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x135F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x71C 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 0x740 SWAP2 SWAP1 PUSH2 0x13E3 JUMP JUMPDEST PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP5 PUSH1 0x40 MLOAD PUSH2 0x7B5 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0x7D2 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0x7E7 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x7FC SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0x4CD09E35844CCDF25AAC9862AF453CEDF05D8A8B765F2763BE8373B55215DF8D DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x833 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x1 PUSH1 0x40 SHL DUP2 DIV PUSH1 0xFF AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x886 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x8A3 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x8B1 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x8CF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x8F9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x902 CALLER PUSH2 0xE47 JUMP JUMPDEST PUSH2 0x90A PUSH2 0xE58 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SSTORE DUP4 ISZERO PUSH2 0x955 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD GT PUSH2 0x9A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x496E76616C69642073657276696365206E616D65 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x40 MLOAD PUSH2 0x9B6 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x9D0 SWAP1 PUSH2 0x138D JUMP JUMPDEST SWAP1 POP GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0xA21 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x135F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA3E 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 0xA62 SWAP2 SWAP1 PUSH2 0x13E3 JUMP JUMPDEST ISZERO PUSH2 0xAAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636520616C72656164792072656769737465726564000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 POP DUP1 PUSH1 0x0 DUP7 PUSH1 0x40 MLOAD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0xAFC SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0xB11 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0xB26 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xC182FE36565BE4905BE53A8ED353F07898B528F1625E778EDF77C13674806486 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xB5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xB75 DUP4 PUSH2 0x1515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP SWAP1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xB8D PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBB7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xDD6 JUMP JUMPDEST POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0xC4A JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC3E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBC0 PUSH2 0xD7B JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xCCA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xCC7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x153C JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xCF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0xD23 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xD2D DUP4 DUP4 PUSH2 0xE60 JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0xDAD PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0xE4F PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xEFF JUMP JUMPDEST PUSH2 0x4C8 PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xE69 DUP3 PUSH2 0xF07 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0xEAE JUMPI PUSH2 0xD2D DUP3 DUP3 PUSH2 0xF6C JUMP JUMPDEST PUSH2 0x495 PUSH2 0xFE2 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB8D PUSH2 0xEB6 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0xF3D JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0xF89 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xFC4 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 0xFC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xFD9 DUP6 DUP4 DUP4 PUSH2 0x1001 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1016 JUMPI PUSH2 0x1011 DUP3 PUSH2 0x105D JUMP JUMPDEST PUSH2 0xB7E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x102D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1056 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST POP DUP1 PUSH2 0xB7E JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x106C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x10B6 JUMPI PUSH2 0x10B6 PUSH2 0x1085 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x10DE JUMPI PUSH2 0x10DE PUSH2 0x1085 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x10F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1122 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x109B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x115A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1166 DUP5 DUP3 DUP6 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1189 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1171 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x11AA DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x116E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x11D1 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x1192 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x11E3 DUP2 DUP7 PUSH2 0x1192 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x11F7 DUP2 DUP6 PUSH2 0x1192 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1239 DUP4 PUSH2 0x1201 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1255 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x1266 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1275 DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x109B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0x60 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x129B PUSH1 0x80 DUP5 ADD DUP3 PUSH2 0x1192 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP1 DUP6 DUP5 SUB ADD PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x12B9 DUP4 DUP4 PUSH2 0x1192 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP6 DUP5 SUB ADD PUSH1 0x60 DUP7 ADD MSTORE POP PUSH2 0xFD9 DUP3 DUP3 PUSH2 0x1192 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x12EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1304 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1310 DUP8 DUP4 DUP9 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1332 DUP8 DUP4 DUP9 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1355 DUP7 DUP3 DUP8 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xB7E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1192 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1384 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP3 PUSH2 0x1201 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x13A1 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x13C1 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x13D9 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x116E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xD2D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x142E JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x144D JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x143A JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x146F JUMPI PUSH2 0x146F PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x1483 DUP2 PUSH2 0x147D DUP5 SLOAD PUSH2 0x138D JUMP JUMPDEST DUP5 PUSH2 0x1405 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x14B8 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x14A0 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x144D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x14E7 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x14C8 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1505 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1535 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x154E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA26469706673582212202B 0xFC EXTCODESIZE DUP2 0xF9 DIV PUSH25 0x7B5AB23808A04349A17CD56F161FA1B7A96ECCE2619BE06D42 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "498:2704:29:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;744:27;;;;;;;;;;;;;;;;;;;160:25:34;;;148:2;133:18;744:27:29;;;;;;;;696:42;;;;;;;;;;-1:-1:-1;696:42:29;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;4161:214:2:-;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;2106:117:29:-;;;;;;;;;;-1:-1:-1;2106:117:29;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2440:395::-;;;;;;;;;;-1:-1:-1;2440:395:29;;;;;:::i;:::-;;:::i;1099:144::-;;;;;;;;;;;;;:::i;2441::0:-;;;;;;;;;;-1:-1:-1;1313:22:0;2570:8;2441:144;;-1:-1:-1;;;;;2570:8:0;;;5127:51:34;;5115:2;5100:18;2441:144:0;4981:203:34;1819:58:2;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;2229:205:29:-;;;;;;;;;;-1:-1:-1;2229:205:29;;;;;:::i;:::-;;:::i;:::-;;;5579:14:34;;5572:22;5554:41;;5542:2;5527:18;2229:205:29;5414:187:34;1425:512:29;;;;;;;;;;-1:-1:-1;1425:512:29;;;;;:::i;:::-;;:::i;3405:215:0:-;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;696:42:29:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;2106:117:29:-;2169:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;2169:14:29;2202:8;2211:4;2202:14;;;;;;:::i;:::-;;;;;;;;;;;;;2195:21;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2106:117;;;:::o;2440:395::-;2334:13:0;:11;:13::i;:::-;2571:30:29::1;::::0;-1:-1:-1;;;2571:30:29;;:4:::1;::::0;:24:::1;::::0;:30:::1;::::0;2596:4;;2571:30:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2563:65;;;::::0;-1:-1:-1;;;2563:65:29;;6960:2:34;2563:65:29::1;::::0;::::1;6942:21:34::0;6999:2;6979:18;;;6972:30;-1:-1:-1;;;7018:18:34;;;7011:52;7080:18;;2563:65:29::1;;;;;;;;;2656:113;;;;;;;;2684:4;2656:113;;;;2712:8;2656:113;;;;2747:11;2656:113;;::::0;2639:8:::1;2648:4;2639:14;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:130;;:14;;:130:::1;::::0;:14;:130:::1;:::i;:::-;-1:-1:-1::0;2639:130:29::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;2639:130:29::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;;;;;2785:43;2800:4;2806:8;2816:11;2785:43;;;;;;;;:::i;:::-;;;;;;;;2440:395:::0;;;:::o;1099:144::-;3147:66:1;4302:15;;-1:-1:-1;;;4302:15:1;;;;4301:16;;4348:14;;4158:30;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;:16;;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;1150:26:29::1;1165:10;1150:14;:26::i;:::-;1186:24;:22;:24::i;:::-;1235:1;1220:12;:16:::0;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;9457:50:34;;5140:14:1;;9445:2:34;9430:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;1099:144:29:o;2229:205::-;2301:4;2346:1;2331:4;2325:18;:22;2317:55;;;;-1:-1:-1;;;2317:55:29;;9720:2:34;2317:55:29;;;9702:21:34;9759:2;9739:18;;;9732:30;-1:-1:-1;;;9778:18:34;;;9771:50;9838:18;;2317:55:29;9518:344:34;2317:55:29;2426:1;2396:8;2405:4;2396:14;;;;;;:::i;:::-;;;;;;;;;;;;;;2390:33;;;;;:::i;:::-;;;:37;2383:44;;2229:205;;;:::o;1425:512::-;1539:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;1539:14:29;1574:30;;-1:-1:-1;;;1574:30:29;;:4;;:24;;:30;;1599:4;;1574:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1573:31;1565:70;;;;-1:-1:-1;;;1565:70:29;;10069:2:34;1565:70:29;;;10051:21:34;10108:2;10088:18;;;10081:30;10147:28;10127:18;;;10120:56;10193:18;;1565:70:29;9867:350:34;1565:70:29;1646:22;1671:113;;;;;;;;1699:4;1671:113;;;;1727:8;1671:113;;;;1762:11;1671:113;;;1646:138;;1812:7;1795:8;1804:4;1795:14;;;;;;:::i;:::-;;;;;;;;;;;;;;:24;;:14;;:24;;:14;:24;:::i;:::-;-1:-1:-1;1795:24:29;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1795:24:29;;;;;;;;;;;;:::i;:::-;;;;;1835:46;1853:4;1859:8;1869:11;1835:46;;;;;;;;:::i;:::-;;;;;;;;1892:12;:14;;;:12;:14;;;:::i;:::-;;;;-1:-1:-1;1923:7:29;;-1:-1:-1;;1425:512:29;;;;;;:::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;5127:51:34::0;5100:18;;3534:31:0::1;4981:203:34::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:11;-1:-1:-1;;;;;1519:53:11;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;3024:84:29;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;5145:32:34;;6493:60:2;;;5127:51:34;5100:18;;6493:60:2;4981:203:34;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;160:25:34;;;133:18;;6292:34:2;14:177:34;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;:::-;6184:235;6032:538;;:::o;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;2658:162:0;966:10:3;2717:7:0;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144;2717:7;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;5127:51:34;5100:18;;2763:40:0;4981:203:34;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;1847:127::-;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;2264:344:11:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:11;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7082:141:1:-;3147:66;8558:40;-1:-1:-1;;;8558:40:1;;;;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;1671:281:11:-;1748:17;-1:-1:-1;;;;;1748:29:11;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:11;;-1:-1:-1;;;;;5145:32:34;;1805:47:11;;;5127:51:34;5100:18;;1805:47:11;4981:203:34;1744:119:11;-1:-1:-1;;;;;;;;;;;1872:73:11;;-1:-1:-1;;;;;;1872:73:11;-1:-1:-1;;;;;1872:73:11;;;;;;;;;;1671:281::o;3916:253:20:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:20;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:20:o;6113:122:11:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:11;;;;;;;;;;;4437:582:20;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:20;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:20;;-1:-1:-1;;;;;5145:32:34;;4933:24:20;;;5127:51:34;5100:18;;4933:24:20;4981:203:34;4853:119:20;-1:-1:-1;4992:10:20;4985:17;;5559:434;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:20;;;;;;;;;;;196:127:34;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:632;393:5;423:18;464:2;456:6;453:14;450:40;;;470:18;;:::i;:::-;545:2;539:9;513:2;599:15;;-1:-1:-1;;595:24:34;;;621:2;591:33;587:42;575:55;;;645:18;;;665:22;;;642:46;639:72;;;691:18;;:::i;:::-;731:10;727:2;720:22;760:6;751:15;;790:6;782;775:22;830:3;821:6;816:3;812:16;809:25;806:45;;;847:1;844;837:12;806:45;897:6;892:3;885:4;877:6;873:17;860:44;952:1;945:4;936:6;928;924:19;920:30;913:41;;;;328:632;;;;;:::o;965:222::-;1008:5;1061:3;1054:4;1046:6;1042:17;1038:27;1028:55;;1079:1;1076;1069:12;1028:55;1101:80;1177:3;1168:6;1155:20;1148:4;1140:6;1136:17;1101:80;:::i;1192:322::-;1261:6;1314:2;1302:9;1293:7;1289:23;1285:32;1282:52;;;1330:1;1327;1320:12;1282:52;1370:9;1357:23;1403:18;1395:6;1392:30;1389:50;;;1435:1;1432;1425:12;1389:50;1458;1500:7;1491:6;1480:9;1476:22;1458:50;:::i;:::-;1448:60;1192:322;-1:-1:-1;;;;1192:322:34:o;1519:250::-;1604:1;1614:113;1628:6;1625:1;1622:13;1614:113;;;1704:11;;;1698:18;1685:11;;;1678:39;1650:2;1643:10;1614:113;;;-1:-1:-1;;1761:1:34;1743:16;;1736:27;1519:250::o;1774:271::-;1816:3;1854:5;1848:12;1881:6;1876:3;1869:19;1897:76;1966:6;1959:4;1954:3;1950:14;1943:4;1936:5;1932:16;1897:76;:::i;:::-;2027:2;2006:15;-1:-1:-1;;2002:29:34;1993:39;;;;2034:4;1989:50;;1774:271;-1:-1:-1;;1774:271:34:o;2050:546::-;2295:2;2284:9;2277:21;2258:4;2321:45;2362:2;2351:9;2347:18;2339:6;2321:45;:::i;:::-;2414:9;2406:6;2402:22;2397:2;2386:9;2382:18;2375:50;2448:33;2474:6;2466;2448:33;:::i;:::-;2434:47;;2529:9;2521:6;2517:22;2512:2;2501:9;2497:18;2490:50;2557:33;2583:6;2575;2557:33;:::i;:::-;2549:41;2050:546;-1:-1:-1;;;;;;2050:546:34:o;2601:173::-;2669:20;;-1:-1:-1;;;;;2718:31:34;;2708:42;;2698:70;;2764:1;2761;2754:12;2698:70;2601:173;;;:::o;2779:524::-;2856:6;2864;2917:2;2905:9;2896:7;2892:23;2888:32;2885:52;;;2933:1;2930;2923:12;2885:52;2956:29;2975:9;2956:29;:::i;:::-;2946:39;;3036:2;3025:9;3021:18;3008:32;3063:18;3055:6;3052:30;3049:50;;;3095:1;3092;3085:12;3049:50;3118:22;;3171:4;3163:13;;3159:27;-1:-1:-1;3149:55:34;;3200:1;3197;3190:12;3149:55;3223:74;3289:7;3284:2;3271:16;3266:2;3262;3258:11;3223:74;:::i;:::-;3213:84;;;2779:524;;;;;:::o;3490:738::-;3669:2;3658:9;3651:21;3632:4;3707:6;3701:13;3750:4;3745:2;3734:9;3730:18;3723:32;3778:52;3825:3;3814:9;3810:19;3796:12;3778:52;:::i;:::-;3764:66;;3879:2;3871:6;3867:15;3861:22;3906:2;3902:7;3973:2;3961:9;3953:6;3949:22;3945:31;3940:2;3929:9;3925:18;3918:59;4000:41;4034:6;4018:14;4000:41;:::i;:::-;3986:55;;4090:2;4082:6;4078:15;4072:22;4050:44;;4160:2;4148:9;4140:6;4136:22;4132:31;4125:4;4114:9;4110:20;4103:61;;4181:41;4215:6;4199:14;4181:41;:::i;4233:743::-;4340:6;4348;4356;4409:2;4397:9;4388:7;4384:23;4380:32;4377:52;;;4425:1;4422;4415:12;4377:52;4465:9;4452:23;4494:18;4535:2;4527:6;4524:14;4521:34;;;4551:1;4548;4541:12;4521:34;4574:50;4616:7;4607:6;4596:9;4592:22;4574:50;:::i;:::-;4564:60;;4677:2;4666:9;4662:18;4649:32;4633:48;;4706:2;4696:8;4693:16;4690:36;;;4722:1;4719;4712:12;4690:36;4745:52;4789:7;4778:8;4767:9;4763:24;4745:52;:::i;:::-;4735:62;;4850:2;4839:9;4835:18;4822:32;4806:48;;4879:2;4869:8;4866:16;4863:36;;;4895:1;4892;4885:12;4863:36;;4918:52;4962:7;4951:8;4940:9;4936:24;4918:52;:::i;:::-;4908:62;;;4233:743;;;;;:::o;5189:220::-;5338:2;5327:9;5320:21;5301:4;5358:45;5399:2;5388:9;5384:18;5376:6;5358:45;:::i;5606:186::-;5665:6;5718:2;5706:9;5697:7;5693:23;5689:32;5686:52;;;5734:1;5731;5724:12;5686:52;5757:29;5776:9;5757:29;:::i;5797:380::-;5876:1;5872:12;;;;5919;;;5940:61;;5994:4;5986:6;5982:17;5972:27;;5940:61;6047:2;6039:6;6036:14;6016:18;6013:38;6010:161;;6093:10;6088:3;6084:20;6081:1;6074:31;6128:4;6125:1;6118:15;6156:4;6153:1;6146:15;6010:161;;5797:380;;;:::o;6182:289::-;6313:3;6351:6;6345:13;6367:66;6426:6;6421:3;6414:4;6406:6;6402:17;6367:66;:::i;:::-;6449:16;;;;;6182:289;-1:-1:-1;;6182:289:34:o;6476:277::-;6543:6;6596:2;6584:9;6575:7;6571:23;6567:32;6564:52;;;6612:1;6609;6602:12;6564:52;6644:9;6638:16;6697:5;6690:13;6683:21;6676:5;6673:32;6663:60;;6719:1;6716;6709:12;7235:543;7337:2;7332:3;7329:11;7326:446;;;7373:1;7397:5;7394:1;7387:16;7441:4;7438:1;7428:18;7511:2;7499:10;7495:19;7492:1;7488:27;7482:4;7478:38;7547:4;7535:10;7532:20;7529:47;;;-1:-1:-1;7570:4:34;7529:47;7625:2;7620:3;7616:12;7613:1;7609:20;7603:4;7599:31;7589:41;;7680:82;7698:2;7691:5;7688:13;7680:82;;;7743:17;;;7724:1;7713:13;7680:82;;;7684:3;;;7235:543;;;:::o;7954:1345::-;8080:3;8074:10;8107:18;8099:6;8096:30;8093:56;;;8129:18;;:::i;:::-;8158:97;8248:6;8208:38;8240:4;8234:11;8208:38;:::i;:::-;8202:4;8158:97;:::i;:::-;8310:4;;8367:2;8356:14;;8384:1;8379:663;;;;9086:1;9103:6;9100:89;;;-1:-1:-1;9155:19:34;;;9149:26;9100:89;-1:-1:-1;;7911:1:34;7907:11;;;7903:24;7899:29;7889:40;7935:1;7931:11;;;7886:57;9202:81;;8349:944;;8379:663;7182:1;7175:14;;;7219:4;7206:18;;-1:-1:-1;;8415:20:34;;;8533:236;8547:7;8544:1;8541:14;8533:236;;;8636:19;;;8630:26;8615:42;;8728:27;;;;8696:1;8684:14;;;;8563:19;;8533:236;;;8537:3;8797:6;8788:7;8785:19;8782:201;;;8858:19;;;8852:26;-1:-1:-1;;8941:1:34;8937:14;;;8953:3;8933:24;8929:37;8925:42;8910:58;8895:74;;8782:201;-1:-1:-1;;;;;9029:1:34;9013:14;;;9009:22;8996:36;;-1:-1:-1;7954:1345:34:o;10222:232::-;10261:3;10282:17;;;10279:140;;10341:10;10336:3;10332:20;10329:1;10322:31;10376:4;10373:1;10366:15;10404:4;10401:1;10394:15;10279:140;-1:-1:-1;10446:1:34;10435:13;;10222:232::o;10459:184::-;10529:6;10582:2;10570:9;10561:7;10557:23;10553:32;10550:52;;;10598:1;10595;10588:12;10550:52;-1:-1:-1;10621:16:34;;10459:184;-1:-1:-1;10459:184:34:o" }, "methodIdentifiers": { "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", @@ -131515,19 +130525,19 @@ "upgradeToAndCall(address,bytes)": "4f1ef286" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ServiceRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ServiceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"getService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"internalType\":\"struct ServiceRegistryUpgradeable.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"isServiceRegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"registerService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"internalType\":\"struct ServiceRegistryUpgradeable.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"serviceCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"services\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"updateService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getService(string)\":{\"details\":\"Retrieves the details of a service.\",\"params\":{\"name\":\"The name of the service to retrieve.\"},\"returns\":{\"_0\":\"The details of the service.\"}},\"initialize()\":{\"details\":\"Initializes the contract\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerService(string,string,string)\":{\"details\":\"Registers a new service with the given name and price.\",\"params\":{\"name\":\"The name of the service.\"},\"returns\":{\"_0\":\"The ID of the registered service.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"ServiceRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the services provided by agents.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ServiceRegistryUpgradeable.sol\":\"ServiceRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ServiceRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ServiceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"getService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"internalType\":\"struct ServiceRegistryUpgradeable.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"isServiceRegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"registerService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"internalType\":\"struct ServiceRegistryUpgradeable.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"serviceCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"services\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"updateService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getService(string)\":{\"details\":\"Retrieves the details of a service.\",\"params\":{\"name\":\"The name of the service to retrieve.\"},\"returns\":{\"_0\":\"The details of the service.\"}},\"initialize()\":{\"details\":\"Initializes the contract\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerService(string,string,string)\":{\"details\":\"Registers a new service with the given name and price.\",\"params\":{\"name\":\"The name of the service.\"},\"returns\":{\"_0\":\"The ID of the registered service.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"ServiceRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the services provided by agents.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ServiceRegistryUpgradeable.sol\":\"ServiceRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]}},\"version\":1}", "storageLayout": { "storage": [ { - "astId": 4425, + "astId": 4426, "contract": "contracts/ServiceRegistryUpgradeable.sol:ServiceRegistryUpgradeable", "label": "services", "offset": 0, "slot": "0", - "type": "t_mapping(t_string_memory_ptr,t_struct(Service)4420_storage)" + "type": "t_mapping(t_string_memory_ptr,t_struct(Service)4421_storage)" }, { - "astId": 4427, + "astId": 4428, "contract": "contracts/ServiceRegistryUpgradeable.sol:ServiceRegistryUpgradeable", "label": "serviceCount", "offset": 0, @@ -131535,7 +130545,7 @@ "type": "t_uint256" }, { - "astId": 4614, + "astId": 4615, "contract": "contracts/ServiceRegistryUpgradeable.sol:ServiceRegistryUpgradeable", "label": "__gap", "offset": 0, @@ -131550,12 +130560,12 @@ "label": "uint256[50]", "numberOfBytes": "1600" }, - "t_mapping(t_string_memory_ptr,t_struct(Service)4420_storage)": { + "t_mapping(t_string_memory_ptr,t_struct(Service)4421_storage)": { "encoding": "mapping", "key": "t_string_memory_ptr", "label": "mapping(string => struct ServiceRegistryUpgradeable.Service)", "numberOfBytes": "32", - "value": "t_struct(Service)4420_storage" + "value": "t_struct(Service)4421_storage" }, "t_string_memory_ptr": { "encoding": "bytes", @@ -131567,12 +130577,12 @@ "label": "string", "numberOfBytes": "32" }, - "t_struct(Service)4420_storage": { + "t_struct(Service)4421_storage": { "encoding": "inplace", "label": "struct ServiceRegistryUpgradeable.Service", "members": [ { - "astId": 4415, + "astId": 4416, "contract": "contracts/ServiceRegistryUpgradeable.sol:ServiceRegistryUpgradeable", "label": "name", "offset": 0, @@ -131580,7 +130590,7 @@ "type": "t_string_storage" }, { - "astId": 4417, + "astId": 4418, "contract": "contracts/ServiceRegistryUpgradeable.sol:ServiceRegistryUpgradeable", "label": "category", "offset": 0, @@ -131588,7 +130598,7 @@ "type": "t_string_storage" }, { - "astId": 4419, + "astId": 4420, "contract": "contracts/ServiceRegistryUpgradeable.sol:ServiceRegistryUpgradeable", "label": "description", "offset": 0, @@ -132340,9 +131350,9 @@ "evm": { "bytecode": { "functionDebugData": { - "@_4695": { + "@_4696": { "entryPoint": null, - "id": 4695, + "id": 4696, "parameterSlots": 0, "returnSlots": 0 }, @@ -132374,59 +131384,59 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:216:36", + "nativeSrc": "0:216:34", "nodeType": "YulBlock", - "src": "0:216:36", + "src": "0:216:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "113:101:36", + "nativeSrc": "113:101:34", "nodeType": "YulBlock", - "src": "113:101:36", + "src": "113:101:34", "statements": [ { - "nativeSrc": "123:26:36", + "nativeSrc": "123:26:34", "nodeType": "YulAssignment", - "src": "123:26:36", + "src": "123:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "135:9:36", + "nativeSrc": "135:9:34", "nodeType": "YulIdentifier", - "src": "135:9:36" + "src": "135:9:34" }, { "kind": "number", - "nativeSrc": "146:2:36", + "nativeSrc": "146:2:34", "nodeType": "YulLiteral", - "src": "146:2:36", + "src": "146:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "131:3:36", + "nativeSrc": "131:3:34", "nodeType": "YulIdentifier", - "src": "131:3:36" + "src": "131:3:34" }, - "nativeSrc": "131:18:36", + "nativeSrc": "131:18:34", "nodeType": "YulFunctionCall", - "src": "131:18:36" + "src": "131:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "123:4:36", + "nativeSrc": "123:4:34", "nodeType": "YulIdentifier", - "src": "123:4:36" + "src": "123:4:34" } ] }, @@ -132435,17 +131445,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "165:9:36", + "nativeSrc": "165:9:34", "nodeType": "YulIdentifier", - "src": "165:9:36" + "src": "165:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "180:6:36", + "nativeSrc": "180:6:34", "nodeType": "YulIdentifier", - "src": "180:6:36" + "src": "180:6:34" }, { "arguments": [ @@ -132453,120 +131463,120 @@ "arguments": [ { "kind": "number", - "nativeSrc": "196:2:36", + "nativeSrc": "196:2:34", "nodeType": "YulLiteral", - "src": "196:2:36", + "src": "196:2:34", "type": "", "value": "64" }, { "kind": "number", - "nativeSrc": "200:1:36", + "nativeSrc": "200:1:34", "nodeType": "YulLiteral", - "src": "200:1:36", + "src": "200:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "192:3:36", + "nativeSrc": "192:3:34", "nodeType": "YulIdentifier", - "src": "192:3:36" + "src": "192:3:34" }, - "nativeSrc": "192:10:36", + "nativeSrc": "192:10:34", "nodeType": "YulFunctionCall", - "src": "192:10:36" + "src": "192:10:34" }, { "kind": "number", - "nativeSrc": "204:1:36", + "nativeSrc": "204:1:34", "nodeType": "YulLiteral", - "src": "204:1:36", + "src": "204:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "188:3:36", + "nativeSrc": "188:3:34", "nodeType": "YulIdentifier", - "src": "188:3:36" + "src": "188:3:34" }, - "nativeSrc": "188:18:36", + "nativeSrc": "188:18:34", "nodeType": "YulFunctionCall", - "src": "188:18:36" + "src": "188:18:34" } ], "functionName": { "name": "and", - "nativeSrc": "176:3:36", + "nativeSrc": "176:3:34", "nodeType": "YulIdentifier", - "src": "176:3:36" + "src": "176:3:34" }, - "nativeSrc": "176:31:36", + "nativeSrc": "176:31:34", "nodeType": "YulFunctionCall", - "src": "176:31:36" + "src": "176:31:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "158:6:36", + "nativeSrc": "158:6:34", "nodeType": "YulIdentifier", - "src": "158:6:36" + "src": "158:6:34" }, - "nativeSrc": "158:50:36", + "nativeSrc": "158:50:34", "nodeType": "YulFunctionCall", - "src": "158:50:36" + "src": "158:50:34" }, - "nativeSrc": "158:50:36", + "nativeSrc": "158:50:34", "nodeType": "YulExpressionStatement", - "src": "158:50:36" + "src": "158:50:34" } ] }, "name": "abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed", - "nativeSrc": "14:200:36", + "nativeSrc": "14:200:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "82:9:36", + "nativeSrc": "82:9:34", "nodeType": "YulTypedName", - "src": "82:9:36", + "src": "82:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "93:6:36", + "nativeSrc": "93:6:34", "nodeType": "YulTypedName", - "src": "93:6:36", + "src": "93:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "104:4:36", + "nativeSrc": "104:4:34", "nodeType": "YulTypedName", - "src": "104:4:36", + "src": "104:4:34", "type": "" } ], - "src": "14:200:36" + "src": "14:200:34" } ] }, "contents": "{\n { }\n function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n }\n}", - "id": 36, + "id": 34, "language": "Yul", "name": "#utility.yul" } ], "linkReferences": {}, - "object": "60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125d06200010460003960008181611699015281816116c2015261180801526125d06000f3fe6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed2565b6103f8565b60405161012e9190611f9f565b60405180910390f35b34801561014357600080fd5b50610170610152366004612049565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612049565b610853565b3480156101d457600080fd5b506101e86101e3366004612077565b610a1f565b60405190815260200161012e565b6102096102043660046120a3565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612049565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612107565b34801561027357600080fd5b50610209610282366004612115565b610a8c565b34801561029357600080fd5b506102a76102a236600461214b565b610d56565b60405161012e9190612168565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ac565b610dd6565b3480156102f557600080fd5b50610209610304366004612049565b61100f565b34801561031557600080fd5b50610329610324366004612049565b611282565b60405161012e9897969594939291906121e9565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225c565b3480156103c457600080fd5b506102096103d336600461226f565b6113ed565b3480156103e457600080fd5b506102096103f336600461214b565b611512565b610400611d7e565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b4565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612424565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e4565b60405180910390a36002805490600061069083612503565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a2565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f67565b600381111561078357610783611f67565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a2565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7e565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a2565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f67565b600381111561095457610954611f67565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a2565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257b83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f67565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b4565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d16919061252a565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f67565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612424565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b4565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612107565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225c565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f67565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f67565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b4565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612107565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a2565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a2565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a2565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612543565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255f565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257b833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f191682019092526117929181019061252a565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257b83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612543565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612543565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255f565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612543565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d655780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dbb57611dbb611f67565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1557611e15611ddc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4457611e44611ddc565b604052919050565b600067ffffffffffffffff821115611e6657611e66611ddc565b50601f01601f191660200190565b6000611e87611e8284611e4c565b611e1b565b9050828152838383011115611e9b57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec357600080fd5b611d4e83833560208501611e74565b60008060408385031215611ee557600080fd5b823567ffffffffffffffff811115611efc57600080fd5b611f0885828601611eb2565b95602094909401359450505050565b60005b83811015611f32578181015183820152602001611f1a565b50506000910152565b60008151808452611f53816020860160208601611f17565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9b57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc8610120850183611f3b565b915060018060a01b0360408601511660608501526060850151611fee6080860182611f7d565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120298382611f3b565b92505060e085015161203f8286018260ff169052565b5090949350505050565b60006020828403121561205b57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208a57600080fd5b823561209581612062565b946020939093013593505050565b600080604083850312156120b657600080fd5b82356120c181612062565b9150602083013567ffffffffffffffff8111156120dd57600080fd5b8301601f810185136120ee57600080fd5b6120fd85823560208401611e74565b9150509250929050565b6020810161084d8284611f7d565b6000806040838503121561212857600080fd5b82359150602083013560ff8116811461214057600080fd5b809150509250929050565b60006020828403121561215d57600080fd5b8135611d4e81612062565b6020808252825182820181905260009190848201906040850190845b818110156121a057835183529284019291840191600101612184565b50909695505050505050565b600080604083850312156121bf57600080fd5b82359150602083013567ffffffffffffffff8111156121dd57600080fd5b6120fd85828601611eb2565b60006101008a83528060208401526122038184018b611f3b565b6001600160a01b038a81166040860152909150612223606085018a611f7d565b8716608084015260a0830186905282810360c08401526122438186611f3b565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3b565b6000806040838503121561228257600080fd5b82359150602083013561214081612062565b805161229f81612062565b919050565b8051801515811461229f57600080fd5b600060208083850312156122c757600080fd5b825167ffffffffffffffff808211156122df57600080fd5b9084019060c082870312156122f357600080fd5b6122fb611df2565b825161230681612062565b8152828401518281111561231957600080fd5b83019150601f8201871361232c57600080fd5b815161233a611e8282611e4c565b818152888683860101111561234e57600080fd5b61235d82878301888701611f17565b82860152506040838101519082015261237860608401612294565b60608201526080830151608082015261239360a084016122a4565b60a08201529695505050505050565b600181811c908216806123b657607f821691505b6020821081036123d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124055750805b601f850160051c820191505b8181101561168657828155600101612411565b815167ffffffffffffffff81111561243e5761243e611ddc565b6124528161244c84546123a2565b846123dc565b602080601f831160018114612487576000841561246f5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b657888601518255948401946001909101908401612497565b50858210156124d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3b565b60006001820161252357634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253c57600080fd5b5051919050565b60008251612555818460208701611f17565b9190910192915050565b60006020828403121561257157600080fd5b611d4e826122a456fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212208f40cf9ab38d17f231b9dd40e08f97b5d7961b046396f82e8238ef30cbd9ec6764736f6c63430008160033", - "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x25D0 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x1699 ADD MSTORE DUP2 DUP2 PUSH2 0x16C2 ADD MSTORE PUSH2 0x1808 ADD MSTORE PUSH2 0x25D0 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x639241AB GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x8D977672 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8D977672 EQ PUSH2 0x309 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x33D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x37A JUMPI DUP1 PUSH4 0xDA35A26F EQ PUSH2 0x3B8 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x639241AB EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x74AAA760 EQ PUSH2 0x2C9 JUMPI DUP1 PUSH4 0x7EEC20A8 EQ PUSH2 0x2E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2A2B3A9D GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x2A2B3A9D EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1F6 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x20B JUMPI DUP1 PUSH4 0x5C622A0E EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0x6298EEE0 EQ PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4FE2B34 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x7B31818 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0xD1CFCAE EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x1D65E77E EQ PUSH2 0x1A8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x121 PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x1ED2 JUMP JUMPDEST PUSH2 0x3F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x1F9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x170 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x170 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x853 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0x1E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2077 JUMP JUMPDEST PUSH2 0xA1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A3 JUMP JUMPDEST PUSH2 0xA50 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0xA6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25A PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2107 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x2115 JUMP JUMPDEST PUSH2 0xA8C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x214B JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2168 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0xDC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x21AC JUMP JUMPDEST PUSH2 0xDD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x304 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x100F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x329 PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x21E9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x170 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x386 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x225C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x226F JUMP JUMPDEST PUSH2 0x13ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x214B JUMP JUMPDEST PUSH2 0x1512 JUMP JUMPDEST PUSH2 0x400 PUSH2 0x1D7E JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x44A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x472 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x52B JUMPI CALLVALUE DUP2 PUSH1 0x40 ADD MLOAD EQ PUSH2 0x526 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x496E76616C6964207072696365 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x58A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F204554482073686F756C642062652073656E7420666F7220455243323020 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x7061796D656E7473 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E DUP2 PUSH1 0x60 ADD MLOAD CALLER ADDRESS DUP5 PUSH1 0x40 ADD MLOAD PUSH2 0x1550 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP2 SSTORE PUSH1 0x1 DUP2 ADD PUSH2 0x5C0 DUP7 DUP3 PUSH2 0x2424 JUMP JUMPDEST POP PUSH1 0x2 DUP2 DUP2 ADD DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND DUP2 OR DUP4 SSTORE PUSH1 0x4 DUP6 ADD DUP9 SWAP1 SSTORE DUP6 MLOAD PUSH1 0x3 DUP7 ADD DUP1 SLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP5 SLOAD DUP6 SLOAD DUP1 DUP5 ADD DUP8 SSTORE SWAP6 DUP5 MSTORE SWAP3 KECCAK256 SWAP1 SWAP4 ADD SSTORE DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL DUP4 MUL OR SWAP1 SSTORE POP DUP2 MLOAD PUSH1 0x2 SLOAD PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP3 CALLER SWAP3 PUSH32 0x5C005BBBB9DA508C37935B1A9F270836E0BE1FD11D4D47119F925A3FF33820E9 SWAP3 PUSH2 0x678 SWAP3 DUP12 SWAP1 PUSH2 0x24E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x2 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x690 DUP4 PUSH2 0x2503 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x6BC SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6E8 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x735 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x70A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x735 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x718 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x772 JUMPI PUSH2 0x772 PUSH2 0x1F67 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x783 JUMPI PUSH2 0x783 PUSH2 0x1F67 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x7B7 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E3 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x830 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x805 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x830 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x813 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x85B PUSH2 0x1D7E JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x88D SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8B9 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x906 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8DB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x906 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8E9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x943 JUMPI PUSH2 0x943 PUSH2 0x1F67 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x954 JUMPI PUSH2 0x954 PUSH2 0x1F67 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x988 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x9B4 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA01 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9D6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA01 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9E4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xA3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0xA58 PUSH2 0x168E JUMP JUMPDEST PUSH2 0xA61 DUP3 PUSH2 0x1733 JUMP JUMPDEST PUSH2 0xA6B DUP3 DUP3 PUSH2 0x173B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA79 PUSH2 0x17FD JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xAF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB26 JUMPI PUSH2 0xB26 PUSH2 0x1F67 JUMP JUMPDEST EQ PUSH2 0xB6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x15185CDAC81A5CC81B9BDD0818DBDB5C1B195D1959 PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xBC0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B20676F7420726174696E6720616C7265616479000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x64 DUP4 PUSH1 0xFF AND GT ISZERO PUSH2 0xC14 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP6 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC9A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 MLOAD PUSH1 0x40 MLOAD PUSH4 0x70370A81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP9 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP3 SWAP4 POP AND SWAP1 PUSH4 0x70370A81 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCF2 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 0xD16 SWAP2 SWAP1 PUSH2 0x252A JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xFF DUP6 AND DUP2 MSTORE DUP6 SWAP1 PUSH32 0xF9189BFC5977D44B1A00920E53A6A0E00229F6C53E76B73FC7E0581AE99ABDC SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xDB6 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xDA2 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCA PUSH2 0x1846 JUMP JUMPDEST PUSH2 0xDD4 PUSH1 0x0 PUSH2 0x18A1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x139BDD08185D5D1A1BDC9A5E9959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE53 JUMPI PUSH2 0xE53 PUSH2 0x1F67 JUMP JUMPDEST EQ PUSH2 0xE96 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x496E76616C6964207461736B20737461747573 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA1 SHL OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD PUSH2 0xEB9 DUP4 DUP3 PUSH2 0x2424 JUMP JUMPDEST POP PUSH1 0x3 SLOAD PUSH1 0x4 DUP3 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF07 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF2F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF66 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0xF61 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0xF89 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xF89 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0xFC9 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2107 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP4 PUSH32 0x7E6FFC29FE63759579D96A0457A8F2E08339ACA345BD469F59DC2E61F82A5AEB DUP5 PUSH1 0x40 MLOAD PUSH2 0x1001 SWAP2 SWAP1 PUSH2 0x225C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x107A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A9 PUSH2 0x1F67 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x10D7 JUMPI POP PUSH1 0x3 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10D4 JUMPI PUSH2 0x10D4 PUSH2 0x1F67 JUMP JUMPDEST EQ ISZERO JUMPDEST PUSH2 0x1123 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B2063616E6E6F742062652063616E63656C6564000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x3 PUSH1 0xA0 SHL PUSH1 0xFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1187 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x11AF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x11E6 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x11E1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0x1209 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1209 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0x1249 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2107 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x40 MLOAD DUP5 SWAP1 PUSH32 0x1AA8A90C7D7A86BAC690072D3F3D726BB8EBBE1989E158530440963F04C11EB2 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x12A4 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x12D0 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x12F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1300 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD DUP1 SLOAD SWAP6 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND SWAP8 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 SWAP7 DIV PUSH1 0xFF AND SWAP7 POP SWAP1 SWAP4 AND SWAP4 SWAP2 SWAP3 SWAP2 PUSH2 0x1361 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138D SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13DA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13AF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13DA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13BD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x6 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 POP POP PUSH1 0xFF AND DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F7 PUSH2 0x1B1D JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x141F JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x143C JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x144A JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1468 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1492 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x149B CALLER PUSH2 0x1B46 JUMP JUMPDEST PUSH2 0x14A3 PUSH2 0x1B57 JUMP JUMPDEST PUSH1 0x2 DUP8 SWAP1 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE DUP4 ISZERO PUSH2 0x1509 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x151A PUSH2 0x1846 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1544 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x18A1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH2 0x15B4 SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x15F1 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 0x15F6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1620 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1620 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1620 SWAP2 SWAP1 PUSH2 0x255F JUMP JUMPDEST PUSH2 0x1686 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A7472616E7366657246726F6D3A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x185B9CD9995C919C9BDB4819985A5B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x1715 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1709 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x154D PUSH2 0x1846 JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1795 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1792 SWAP2 DUP2 ADD SWAP1 PUSH2 0x252A JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x17BD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x17EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x17F8 DUP4 DUP4 PUSH2 0x1B5F JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0x1878 PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP4 SWAP1 PUSH1 0x40 MLOAD PUSH2 0x193C SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1979 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 0x197E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665724554483A PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x8115512081D1C985B9CD9995C8819985A5B1959 PUSH1 0x62 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP8 AND SWAP2 PUSH2 0x1A48 SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1A85 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 0x1A8A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1AB4 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1AB4 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1AB4 SWAP2 SWAP1 PUSH2 0x255F JUMP JUMPDEST PUSH2 0x1B16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665723A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x185B9CD9995C8819985A5B1959 PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0x84D JUMP JUMPDEST PUSH2 0x1B4E PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x1BDA JUMP JUMPDEST PUSH2 0xDD4 PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x1B68 DUP3 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1BAD JUMPI PUSH2 0x17F8 DUP3 DUP3 PUSH2 0x1C47 JUMP JUMPDEST PUSH2 0xA6B PUSH2 0x1CBD JUMP JUMPDEST PUSH2 0x1BBD PUSH2 0x1CDC JUMP JUMPDEST PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x151A PUSH2 0x1BB5 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1C18 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x1C64 SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1C9F 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 0x1CA4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1CB4 DUP6 DUP4 DUP4 PUSH2 0x1CF6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1CE6 PUSH2 0x1B1D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1D0B JUMPI PUSH2 0x1D06 DUP3 PUSH2 0x1D55 JUMP JUMPDEST PUSH2 0x1D4E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1D22 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1D4B JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1D65 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1DBB JUMPI PUSH2 0x1DBB PUSH2 0x1F67 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD MSTORE PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP1 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 0xC0 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E15 JUMPI PUSH2 0x1E15 PUSH2 0x1DDC JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E44 JUMPI PUSH2 0x1E44 PUSH2 0x1DDC JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E66 JUMPI PUSH2 0x1E66 PUSH2 0x1DDC JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E87 PUSH2 0x1E82 DUP5 PUSH2 0x1E4C JUMP JUMPDEST PUSH2 0x1E1B JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x1E9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1EC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x1E74 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1EE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F08 DUP6 DUP3 DUP7 ADD PUSH2 0x1EB2 JUMP JUMPDEST SWAP6 PUSH1 0x20 SWAP5 SWAP1 SWAP5 ADD CALLDATALOAD SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1F32 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1F1A JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1F53 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1F17 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x1F9B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x100 DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1FC8 PUSH2 0x120 DUP6 ADD DUP4 PUSH2 0x1F3B JUMP JUMPDEST SWAP2 POP PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 DUP7 ADD MLOAD AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH2 0x1FEE PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1F7D JUMP JUMPDEST POP PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0xA0 DUP7 ADD MSTORE POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0x1F NOT DUP6 DUP5 SUB ADD PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x2029 DUP4 DUP3 PUSH2 0x1F3B JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 DUP6 ADD MLOAD PUSH2 0x203F DUP3 DUP7 ADD DUP3 PUSH1 0xFF AND SWAP1 MSTORE JUMP JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x205B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x154D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x208A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2095 DUP2 PUSH2 0x2062 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x20C1 DUP2 PUSH2 0x2062 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x20EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FD DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1E74 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x84D DUP3 DUP5 PUSH2 0x1F7D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x2140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x215D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D4E DUP2 PUSH2 0x2062 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x21A0 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x2184 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FD DUP6 DUP3 DUP7 ADD PUSH2 0x1EB2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP11 DUP4 MSTORE DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2203 DUP2 DUP5 ADD DUP12 PUSH2 0x1F3B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x40 DUP7 ADD MSTORE SWAP1 SWAP2 POP PUSH2 0x2223 PUSH1 0x60 DUP6 ADD DUP11 PUSH2 0x1F7D JUMP JUMPDEST DUP8 AND PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD DUP7 SWAP1 MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x2243 DUP2 DUP7 PUSH2 0x1F3B JUMP JUMPDEST SWAP2 POP POP PUSH1 0xFF DUP4 AND PUSH1 0xE0 DUP4 ADD MSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1D4E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1F3B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2282 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x2140 DUP2 PUSH2 0x2062 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x229F DUP2 PUSH2 0x2062 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x229F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x22DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP5 ADD SWAP1 PUSH1 0xC0 DUP3 DUP8 SUB SLT ISZERO PUSH2 0x22F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22FB PUSH2 0x1DF2 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2306 DUP2 PUSH2 0x2062 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP5 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2319 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD SWAP2 POP PUSH1 0x1F DUP3 ADD DUP8 SGT PUSH2 0x232C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x233A PUSH2 0x1E82 DUP3 PUSH2 0x1E4C JUMP JUMPDEST DUP2 DUP2 MSTORE DUP9 DUP7 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x234E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x235D DUP3 DUP8 DUP4 ADD DUP9 DUP8 ADD PUSH2 0x1F17 JUMP JUMPDEST DUP3 DUP7 ADD MSTORE POP PUSH1 0x40 DUP4 DUP2 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x2378 PUSH1 0x60 DUP5 ADD PUSH2 0x2294 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x2393 PUSH1 0xA0 DUP5 ADD PUSH2 0x22A4 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x23B6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x23D6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x17F8 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2405 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1686 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2411 JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x243E JUMPI PUSH2 0x243E PUSH2 0x1DDC JUMP JUMPDEST PUSH2 0x2452 DUP2 PUSH2 0x244C DUP5 SLOAD PUSH2 0x23A2 JUMP JUMPDEST DUP5 PUSH2 0x23DC JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2487 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x246F JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1686 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x24B6 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2497 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x24D4 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1CB4 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1F3B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2523 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x253C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2555 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1F17 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2571 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP3 PUSH2 0x22A4 JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA26469706673582212208F BLOCKHASH 0xCF SWAP11 0xB3 DUP14 OR CALLCODE BALANCE 0xB9 0xDD BLOCKHASH 0xE0 DUP16 SWAP8 0xB5 0xD7 SWAP7 SHL DIV PUSH4 0x96F82E82 CODESIZE 0xEF ADDRESS 0xCB 0xD9 0xEC PUSH8 0x64736F6C63430008 AND STOP CALLER ", - "sourceMap": "632:6620:30:-:0;;;1171:4:2;1128:48;;1419:53:30;;;;;;;;;-1:-1:-1;1443:22:30;:20;:22::i;:::-;632:6620;;7709:422:1;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:1;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:1;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:1;-1:-1:-1;;;;;8033:33:1;;;;;8085:29;;158:50:36;;;8085:29:1;;146:2:36;131:18;8085:29:1;;;;;;;7979:146;7758:373;7709:422::o;14:200:36:-;632:6620:30;;;;;;;;;;;;;;;;;;;;;;" + "object": "60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125cf6200010460003960008181611699015281816116c2015261180801526125cf6000f3fe6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed1565b6103f8565b60405161012e9190611f9e565b60405180910390f35b34801561014357600080fd5b50610170610152366004612048565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612048565b610853565b3480156101d457600080fd5b506101e86101e3366004612076565b610a1f565b60405190815260200161012e565b6102096102043660046120a2565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612048565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612106565b34801561027357600080fd5b50610209610282366004612114565b610a8c565b34801561029357600080fd5b506102a76102a236600461214a565b610d56565b60405161012e9190612167565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ab565b610dd6565b3480156102f557600080fd5b50610209610304366004612048565b61100f565b34801561031557600080fd5b50610329610324366004612048565b611282565b60405161012e9897969594939291906121e8565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225b565b3480156103c457600080fd5b506102096103d336600461226e565b6113ed565b3480156103e457600080fd5b506102096103f336600461214a565b611512565b610400611d7d565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b3565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612423565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e3565b60405180910390a36002805490600061069083612502565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a1565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f66565b600381111561078357610783611f66565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a1565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7d565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a1565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f66565b600381111561095457610954611f66565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a1565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257a83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f66565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b3565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190612529565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f66565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612423565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b3565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612106565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225b565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f66565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f66565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b3565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612106565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a1565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a1565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a1565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612542565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255e565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257a833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f1916820190925261179291810190612529565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257a83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612542565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612542565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255e565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612542565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d6457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dba57611dba611f66565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1457611e14611ddb565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4357611e43611ddb565b604052919050565b600067ffffffffffffffff821115611e6557611e65611ddb565b50601f01601f191660200190565b6000611e86611e8184611e4b565b611e1a565b9050828152838383011115611e9a57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec257600080fd5b611d4e83833560208501611e73565b60008060408385031215611ee457600080fd5b823567ffffffffffffffff811115611efb57600080fd5b611f0785828601611eb1565b95602094909401359450505050565b60005b83811015611f31578181015183820152602001611f19565b50506000910152565b60008151808452611f52816020860160208601611f16565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9a57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc7610120850183611f3a565b915060018060a01b0360408601511660608501526060850151611fed6080860182611f7c565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120288382611f3a565b92505060e085015161203e8286018260ff169052565b5090949350505050565b60006020828403121561205a57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208957600080fd5b823561209481612061565b946020939093013593505050565b600080604083850312156120b557600080fd5b82356120c081612061565b9150602083013567ffffffffffffffff8111156120dc57600080fd5b8301601f810185136120ed57600080fd5b6120fc85823560208401611e73565b9150509250929050565b6020810161084d8284611f7c565b6000806040838503121561212757600080fd5b82359150602083013560ff8116811461213f57600080fd5b809150509250929050565b60006020828403121561215c57600080fd5b8135611d4e81612061565b6020808252825182820181905260009190848201906040850190845b8181101561219f57835183529284019291840191600101612183565b50909695505050505050565b600080604083850312156121be57600080fd5b82359150602083013567ffffffffffffffff8111156121dc57600080fd5b6120fc85828601611eb1565b60006101008a83528060208401526122028184018b611f3a565b6001600160a01b038a81166040860152909150612222606085018a611f7c565b8716608084015260a0830186905282810360c08401526122428186611f3a565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3a565b6000806040838503121561228157600080fd5b82359150602083013561213f81612061565b805161229e81612061565b919050565b8051801515811461229e57600080fd5b600060208083850312156122c657600080fd5b825167ffffffffffffffff808211156122de57600080fd5b9084019060c082870312156122f257600080fd5b6122fa611df1565b825161230581612061565b8152828401518281111561231857600080fd5b83019150601f8201871361232b57600080fd5b8151612339611e8182611e4b565b818152888683860101111561234d57600080fd5b61235c82878301888701611f16565b82860152506040838101519082015261237760608401612293565b60608201526080830151608082015261239260a084016122a3565b60a08201529695505050505050565b600181811c908216806123b557607f821691505b6020821081036123d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124045750805b601f850160051c820191505b8181101561168657828155600101612410565b815167ffffffffffffffff81111561243d5761243d611ddb565b6124518161244b84546123a1565b846123db565b602080601f831160018114612486576000841561246e5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b557888601518255948401946001909101908401612496565b50858210156124d35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3a565b60006001820161252257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253b57600080fd5b5051919050565b60008251612554818460208701611f16565b9190910192915050565b60006020828403121561257057600080fd5b611d4e826122a356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d3b080e19c883e02f2c45a696f8fc9ffe9b7d894958f1142da9c3a68737d889a64736f6c63430008160033", + "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x25CF PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x1699 ADD MSTORE DUP2 DUP2 PUSH2 0x16C2 ADD MSTORE PUSH2 0x1808 ADD MSTORE PUSH2 0x25CF PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x639241AB GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x8D977672 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8D977672 EQ PUSH2 0x309 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x33D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x37A JUMPI DUP1 PUSH4 0xDA35A26F EQ PUSH2 0x3B8 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x639241AB EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x74AAA760 EQ PUSH2 0x2C9 JUMPI DUP1 PUSH4 0x7EEC20A8 EQ PUSH2 0x2E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2A2B3A9D GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x2A2B3A9D EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1F6 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x20B JUMPI DUP1 PUSH4 0x5C622A0E EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0x6298EEE0 EQ PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4FE2B34 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x7B31818 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0xD1CFCAE EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x1D65E77E EQ PUSH2 0x1A8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x121 PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x1ED1 JUMP JUMPDEST PUSH2 0x3F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x1F9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x170 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x170 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x853 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0x1E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2076 JUMP JUMPDEST PUSH2 0xA1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0xA50 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0xA6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25A PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2106 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x2114 JUMP JUMPDEST PUSH2 0xA8C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x214A JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2167 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0xDC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x21AB JUMP JUMPDEST PUSH2 0xDD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x304 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x100F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x329 PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x21E8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x170 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x386 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x225B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x226E JUMP JUMPDEST PUSH2 0x13ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x214A JUMP JUMPDEST PUSH2 0x1512 JUMP JUMPDEST PUSH2 0x400 PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x44A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x472 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x52B JUMPI CALLVALUE DUP2 PUSH1 0x40 ADD MLOAD EQ PUSH2 0x526 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x496E76616C6964207072696365 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x58A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F204554482073686F756C642062652073656E7420666F7220455243323020 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x7061796D656E7473 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E DUP2 PUSH1 0x60 ADD MLOAD CALLER ADDRESS DUP5 PUSH1 0x40 ADD MLOAD PUSH2 0x1550 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP2 SSTORE PUSH1 0x1 DUP2 ADD PUSH2 0x5C0 DUP7 DUP3 PUSH2 0x2423 JUMP JUMPDEST POP PUSH1 0x2 DUP2 DUP2 ADD DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND DUP2 OR DUP4 SSTORE PUSH1 0x4 DUP6 ADD DUP9 SWAP1 SSTORE DUP6 MLOAD PUSH1 0x3 DUP7 ADD DUP1 SLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP5 SLOAD DUP6 SLOAD DUP1 DUP5 ADD DUP8 SSTORE SWAP6 DUP5 MSTORE SWAP3 KECCAK256 SWAP1 SWAP4 ADD SSTORE DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL DUP4 MUL OR SWAP1 SSTORE POP DUP2 MLOAD PUSH1 0x2 SLOAD PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP3 CALLER SWAP3 PUSH32 0x5C005BBBB9DA508C37935B1A9F270836E0BE1FD11D4D47119F925A3FF33820E9 SWAP3 PUSH2 0x678 SWAP3 DUP12 SWAP1 PUSH2 0x24E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x2 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x690 DUP4 PUSH2 0x2502 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x6BC SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6E8 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x735 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x70A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x735 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x718 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x772 JUMPI PUSH2 0x772 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x783 JUMPI PUSH2 0x783 PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x7B7 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E3 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x830 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x805 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x830 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x813 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x85B PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x88D SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8B9 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x906 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8DB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x906 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8E9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x943 JUMPI PUSH2 0x943 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x954 JUMPI PUSH2 0x954 PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x988 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x9B4 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA01 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9D6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA01 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9E4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xA3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0xA58 PUSH2 0x168E JUMP JUMPDEST PUSH2 0xA61 DUP3 PUSH2 0x1733 JUMP JUMPDEST PUSH2 0xA6B DUP3 DUP3 PUSH2 0x173B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA79 PUSH2 0x17FD JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xAF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB26 JUMPI PUSH2 0xB26 PUSH2 0x1F66 JUMP JUMPDEST EQ PUSH2 0xB6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x15185CDAC81A5CC81B9BDD0818DBDB5C1B195D1959 PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xBC0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B20676F7420726174696E6720616C7265616479000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x64 DUP4 PUSH1 0xFF AND GT ISZERO PUSH2 0xC14 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP6 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC9A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 MLOAD PUSH1 0x40 MLOAD PUSH4 0x70370A81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP9 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP3 SWAP4 POP AND SWAP1 PUSH4 0x70370A81 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCF2 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 0xD16 SWAP2 SWAP1 PUSH2 0x2529 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xFF DUP6 AND DUP2 MSTORE DUP6 SWAP1 PUSH32 0xF9189BFC5977D44B1A00920E53A6A0E00229F6C53E76B73FC7E0581AE99ABDC SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xDB6 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xDA2 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCA PUSH2 0x1846 JUMP JUMPDEST PUSH2 0xDD4 PUSH1 0x0 PUSH2 0x18A1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x139BDD08185D5D1A1BDC9A5E9959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE53 JUMPI PUSH2 0xE53 PUSH2 0x1F66 JUMP JUMPDEST EQ PUSH2 0xE96 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x496E76616C6964207461736B20737461747573 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA1 SHL OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD PUSH2 0xEB9 DUP4 DUP3 PUSH2 0x2423 JUMP JUMPDEST POP PUSH1 0x3 SLOAD PUSH1 0x4 DUP3 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF07 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF2F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF66 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0xF61 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0xF89 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xF89 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0xFC9 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP4 PUSH32 0x7E6FFC29FE63759579D96A0457A8F2E08339ACA345BD469F59DC2E61F82A5AEB DUP5 PUSH1 0x40 MLOAD PUSH2 0x1001 SWAP2 SWAP1 PUSH2 0x225B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x107A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A9 PUSH2 0x1F66 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x10D7 JUMPI POP PUSH1 0x3 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10D4 JUMPI PUSH2 0x10D4 PUSH2 0x1F66 JUMP JUMPDEST EQ ISZERO JUMPDEST PUSH2 0x1123 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B2063616E6E6F742062652063616E63656C6564000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x3 PUSH1 0xA0 SHL PUSH1 0xFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1187 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x11AF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x11E6 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x11E1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0x1209 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1209 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0x1249 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x40 MLOAD DUP5 SWAP1 PUSH32 0x1AA8A90C7D7A86BAC690072D3F3D726BB8EBBE1989E158530440963F04C11EB2 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x12A4 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x12D0 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x12F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1300 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD DUP1 SLOAD SWAP6 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND SWAP8 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 SWAP7 DIV PUSH1 0xFF AND SWAP7 POP SWAP1 SWAP4 AND SWAP4 SWAP2 SWAP3 SWAP2 PUSH2 0x1361 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138D SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13DA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13AF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13DA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13BD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x6 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 POP POP PUSH1 0xFF AND DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F7 PUSH2 0x1B1D JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x141F JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x143C JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x144A JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1468 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1492 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x149B CALLER PUSH2 0x1B46 JUMP JUMPDEST PUSH2 0x14A3 PUSH2 0x1B57 JUMP JUMPDEST PUSH1 0x2 DUP8 SWAP1 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE DUP4 ISZERO PUSH2 0x1509 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x151A PUSH2 0x1846 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1544 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x18A1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH2 0x15B4 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x15F1 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 0x15F6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1620 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1620 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1620 SWAP2 SWAP1 PUSH2 0x255E JUMP JUMPDEST PUSH2 0x1686 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A7472616E7366657246726F6D3A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x185B9CD9995C919C9BDB4819985A5B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x1715 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1709 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x154D PUSH2 0x1846 JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1795 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1792 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2529 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x17BD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x17EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x17F8 DUP4 DUP4 PUSH2 0x1B5F JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0x1878 PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP4 SWAP1 PUSH1 0x40 MLOAD PUSH2 0x193C SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1979 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 0x197E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665724554483A PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x8115512081D1C985B9CD9995C8819985A5B1959 PUSH1 0x62 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP8 AND SWAP2 PUSH2 0x1A48 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1A85 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 0x1A8A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1AB4 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1AB4 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1AB4 SWAP2 SWAP1 PUSH2 0x255E JUMP JUMPDEST PUSH2 0x1B16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665723A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x185B9CD9995C8819985A5B1959 PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0x84D JUMP JUMPDEST PUSH2 0x1B4E PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x1BDA JUMP JUMPDEST PUSH2 0xDD4 PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x1B68 DUP3 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1BAD JUMPI PUSH2 0x17F8 DUP3 DUP3 PUSH2 0x1C47 JUMP JUMPDEST PUSH2 0xA6B PUSH2 0x1CBD JUMP JUMPDEST PUSH2 0x1BBD PUSH2 0x1CDC JUMP JUMPDEST PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x151A PUSH2 0x1BB5 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1C18 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x1C64 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1C9F 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 0x1CA4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1CB4 DUP6 DUP4 DUP4 PUSH2 0x1CF6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1CE6 PUSH2 0x1B1D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1D0B JUMPI PUSH2 0x1D06 DUP3 PUSH2 0x1D55 JUMP JUMPDEST PUSH2 0x1D4E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1D22 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1D4B JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1D64 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1DBA JUMPI PUSH2 0x1DBA PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD MSTORE PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP1 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 0xC0 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E14 JUMPI PUSH2 0x1E14 PUSH2 0x1DDB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E43 JUMPI PUSH2 0x1E43 PUSH2 0x1DDB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E65 JUMPI PUSH2 0x1E65 PUSH2 0x1DDB JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E86 PUSH2 0x1E81 DUP5 PUSH2 0x1E4B JUMP JUMPDEST PUSH2 0x1E1A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x1E9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1EC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x1E73 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1EE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F07 DUP6 DUP3 DUP7 ADD PUSH2 0x1EB1 JUMP JUMPDEST SWAP6 PUSH1 0x20 SWAP5 SWAP1 SWAP5 ADD CALLDATALOAD SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1F31 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1F19 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1F52 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1F16 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x1F9A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x100 DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1FC7 PUSH2 0x120 DUP6 ADD DUP4 PUSH2 0x1F3A JUMP JUMPDEST SWAP2 POP PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 DUP7 ADD MLOAD AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH2 0x1FED PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1F7C JUMP JUMPDEST POP PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0xA0 DUP7 ADD MSTORE POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0x1F NOT DUP6 DUP5 SUB ADD PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x2028 DUP4 DUP3 PUSH2 0x1F3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 DUP6 ADD MLOAD PUSH2 0x203E DUP3 DUP7 ADD DUP3 PUSH1 0xFF AND SWAP1 MSTORE JUMP JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x205A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x154D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2089 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2094 DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x20C0 DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x20ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FC DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1E73 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x84D DUP3 DUP5 PUSH2 0x1F7C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2127 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x213F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x215C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D4E DUP2 PUSH2 0x2061 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x219F JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x2183 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FC DUP6 DUP3 DUP7 ADD PUSH2 0x1EB1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP11 DUP4 MSTORE DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2202 DUP2 DUP5 ADD DUP12 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x40 DUP7 ADD MSTORE SWAP1 SWAP2 POP PUSH2 0x2222 PUSH1 0x60 DUP6 ADD DUP11 PUSH2 0x1F7C JUMP JUMPDEST DUP8 AND PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD DUP7 SWAP1 MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x2242 DUP2 DUP7 PUSH2 0x1F3A JUMP JUMPDEST SWAP2 POP POP PUSH1 0xFF DUP4 AND PUSH1 0xE0 DUP4 ADD MSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1D4E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x213F DUP2 PUSH2 0x2061 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x229E DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x229E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x22DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP5 ADD SWAP1 PUSH1 0xC0 DUP3 DUP8 SUB SLT ISZERO PUSH2 0x22F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22FA PUSH2 0x1DF1 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2305 DUP2 PUSH2 0x2061 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP5 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2318 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD SWAP2 POP PUSH1 0x1F DUP3 ADD DUP8 SGT PUSH2 0x232B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2339 PUSH2 0x1E81 DUP3 PUSH2 0x1E4B JUMP JUMPDEST DUP2 DUP2 MSTORE DUP9 DUP7 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x234D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x235C DUP3 DUP8 DUP4 ADD DUP9 DUP8 ADD PUSH2 0x1F16 JUMP JUMPDEST DUP3 DUP7 ADD MSTORE POP PUSH1 0x40 DUP4 DUP2 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x2377 PUSH1 0x60 DUP5 ADD PUSH2 0x2293 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x2392 PUSH1 0xA0 DUP5 ADD PUSH2 0x22A3 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x23B5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x23D5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x17F8 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2404 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1686 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2410 JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x243D JUMPI PUSH2 0x243D PUSH2 0x1DDB JUMP JUMPDEST PUSH2 0x2451 DUP2 PUSH2 0x244B DUP5 SLOAD PUSH2 0x23A1 JUMP JUMPDEST DUP5 PUSH2 0x23DB JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2486 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x246E JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1686 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x24B5 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2496 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x24D3 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1CB4 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2522 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x253B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2554 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1F16 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2570 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP3 PUSH2 0x22A3 JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220D3 0xB0 DUP1 0xE1 SWAP13 DUP9 RETURNDATACOPY MUL CALLCODE 0xC4 GAS PUSH10 0x6F8FC9FFE9B7D894958F GT TIMESTAMP 0xDA SWAP13 GASPRICE PUSH9 0x737D889A64736F6C63 NUMBER STOP ADDMOD AND STOP CALLER ", + "sourceMap": "632:6620:30:-:0;;;1171:4:2;1128:48;;1419:53:30;;;;;;;;;-1:-1:-1;1443:22:30;:20;:22::i;:::-;632:6620;;7709:422:1;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:1;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:1;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:1;-1:-1:-1;;;;;8033:33:1;;;;;8085:29;;158:50:34;;;8085:29:1;;146:2:34;131:18;8085:29:1;;;;;;;7979:146;7758:373;7709:422::o;14:200:34:-;632:6620:30;;;;;;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": { @@ -132594,9 +131604,9 @@ "parameterSlots": 0, "returnSlots": 0 }, - "@_authorizeUpgrade_5237": { + "@_authorizeUpgrade_5238": { "entryPoint": 5939, - "id": 5237, + "id": 5238, "parameterSlots": 1, "returnSlots": 0 }, @@ -132606,9 +131616,9 @@ "parameterSlots": 0, "returnSlots": 0 }, - "@_checkNonPayable_1716": { + "@_checkNonPayable_1717": { "entryPoint": 7357, - "id": 1716, + "id": 1717, "parameterSlots": 0, "returnSlots": 0 }, @@ -132660,15 +131670,15 @@ "parameterSlots": 0, "returnSlots": 1 }, - "@_revert_2871": { + "@_revert_2872": { "entryPoint": 7509, - "id": 2871, + "id": 2872, "parameterSlots": 1, "returnSlots": 0 }, - "@_setImplementation_1496": { + "@_setImplementation_1497": { "entryPoint": 7138, - "id": 1496, + "id": 1497, "parameterSlots": 1, "returnSlots": 0 }, @@ -132684,81 +131694,81 @@ "parameterSlots": 2, "returnSlots": 0 }, - "@agentRegistry_4670": { + "@agentRegistry_4671": { "entryPoint": null, - "id": 4670, + "id": 4671, "parameterSlots": 0, "returnSlots": 0 }, - "@cancelTask_5174": { + "@cancelTask_5175": { "entryPoint": 4111, - "id": 5174, + "id": 5175, "parameterSlots": 1, "returnSlots": 0 }, - "@completeTask_5011": { + "@completeTask_5012": { "entryPoint": 3542, - "id": 5011, + "id": 5012, "parameterSlots": 2, "returnSlots": 0 }, - "@createTask_4914": { + "@createTask_4915": { "entryPoint": 1016, - "id": 4914, + "id": 4915, "parameterSlots": 2, "returnSlots": 1 }, - "@functionDelegateCall_2789": { + "@functionDelegateCall_2790": { "entryPoint": 7239, - "id": 2789, + "id": 2790, "parameterSlots": 2, "returnSlots": 1 }, - "@getAddressSlot_2959": { + "@getAddressSlot_2960": { "entryPoint": null, - "id": 2959, + "id": 2960, "parameterSlots": 1, "returnSlots": 1 }, - "@getAssignee_5227": { + "@getAssignee_5228": { "entryPoint": null, - "id": 5227, + "id": 5228, "parameterSlots": 1, "returnSlots": 1 }, - "@getImplementation_1469": { + "@getImplementation_1470": { "entryPoint": null, - "id": 1469, + "id": 1470, "parameterSlots": 0, "returnSlots": 1 }, - "@getStatus_5214": { + "@getStatus_5215": { "entryPoint": null, - "id": 5214, + "id": 5215, "parameterSlots": 1, "returnSlots": 1 }, - "@getTask_5200": { + "@getTask_5201": { "entryPoint": 2131, - "id": 5200, + "id": 5201, "parameterSlots": 1, "returnSlots": 1 }, - "@getTasksByIssuer_5187": { + "@getTasksByIssuer_5188": { "entryPoint": 3414, - "id": 5187, + "id": 5188, "parameterSlots": 1, "returnSlots": 1 }, - "@initialize_4723": { + "@initialize_4724": { "entryPoint": 5101, - "id": 4723, + "id": 4724, "parameterSlots": 2, "returnSlots": 0 }, - "@issuerTasks_4665": { + "@issuerTasks_4666": { "entryPoint": 2591, - "id": 4665, + "id": 4666, "parameterSlots": 0, "returnSlots": 0 }, @@ -132774,9 +131784,9 @@ "parameterSlots": 0, "returnSlots": 1 }, - "@rateTask_5086": { + "@rateTask_5087": { "entryPoint": 2700, - "id": 5086, + "id": 5087, "parameterSlots": 2, "returnSlots": 0 }, @@ -132786,27 +131796,27 @@ "parameterSlots": 0, "returnSlots": 0 }, - "@safeTransferETH_5555": { + "@safeTransferETH_5472": { "entryPoint": 6418, - "id": 5555, + "id": 5472, "parameterSlots": 2, "returnSlots": 0 }, - "@safeTransferFrom_5530": { + "@safeTransferFrom_5447": { "entryPoint": 5456, - "id": 5530, + "id": 5447, "parameterSlots": 4, "returnSlots": 0 }, - "@safeTransfer_5484": { + "@safeTransfer_5401": { "entryPoint": 6636, - "id": 5484, + "id": 5401, "parameterSlots": 3, "returnSlots": 0 }, - "@tasks_4660": { + "@tasks_4661": { "entryPoint": 4738, - "id": 4660, + "id": 4661, "parameterSlots": 0, "returnSlots": 0 }, @@ -132816,9 +131826,9 @@ "parameterSlots": 1, "returnSlots": 0 }, - "@upgradeToAndCall_1532": { + "@upgradeToAndCall_1533": { "entryPoint": 7007, - "id": 1532, + "id": 1533, "parameterSlots": 2, "returnSlots": 0 }, @@ -132828,56 +131838,56 @@ "parameterSlots": 2, "returnSlots": 0 }, - "@verifyCallResultFromTarget_2829": { + "@verifyCallResultFromTarget_2830": { "entryPoint": 7414, - "id": 2829, + "id": 2830, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_address_fromMemory": { - "entryPoint": 8852, + "entryPoint": 8851, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_available_length_string": { - "entryPoint": 7796, + "entryPoint": 7795, "id": null, "parameterSlots": 3, "returnSlots": 1 }, "abi_decode_bool_fromMemory": { - "entryPoint": 8868, + "entryPoint": 8867, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "abi_decode_string": { - "entryPoint": 7858, + "entryPoint": 7857, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_address": { - "entryPoint": 8523, + "entryPoint": 8522, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_addresst_bytes_memory_ptr": { - "entryPoint": 8355, + "entryPoint": 8354, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_addresst_uint256": { - "entryPoint": 8311, + "entryPoint": 8310, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_bool_fromMemory": { - "entryPoint": 9567, + "entryPoint": 9566, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -132889,43 +131899,43 @@ "returnSlots": 1 }, "abi_decode_tuple_t_string_memory_ptrt_uint256": { - "entryPoint": 7890, + "entryPoint": 7889, "id": null, "parameterSlots": 2, "returnSlots": 2 }, - "abi_decode_tuple_t_struct$_ServiceProposal_$5342_memory_ptr_fromMemory": { - "entryPoint": 8884, + "abi_decode_tuple_t_struct$_ServiceProposal_$5312_memory_ptr_fromMemory": { + "entryPoint": 8883, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_uint256": { - "entryPoint": 8265, + "entryPoint": 8264, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_decode_tuple_t_uint256_fromMemory": { - "entryPoint": 9514, + "entryPoint": 9513, "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "abi_decode_tuple_t_uint256t_contract$_AgentsRegistryUpgradeable_$4016": { - "entryPoint": 8815, + "abi_decode_tuple_t_uint256t_contract$_AgentsRegistryUpgradeable_$4017": { + "entryPoint": 8814, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_uint256t_string_memory_ptr": { - "entryPoint": 8620, + "entryPoint": 8619, "id": null, "parameterSlots": 2, "returnSlots": 2 }, "abi_decode_tuple_t_uint256t_uint8": { - "entryPoint": 8469, + "entryPoint": 8468, "id": null, "parameterSlots": 2, "returnSlots": 2 @@ -132937,19 +131947,19 @@ "returnSlots": 0 }, "abi_encode_enum_TaskStatus": { - "entryPoint": 8061, + "entryPoint": 8060, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "abi_encode_string": { - "entryPoint": 7995, + "entryPoint": 7994, "id": null, "parameterSlots": 2, "returnSlots": 1 }, "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { - "entryPoint": 9539, + "entryPoint": 9538, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -132979,7 +131989,7 @@ "returnSlots": 1 }, "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { - "entryPoint": 8552, + "entryPoint": 8551, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -132990,14 +132000,14 @@ "parameterSlots": 2, "returnSlots": 1 }, - "abi_encode_tuple_t_contract$_AgentsRegistryUpgradeable_$4016__to_t_address__fromStack_reversed": { + "abi_encode_tuple_t_contract$_AgentsRegistryUpgradeable_$4017__to_t_address__fromStack_reversed": { "entryPoint": null, "id": null, "parameterSlots": 2, "returnSlots": 1 }, - "abi_encode_tuple_t_enum$_TaskStatus_$4637__to_t_uint8__fromStack_reversed": { - "entryPoint": 8455, + "abi_encode_tuple_t_enum$_TaskStatus_$4638__to_t_uint8__fromStack_reversed": { + "entryPoint": 8454, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -133009,7 +132019,7 @@ "returnSlots": 1 }, "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 8796, + "entryPoint": 8795, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -133092,8 +132102,8 @@ "parameterSlots": 1, "returnSlots": 1 }, - "abi_encode_tuple_t_struct$_TaskData_$4655_memory_ptr__to_t_struct$_TaskData_$4655_memory_ptr__fromStack_reversed": { - "entryPoint": 8095, + "abi_encode_tuple_t_struct$_TaskData_$4656_memory_ptr__to_t_struct$_TaskData_$4656_memory_ptr__fromStack_reversed": { + "entryPoint": 8094, "id": null, "parameterSlots": 2, "returnSlots": 1 @@ -133104,14 +132114,14 @@ "parameterSlots": 2, "returnSlots": 1 }, - "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_address_t_enum$_TaskStatus_$4637_t_address_t_uint256_t_string_memory_ptr_t_uint8__to_t_uint256_t_string_memory_ptr_t_address_t_uint8_t_address_t_uint256_t_string_memory_ptr_t_uint8__fromStack_reversed": { - "entryPoint": 8681, + "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_address_t_enum$_TaskStatus_$4638_t_address_t_uint256_t_string_memory_ptr_t_uint8__to_t_uint256_t_string_memory_ptr_t_address_t_uint8_t_address_t_uint256_t_string_memory_ptr_t_uint8__fromStack_reversed": { + "entryPoint": 8680, "id": null, "parameterSlots": 9, "returnSlots": 1 }, "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed": { - "entryPoint": 9444, + "entryPoint": 9443, "id": null, "parameterSlots": 4, "returnSlots": 1 @@ -133129,19 +132139,19 @@ "returnSlots": 0 }, "allocate_memory": { - "entryPoint": 7707, + "entryPoint": 7706, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "allocate_memory_2890": { - "entryPoint": 7666, + "entryPoint": 7665, "id": null, "parameterSlots": 0, "returnSlots": 1 }, "array_allocation_size_string": { - "entryPoint": 7756, + "entryPoint": 7755, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -133153,25 +132163,25 @@ "returnSlots": 1 }, "clean_up_bytearray_end_slots_string_storage": { - "entryPoint": 9180, + "entryPoint": 9179, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { - "entryPoint": 9252, + "entryPoint": 9251, "id": null, "parameterSlots": 2, "returnSlots": 0 }, "copy_memory_to_memory_with_cleanup": { - "entryPoint": 7959, + "entryPoint": 7958, "id": null, "parameterSlots": 3, "returnSlots": 0 }, "extract_byte_array_length": { - "entryPoint": 9122, + "entryPoint": 9121, "id": null, "parameterSlots": 1, "returnSlots": 1 @@ -133183,25 +132193,25 @@ "returnSlots": 1 }, "increment_t_uint256": { - "entryPoint": 9475, + "entryPoint": 9474, "id": null, "parameterSlots": 1, "returnSlots": 1 }, "panic_error_0x21": { - "entryPoint": 8039, + "entryPoint": 8038, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "panic_error_0x41": { - "entryPoint": 7644, + "entryPoint": 7643, "id": null, "parameterSlots": 0, "returnSlots": 0 }, "validator_revert_address": { - "entryPoint": 8290, + "entryPoint": 8289, "id": null, "parameterSlots": 1, "returnSlots": 0 @@ -133210,30 +132220,30 @@ "generatedSources": [ { "ast": { - "nativeSrc": "0:21370:36", + "nativeSrc": "0:21370:34", "nodeType": "YulBlock", - "src": "0:21370:36", + "src": "0:21370:34", "statements": [ { - "nativeSrc": "6:3:36", + "nativeSrc": "6:3:34", "nodeType": "YulBlock", - "src": "6:3:36", + "src": "6:3:34", "statements": [] }, { "body": { - "nativeSrc": "46:95:36", + "nativeSrc": "46:95:34", "nodeType": "YulBlock", - "src": "46:95:36", + "src": "46:95:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "63:1:36", + "nativeSrc": "63:1:34", "nodeType": "YulLiteral", - "src": "63:1:36", + "src": "63:1:34", "type": "", "value": "0" }, @@ -133241,224 +132251,224 @@ "arguments": [ { "kind": "number", - "nativeSrc": "70:3:36", + "nativeSrc": "70:3:34", "nodeType": "YulLiteral", - "src": "70:3:36", + "src": "70:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "75:10:36", + "nativeSrc": "75:10:34", "nodeType": "YulLiteral", - "src": "75:10:36", + "src": "75:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "66:3:36", + "nativeSrc": "66:3:34", "nodeType": "YulIdentifier", - "src": "66:3:36" + "src": "66:3:34" }, - "nativeSrc": "66:20:36", + "nativeSrc": "66:20:34", "nodeType": "YulFunctionCall", - "src": "66:20:36" + "src": "66:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "56:6:36", + "nativeSrc": "56:6:34", "nodeType": "YulIdentifier", - "src": "56:6:36" + "src": "56:6:34" }, - "nativeSrc": "56:31:36", + "nativeSrc": "56:31:34", "nodeType": "YulFunctionCall", - "src": "56:31:36" + "src": "56:31:34" }, - "nativeSrc": "56:31:36", + "nativeSrc": "56:31:34", "nodeType": "YulExpressionStatement", - "src": "56:31:36" + "src": "56:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "103:1:36", + "nativeSrc": "103:1:34", "nodeType": "YulLiteral", - "src": "103:1:36", + "src": "103:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "106:4:36", + "nativeSrc": "106:4:34", "nodeType": "YulLiteral", - "src": "106:4:36", + "src": "106:4:34", "type": "", "value": "0x41" } ], "functionName": { "name": "mstore", - "nativeSrc": "96:6:36", + "nativeSrc": "96:6:34", "nodeType": "YulIdentifier", - "src": "96:6:36" + "src": "96:6:34" }, - "nativeSrc": "96:15:36", + "nativeSrc": "96:15:34", "nodeType": "YulFunctionCall", - "src": "96:15:36" + "src": "96:15:34" }, - "nativeSrc": "96:15:36", + "nativeSrc": "96:15:34", "nodeType": "YulExpressionStatement", - "src": "96:15:36" + "src": "96:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "127:1:36", + "nativeSrc": "127:1:34", "nodeType": "YulLiteral", - "src": "127:1:36", + "src": "127:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "130:4:36", + "nativeSrc": "130:4:34", "nodeType": "YulLiteral", - "src": "130:4:36", + "src": "130:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "120:6:36", + "nativeSrc": "120:6:34", "nodeType": "YulIdentifier", - "src": "120:6:36" + "src": "120:6:34" }, - "nativeSrc": "120:15:36", + "nativeSrc": "120:15:34", "nodeType": "YulFunctionCall", - "src": "120:15:36" + "src": "120:15:34" }, - "nativeSrc": "120:15:36", + "nativeSrc": "120:15:34", "nodeType": "YulExpressionStatement", - "src": "120:15:36" + "src": "120:15:34" } ] }, "name": "panic_error_0x41", - "nativeSrc": "14:127:36", + "nativeSrc": "14:127:34", "nodeType": "YulFunctionDefinition", - "src": "14:127:36" + "src": "14:127:34" }, { "body": { - "nativeSrc": "192:207:36", + "nativeSrc": "192:207:34", "nodeType": "YulBlock", - "src": "192:207:36", + "src": "192:207:34", "statements": [ { - "nativeSrc": "202:19:36", + "nativeSrc": "202:19:34", "nodeType": "YulAssignment", - "src": "202:19:36", + "src": "202:19:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "218:2:36", + "nativeSrc": "218:2:34", "nodeType": "YulLiteral", - "src": "218:2:36", + "src": "218:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "212:5:36", + "nativeSrc": "212:5:34", "nodeType": "YulIdentifier", - "src": "212:5:36" + "src": "212:5:34" }, - "nativeSrc": "212:9:36", + "nativeSrc": "212:9:34", "nodeType": "YulFunctionCall", - "src": "212:9:36" + "src": "212:9:34" }, "variableNames": [ { "name": "memPtr", - "nativeSrc": "202:6:36", + "nativeSrc": "202:6:34", "nodeType": "YulIdentifier", - "src": "202:6:36" + "src": "202:6:34" } ] }, { - "nativeSrc": "230:35:36", + "nativeSrc": "230:35:34", "nodeType": "YulVariableDeclaration", - "src": "230:35:36", + "src": "230:35:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "252:6:36", + "nativeSrc": "252:6:34", "nodeType": "YulIdentifier", - "src": "252:6:36" + "src": "252:6:34" }, { "kind": "number", - "nativeSrc": "260:4:36", + "nativeSrc": "260:4:34", "nodeType": "YulLiteral", - "src": "260:4:36", + "src": "260:4:34", "type": "", "value": "0xc0" } ], "functionName": { "name": "add", - "nativeSrc": "248:3:36", + "nativeSrc": "248:3:34", "nodeType": "YulIdentifier", - "src": "248:3:36" + "src": "248:3:34" }, - "nativeSrc": "248:17:36", + "nativeSrc": "248:17:34", "nodeType": "YulFunctionCall", - "src": "248:17:36" + "src": "248:17:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "234:10:36", + "nativeSrc": "234:10:34", "nodeType": "YulTypedName", - "src": "234:10:36", + "src": "234:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "340:22:36", + "nativeSrc": "340:22:34", "nodeType": "YulBlock", - "src": "340:22:36", + "src": "340:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "342:16:36", + "nativeSrc": "342:16:34", "nodeType": "YulIdentifier", - "src": "342:16:36" + "src": "342:16:34" }, - "nativeSrc": "342:18:36", + "nativeSrc": "342:18:34", "nodeType": "YulFunctionCall", - "src": "342:18:36" + "src": "342:18:34" }, - "nativeSrc": "342:18:36", + "nativeSrc": "342:18:34", "nodeType": "YulExpressionStatement", - "src": "342:18:36" + "src": "342:18:34" } ] }, @@ -133468,168 +132478,168 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "283:10:36", + "nativeSrc": "283:10:34", "nodeType": "YulIdentifier", - "src": "283:10:36" + "src": "283:10:34" }, { "kind": "number", - "nativeSrc": "295:18:36", + "nativeSrc": "295:18:34", "nodeType": "YulLiteral", - "src": "295:18:36", + "src": "295:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "280:2:36", + "nativeSrc": "280:2:34", "nodeType": "YulIdentifier", - "src": "280:2:36" + "src": "280:2:34" }, - "nativeSrc": "280:34:36", + "nativeSrc": "280:34:34", "nodeType": "YulFunctionCall", - "src": "280:34:36" + "src": "280:34:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "319:10:36", + "nativeSrc": "319:10:34", "nodeType": "YulIdentifier", - "src": "319:10:36" + "src": "319:10:34" }, { "name": "memPtr", - "nativeSrc": "331:6:36", + "nativeSrc": "331:6:34", "nodeType": "YulIdentifier", - "src": "331:6:36" + "src": "331:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "316:2:36", + "nativeSrc": "316:2:34", "nodeType": "YulIdentifier", - "src": "316:2:36" + "src": "316:2:34" }, - "nativeSrc": "316:22:36", + "nativeSrc": "316:22:34", "nodeType": "YulFunctionCall", - "src": "316:22:36" + "src": "316:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "277:2:36", + "nativeSrc": "277:2:34", "nodeType": "YulIdentifier", - "src": "277:2:36" + "src": "277:2:34" }, - "nativeSrc": "277:62:36", + "nativeSrc": "277:62:34", "nodeType": "YulFunctionCall", - "src": "277:62:36" + "src": "277:62:34" }, - "nativeSrc": "274:88:36", + "nativeSrc": "274:88:34", "nodeType": "YulIf", - "src": "274:88:36" + "src": "274:88:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "378:2:36", + "nativeSrc": "378:2:34", "nodeType": "YulLiteral", - "src": "378:2:36", + "src": "378:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "382:10:36", + "nativeSrc": "382:10:34", "nodeType": "YulIdentifier", - "src": "382:10:36" + "src": "382:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "371:6:36", + "nativeSrc": "371:6:34", "nodeType": "YulIdentifier", - "src": "371:6:36" + "src": "371:6:34" }, - "nativeSrc": "371:22:36", + "nativeSrc": "371:22:34", "nodeType": "YulFunctionCall", - "src": "371:22:36" + "src": "371:22:34" }, - "nativeSrc": "371:22:36", + "nativeSrc": "371:22:34", "nodeType": "YulExpressionStatement", - "src": "371:22:36" + "src": "371:22:34" } ] }, "name": "allocate_memory_2890", - "nativeSrc": "146:253:36", + "nativeSrc": "146:253:34", "nodeType": "YulFunctionDefinition", "returnVariables": [ { "name": "memPtr", - "nativeSrc": "181:6:36", + "nativeSrc": "181:6:34", "nodeType": "YulTypedName", - "src": "181:6:36", + "src": "181:6:34", "type": "" } ], - "src": "146:253:36" + "src": "146:253:34" }, { "body": { - "nativeSrc": "449:230:36", + "nativeSrc": "449:230:34", "nodeType": "YulBlock", - "src": "449:230:36", + "src": "449:230:34", "statements": [ { - "nativeSrc": "459:19:36", + "nativeSrc": "459:19:34", "nodeType": "YulAssignment", - "src": "459:19:36", + "src": "459:19:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "475:2:36", + "nativeSrc": "475:2:34", "nodeType": "YulLiteral", - "src": "475:2:36", + "src": "475:2:34", "type": "", "value": "64" } ], "functionName": { "name": "mload", - "nativeSrc": "469:5:36", + "nativeSrc": "469:5:34", "nodeType": "YulIdentifier", - "src": "469:5:36" + "src": "469:5:34" }, - "nativeSrc": "469:9:36", + "nativeSrc": "469:9:34", "nodeType": "YulFunctionCall", - "src": "469:9:36" + "src": "469:9:34" }, "variableNames": [ { "name": "memPtr", - "nativeSrc": "459:6:36", + "nativeSrc": "459:6:34", "nodeType": "YulIdentifier", - "src": "459:6:36" + "src": "459:6:34" } ] }, { - "nativeSrc": "487:58:36", + "nativeSrc": "487:58:34", "nodeType": "YulVariableDeclaration", - "src": "487:58:36", + "src": "487:58:34", "value": { "arguments": [ { "name": "memPtr", - "nativeSrc": "509:6:36", + "nativeSrc": "509:6:34", "nodeType": "YulIdentifier", - "src": "509:6:36" + "src": "509:6:34" }, { "arguments": [ @@ -133637,104 +132647,104 @@ "arguments": [ { "name": "size", - "nativeSrc": "525:4:36", + "nativeSrc": "525:4:34", "nodeType": "YulIdentifier", - "src": "525:4:36" + "src": "525:4:34" }, { "kind": "number", - "nativeSrc": "531:2:36", + "nativeSrc": "531:2:34", "nodeType": "YulLiteral", - "src": "531:2:36", + "src": "531:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "521:3:36", + "nativeSrc": "521:3:34", "nodeType": "YulIdentifier", - "src": "521:3:36" + "src": "521:3:34" }, - "nativeSrc": "521:13:36", + "nativeSrc": "521:13:34", "nodeType": "YulFunctionCall", - "src": "521:13:36" + "src": "521:13:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "540:2:36", + "nativeSrc": "540:2:34", "nodeType": "YulLiteral", - "src": "540:2:36", + "src": "540:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "536:3:36", + "nativeSrc": "536:3:34", "nodeType": "YulIdentifier", - "src": "536:3:36" + "src": "536:3:34" }, - "nativeSrc": "536:7:36", + "nativeSrc": "536:7:34", "nodeType": "YulFunctionCall", - "src": "536:7:36" + "src": "536:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "517:3:36", + "nativeSrc": "517:3:34", "nodeType": "YulIdentifier", - "src": "517:3:36" + "src": "517:3:34" }, - "nativeSrc": "517:27:36", + "nativeSrc": "517:27:34", "nodeType": "YulFunctionCall", - "src": "517:27:36" + "src": "517:27:34" } ], "functionName": { "name": "add", - "nativeSrc": "505:3:36", + "nativeSrc": "505:3:34", "nodeType": "YulIdentifier", - "src": "505:3:36" + "src": "505:3:34" }, - "nativeSrc": "505:40:36", + "nativeSrc": "505:40:34", "nodeType": "YulFunctionCall", - "src": "505:40:36" + "src": "505:40:34" }, "variables": [ { "name": "newFreePtr", - "nativeSrc": "491:10:36", + "nativeSrc": "491:10:34", "nodeType": "YulTypedName", - "src": "491:10:36", + "src": "491:10:34", "type": "" } ] }, { "body": { - "nativeSrc": "620:22:36", + "nativeSrc": "620:22:34", "nodeType": "YulBlock", - "src": "620:22:36", + "src": "620:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "622:16:36", + "nativeSrc": "622:16:34", "nodeType": "YulIdentifier", - "src": "622:16:36" + "src": "622:16:34" }, - "nativeSrc": "622:18:36", + "nativeSrc": "622:18:34", "nodeType": "YulFunctionCall", - "src": "622:18:36" + "src": "622:18:34" }, - "nativeSrc": "622:18:36", + "nativeSrc": "622:18:34", "nodeType": "YulExpressionStatement", - "src": "622:18:36" + "src": "622:18:34" } ] }, @@ -133744,154 +132754,154 @@ "arguments": [ { "name": "newFreePtr", - "nativeSrc": "563:10:36", + "nativeSrc": "563:10:34", "nodeType": "YulIdentifier", - "src": "563:10:36" + "src": "563:10:34" }, { "kind": "number", - "nativeSrc": "575:18:36", + "nativeSrc": "575:18:34", "nodeType": "YulLiteral", - "src": "575:18:36", + "src": "575:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "560:2:36", + "nativeSrc": "560:2:34", "nodeType": "YulIdentifier", - "src": "560:2:36" + "src": "560:2:34" }, - "nativeSrc": "560:34:36", + "nativeSrc": "560:34:34", "nodeType": "YulFunctionCall", - "src": "560:34:36" + "src": "560:34:34" }, { "arguments": [ { "name": "newFreePtr", - "nativeSrc": "599:10:36", + "nativeSrc": "599:10:34", "nodeType": "YulIdentifier", - "src": "599:10:36" + "src": "599:10:34" }, { "name": "memPtr", - "nativeSrc": "611:6:36", + "nativeSrc": "611:6:34", "nodeType": "YulIdentifier", - "src": "611:6:36" + "src": "611:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "596:2:36", + "nativeSrc": "596:2:34", "nodeType": "YulIdentifier", - "src": "596:2:36" + "src": "596:2:34" }, - "nativeSrc": "596:22:36", + "nativeSrc": "596:22:34", "nodeType": "YulFunctionCall", - "src": "596:22:36" + "src": "596:22:34" } ], "functionName": { "name": "or", - "nativeSrc": "557:2:36", + "nativeSrc": "557:2:34", "nodeType": "YulIdentifier", - "src": "557:2:36" + "src": "557:2:34" }, - "nativeSrc": "557:62:36", + "nativeSrc": "557:62:34", "nodeType": "YulFunctionCall", - "src": "557:62:36" + "src": "557:62:34" }, - "nativeSrc": "554:88:36", + "nativeSrc": "554:88:34", "nodeType": "YulIf", - "src": "554:88:36" + "src": "554:88:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "658:2:36", + "nativeSrc": "658:2:34", "nodeType": "YulLiteral", - "src": "658:2:36", + "src": "658:2:34", "type": "", "value": "64" }, { "name": "newFreePtr", - "nativeSrc": "662:10:36", + "nativeSrc": "662:10:34", "nodeType": "YulIdentifier", - "src": "662:10:36" + "src": "662:10:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "651:6:36", + "nativeSrc": "651:6:34", "nodeType": "YulIdentifier", - "src": "651:6:36" + "src": "651:6:34" }, - "nativeSrc": "651:22:36", + "nativeSrc": "651:22:34", "nodeType": "YulFunctionCall", - "src": "651:22:36" + "src": "651:22:34" }, - "nativeSrc": "651:22:36", + "nativeSrc": "651:22:34", "nodeType": "YulExpressionStatement", - "src": "651:22:36" + "src": "651:22:34" } ] }, "name": "allocate_memory", - "nativeSrc": "404:275:36", + "nativeSrc": "404:275:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "size", - "nativeSrc": "429:4:36", + "nativeSrc": "429:4:34", "nodeType": "YulTypedName", - "src": "429:4:36", + "src": "429:4:34", "type": "" } ], "returnVariables": [ { "name": "memPtr", - "nativeSrc": "438:6:36", + "nativeSrc": "438:6:34", "nodeType": "YulTypedName", - "src": "438:6:36", + "src": "438:6:34", "type": "" } ], - "src": "404:275:36" + "src": "404:275:34" }, { "body": { - "nativeSrc": "742:129:36", + "nativeSrc": "742:129:34", "nodeType": "YulBlock", - "src": "742:129:36", + "src": "742:129:34", "statements": [ { "body": { - "nativeSrc": "786:22:36", + "nativeSrc": "786:22:34", "nodeType": "YulBlock", - "src": "786:22:36", + "src": "786:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "788:16:36", + "nativeSrc": "788:16:34", "nodeType": "YulIdentifier", - "src": "788:16:36" + "src": "788:16:34" }, - "nativeSrc": "788:18:36", + "nativeSrc": "788:18:34", "nodeType": "YulFunctionCall", - "src": "788:18:36" + "src": "788:18:34" }, - "nativeSrc": "788:18:36", + "nativeSrc": "788:18:34", "nodeType": "YulExpressionStatement", - "src": "788:18:36" + "src": "788:18:34" } ] }, @@ -133899,37 +132909,37 @@ "arguments": [ { "name": "length", - "nativeSrc": "758:6:36", + "nativeSrc": "758:6:34", "nodeType": "YulIdentifier", - "src": "758:6:36" + "src": "758:6:34" }, { "kind": "number", - "nativeSrc": "766:18:36", + "nativeSrc": "766:18:34", "nodeType": "YulLiteral", - "src": "766:18:36", + "src": "766:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "755:2:36", + "nativeSrc": "755:2:34", "nodeType": "YulIdentifier", - "src": "755:2:36" + "src": "755:2:34" }, - "nativeSrc": "755:30:36", + "nativeSrc": "755:30:34", "nodeType": "YulFunctionCall", - "src": "755:30:36" + "src": "755:30:34" }, - "nativeSrc": "752:56:36", + "nativeSrc": "752:56:34", "nodeType": "YulIf", - "src": "752:56:36" + "src": "752:56:34" }, { - "nativeSrc": "817:48:36", + "nativeSrc": "817:48:34", "nodeType": "YulAssignment", - "src": "817:48:36", + "src": "817:48:34", "value": { "arguments": [ { @@ -133938,162 +132948,162 @@ "arguments": [ { "name": "length", - "nativeSrc": "837:6:36", + "nativeSrc": "837:6:34", "nodeType": "YulIdentifier", - "src": "837:6:36" + "src": "837:6:34" }, { "kind": "number", - "nativeSrc": "845:2:36", + "nativeSrc": "845:2:34", "nodeType": "YulLiteral", - "src": "845:2:36", + "src": "845:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "833:3:36", + "nativeSrc": "833:3:34", "nodeType": "YulIdentifier", - "src": "833:3:36" + "src": "833:3:34" }, - "nativeSrc": "833:15:36", + "nativeSrc": "833:15:34", "nodeType": "YulFunctionCall", - "src": "833:15:36" + "src": "833:15:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "854:2:36", + "nativeSrc": "854:2:34", "nodeType": "YulLiteral", - "src": "854:2:36", + "src": "854:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "850:3:36", + "nativeSrc": "850:3:34", "nodeType": "YulIdentifier", - "src": "850:3:36" + "src": "850:3:34" }, - "nativeSrc": "850:7:36", + "nativeSrc": "850:7:34", "nodeType": "YulFunctionCall", - "src": "850:7:36" + "src": "850:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "829:3:36", + "nativeSrc": "829:3:34", "nodeType": "YulIdentifier", - "src": "829:3:36" + "src": "829:3:34" }, - "nativeSrc": "829:29:36", + "nativeSrc": "829:29:34", "nodeType": "YulFunctionCall", - "src": "829:29:36" + "src": "829:29:34" }, { "kind": "number", - "nativeSrc": "860:4:36", + "nativeSrc": "860:4:34", "nodeType": "YulLiteral", - "src": "860:4:36", + "src": "860:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "825:3:36", + "nativeSrc": "825:3:34", "nodeType": "YulIdentifier", - "src": "825:3:36" + "src": "825:3:34" }, - "nativeSrc": "825:40:36", + "nativeSrc": "825:40:34", "nodeType": "YulFunctionCall", - "src": "825:40:36" + "src": "825:40:34" }, "variableNames": [ { "name": "size", - "nativeSrc": "817:4:36", + "nativeSrc": "817:4:34", "nodeType": "YulIdentifier", - "src": "817:4:36" + "src": "817:4:34" } ] } ] }, "name": "array_allocation_size_string", - "nativeSrc": "684:187:36", + "nativeSrc": "684:187:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "length", - "nativeSrc": "722:6:36", + "nativeSrc": "722:6:34", "nodeType": "YulTypedName", - "src": "722:6:36", + "src": "722:6:34", "type": "" } ], "returnVariables": [ { "name": "size", - "nativeSrc": "733:4:36", + "nativeSrc": "733:4:34", "nodeType": "YulTypedName", - "src": "733:4:36", + "src": "733:4:34", "type": "" } ], - "src": "684:187:36" + "src": "684:187:34" }, { "body": { - "nativeSrc": "951:263:36", + "nativeSrc": "951:263:34", "nodeType": "YulBlock", - "src": "951:263:36", + "src": "951:263:34", "statements": [ { - "nativeSrc": "961:62:36", + "nativeSrc": "961:62:34", "nodeType": "YulAssignment", - "src": "961:62:36", + "src": "961:62:34", "value": { "arguments": [ { "arguments": [ { "name": "length", - "nativeSrc": "1015:6:36", + "nativeSrc": "1015:6:34", "nodeType": "YulIdentifier", - "src": "1015:6:36" + "src": "1015:6:34" } ], "functionName": { "name": "array_allocation_size_string", - "nativeSrc": "986:28:36", + "nativeSrc": "986:28:34", "nodeType": "YulIdentifier", - "src": "986:28:36" + "src": "986:28:34" }, - "nativeSrc": "986:36:36", + "nativeSrc": "986:36:34", "nodeType": "YulFunctionCall", - "src": "986:36:36" + "src": "986:36:34" } ], "functionName": { "name": "allocate_memory", - "nativeSrc": "970:15:36", + "nativeSrc": "970:15:34", "nodeType": "YulIdentifier", - "src": "970:15:36" + "src": "970:15:34" }, - "nativeSrc": "970:53:36", + "nativeSrc": "970:53:34", "nodeType": "YulFunctionCall", - "src": "970:53:36" + "src": "970:53:34" }, "variableNames": [ { "name": "array", - "nativeSrc": "961:5:36", + "nativeSrc": "961:5:34", "nodeType": "YulIdentifier", - "src": "961:5:36" + "src": "961:5:34" } ] }, @@ -134102,70 +133112,70 @@ "arguments": [ { "name": "array", - "nativeSrc": "1039:5:36", + "nativeSrc": "1039:5:34", "nodeType": "YulIdentifier", - "src": "1039:5:36" + "src": "1039:5:34" }, { "name": "length", - "nativeSrc": "1046:6:36", + "nativeSrc": "1046:6:34", "nodeType": "YulIdentifier", - "src": "1046:6:36" + "src": "1046:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "1032:6:36", + "nativeSrc": "1032:6:34", "nodeType": "YulIdentifier", - "src": "1032:6:36" + "src": "1032:6:34" }, - "nativeSrc": "1032:21:36", + "nativeSrc": "1032:21:34", "nodeType": "YulFunctionCall", - "src": "1032:21:36" + "src": "1032:21:34" }, - "nativeSrc": "1032:21:36", + "nativeSrc": "1032:21:34", "nodeType": "YulExpressionStatement", - "src": "1032:21:36" + "src": "1032:21:34" }, { "body": { - "nativeSrc": "1091:16:36", + "nativeSrc": "1091:16:34", "nodeType": "YulBlock", - "src": "1091:16:36", + "src": "1091:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1100:1:36", + "nativeSrc": "1100:1:34", "nodeType": "YulLiteral", - "src": "1100:1:36", + "src": "1100:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1103:1:36", + "nativeSrc": "1103:1:34", "nodeType": "YulLiteral", - "src": "1103:1:36", + "src": "1103:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1093:6:36", + "nativeSrc": "1093:6:34", "nodeType": "YulIdentifier", - "src": "1093:6:36" + "src": "1093:6:34" }, - "nativeSrc": "1093:12:36", + "nativeSrc": "1093:12:34", "nodeType": "YulFunctionCall", - "src": "1093:12:36" + "src": "1093:12:34" }, - "nativeSrc": "1093:12:36", + "nativeSrc": "1093:12:34", "nodeType": "YulExpressionStatement", - "src": "1093:12:36" + "src": "1093:12:34" } ] }, @@ -134175,47 +133185,47 @@ "arguments": [ { "name": "src", - "nativeSrc": "1072:3:36", + "nativeSrc": "1072:3:34", "nodeType": "YulIdentifier", - "src": "1072:3:36" + "src": "1072:3:34" }, { "name": "length", - "nativeSrc": "1077:6:36", + "nativeSrc": "1077:6:34", "nodeType": "YulIdentifier", - "src": "1077:6:36" + "src": "1077:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "1068:3:36", + "nativeSrc": "1068:3:34", "nodeType": "YulIdentifier", - "src": "1068:3:36" + "src": "1068:3:34" }, - "nativeSrc": "1068:16:36", + "nativeSrc": "1068:16:34", "nodeType": "YulFunctionCall", - "src": "1068:16:36" + "src": "1068:16:34" }, { "name": "end", - "nativeSrc": "1086:3:36", + "nativeSrc": "1086:3:34", "nodeType": "YulIdentifier", - "src": "1086:3:36" + "src": "1086:3:34" } ], "functionName": { "name": "gt", - "nativeSrc": "1065:2:36", + "nativeSrc": "1065:2:34", "nodeType": "YulIdentifier", - "src": "1065:2:36" + "src": "1065:2:34" }, - "nativeSrc": "1065:25:36", + "nativeSrc": "1065:25:34", "nodeType": "YulFunctionCall", - "src": "1065:25:36" + "src": "1065:25:34" }, - "nativeSrc": "1062:45:36", + "nativeSrc": "1062:45:34", "nodeType": "YulIf", - "src": "1062:45:36" + "src": "1062:45:34" }, { "expression": { @@ -134224,55 +133234,55 @@ "arguments": [ { "name": "array", - "nativeSrc": "1133:5:36", + "nativeSrc": "1133:5:34", "nodeType": "YulIdentifier", - "src": "1133:5:36" + "src": "1133:5:34" }, { "kind": "number", - "nativeSrc": "1140:4:36", + "nativeSrc": "1140:4:34", "nodeType": "YulLiteral", - "src": "1140:4:36", + "src": "1140:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "1129:3:36", + "nativeSrc": "1129:3:34", "nodeType": "YulIdentifier", - "src": "1129:3:36" + "src": "1129:3:34" }, - "nativeSrc": "1129:16:36", + "nativeSrc": "1129:16:34", "nodeType": "YulFunctionCall", - "src": "1129:16:36" + "src": "1129:16:34" }, { "name": "src", - "nativeSrc": "1147:3:36", + "nativeSrc": "1147:3:34", "nodeType": "YulIdentifier", - "src": "1147:3:36" + "src": "1147:3:34" }, { "name": "length", - "nativeSrc": "1152:6:36", + "nativeSrc": "1152:6:34", "nodeType": "YulIdentifier", - "src": "1152:6:36" + "src": "1152:6:34" } ], "functionName": { "name": "calldatacopy", - "nativeSrc": "1116:12:36", + "nativeSrc": "1116:12:34", "nodeType": "YulIdentifier", - "src": "1116:12:36" + "src": "1116:12:34" }, - "nativeSrc": "1116:43:36", + "nativeSrc": "1116:43:34", "nodeType": "YulFunctionCall", - "src": "1116:43:36" + "src": "1116:43:34" }, - "nativeSrc": "1116:43:36", + "nativeSrc": "1116:43:34", "nodeType": "YulExpressionStatement", - "src": "1116:43:36" + "src": "1116:43:34" }, { "expression": { @@ -134283,153 +133293,153 @@ "arguments": [ { "name": "array", - "nativeSrc": "1183:5:36", + "nativeSrc": "1183:5:34", "nodeType": "YulIdentifier", - "src": "1183:5:36" + "src": "1183:5:34" }, { "name": "length", - "nativeSrc": "1190:6:36", + "nativeSrc": "1190:6:34", "nodeType": "YulIdentifier", - "src": "1190:6:36" + "src": "1190:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "1179:3:36", + "nativeSrc": "1179:3:34", "nodeType": "YulIdentifier", - "src": "1179:3:36" + "src": "1179:3:34" }, - "nativeSrc": "1179:18:36", + "nativeSrc": "1179:18:34", "nodeType": "YulFunctionCall", - "src": "1179:18:36" + "src": "1179:18:34" }, { "kind": "number", - "nativeSrc": "1199:4:36", + "nativeSrc": "1199:4:34", "nodeType": "YulLiteral", - "src": "1199:4:36", + "src": "1199:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "1175:3:36", + "nativeSrc": "1175:3:34", "nodeType": "YulIdentifier", - "src": "1175:3:36" + "src": "1175:3:34" }, - "nativeSrc": "1175:29:36", + "nativeSrc": "1175:29:34", "nodeType": "YulFunctionCall", - "src": "1175:29:36" + "src": "1175:29:34" }, { "kind": "number", - "nativeSrc": "1206:1:36", + "nativeSrc": "1206:1:34", "nodeType": "YulLiteral", - "src": "1206:1:36", + "src": "1206:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "1168:6:36", + "nativeSrc": "1168:6:34", "nodeType": "YulIdentifier", - "src": "1168:6:36" + "src": "1168:6:34" }, - "nativeSrc": "1168:40:36", + "nativeSrc": "1168:40:34", "nodeType": "YulFunctionCall", - "src": "1168:40:36" + "src": "1168:40:34" }, - "nativeSrc": "1168:40:36", + "nativeSrc": "1168:40:34", "nodeType": "YulExpressionStatement", - "src": "1168:40:36" + "src": "1168:40:34" } ] }, "name": "abi_decode_available_length_string", - "nativeSrc": "876:338:36", + "nativeSrc": "876:338:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "src", - "nativeSrc": "920:3:36", + "nativeSrc": "920:3:34", "nodeType": "YulTypedName", - "src": "920:3:36", + "src": "920:3:34", "type": "" }, { "name": "length", - "nativeSrc": "925:6:36", + "nativeSrc": "925:6:34", "nodeType": "YulTypedName", - "src": "925:6:36", + "src": "925:6:34", "type": "" }, { "name": "end", - "nativeSrc": "933:3:36", + "nativeSrc": "933:3:34", "nodeType": "YulTypedName", - "src": "933:3:36", + "src": "933:3:34", "type": "" } ], "returnVariables": [ { "name": "array", - "nativeSrc": "941:5:36", + "nativeSrc": "941:5:34", "nodeType": "YulTypedName", - "src": "941:5:36", + "src": "941:5:34", "type": "" } ], - "src": "876:338:36" + "src": "876:338:34" }, { "body": { - "nativeSrc": "1272:169:36", + "nativeSrc": "1272:169:34", "nodeType": "YulBlock", - "src": "1272:169:36", + "src": "1272:169:34", "statements": [ { "body": { - "nativeSrc": "1321:16:36", + "nativeSrc": "1321:16:34", "nodeType": "YulBlock", - "src": "1321:16:36", + "src": "1321:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1330:1:36", + "nativeSrc": "1330:1:34", "nodeType": "YulLiteral", - "src": "1330:1:36", + "src": "1330:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1333:1:36", + "nativeSrc": "1333:1:34", "nodeType": "YulLiteral", - "src": "1333:1:36", + "src": "1333:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1323:6:36", + "nativeSrc": "1323:6:34", "nodeType": "YulIdentifier", - "src": "1323:6:36" + "src": "1323:6:34" }, - "nativeSrc": "1323:12:36", + "nativeSrc": "1323:12:34", "nodeType": "YulFunctionCall", - "src": "1323:12:36" + "src": "1323:12:34" }, - "nativeSrc": "1323:12:36", + "nativeSrc": "1323:12:34", "nodeType": "YulExpressionStatement", - "src": "1323:12:36" + "src": "1323:12:34" } ] }, @@ -134441,216 +133451,216 @@ "arguments": [ { "name": "offset", - "nativeSrc": "1300:6:36", + "nativeSrc": "1300:6:34", "nodeType": "YulIdentifier", - "src": "1300:6:36" + "src": "1300:6:34" }, { "kind": "number", - "nativeSrc": "1308:4:36", + "nativeSrc": "1308:4:34", "nodeType": "YulLiteral", - "src": "1308:4:36", + "src": "1308:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "1296:3:36", + "nativeSrc": "1296:3:34", "nodeType": "YulIdentifier", - "src": "1296:3:36" + "src": "1296:3:34" }, - "nativeSrc": "1296:17:36", + "nativeSrc": "1296:17:34", "nodeType": "YulFunctionCall", - "src": "1296:17:36" + "src": "1296:17:34" }, { "name": "end", - "nativeSrc": "1315:3:36", + "nativeSrc": "1315:3:34", "nodeType": "YulIdentifier", - "src": "1315:3:36" + "src": "1315:3:34" } ], "functionName": { "name": "slt", - "nativeSrc": "1292:3:36", + "nativeSrc": "1292:3:34", "nodeType": "YulIdentifier", - "src": "1292:3:36" + "src": "1292:3:34" }, - "nativeSrc": "1292:27:36", + "nativeSrc": "1292:27:34", "nodeType": "YulFunctionCall", - "src": "1292:27:36" + "src": "1292:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "1285:6:36", + "nativeSrc": "1285:6:34", "nodeType": "YulIdentifier", - "src": "1285:6:36" + "src": "1285:6:34" }, - "nativeSrc": "1285:35:36", + "nativeSrc": "1285:35:34", "nodeType": "YulFunctionCall", - "src": "1285:35:36" + "src": "1285:35:34" }, - "nativeSrc": "1282:55:36", + "nativeSrc": "1282:55:34", "nodeType": "YulIf", - "src": "1282:55:36" + "src": "1282:55:34" }, { - "nativeSrc": "1346:89:36", + "nativeSrc": "1346:89:34", "nodeType": "YulAssignment", - "src": "1346:89:36", + "src": "1346:89:34", "value": { "arguments": [ { "arguments": [ { "name": "offset", - "nativeSrc": "1394:6:36", + "nativeSrc": "1394:6:34", "nodeType": "YulIdentifier", - "src": "1394:6:36" + "src": "1394:6:34" }, { "kind": "number", - "nativeSrc": "1402:4:36", + "nativeSrc": "1402:4:34", "nodeType": "YulLiteral", - "src": "1402:4:36", + "src": "1402:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "1390:3:36", + "nativeSrc": "1390:3:34", "nodeType": "YulIdentifier", - "src": "1390:3:36" + "src": "1390:3:34" }, - "nativeSrc": "1390:17:36", + "nativeSrc": "1390:17:34", "nodeType": "YulFunctionCall", - "src": "1390:17:36" + "src": "1390:17:34" }, { "arguments": [ { "name": "offset", - "nativeSrc": "1422:6:36", + "nativeSrc": "1422:6:34", "nodeType": "YulIdentifier", - "src": "1422:6:36" + "src": "1422:6:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "1409:12:36", + "nativeSrc": "1409:12:34", "nodeType": "YulIdentifier", - "src": "1409:12:36" + "src": "1409:12:34" }, - "nativeSrc": "1409:20:36", + "nativeSrc": "1409:20:34", "nodeType": "YulFunctionCall", - "src": "1409:20:36" + "src": "1409:20:34" }, { "name": "end", - "nativeSrc": "1431:3:36", + "nativeSrc": "1431:3:34", "nodeType": "YulIdentifier", - "src": "1431:3:36" + "src": "1431:3:34" } ], "functionName": { "name": "abi_decode_available_length_string", - "nativeSrc": "1355:34:36", + "nativeSrc": "1355:34:34", "nodeType": "YulIdentifier", - "src": "1355:34:36" + "src": "1355:34:34" }, - "nativeSrc": "1355:80:36", + "nativeSrc": "1355:80:34", "nodeType": "YulFunctionCall", - "src": "1355:80:36" + "src": "1355:80:34" }, "variableNames": [ { "name": "array", - "nativeSrc": "1346:5:36", + "nativeSrc": "1346:5:34", "nodeType": "YulIdentifier", - "src": "1346:5:36" + "src": "1346:5:34" } ] } ] }, "name": "abi_decode_string", - "nativeSrc": "1219:222:36", + "nativeSrc": "1219:222:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "1246:6:36", + "nativeSrc": "1246:6:34", "nodeType": "YulTypedName", - "src": "1246:6:36", + "src": "1246:6:34", "type": "" }, { "name": "end", - "nativeSrc": "1254:3:36", + "nativeSrc": "1254:3:34", "nodeType": "YulTypedName", - "src": "1254:3:36", + "src": "1254:3:34", "type": "" } ], "returnVariables": [ { "name": "array", - "nativeSrc": "1262:5:36", + "nativeSrc": "1262:5:34", "nodeType": "YulTypedName", - "src": "1262:5:36", + "src": "1262:5:34", "type": "" } ], - "src": "1219:222:36" + "src": "1219:222:34" }, { "body": { - "nativeSrc": "1543:293:36", + "nativeSrc": "1543:293:34", "nodeType": "YulBlock", - "src": "1543:293:36", + "src": "1543:293:34", "statements": [ { "body": { - "nativeSrc": "1589:16:36", + "nativeSrc": "1589:16:34", "nodeType": "YulBlock", - "src": "1589:16:36", + "src": "1589:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1598:1:36", + "nativeSrc": "1598:1:34", "nodeType": "YulLiteral", - "src": "1598:1:36", + "src": "1598:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1601:1:36", + "nativeSrc": "1601:1:34", "nodeType": "YulLiteral", - "src": "1601:1:36", + "src": "1601:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1591:6:36", + "nativeSrc": "1591:6:34", "nodeType": "YulIdentifier", - "src": "1591:6:36" + "src": "1591:6:34" }, - "nativeSrc": "1591:12:36", + "nativeSrc": "1591:12:34", "nodeType": "YulFunctionCall", - "src": "1591:12:36" + "src": "1591:12:34" }, - "nativeSrc": "1591:12:36", + "nativeSrc": "1591:12:34", "nodeType": "YulExpressionStatement", - "src": "1591:12:36" + "src": "1591:12:34" } ] }, @@ -134660,122 +133670,122 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "1564:7:36", + "nativeSrc": "1564:7:34", "nodeType": "YulIdentifier", - "src": "1564:7:36" + "src": "1564:7:34" }, { "name": "headStart", - "nativeSrc": "1573:9:36", + "nativeSrc": "1573:9:34", "nodeType": "YulIdentifier", - "src": "1573:9:36" + "src": "1573:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "1560:3:36", + "nativeSrc": "1560:3:34", "nodeType": "YulIdentifier", - "src": "1560:3:36" + "src": "1560:3:34" }, - "nativeSrc": "1560:23:36", + "nativeSrc": "1560:23:34", "nodeType": "YulFunctionCall", - "src": "1560:23:36" + "src": "1560:23:34" }, { "kind": "number", - "nativeSrc": "1585:2:36", + "nativeSrc": "1585:2:34", "nodeType": "YulLiteral", - "src": "1585:2:36", + "src": "1585:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "1556:3:36", + "nativeSrc": "1556:3:34", "nodeType": "YulIdentifier", - "src": "1556:3:36" + "src": "1556:3:34" }, - "nativeSrc": "1556:32:36", + "nativeSrc": "1556:32:34", "nodeType": "YulFunctionCall", - "src": "1556:32:36" + "src": "1556:32:34" }, - "nativeSrc": "1553:52:36", + "nativeSrc": "1553:52:34", "nodeType": "YulIf", - "src": "1553:52:36" + "src": "1553:52:34" }, { - "nativeSrc": "1614:37:36", + "nativeSrc": "1614:37:34", "nodeType": "YulVariableDeclaration", - "src": "1614:37:36", + "src": "1614:37:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "1641:9:36", + "nativeSrc": "1641:9:34", "nodeType": "YulIdentifier", - "src": "1641:9:36" + "src": "1641:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "1628:12:36", + "nativeSrc": "1628:12:34", "nodeType": "YulIdentifier", - "src": "1628:12:36" + "src": "1628:12:34" }, - "nativeSrc": "1628:23:36", + "nativeSrc": "1628:23:34", "nodeType": "YulFunctionCall", - "src": "1628:23:36" + "src": "1628:23:34" }, "variables": [ { "name": "offset", - "nativeSrc": "1618:6:36", + "nativeSrc": "1618:6:34", "nodeType": "YulTypedName", - "src": "1618:6:36", + "src": "1618:6:34", "type": "" } ] }, { "body": { - "nativeSrc": "1694:16:36", + "nativeSrc": "1694:16:34", "nodeType": "YulBlock", - "src": "1694:16:36", + "src": "1694:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "1703:1:36", + "nativeSrc": "1703:1:34", "nodeType": "YulLiteral", - "src": "1703:1:36", + "src": "1703:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "1706:1:36", + "nativeSrc": "1706:1:34", "nodeType": "YulLiteral", - "src": "1706:1:36", + "src": "1706:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "1696:6:36", + "nativeSrc": "1696:6:34", "nodeType": "YulIdentifier", - "src": "1696:6:36" + "src": "1696:6:34" }, - "nativeSrc": "1696:12:36", + "nativeSrc": "1696:12:34", "nodeType": "YulFunctionCall", - "src": "1696:12:36" + "src": "1696:12:34" }, - "nativeSrc": "1696:12:36", + "nativeSrc": "1696:12:34", "nodeType": "YulExpressionStatement", - "src": "1696:12:36" + "src": "1696:12:34" } ] }, @@ -134783,215 +133793,215 @@ "arguments": [ { "name": "offset", - "nativeSrc": "1666:6:36", + "nativeSrc": "1666:6:34", "nodeType": "YulIdentifier", - "src": "1666:6:36" + "src": "1666:6:34" }, { "kind": "number", - "nativeSrc": "1674:18:36", + "nativeSrc": "1674:18:34", "nodeType": "YulLiteral", - "src": "1674:18:36", + "src": "1674:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "1663:2:36", + "nativeSrc": "1663:2:34", "nodeType": "YulIdentifier", - "src": "1663:2:36" + "src": "1663:2:34" }, - "nativeSrc": "1663:30:36", + "nativeSrc": "1663:30:34", "nodeType": "YulFunctionCall", - "src": "1663:30:36" + "src": "1663:30:34" }, - "nativeSrc": "1660:50:36", + "nativeSrc": "1660:50:34", "nodeType": "YulIf", - "src": "1660:50:36" + "src": "1660:50:34" }, { - "nativeSrc": "1719:60:36", + "nativeSrc": "1719:60:34", "nodeType": "YulAssignment", - "src": "1719:60:36", + "src": "1719:60:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "1751:9:36", + "nativeSrc": "1751:9:34", "nodeType": "YulIdentifier", - "src": "1751:9:36" + "src": "1751:9:34" }, { "name": "offset", - "nativeSrc": "1762:6:36", + "nativeSrc": "1762:6:34", "nodeType": "YulIdentifier", - "src": "1762:6:36" + "src": "1762:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "1747:3:36", + "nativeSrc": "1747:3:34", "nodeType": "YulIdentifier", - "src": "1747:3:36" + "src": "1747:3:34" }, - "nativeSrc": "1747:22:36", + "nativeSrc": "1747:22:34", "nodeType": "YulFunctionCall", - "src": "1747:22:36" + "src": "1747:22:34" }, { "name": "dataEnd", - "nativeSrc": "1771:7:36", + "nativeSrc": "1771:7:34", "nodeType": "YulIdentifier", - "src": "1771:7:36" + "src": "1771:7:34" } ], "functionName": { "name": "abi_decode_string", - "nativeSrc": "1729:17:36", + "nativeSrc": "1729:17:34", "nodeType": "YulIdentifier", - "src": "1729:17:36" + "src": "1729:17:34" }, - "nativeSrc": "1729:50:36", + "nativeSrc": "1729:50:34", "nodeType": "YulFunctionCall", - "src": "1729:50:36" + "src": "1729:50:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "1719:6:36", + "nativeSrc": "1719:6:34", "nodeType": "YulIdentifier", - "src": "1719:6:36" + "src": "1719:6:34" } ] }, { - "nativeSrc": "1788:42:36", + "nativeSrc": "1788:42:34", "nodeType": "YulAssignment", - "src": "1788:42:36", + "src": "1788:42:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "1815:9:36", + "nativeSrc": "1815:9:34", "nodeType": "YulIdentifier", - "src": "1815:9:36" + "src": "1815:9:34" }, { "kind": "number", - "nativeSrc": "1826:2:36", + "nativeSrc": "1826:2:34", "nodeType": "YulLiteral", - "src": "1826:2:36", + "src": "1826:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1811:3:36", + "nativeSrc": "1811:3:34", "nodeType": "YulIdentifier", - "src": "1811:3:36" + "src": "1811:3:34" }, - "nativeSrc": "1811:18:36", + "nativeSrc": "1811:18:34", "nodeType": "YulFunctionCall", - "src": "1811:18:36" + "src": "1811:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "1798:12:36", + "nativeSrc": "1798:12:34", "nodeType": "YulIdentifier", - "src": "1798:12:36" + "src": "1798:12:34" }, - "nativeSrc": "1798:32:36", + "nativeSrc": "1798:32:34", "nodeType": "YulFunctionCall", - "src": "1798:32:36" + "src": "1798:32:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "1788:6:36", + "nativeSrc": "1788:6:34", "nodeType": "YulIdentifier", - "src": "1788:6:36" + "src": "1788:6:34" } ] } ] }, "name": "abi_decode_tuple_t_string_memory_ptrt_uint256", - "nativeSrc": "1446:390:36", + "nativeSrc": "1446:390:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "1501:9:36", + "nativeSrc": "1501:9:34", "nodeType": "YulTypedName", - "src": "1501:9:36", + "src": "1501:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "1512:7:36", + "nativeSrc": "1512:7:34", "nodeType": "YulTypedName", - "src": "1512:7:36", + "src": "1512:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "1524:6:36", + "nativeSrc": "1524:6:34", "nodeType": "YulTypedName", - "src": "1524:6:36", + "src": "1524:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "1532:6:36", + "nativeSrc": "1532:6:34", "nodeType": "YulTypedName", - "src": "1532:6:36", + "src": "1532:6:34", "type": "" } ], - "src": "1446:390:36" + "src": "1446:390:34" }, { "body": { - "nativeSrc": "1907:184:36", + "nativeSrc": "1907:184:34", "nodeType": "YulBlock", - "src": "1907:184:36", + "src": "1907:184:34", "statements": [ { - "nativeSrc": "1917:10:36", + "nativeSrc": "1917:10:34", "nodeType": "YulVariableDeclaration", - "src": "1917:10:36", + "src": "1917:10:34", "value": { "kind": "number", - "nativeSrc": "1926:1:36", + "nativeSrc": "1926:1:34", "nodeType": "YulLiteral", - "src": "1926:1:36", + "src": "1926:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "1921:1:36", + "nativeSrc": "1921:1:34", "nodeType": "YulTypedName", - "src": "1921:1:36", + "src": "1921:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "1986:63:36", + "nativeSrc": "1986:63:34", "nodeType": "YulBlock", - "src": "1986:63:36", + "src": "1986:63:34", "statements": [ { "expression": { @@ -135000,26 +134010,26 @@ "arguments": [ { "name": "dst", - "nativeSrc": "2011:3:36", + "nativeSrc": "2011:3:34", "nodeType": "YulIdentifier", - "src": "2011:3:36" + "src": "2011:3:34" }, { "name": "i", - "nativeSrc": "2016:1:36", + "nativeSrc": "2016:1:34", "nodeType": "YulIdentifier", - "src": "2016:1:36" + "src": "2016:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "2007:3:36", + "nativeSrc": "2007:3:34", "nodeType": "YulIdentifier", - "src": "2007:3:36" + "src": "2007:3:34" }, - "nativeSrc": "2007:11:36", + "nativeSrc": "2007:11:34", "nodeType": "YulFunctionCall", - "src": "2007:11:36" + "src": "2007:11:34" }, { "arguments": [ @@ -135027,52 +134037,52 @@ "arguments": [ { "name": "src", - "nativeSrc": "2030:3:36", + "nativeSrc": "2030:3:34", "nodeType": "YulIdentifier", - "src": "2030:3:36" + "src": "2030:3:34" }, { "name": "i", - "nativeSrc": "2035:1:36", + "nativeSrc": "2035:1:34", "nodeType": "YulIdentifier", - "src": "2035:1:36" + "src": "2035:1:34" } ], "functionName": { "name": "add", - "nativeSrc": "2026:3:36", + "nativeSrc": "2026:3:34", "nodeType": "YulIdentifier", - "src": "2026:3:36" + "src": "2026:3:34" }, - "nativeSrc": "2026:11:36", + "nativeSrc": "2026:11:34", "nodeType": "YulFunctionCall", - "src": "2026:11:36" + "src": "2026:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "2020:5:36", + "nativeSrc": "2020:5:34", "nodeType": "YulIdentifier", - "src": "2020:5:36" + "src": "2020:5:34" }, - "nativeSrc": "2020:18:36", + "nativeSrc": "2020:18:34", "nodeType": "YulFunctionCall", - "src": "2020:18:36" + "src": "2020:18:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2000:6:36", + "nativeSrc": "2000:6:34", "nodeType": "YulIdentifier", - "src": "2000:6:36" + "src": "2000:6:34" }, - "nativeSrc": "2000:39:36", + "nativeSrc": "2000:39:34", "nodeType": "YulFunctionCall", - "src": "2000:39:36" + "src": "2000:39:34" }, - "nativeSrc": "2000:39:36", + "nativeSrc": "2000:39:34", "nodeType": "YulExpressionStatement", - "src": "2000:39:36" + "src": "2000:39:34" } ] }, @@ -135080,83 +134090,83 @@ "arguments": [ { "name": "i", - "nativeSrc": "1947:1:36", + "nativeSrc": "1947:1:34", "nodeType": "YulIdentifier", - "src": "1947:1:36" + "src": "1947:1:34" }, { "name": "length", - "nativeSrc": "1950:6:36", + "nativeSrc": "1950:6:34", "nodeType": "YulIdentifier", - "src": "1950:6:36" + "src": "1950:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "1944:2:36", + "nativeSrc": "1944:2:34", "nodeType": "YulIdentifier", - "src": "1944:2:36" + "src": "1944:2:34" }, - "nativeSrc": "1944:13:36", + "nativeSrc": "1944:13:34", "nodeType": "YulFunctionCall", - "src": "1944:13:36" + "src": "1944:13:34" }, - "nativeSrc": "1936:113:36", + "nativeSrc": "1936:113:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "1958:19:36", + "nativeSrc": "1958:19:34", "nodeType": "YulBlock", - "src": "1958:19:36", + "src": "1958:19:34", "statements": [ { - "nativeSrc": "1960:15:36", + "nativeSrc": "1960:15:34", "nodeType": "YulAssignment", - "src": "1960:15:36", + "src": "1960:15:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "1969:1:36", + "nativeSrc": "1969:1:34", "nodeType": "YulIdentifier", - "src": "1969:1:36" + "src": "1969:1:34" }, { "kind": "number", - "nativeSrc": "1972:2:36", + "nativeSrc": "1972:2:34", "nodeType": "YulLiteral", - "src": "1972:2:36", + "src": "1972:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "1965:3:36", + "nativeSrc": "1965:3:34", "nodeType": "YulIdentifier", - "src": "1965:3:36" + "src": "1965:3:34" }, - "nativeSrc": "1965:10:36", + "nativeSrc": "1965:10:34", "nodeType": "YulFunctionCall", - "src": "1965:10:36" + "src": "1965:10:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "1960:1:36", + "nativeSrc": "1960:1:34", "nodeType": "YulIdentifier", - "src": "1960:1:36" + "src": "1960:1:34" } ] } ] }, "pre": { - "nativeSrc": "1940:3:36", + "nativeSrc": "1940:3:34", "nodeType": "YulBlock", - "src": "1940:3:36", + "src": "1940:3:34", "statements": [] }, - "src": "1936:113:36" + "src": "1936:113:34" }, { "expression": { @@ -135165,115 +134175,115 @@ "arguments": [ { "name": "dst", - "nativeSrc": "2069:3:36", + "nativeSrc": "2069:3:34", "nodeType": "YulIdentifier", - "src": "2069:3:36" + "src": "2069:3:34" }, { "name": "length", - "nativeSrc": "2074:6:36", + "nativeSrc": "2074:6:34", "nodeType": "YulIdentifier", - "src": "2074:6:36" + "src": "2074:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "2065:3:36", + "nativeSrc": "2065:3:34", "nodeType": "YulIdentifier", - "src": "2065:3:36" + "src": "2065:3:34" }, - "nativeSrc": "2065:16:36", + "nativeSrc": "2065:16:34", "nodeType": "YulFunctionCall", - "src": "2065:16:36" + "src": "2065:16:34" }, { "kind": "number", - "nativeSrc": "2083:1:36", + "nativeSrc": "2083:1:34", "nodeType": "YulLiteral", - "src": "2083:1:36", + "src": "2083:1:34", "type": "", "value": "0" } ], "functionName": { "name": "mstore", - "nativeSrc": "2058:6:36", + "nativeSrc": "2058:6:34", "nodeType": "YulIdentifier", - "src": "2058:6:36" + "src": "2058:6:34" }, - "nativeSrc": "2058:27:36", + "nativeSrc": "2058:27:34", "nodeType": "YulFunctionCall", - "src": "2058:27:36" + "src": "2058:27:34" }, - "nativeSrc": "2058:27:36", + "nativeSrc": "2058:27:34", "nodeType": "YulExpressionStatement", - "src": "2058:27:36" + "src": "2058:27:34" } ] }, "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "1841:250:36", + "nativeSrc": "1841:250:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "src", - "nativeSrc": "1885:3:36", + "nativeSrc": "1885:3:34", "nodeType": "YulTypedName", - "src": "1885:3:36", + "src": "1885:3:34", "type": "" }, { "name": "dst", - "nativeSrc": "1890:3:36", + "nativeSrc": "1890:3:34", "nodeType": "YulTypedName", - "src": "1890:3:36", + "src": "1890:3:34", "type": "" }, { "name": "length", - "nativeSrc": "1895:6:36", + "nativeSrc": "1895:6:34", "nodeType": "YulTypedName", - "src": "1895:6:36", + "src": "1895:6:34", "type": "" } ], - "src": "1841:250:36" + "src": "1841:250:34" }, { "body": { - "nativeSrc": "2146:221:36", + "nativeSrc": "2146:221:34", "nodeType": "YulBlock", - "src": "2146:221:36", + "src": "2146:221:34", "statements": [ { - "nativeSrc": "2156:26:36", + "nativeSrc": "2156:26:34", "nodeType": "YulVariableDeclaration", - "src": "2156:26:36", + "src": "2156:26:34", "value": { "arguments": [ { "name": "value", - "nativeSrc": "2176:5:36", + "nativeSrc": "2176:5:34", "nodeType": "YulIdentifier", - "src": "2176:5:36" + "src": "2176:5:34" } ], "functionName": { "name": "mload", - "nativeSrc": "2170:5:36", + "nativeSrc": "2170:5:34", "nodeType": "YulIdentifier", - "src": "2170:5:36" + "src": "2170:5:34" }, - "nativeSrc": "2170:12:36", + "nativeSrc": "2170:12:34", "nodeType": "YulFunctionCall", - "src": "2170:12:36" + "src": "2170:12:34" }, "variables": [ { "name": "length", - "nativeSrc": "2160:6:36", + "nativeSrc": "2160:6:34", "nodeType": "YulTypedName", - "src": "2160:6:36", + "src": "2160:6:34", "type": "" } ] @@ -135283,30 +134293,30 @@ "arguments": [ { "name": "pos", - "nativeSrc": "2198:3:36", + "nativeSrc": "2198:3:34", "nodeType": "YulIdentifier", - "src": "2198:3:36" + "src": "2198:3:34" }, { "name": "length", - "nativeSrc": "2203:6:36", + "nativeSrc": "2203:6:34", "nodeType": "YulIdentifier", - "src": "2203:6:36" + "src": "2203:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2191:6:36", + "nativeSrc": "2191:6:34", "nodeType": "YulIdentifier", - "src": "2191:6:36" + "src": "2191:6:34" }, - "nativeSrc": "2191:19:36", + "nativeSrc": "2191:19:34", "nodeType": "YulFunctionCall", - "src": "2191:19:36" + "src": "2191:19:34" }, - "nativeSrc": "2191:19:36", + "nativeSrc": "2191:19:34", "nodeType": "YulExpressionStatement", - "src": "2191:19:36" + "src": "2191:19:34" }, { "expression": { @@ -135315,90 +134325,90 @@ "arguments": [ { "name": "value", - "nativeSrc": "2258:5:36", + "nativeSrc": "2258:5:34", "nodeType": "YulIdentifier", - "src": "2258:5:36" + "src": "2258:5:34" }, { "kind": "number", - "nativeSrc": "2265:4:36", + "nativeSrc": "2265:4:34", "nodeType": "YulLiteral", - "src": "2265:4:36", + "src": "2265:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "2254:3:36", + "nativeSrc": "2254:3:34", "nodeType": "YulIdentifier", - "src": "2254:3:36" + "src": "2254:3:34" }, - "nativeSrc": "2254:16:36", + "nativeSrc": "2254:16:34", "nodeType": "YulFunctionCall", - "src": "2254:16:36" + "src": "2254:16:34" }, { "arguments": [ { "name": "pos", - "nativeSrc": "2276:3:36", + "nativeSrc": "2276:3:34", "nodeType": "YulIdentifier", - "src": "2276:3:36" + "src": "2276:3:34" }, { "kind": "number", - "nativeSrc": "2281:4:36", + "nativeSrc": "2281:4:34", "nodeType": "YulLiteral", - "src": "2281:4:36", + "src": "2281:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "2272:3:36", + "nativeSrc": "2272:3:34", "nodeType": "YulIdentifier", - "src": "2272:3:36" + "src": "2272:3:34" }, - "nativeSrc": "2272:14:36", + "nativeSrc": "2272:14:34", "nodeType": "YulFunctionCall", - "src": "2272:14:36" + "src": "2272:14:34" }, { "name": "length", - "nativeSrc": "2288:6:36", + "nativeSrc": "2288:6:34", "nodeType": "YulIdentifier", - "src": "2288:6:36" + "src": "2288:6:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "2219:34:36", + "nativeSrc": "2219:34:34", "nodeType": "YulIdentifier", - "src": "2219:34:36" + "src": "2219:34:34" }, - "nativeSrc": "2219:76:36", + "nativeSrc": "2219:76:34", "nodeType": "YulFunctionCall", - "src": "2219:76:36" + "src": "2219:76:34" }, - "nativeSrc": "2219:76:36", + "nativeSrc": "2219:76:34", "nodeType": "YulExpressionStatement", - "src": "2219:76:36" + "src": "2219:76:34" }, { - "nativeSrc": "2304:57:36", + "nativeSrc": "2304:57:34", "nodeType": "YulAssignment", - "src": "2304:57:36", + "src": "2304:57:34", "value": { "arguments": [ { "arguments": [ { "name": "pos", - "nativeSrc": "2319:3:36", + "nativeSrc": "2319:3:34", "nodeType": "YulIdentifier", - "src": "2319:3:36" + "src": "2319:3:34" }, { "arguments": [ @@ -135406,154 +134416,154 @@ "arguments": [ { "name": "length", - "nativeSrc": "2332:6:36", + "nativeSrc": "2332:6:34", "nodeType": "YulIdentifier", - "src": "2332:6:36" + "src": "2332:6:34" }, { "kind": "number", - "nativeSrc": "2340:2:36", + "nativeSrc": "2340:2:34", "nodeType": "YulLiteral", - "src": "2340:2:36", + "src": "2340:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "2328:3:36", + "nativeSrc": "2328:3:34", "nodeType": "YulIdentifier", - "src": "2328:3:36" + "src": "2328:3:34" }, - "nativeSrc": "2328:15:36", + "nativeSrc": "2328:15:34", "nodeType": "YulFunctionCall", - "src": "2328:15:36" + "src": "2328:15:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "2349:2:36", + "nativeSrc": "2349:2:34", "nodeType": "YulLiteral", - "src": "2349:2:36", + "src": "2349:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "2345:3:36", + "nativeSrc": "2345:3:34", "nodeType": "YulIdentifier", - "src": "2345:3:36" + "src": "2345:3:34" }, - "nativeSrc": "2345:7:36", + "nativeSrc": "2345:7:34", "nodeType": "YulFunctionCall", - "src": "2345:7:36" + "src": "2345:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "2324:3:36", + "nativeSrc": "2324:3:34", "nodeType": "YulIdentifier", - "src": "2324:3:36" + "src": "2324:3:34" }, - "nativeSrc": "2324:29:36", + "nativeSrc": "2324:29:34", "nodeType": "YulFunctionCall", - "src": "2324:29:36" + "src": "2324:29:34" } ], "functionName": { "name": "add", - "nativeSrc": "2315:3:36", + "nativeSrc": "2315:3:34", "nodeType": "YulIdentifier", - "src": "2315:3:36" + "src": "2315:3:34" }, - "nativeSrc": "2315:39:36", + "nativeSrc": "2315:39:34", "nodeType": "YulFunctionCall", - "src": "2315:39:36" + "src": "2315:39:34" }, { "kind": "number", - "nativeSrc": "2356:4:36", + "nativeSrc": "2356:4:34", "nodeType": "YulLiteral", - "src": "2356:4:36", + "src": "2356:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "2311:3:36", + "nativeSrc": "2311:3:34", "nodeType": "YulIdentifier", - "src": "2311:3:36" + "src": "2311:3:34" }, - "nativeSrc": "2311:50:36", + "nativeSrc": "2311:50:34", "nodeType": "YulFunctionCall", - "src": "2311:50:36" + "src": "2311:50:34" }, "variableNames": [ { "name": "end", - "nativeSrc": "2304:3:36", + "nativeSrc": "2304:3:34", "nodeType": "YulIdentifier", - "src": "2304:3:36" + "src": "2304:3:34" } ] } ] }, "name": "abi_encode_string", - "nativeSrc": "2096:271:36", + "nativeSrc": "2096:271:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "2123:5:36", + "nativeSrc": "2123:5:34", "nodeType": "YulTypedName", - "src": "2123:5:36", + "src": "2123:5:34", "type": "" }, { "name": "pos", - "nativeSrc": "2130:3:36", + "nativeSrc": "2130:3:34", "nodeType": "YulTypedName", - "src": "2130:3:36", + "src": "2130:3:34", "type": "" } ], "returnVariables": [ { "name": "end", - "nativeSrc": "2138:3:36", + "nativeSrc": "2138:3:34", "nodeType": "YulTypedName", - "src": "2138:3:36", + "src": "2138:3:34", "type": "" } ], - "src": "2096:271:36" + "src": "2096:271:34" }, { "body": { - "nativeSrc": "2416:60:36", + "nativeSrc": "2416:60:34", "nodeType": "YulBlock", - "src": "2416:60:36", + "src": "2416:60:34", "statements": [ { "expression": { "arguments": [ { "name": "pos", - "nativeSrc": "2433:3:36", + "nativeSrc": "2433:3:34", "nodeType": "YulIdentifier", - "src": "2433:3:36" + "src": "2433:3:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "2442:5:36", + "nativeSrc": "2442:5:34", "nodeType": "YulIdentifier", - "src": "2442:5:36" + "src": "2442:5:34" }, { "arguments": [ @@ -135561,113 +134571,113 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2457:3:36", + "nativeSrc": "2457:3:34", "nodeType": "YulLiteral", - "src": "2457:3:36", + "src": "2457:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "2462:1:36", + "nativeSrc": "2462:1:34", "nodeType": "YulLiteral", - "src": "2462:1:36", + "src": "2462:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "2453:3:36", + "nativeSrc": "2453:3:34", "nodeType": "YulIdentifier", - "src": "2453:3:36" + "src": "2453:3:34" }, - "nativeSrc": "2453:11:36", + "nativeSrc": "2453:11:34", "nodeType": "YulFunctionCall", - "src": "2453:11:36" + "src": "2453:11:34" }, { "kind": "number", - "nativeSrc": "2466:1:36", + "nativeSrc": "2466:1:34", "nodeType": "YulLiteral", - "src": "2466:1:36", + "src": "2466:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "2449:3:36", + "nativeSrc": "2449:3:34", "nodeType": "YulIdentifier", - "src": "2449:3:36" + "src": "2449:3:34" }, - "nativeSrc": "2449:19:36", + "nativeSrc": "2449:19:34", "nodeType": "YulFunctionCall", - "src": "2449:19:36" + "src": "2449:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "2438:3:36", + "nativeSrc": "2438:3:34", "nodeType": "YulIdentifier", - "src": "2438:3:36" + "src": "2438:3:34" }, - "nativeSrc": "2438:31:36", + "nativeSrc": "2438:31:34", "nodeType": "YulFunctionCall", - "src": "2438:31:36" + "src": "2438:31:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2426:6:36", + "nativeSrc": "2426:6:34", "nodeType": "YulIdentifier", - "src": "2426:6:36" + "src": "2426:6:34" }, - "nativeSrc": "2426:44:36", + "nativeSrc": "2426:44:34", "nodeType": "YulFunctionCall", - "src": "2426:44:36" + "src": "2426:44:34" }, - "nativeSrc": "2426:44:36", + "nativeSrc": "2426:44:34", "nodeType": "YulExpressionStatement", - "src": "2426:44:36" + "src": "2426:44:34" } ] }, "name": "abi_encode_address", - "nativeSrc": "2372:104:36", + "nativeSrc": "2372:104:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "2400:5:36", + "nativeSrc": "2400:5:34", "nodeType": "YulTypedName", - "src": "2400:5:36", + "src": "2400:5:34", "type": "" }, { "name": "pos", - "nativeSrc": "2407:3:36", + "nativeSrc": "2407:3:34", "nodeType": "YulTypedName", - "src": "2407:3:36", + "src": "2407:3:34", "type": "" } ], - "src": "2372:104:36" + "src": "2372:104:34" }, { "body": { - "nativeSrc": "2513:95:36", + "nativeSrc": "2513:95:34", "nodeType": "YulBlock", - "src": "2513:95:36", + "src": "2513:95:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2530:1:36", + "nativeSrc": "2530:1:34", "nodeType": "YulLiteral", - "src": "2530:1:36", + "src": "2530:1:34", "type": "", "value": "0" }, @@ -135675,141 +134685,141 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2537:3:36", + "nativeSrc": "2537:3:34", "nodeType": "YulLiteral", - "src": "2537:3:36", + "src": "2537:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "2542:10:36", + "nativeSrc": "2542:10:34", "nodeType": "YulLiteral", - "src": "2542:10:36", + "src": "2542:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "2533:3:36", + "nativeSrc": "2533:3:34", "nodeType": "YulIdentifier", - "src": "2533:3:36" + "src": "2533:3:34" }, - "nativeSrc": "2533:20:36", + "nativeSrc": "2533:20:34", "nodeType": "YulFunctionCall", - "src": "2533:20:36" + "src": "2533:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2523:6:36", + "nativeSrc": "2523:6:34", "nodeType": "YulIdentifier", - "src": "2523:6:36" + "src": "2523:6:34" }, - "nativeSrc": "2523:31:36", + "nativeSrc": "2523:31:34", "nodeType": "YulFunctionCall", - "src": "2523:31:36" + "src": "2523:31:34" }, - "nativeSrc": "2523:31:36", + "nativeSrc": "2523:31:34", "nodeType": "YulExpressionStatement", - "src": "2523:31:36" + "src": "2523:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2570:1:36", + "nativeSrc": "2570:1:34", "nodeType": "YulLiteral", - "src": "2570:1:36", + "src": "2570:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "2573:4:36", + "nativeSrc": "2573:4:34", "nodeType": "YulLiteral", - "src": "2573:4:36", + "src": "2573:4:34", "type": "", "value": "0x21" } ], "functionName": { "name": "mstore", - "nativeSrc": "2563:6:36", + "nativeSrc": "2563:6:34", "nodeType": "YulIdentifier", - "src": "2563:6:36" + "src": "2563:6:34" }, - "nativeSrc": "2563:15:36", + "nativeSrc": "2563:15:34", "nodeType": "YulFunctionCall", - "src": "2563:15:36" + "src": "2563:15:34" }, - "nativeSrc": "2563:15:36", + "nativeSrc": "2563:15:34", "nodeType": "YulExpressionStatement", - "src": "2563:15:36" + "src": "2563:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2594:1:36", + "nativeSrc": "2594:1:34", "nodeType": "YulLiteral", - "src": "2594:1:36", + "src": "2594:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "2597:4:36", + "nativeSrc": "2597:4:34", "nodeType": "YulLiteral", - "src": "2597:4:36", + "src": "2597:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "2587:6:36", + "nativeSrc": "2587:6:34", "nodeType": "YulIdentifier", - "src": "2587:6:36" + "src": "2587:6:34" }, - "nativeSrc": "2587:15:36", + "nativeSrc": "2587:15:34", "nodeType": "YulFunctionCall", - "src": "2587:15:36" + "src": "2587:15:34" }, - "nativeSrc": "2587:15:36", + "nativeSrc": "2587:15:34", "nodeType": "YulExpressionStatement", - "src": "2587:15:36" + "src": "2587:15:34" } ] }, "name": "panic_error_0x21", - "nativeSrc": "2481:127:36", + "nativeSrc": "2481:127:34", "nodeType": "YulFunctionDefinition", - "src": "2481:127:36" + "src": "2481:127:34" }, { "body": { - "nativeSrc": "2665:186:36", + "nativeSrc": "2665:186:34", "nodeType": "YulBlock", - "src": "2665:186:36", + "src": "2665:186:34", "statements": [ { "body": { - "nativeSrc": "2707:111:36", + "nativeSrc": "2707:111:34", "nodeType": "YulBlock", - "src": "2707:111:36", + "src": "2707:111:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2728:1:36", + "nativeSrc": "2728:1:34", "nodeType": "YulLiteral", - "src": "2728:1:36", + "src": "2728:1:34", "type": "", "value": "0" }, @@ -135817,113 +134827,113 @@ "arguments": [ { "kind": "number", - "nativeSrc": "2735:3:36", + "nativeSrc": "2735:3:34", "nodeType": "YulLiteral", - "src": "2735:3:36", + "src": "2735:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "2740:10:36", + "nativeSrc": "2740:10:34", "nodeType": "YulLiteral", - "src": "2740:10:36", + "src": "2740:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "2731:3:36", + "nativeSrc": "2731:3:34", "nodeType": "YulIdentifier", - "src": "2731:3:36" + "src": "2731:3:34" }, - "nativeSrc": "2731:20:36", + "nativeSrc": "2731:20:34", "nodeType": "YulFunctionCall", - "src": "2731:20:36" + "src": "2731:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2721:6:36", + "nativeSrc": "2721:6:34", "nodeType": "YulIdentifier", - "src": "2721:6:36" + "src": "2721:6:34" }, - "nativeSrc": "2721:31:36", + "nativeSrc": "2721:31:34", "nodeType": "YulFunctionCall", - "src": "2721:31:36" + "src": "2721:31:34" }, - "nativeSrc": "2721:31:36", + "nativeSrc": "2721:31:34", "nodeType": "YulExpressionStatement", - "src": "2721:31:36" + "src": "2721:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2772:1:36", + "nativeSrc": "2772:1:34", "nodeType": "YulLiteral", - "src": "2772:1:36", + "src": "2772:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "2775:4:36", + "nativeSrc": "2775:4:34", "nodeType": "YulLiteral", - "src": "2775:4:36", + "src": "2775:4:34", "type": "", "value": "0x21" } ], "functionName": { "name": "mstore", - "nativeSrc": "2765:6:36", + "nativeSrc": "2765:6:34", "nodeType": "YulIdentifier", - "src": "2765:6:36" + "src": "2765:6:34" }, - "nativeSrc": "2765:15:36", + "nativeSrc": "2765:15:34", "nodeType": "YulFunctionCall", - "src": "2765:15:36" + "src": "2765:15:34" }, - "nativeSrc": "2765:15:36", + "nativeSrc": "2765:15:34", "nodeType": "YulExpressionStatement", - "src": "2765:15:36" + "src": "2765:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "2800:1:36", + "nativeSrc": "2800:1:34", "nodeType": "YulLiteral", - "src": "2800:1:36", + "src": "2800:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "2803:4:36", + "nativeSrc": "2803:4:34", "nodeType": "YulLiteral", - "src": "2803:4:36", + "src": "2803:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "2793:6:36", + "nativeSrc": "2793:6:34", "nodeType": "YulIdentifier", - "src": "2793:6:36" + "src": "2793:6:34" }, - "nativeSrc": "2793:15:36", + "nativeSrc": "2793:15:34", "nodeType": "YulFunctionCall", - "src": "2793:15:36" + "src": "2793:15:34" }, - "nativeSrc": "2793:15:36", + "nativeSrc": "2793:15:34", "nodeType": "YulExpressionStatement", - "src": "2793:15:36" + "src": "2793:15:34" } ] }, @@ -135933,214 +134943,214 @@ "arguments": [ { "name": "value", - "nativeSrc": "2688:5:36", + "nativeSrc": "2688:5:34", "nodeType": "YulIdentifier", - "src": "2688:5:36" + "src": "2688:5:34" }, { "kind": "number", - "nativeSrc": "2695:1:36", + "nativeSrc": "2695:1:34", "nodeType": "YulLiteral", - "src": "2695:1:36", + "src": "2695:1:34", "type": "", "value": "4" } ], "functionName": { "name": "lt", - "nativeSrc": "2685:2:36", + "nativeSrc": "2685:2:34", "nodeType": "YulIdentifier", - "src": "2685:2:36" + "src": "2685:2:34" }, - "nativeSrc": "2685:12:36", + "nativeSrc": "2685:12:34", "nodeType": "YulFunctionCall", - "src": "2685:12:36" + "src": "2685:12:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "2678:6:36", + "nativeSrc": "2678:6:34", "nodeType": "YulIdentifier", - "src": "2678:6:36" + "src": "2678:6:34" }, - "nativeSrc": "2678:20:36", + "nativeSrc": "2678:20:34", "nodeType": "YulFunctionCall", - "src": "2678:20:36" + "src": "2678:20:34" }, - "nativeSrc": "2675:143:36", + "nativeSrc": "2675:143:34", "nodeType": "YulIf", - "src": "2675:143:36" + "src": "2675:143:34" }, { "expression": { "arguments": [ { "name": "pos", - "nativeSrc": "2834:3:36", + "nativeSrc": "2834:3:34", "nodeType": "YulIdentifier", - "src": "2834:3:36" + "src": "2834:3:34" }, { "name": "value", - "nativeSrc": "2839:5:36", + "nativeSrc": "2839:5:34", "nodeType": "YulIdentifier", - "src": "2839:5:36" + "src": "2839:5:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2827:6:36", + "nativeSrc": "2827:6:34", "nodeType": "YulIdentifier", - "src": "2827:6:36" + "src": "2827:6:34" }, - "nativeSrc": "2827:18:36", + "nativeSrc": "2827:18:34", "nodeType": "YulFunctionCall", - "src": "2827:18:36" + "src": "2827:18:34" }, - "nativeSrc": "2827:18:36", + "nativeSrc": "2827:18:34", "nodeType": "YulExpressionStatement", - "src": "2827:18:36" + "src": "2827:18:34" } ] }, "name": "abi_encode_enum_TaskStatus", - "nativeSrc": "2613:238:36", + "nativeSrc": "2613:238:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "2649:5:36", + "nativeSrc": "2649:5:34", "nodeType": "YulTypedName", - "src": "2649:5:36", + "src": "2649:5:34", "type": "" }, { "name": "pos", - "nativeSrc": "2656:3:36", + "nativeSrc": "2656:3:34", "nodeType": "YulTypedName", - "src": "2656:3:36", + "src": "2656:3:34", "type": "" } ], - "src": "2613:238:36" + "src": "2613:238:34" }, { "body": { - "nativeSrc": "2898:33:36", + "nativeSrc": "2898:33:34", "nodeType": "YulBlock", - "src": "2898:33:36", + "src": "2898:33:34", "statements": [ { "expression": { "arguments": [ { "name": "pos", - "nativeSrc": "2907:3:36", + "nativeSrc": "2907:3:34", "nodeType": "YulIdentifier", - "src": "2907:3:36" + "src": "2907:3:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "2916:5:36", + "nativeSrc": "2916:5:34", "nodeType": "YulIdentifier", - "src": "2916:5:36" + "src": "2916:5:34" }, { "kind": "number", - "nativeSrc": "2923:4:36", + "nativeSrc": "2923:4:34", "nodeType": "YulLiteral", - "src": "2923:4:36", + "src": "2923:4:34", "type": "", "value": "0xff" } ], "functionName": { "name": "and", - "nativeSrc": "2912:3:36", + "nativeSrc": "2912:3:34", "nodeType": "YulIdentifier", - "src": "2912:3:36" + "src": "2912:3:34" }, - "nativeSrc": "2912:16:36", + "nativeSrc": "2912:16:34", "nodeType": "YulFunctionCall", - "src": "2912:16:36" + "src": "2912:16:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "2900:6:36", + "nativeSrc": "2900:6:34", "nodeType": "YulIdentifier", - "src": "2900:6:36" + "src": "2900:6:34" }, - "nativeSrc": "2900:29:36", + "nativeSrc": "2900:29:34", "nodeType": "YulFunctionCall", - "src": "2900:29:36" + "src": "2900:29:34" }, - "nativeSrc": "2900:29:36", + "nativeSrc": "2900:29:34", "nodeType": "YulExpressionStatement", - "src": "2900:29:36" + "src": "2900:29:34" } ] }, "name": "abi_encode_uint8", - "nativeSrc": "2856:75:36", + "nativeSrc": "2856:75:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "2882:5:36", + "nativeSrc": "2882:5:34", "nodeType": "YulTypedName", - "src": "2882:5:36", + "src": "2882:5:34", "type": "" }, { "name": "pos", - "nativeSrc": "2889:3:36", + "nativeSrc": "2889:3:34", "nodeType": "YulTypedName", - "src": "2889:3:36", + "src": "2889:3:34", "type": "" } ], - "src": "2856:75:36" + "src": "2856:75:34" }, { "body": { - "nativeSrc": "3089:996:36", + "nativeSrc": "3089:996:34", "nodeType": "YulBlock", - "src": "3089:996:36", + "src": "3089:996:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "3106:9:36", + "nativeSrc": "3106:9:34", "nodeType": "YulIdentifier", - "src": "3106:9:36" + "src": "3106:9:34" }, { "kind": "number", - "nativeSrc": "3117:2:36", + "nativeSrc": "3117:2:34", "nodeType": "YulLiteral", - "src": "3117:2:36", + "src": "3117:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "3099:6:36", + "nativeSrc": "3099:6:34", "nodeType": "YulIdentifier", - "src": "3099:6:36" + "src": "3099:6:34" }, - "nativeSrc": "3099:21:36", + "nativeSrc": "3099:21:34", "nodeType": "YulFunctionCall", - "src": "3099:21:36" + "src": "3099:21:34" }, - "nativeSrc": "3099:21:36", + "nativeSrc": "3099:21:34", "nodeType": "YulExpressionStatement", - "src": "3099:21:36" + "src": "3099:21:34" }, { "expression": { @@ -136149,135 +135159,135 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "3140:9:36", + "nativeSrc": "3140:9:34", "nodeType": "YulIdentifier", - "src": "3140:9:36" + "src": "3140:9:34" }, { "kind": "number", - "nativeSrc": "3151:2:36", + "nativeSrc": "3151:2:34", "nodeType": "YulLiteral", - "src": "3151:2:36", + "src": "3151:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "3136:3:36", + "nativeSrc": "3136:3:34", "nodeType": "YulIdentifier", - "src": "3136:3:36" + "src": "3136:3:34" }, - "nativeSrc": "3136:18:36", + "nativeSrc": "3136:18:34", "nodeType": "YulFunctionCall", - "src": "3136:18:36" + "src": "3136:18:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "3162:6:36", + "nativeSrc": "3162:6:34", "nodeType": "YulIdentifier", - "src": "3162:6:36" + "src": "3162:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3156:5:36", + "nativeSrc": "3156:5:34", "nodeType": "YulIdentifier", - "src": "3156:5:36" + "src": "3156:5:34" }, - "nativeSrc": "3156:13:36", + "nativeSrc": "3156:13:34", "nodeType": "YulFunctionCall", - "src": "3156:13:36" + "src": "3156:13:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "3129:6:36", + "nativeSrc": "3129:6:34", "nodeType": "YulIdentifier", - "src": "3129:6:36" + "src": "3129:6:34" }, - "nativeSrc": "3129:41:36", + "nativeSrc": "3129:41:34", "nodeType": "YulFunctionCall", - "src": "3129:41:36" + "src": "3129:41:34" }, - "nativeSrc": "3129:41:36", + "nativeSrc": "3129:41:34", "nodeType": "YulExpressionStatement", - "src": "3129:41:36" + "src": "3129:41:34" }, { - "nativeSrc": "3179:42:36", + "nativeSrc": "3179:42:34", "nodeType": "YulVariableDeclaration", - "src": "3179:42:36", + "src": "3179:42:34", "value": { "arguments": [ { "arguments": [ { "name": "value0", - "nativeSrc": "3209:6:36", + "nativeSrc": "3209:6:34", "nodeType": "YulIdentifier", - "src": "3209:6:36" + "src": "3209:6:34" }, { "kind": "number", - "nativeSrc": "3217:2:36", + "nativeSrc": "3217:2:34", "nodeType": "YulLiteral", - "src": "3217:2:36", + "src": "3217:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "3205:3:36", + "nativeSrc": "3205:3:34", "nodeType": "YulIdentifier", - "src": "3205:3:36" + "src": "3205:3:34" }, - "nativeSrc": "3205:15:36", + "nativeSrc": "3205:15:34", "nodeType": "YulFunctionCall", - "src": "3205:15:36" + "src": "3205:15:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3199:5:36", + "nativeSrc": "3199:5:34", "nodeType": "YulIdentifier", - "src": "3199:5:36" + "src": "3199:5:34" }, - "nativeSrc": "3199:22:36", + "nativeSrc": "3199:22:34", "nodeType": "YulFunctionCall", - "src": "3199:22:36" + "src": "3199:22:34" }, "variables": [ { "name": "memberValue0", - "nativeSrc": "3183:12:36", + "nativeSrc": "3183:12:34", "nodeType": "YulTypedName", - "src": "3183:12:36", + "src": "3183:12:34", "type": "" } ] }, { - "nativeSrc": "3230:16:36", + "nativeSrc": "3230:16:34", "nodeType": "YulVariableDeclaration", - "src": "3230:16:36", + "src": "3230:16:34", "value": { "kind": "number", - "nativeSrc": "3240:6:36", + "nativeSrc": "3240:6:34", "nodeType": "YulLiteral", - "src": "3240:6:36", + "src": "3240:6:34", "type": "", "value": "0x0100" }, "variables": [ { "name": "_1", - "nativeSrc": "3234:2:36", + "nativeSrc": "3234:2:34", "nodeType": "YulTypedName", - "src": "3234:2:36", + "src": "3234:2:34", "type": "" } ] @@ -136289,106 +135299,106 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "3266:9:36", + "nativeSrc": "3266:9:34", "nodeType": "YulIdentifier", - "src": "3266:9:36" + "src": "3266:9:34" }, { "kind": "number", - "nativeSrc": "3277:2:36", + "nativeSrc": "3277:2:34", "nodeType": "YulLiteral", - "src": "3277:2:36", + "src": "3277:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "3262:3:36", + "nativeSrc": "3262:3:34", "nodeType": "YulIdentifier", - "src": "3262:3:36" + "src": "3262:3:34" }, - "nativeSrc": "3262:18:36", + "nativeSrc": "3262:18:34", "nodeType": "YulFunctionCall", - "src": "3262:18:36" + "src": "3262:18:34" }, { "name": "_1", - "nativeSrc": "3282:2:36", + "nativeSrc": "3282:2:34", "nodeType": "YulIdentifier", - "src": "3282:2:36" + "src": "3282:2:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "3255:6:36", + "nativeSrc": "3255:6:34", "nodeType": "YulIdentifier", - "src": "3255:6:36" + "src": "3255:6:34" }, - "nativeSrc": "3255:30:36", + "nativeSrc": "3255:30:34", "nodeType": "YulFunctionCall", - "src": "3255:30:36" + "src": "3255:30:34" }, - "nativeSrc": "3255:30:36", + "nativeSrc": "3255:30:34", "nodeType": "YulExpressionStatement", - "src": "3255:30:36" + "src": "3255:30:34" }, { - "nativeSrc": "3294:66:36", + "nativeSrc": "3294:66:34", "nodeType": "YulVariableDeclaration", - "src": "3294:66:36", + "src": "3294:66:34", "value": { "arguments": [ { "name": "memberValue0", - "nativeSrc": "3326:12:36", + "nativeSrc": "3326:12:34", "nodeType": "YulIdentifier", - "src": "3326:12:36" + "src": "3326:12:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "3344:9:36", + "nativeSrc": "3344:9:34", "nodeType": "YulIdentifier", - "src": "3344:9:36" + "src": "3344:9:34" }, { "kind": "number", - "nativeSrc": "3355:3:36", + "nativeSrc": "3355:3:34", "nodeType": "YulLiteral", - "src": "3355:3:36", + "src": "3355:3:34", "type": "", "value": "288" } ], "functionName": { "name": "add", - "nativeSrc": "3340:3:36", + "nativeSrc": "3340:3:34", "nodeType": "YulIdentifier", - "src": "3340:3:36" + "src": "3340:3:34" }, - "nativeSrc": "3340:19:36", + "nativeSrc": "3340:19:34", "nodeType": "YulFunctionCall", - "src": "3340:19:36" + "src": "3340:19:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "3308:17:36", + "nativeSrc": "3308:17:34", "nodeType": "YulIdentifier", - "src": "3308:17:36" + "src": "3308:17:34" }, - "nativeSrc": "3308:52:36", + "nativeSrc": "3308:52:34", "nodeType": "YulFunctionCall", - "src": "3308:52:36" + "src": "3308:52:34" }, "variables": [ { "name": "tail_1", - "nativeSrc": "3298:6:36", + "nativeSrc": "3298:6:34", "nodeType": "YulTypedName", - "src": "3298:6:36", + "src": "3298:6:34", "type": "" } ] @@ -136400,28 +135410,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "3380:9:36", + "nativeSrc": "3380:9:34", "nodeType": "YulIdentifier", - "src": "3380:9:36" + "src": "3380:9:34" }, { "kind": "number", - "nativeSrc": "3391:2:36", + "nativeSrc": "3391:2:34", "nodeType": "YulLiteral", - "src": "3391:2:36", + "src": "3391:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "3376:3:36", + "nativeSrc": "3376:3:34", "nodeType": "YulIdentifier", - "src": "3376:3:36" + "src": "3376:3:34" }, - "nativeSrc": "3376:18:36", + "nativeSrc": "3376:18:34", "nodeType": "YulFunctionCall", - "src": "3376:18:36" + "src": "3376:18:34" }, { "arguments": [ @@ -136431,39 +135441,39 @@ "arguments": [ { "name": "value0", - "nativeSrc": "3410:6:36", + "nativeSrc": "3410:6:34", "nodeType": "YulIdentifier", - "src": "3410:6:36" + "src": "3410:6:34" }, { "kind": "number", - "nativeSrc": "3418:2:36", + "nativeSrc": "3418:2:34", "nodeType": "YulLiteral", - "src": "3418:2:36", + "src": "3418:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "3406:3:36", + "nativeSrc": "3406:3:34", "nodeType": "YulIdentifier", - "src": "3406:3:36" + "src": "3406:3:34" }, - "nativeSrc": "3406:15:36", + "nativeSrc": "3406:15:34", "nodeType": "YulFunctionCall", - "src": "3406:15:36" + "src": "3406:15:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3400:5:36", + "nativeSrc": "3400:5:34", "nodeType": "YulIdentifier", - "src": "3400:5:36" + "src": "3400:5:34" }, - "nativeSrc": "3400:22:36", + "nativeSrc": "3400:22:34", "nodeType": "YulFunctionCall", - "src": "3400:22:36" + "src": "3400:22:34" }, { "arguments": [ @@ -136471,126 +135481,126 @@ "arguments": [ { "kind": "number", - "nativeSrc": "3432:3:36", + "nativeSrc": "3432:3:34", "nodeType": "YulLiteral", - "src": "3432:3:36", + "src": "3432:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "3437:1:36", + "nativeSrc": "3437:1:34", "nodeType": "YulLiteral", - "src": "3437:1:36", + "src": "3437:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "3428:3:36", + "nativeSrc": "3428:3:34", "nodeType": "YulIdentifier", - "src": "3428:3:36" + "src": "3428:3:34" }, - "nativeSrc": "3428:11:36", + "nativeSrc": "3428:11:34", "nodeType": "YulFunctionCall", - "src": "3428:11:36" + "src": "3428:11:34" }, { "kind": "number", - "nativeSrc": "3441:1:36", + "nativeSrc": "3441:1:34", "nodeType": "YulLiteral", - "src": "3441:1:36", + "src": "3441:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "3424:3:36", + "nativeSrc": "3424:3:34", "nodeType": "YulIdentifier", - "src": "3424:3:36" + "src": "3424:3:34" }, - "nativeSrc": "3424:19:36", + "nativeSrc": "3424:19:34", "nodeType": "YulFunctionCall", - "src": "3424:19:36" + "src": "3424:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "3396:3:36", + "nativeSrc": "3396:3:34", "nodeType": "YulIdentifier", - "src": "3396:3:36" + "src": "3396:3:34" }, - "nativeSrc": "3396:48:36", + "nativeSrc": "3396:48:34", "nodeType": "YulFunctionCall", - "src": "3396:48:36" + "src": "3396:48:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "3369:6:36", + "nativeSrc": "3369:6:34", "nodeType": "YulIdentifier", - "src": "3369:6:36" + "src": "3369:6:34" }, - "nativeSrc": "3369:76:36", + "nativeSrc": "3369:76:34", "nodeType": "YulFunctionCall", - "src": "3369:76:36" + "src": "3369:76:34" }, - "nativeSrc": "3369:76:36", + "nativeSrc": "3369:76:34", "nodeType": "YulExpressionStatement", - "src": "3369:76:36" + "src": "3369:76:34" }, { - "nativeSrc": "3454:44:36", + "nativeSrc": "3454:44:34", "nodeType": "YulVariableDeclaration", - "src": "3454:44:36", + "src": "3454:44:34", "value": { "arguments": [ { "arguments": [ { "name": "value0", - "nativeSrc": "3486:6:36", + "nativeSrc": "3486:6:34", "nodeType": "YulIdentifier", - "src": "3486:6:36" + "src": "3486:6:34" }, { "kind": "number", - "nativeSrc": "3494:2:36", + "nativeSrc": "3494:2:34", "nodeType": "YulLiteral", - "src": "3494:2:36", + "src": "3494:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "3482:3:36", + "nativeSrc": "3482:3:34", "nodeType": "YulIdentifier", - "src": "3482:3:36" + "src": "3482:3:34" }, - "nativeSrc": "3482:15:36", + "nativeSrc": "3482:15:34", "nodeType": "YulFunctionCall", - "src": "3482:15:36" + "src": "3482:15:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3476:5:36", + "nativeSrc": "3476:5:34", "nodeType": "YulIdentifier", - "src": "3476:5:36" + "src": "3476:5:34" }, - "nativeSrc": "3476:22:36", + "nativeSrc": "3476:22:34", "nodeType": "YulFunctionCall", - "src": "3476:22:36" + "src": "3476:22:34" }, "variables": [ { "name": "memberValue0_1", - "nativeSrc": "3458:14:36", + "nativeSrc": "3458:14:34", "nodeType": "YulTypedName", - "src": "3458:14:36", + "src": "3458:14:34", "type": "" } ] @@ -136600,102 +135610,102 @@ "arguments": [ { "name": "memberValue0_1", - "nativeSrc": "3534:14:36", + "nativeSrc": "3534:14:34", "nodeType": "YulIdentifier", - "src": "3534:14:36" + "src": "3534:14:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "3554:9:36", + "nativeSrc": "3554:9:34", "nodeType": "YulIdentifier", - "src": "3554:9:36" + "src": "3554:9:34" }, { "kind": "number", - "nativeSrc": "3565:3:36", + "nativeSrc": "3565:3:34", "nodeType": "YulLiteral", - "src": "3565:3:36", + "src": "3565:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "3550:3:36", + "nativeSrc": "3550:3:34", "nodeType": "YulIdentifier", - "src": "3550:3:36" + "src": "3550:3:34" }, - "nativeSrc": "3550:19:36", + "nativeSrc": "3550:19:34", "nodeType": "YulFunctionCall", - "src": "3550:19:36" + "src": "3550:19:34" } ], "functionName": { "name": "abi_encode_enum_TaskStatus", - "nativeSrc": "3507:26:36", + "nativeSrc": "3507:26:34", "nodeType": "YulIdentifier", - "src": "3507:26:36" + "src": "3507:26:34" }, - "nativeSrc": "3507:63:36", + "nativeSrc": "3507:63:34", "nodeType": "YulFunctionCall", - "src": "3507:63:36" + "src": "3507:63:34" }, - "nativeSrc": "3507:63:36", + "nativeSrc": "3507:63:34", "nodeType": "YulExpressionStatement", - "src": "3507:63:36" + "src": "3507:63:34" }, { - "nativeSrc": "3579:45:36", + "nativeSrc": "3579:45:34", "nodeType": "YulVariableDeclaration", - "src": "3579:45:36", + "src": "3579:45:34", "value": { "arguments": [ { "arguments": [ { "name": "value0", - "nativeSrc": "3611:6:36", + "nativeSrc": "3611:6:34", "nodeType": "YulIdentifier", - "src": "3611:6:36" + "src": "3611:6:34" }, { "kind": "number", - "nativeSrc": "3619:3:36", + "nativeSrc": "3619:3:34", "nodeType": "YulLiteral", - "src": "3619:3:36", + "src": "3619:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "3607:3:36", + "nativeSrc": "3607:3:34", "nodeType": "YulIdentifier", - "src": "3607:3:36" + "src": "3607:3:34" }, - "nativeSrc": "3607:16:36", + "nativeSrc": "3607:16:34", "nodeType": "YulFunctionCall", - "src": "3607:16:36" + "src": "3607:16:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3601:5:36", + "nativeSrc": "3601:5:34", "nodeType": "YulIdentifier", - "src": "3601:5:36" + "src": "3601:5:34" }, - "nativeSrc": "3601:23:36", + "nativeSrc": "3601:23:34", "nodeType": "YulFunctionCall", - "src": "3601:23:36" + "src": "3601:23:34" }, "variables": [ { "name": "memberValue0_2", - "nativeSrc": "3583:14:36", + "nativeSrc": "3583:14:34", "nodeType": "YulTypedName", - "src": "3583:14:36", + "src": "3583:14:34", "type": "" } ] @@ -136705,51 +135715,51 @@ "arguments": [ { "name": "memberValue0_2", - "nativeSrc": "3652:14:36", + "nativeSrc": "3652:14:34", "nodeType": "YulIdentifier", - "src": "3652:14:36" + "src": "3652:14:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "3672:9:36", + "nativeSrc": "3672:9:34", "nodeType": "YulIdentifier", - "src": "3672:9:36" + "src": "3672:9:34" }, { "kind": "number", - "nativeSrc": "3683:3:36", + "nativeSrc": "3683:3:34", "nodeType": "YulLiteral", - "src": "3683:3:36", + "src": "3683:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "3668:3:36", + "nativeSrc": "3668:3:34", "nodeType": "YulIdentifier", - "src": "3668:3:36" + "src": "3668:3:34" }, - "nativeSrc": "3668:19:36", + "nativeSrc": "3668:19:34", "nodeType": "YulFunctionCall", - "src": "3668:19:36" + "src": "3668:19:34" } ], "functionName": { "name": "abi_encode_address", - "nativeSrc": "3633:18:36", + "nativeSrc": "3633:18:34", "nodeType": "YulIdentifier", - "src": "3633:18:36" + "src": "3633:18:34" }, - "nativeSrc": "3633:55:36", + "nativeSrc": "3633:55:34", "nodeType": "YulFunctionCall", - "src": "3633:55:36" + "src": "3633:55:34" }, - "nativeSrc": "3633:55:36", + "nativeSrc": "3633:55:34", "nodeType": "YulExpressionStatement", - "src": "3633:55:36" + "src": "3633:55:34" }, { "expression": { @@ -136758,28 +135768,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "3708:9:36", + "nativeSrc": "3708:9:34", "nodeType": "YulIdentifier", - "src": "3708:9:36" + "src": "3708:9:34" }, { "kind": "number", - "nativeSrc": "3719:3:36", + "nativeSrc": "3719:3:34", "nodeType": "YulLiteral", - "src": "3719:3:36", + "src": "3719:3:34", "type": "", "value": "192" } ], "functionName": { "name": "add", - "nativeSrc": "3704:3:36", + "nativeSrc": "3704:3:34", "nodeType": "YulIdentifier", - "src": "3704:3:36" + "src": "3704:3:34" }, - "nativeSrc": "3704:19:36", + "nativeSrc": "3704:19:34", "nodeType": "YulFunctionCall", - "src": "3704:19:36" + "src": "3704:19:34" }, { "arguments": [ @@ -136787,105 +135797,105 @@ "arguments": [ { "name": "value0", - "nativeSrc": "3735:6:36", + "nativeSrc": "3735:6:34", "nodeType": "YulIdentifier", - "src": "3735:6:36" + "src": "3735:6:34" }, { "kind": "number", - "nativeSrc": "3743:3:36", + "nativeSrc": "3743:3:34", "nodeType": "YulLiteral", - "src": "3743:3:36", + "src": "3743:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "3731:3:36", + "nativeSrc": "3731:3:34", "nodeType": "YulIdentifier", - "src": "3731:3:36" + "src": "3731:3:34" }, - "nativeSrc": "3731:16:36", + "nativeSrc": "3731:16:34", "nodeType": "YulFunctionCall", - "src": "3731:16:36" + "src": "3731:16:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3725:5:36", + "nativeSrc": "3725:5:34", "nodeType": "YulIdentifier", - "src": "3725:5:36" + "src": "3725:5:34" }, - "nativeSrc": "3725:23:36", + "nativeSrc": "3725:23:34", "nodeType": "YulFunctionCall", - "src": "3725:23:36" + "src": "3725:23:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "3697:6:36", + "nativeSrc": "3697:6:34", "nodeType": "YulIdentifier", - "src": "3697:6:36" + "src": "3697:6:34" }, - "nativeSrc": "3697:52:36", + "nativeSrc": "3697:52:34", "nodeType": "YulFunctionCall", - "src": "3697:52:36" + "src": "3697:52:34" }, - "nativeSrc": "3697:52:36", + "nativeSrc": "3697:52:34", "nodeType": "YulExpressionStatement", - "src": "3697:52:36" + "src": "3697:52:34" }, { - "nativeSrc": "3758:45:36", + "nativeSrc": "3758:45:34", "nodeType": "YulVariableDeclaration", - "src": "3758:45:36", + "src": "3758:45:34", "value": { "arguments": [ { "arguments": [ { "name": "value0", - "nativeSrc": "3790:6:36", + "nativeSrc": "3790:6:34", "nodeType": "YulIdentifier", - "src": "3790:6:36" + "src": "3790:6:34" }, { "kind": "number", - "nativeSrc": "3798:3:36", + "nativeSrc": "3798:3:34", "nodeType": "YulLiteral", - "src": "3798:3:36", + "src": "3798:3:34", "type": "", "value": "192" } ], "functionName": { "name": "add", - "nativeSrc": "3786:3:36", + "nativeSrc": "3786:3:34", "nodeType": "YulIdentifier", - "src": "3786:3:36" + "src": "3786:3:34" }, - "nativeSrc": "3786:16:36", + "nativeSrc": "3786:16:34", "nodeType": "YulFunctionCall", - "src": "3786:16:36" + "src": "3786:16:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3780:5:36", + "nativeSrc": "3780:5:34", "nodeType": "YulIdentifier", - "src": "3780:5:36" + "src": "3780:5:34" }, - "nativeSrc": "3780:23:36", + "nativeSrc": "3780:23:34", "nodeType": "YulFunctionCall", - "src": "3780:23:36" + "src": "3780:23:34" }, "variables": [ { "name": "memberValue0_3", - "nativeSrc": "3762:14:36", + "nativeSrc": "3762:14:34", "nodeType": "YulTypedName", - "src": "3762:14:36", + "src": "3762:14:34", "type": "" } ] @@ -136897,28 +135907,28 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "3823:9:36", + "nativeSrc": "3823:9:34", "nodeType": "YulIdentifier", - "src": "3823:9:36" + "src": "3823:9:34" }, { "kind": "number", - "nativeSrc": "3834:3:36", + "nativeSrc": "3834:3:34", "nodeType": "YulLiteral", - "src": "3834:3:36", + "src": "3834:3:34", "type": "", "value": "224" } ], "functionName": { "name": "add", - "nativeSrc": "3819:3:36", + "nativeSrc": "3819:3:34", "nodeType": "YulIdentifier", - "src": "3819:3:36" + "src": "3819:3:34" }, - "nativeSrc": "3819:19:36", + "nativeSrc": "3819:19:34", "nodeType": "YulFunctionCall", - "src": "3819:19:36" + "src": "3819:19:34" }, { "arguments": [ @@ -136926,163 +135936,163 @@ "arguments": [ { "name": "tail_1", - "nativeSrc": "3848:6:36", + "nativeSrc": "3848:6:34", "nodeType": "YulIdentifier", - "src": "3848:6:36" + "src": "3848:6:34" }, { "name": "headStart", - "nativeSrc": "3856:9:36", + "nativeSrc": "3856:9:34", "nodeType": "YulIdentifier", - "src": "3856:9:36" + "src": "3856:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "3844:3:36", + "nativeSrc": "3844:3:34", "nodeType": "YulIdentifier", - "src": "3844:3:36" + "src": "3844:3:34" }, - "nativeSrc": "3844:22:36", + "nativeSrc": "3844:22:34", "nodeType": "YulFunctionCall", - "src": "3844:22:36" + "src": "3844:22:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "3872:2:36", + "nativeSrc": "3872:2:34", "nodeType": "YulLiteral", - "src": "3872:2:36", + "src": "3872:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "3868:3:36", + "nativeSrc": "3868:3:34", "nodeType": "YulIdentifier", - "src": "3868:3:36" + "src": "3868:3:34" }, - "nativeSrc": "3868:7:36", + "nativeSrc": "3868:7:34", "nodeType": "YulFunctionCall", - "src": "3868:7:36" + "src": "3868:7:34" } ], "functionName": { "name": "add", - "nativeSrc": "3840:3:36", + "nativeSrc": "3840:3:34", "nodeType": "YulIdentifier", - "src": "3840:3:36" + "src": "3840:3:34" }, - "nativeSrc": "3840:36:36", + "nativeSrc": "3840:36:34", "nodeType": "YulFunctionCall", - "src": "3840:36:36" + "src": "3840:36:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "3812:6:36", + "nativeSrc": "3812:6:34", "nodeType": "YulIdentifier", - "src": "3812:6:36" + "src": "3812:6:34" }, - "nativeSrc": "3812:65:36", + "nativeSrc": "3812:65:34", "nodeType": "YulFunctionCall", - "src": "3812:65:36" + "src": "3812:65:34" }, - "nativeSrc": "3812:65:36", + "nativeSrc": "3812:65:34", "nodeType": "YulExpressionStatement", - "src": "3812:65:36" + "src": "3812:65:34" }, { - "nativeSrc": "3886:55:36", + "nativeSrc": "3886:55:34", "nodeType": "YulVariableDeclaration", - "src": "3886:55:36", + "src": "3886:55:34", "value": { "arguments": [ { "name": "memberValue0_3", - "nativeSrc": "3918:14:36", + "nativeSrc": "3918:14:34", "nodeType": "YulIdentifier", - "src": "3918:14:36" + "src": "3918:14:34" }, { "name": "tail_1", - "nativeSrc": "3934:6:36", + "nativeSrc": "3934:6:34", "nodeType": "YulIdentifier", - "src": "3934:6:36" + "src": "3934:6:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "3900:17:36", + "nativeSrc": "3900:17:34", "nodeType": "YulIdentifier", - "src": "3900:17:36" + "src": "3900:17:34" }, - "nativeSrc": "3900:41:36", + "nativeSrc": "3900:41:34", "nodeType": "YulFunctionCall", - "src": "3900:41:36" + "src": "3900:41:34" }, "variables": [ { "name": "tail_2", - "nativeSrc": "3890:6:36", + "nativeSrc": "3890:6:34", "nodeType": "YulTypedName", - "src": "3890:6:36", + "src": "3890:6:34", "type": "" } ] }, { - "nativeSrc": "3950:45:36", + "nativeSrc": "3950:45:34", "nodeType": "YulVariableDeclaration", - "src": "3950:45:36", + "src": "3950:45:34", "value": { "arguments": [ { "arguments": [ { "name": "value0", - "nativeSrc": "3982:6:36", + "nativeSrc": "3982:6:34", "nodeType": "YulIdentifier", - "src": "3982:6:36" + "src": "3982:6:34" }, { "kind": "number", - "nativeSrc": "3990:3:36", + "nativeSrc": "3990:3:34", "nodeType": "YulLiteral", - "src": "3990:3:36", + "src": "3990:3:34", "type": "", "value": "224" } ], "functionName": { "name": "add", - "nativeSrc": "3978:3:36", + "nativeSrc": "3978:3:34", "nodeType": "YulIdentifier", - "src": "3978:3:36" + "src": "3978:3:34" }, - "nativeSrc": "3978:16:36", + "nativeSrc": "3978:16:34", "nodeType": "YulFunctionCall", - "src": "3978:16:36" + "src": "3978:16:34" } ], "functionName": { "name": "mload", - "nativeSrc": "3972:5:36", + "nativeSrc": "3972:5:34", "nodeType": "YulIdentifier", - "src": "3972:5:36" + "src": "3972:5:34" }, - "nativeSrc": "3972:23:36", + "nativeSrc": "3972:23:34", "nodeType": "YulFunctionCall", - "src": "3972:23:36" + "src": "3972:23:34" }, "variables": [ { "name": "memberValue0_4", - "nativeSrc": "3954:14:36", + "nativeSrc": "3954:14:34", "nodeType": "YulTypedName", - "src": "3954:14:36", + "src": "3954:14:34", "type": "" } ] @@ -137092,146 +136102,146 @@ "arguments": [ { "name": "memberValue0_4", - "nativeSrc": "4021:14:36", + "nativeSrc": "4021:14:34", "nodeType": "YulIdentifier", - "src": "4021:14:36" + "src": "4021:14:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "4041:9:36", + "nativeSrc": "4041:9:34", "nodeType": "YulIdentifier", - "src": "4041:9:36" + "src": "4041:9:34" }, { "name": "_1", - "nativeSrc": "4052:2:36", + "nativeSrc": "4052:2:34", "nodeType": "YulIdentifier", - "src": "4052:2:36" + "src": "4052:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "4037:3:36", + "nativeSrc": "4037:3:34", "nodeType": "YulIdentifier", - "src": "4037:3:36" + "src": "4037:3:34" }, - "nativeSrc": "4037:18:36", + "nativeSrc": "4037:18:34", "nodeType": "YulFunctionCall", - "src": "4037:18:36" + "src": "4037:18:34" } ], "functionName": { "name": "abi_encode_uint8", - "nativeSrc": "4004:16:36", + "nativeSrc": "4004:16:34", "nodeType": "YulIdentifier", - "src": "4004:16:36" + "src": "4004:16:34" }, - "nativeSrc": "4004:52:36", + "nativeSrc": "4004:52:34", "nodeType": "YulFunctionCall", - "src": "4004:52:36" + "src": "4004:52:34" }, - "nativeSrc": "4004:52:36", + "nativeSrc": "4004:52:34", "nodeType": "YulExpressionStatement", - "src": "4004:52:36" + "src": "4004:52:34" }, { - "nativeSrc": "4065:14:36", + "nativeSrc": "4065:14:34", "nodeType": "YulAssignment", - "src": "4065:14:36", + "src": "4065:14:34", "value": { "name": "tail_2", - "nativeSrc": "4073:6:36", + "nativeSrc": "4073:6:34", "nodeType": "YulIdentifier", - "src": "4073:6:36" + "src": "4073:6:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "4065:4:36", + "nativeSrc": "4065:4:34", "nodeType": "YulIdentifier", - "src": "4065:4:36" + "src": "4065:4:34" } ] } ] }, - "name": "abi_encode_tuple_t_struct$_TaskData_$4655_memory_ptr__to_t_struct$_TaskData_$4655_memory_ptr__fromStack_reversed", - "nativeSrc": "2936:1149:36", + "name": "abi_encode_tuple_t_struct$_TaskData_$4656_memory_ptr__to_t_struct$_TaskData_$4656_memory_ptr__fromStack_reversed", + "nativeSrc": "2936:1149:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "3058:9:36", + "nativeSrc": "3058:9:34", "nodeType": "YulTypedName", - "src": "3058:9:36", + "src": "3058:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "3069:6:36", + "nativeSrc": "3069:6:34", "nodeType": "YulTypedName", - "src": "3069:6:36", + "src": "3069:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "3080:4:36", + "nativeSrc": "3080:4:34", "nodeType": "YulTypedName", - "src": "3080:4:36", + "src": "3080:4:34", "type": "" } ], - "src": "2936:1149:36" + "src": "2936:1149:34" }, { "body": { - "nativeSrc": "4160:110:36", + "nativeSrc": "4160:110:34", "nodeType": "YulBlock", - "src": "4160:110:36", + "src": "4160:110:34", "statements": [ { "body": { - "nativeSrc": "4206:16:36", + "nativeSrc": "4206:16:34", "nodeType": "YulBlock", - "src": "4206:16:36", + "src": "4206:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4215:1:36", + "nativeSrc": "4215:1:34", "nodeType": "YulLiteral", - "src": "4215:1:36", + "src": "4215:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "4218:1:36", + "nativeSrc": "4218:1:34", "nodeType": "YulLiteral", - "src": "4218:1:36", + "src": "4218:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "4208:6:36", + "nativeSrc": "4208:6:34", "nodeType": "YulIdentifier", - "src": "4208:6:36" + "src": "4208:6:34" }, - "nativeSrc": "4208:12:36", + "nativeSrc": "4208:12:34", "nodeType": "YulFunctionCall", - "src": "4208:12:36" + "src": "4208:12:34" }, - "nativeSrc": "4208:12:36", + "nativeSrc": "4208:12:34", "nodeType": "YulExpressionStatement", - "src": "4208:12:36" + "src": "4208:12:34" } ] }, @@ -137241,157 +136251,157 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "4181:7:36", + "nativeSrc": "4181:7:34", "nodeType": "YulIdentifier", - "src": "4181:7:36" + "src": "4181:7:34" }, { "name": "headStart", - "nativeSrc": "4190:9:36", + "nativeSrc": "4190:9:34", "nodeType": "YulIdentifier", - "src": "4190:9:36" + "src": "4190:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "4177:3:36", + "nativeSrc": "4177:3:34", "nodeType": "YulIdentifier", - "src": "4177:3:36" + "src": "4177:3:34" }, - "nativeSrc": "4177:23:36", + "nativeSrc": "4177:23:34", "nodeType": "YulFunctionCall", - "src": "4177:23:36" + "src": "4177:23:34" }, { "kind": "number", - "nativeSrc": "4202:2:36", + "nativeSrc": "4202:2:34", "nodeType": "YulLiteral", - "src": "4202:2:36", + "src": "4202:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "4173:3:36", + "nativeSrc": "4173:3:34", "nodeType": "YulIdentifier", - "src": "4173:3:36" + "src": "4173:3:34" }, - "nativeSrc": "4173:32:36", + "nativeSrc": "4173:32:34", "nodeType": "YulFunctionCall", - "src": "4173:32:36" + "src": "4173:32:34" }, - "nativeSrc": "4170:52:36", + "nativeSrc": "4170:52:34", "nodeType": "YulIf", - "src": "4170:52:36" + "src": "4170:52:34" }, { - "nativeSrc": "4231:33:36", + "nativeSrc": "4231:33:34", "nodeType": "YulAssignment", - "src": "4231:33:36", + "src": "4231:33:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "4254:9:36", + "nativeSrc": "4254:9:34", "nodeType": "YulIdentifier", - "src": "4254:9:36" + "src": "4254:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "4241:12:36", + "nativeSrc": "4241:12:34", "nodeType": "YulIdentifier", - "src": "4241:12:36" + "src": "4241:12:34" }, - "nativeSrc": "4241:23:36", + "nativeSrc": "4241:23:34", "nodeType": "YulFunctionCall", - "src": "4241:23:36" + "src": "4241:23:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "4231:6:36", + "nativeSrc": "4231:6:34", "nodeType": "YulIdentifier", - "src": "4231:6:36" + "src": "4231:6:34" } ] } ] }, "name": "abi_decode_tuple_t_uint256", - "nativeSrc": "4090:180:36", + "nativeSrc": "4090:180:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "4126:9:36", + "nativeSrc": "4126:9:34", "nodeType": "YulTypedName", - "src": "4126:9:36", + "src": "4126:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "4137:7:36", + "nativeSrc": "4137:7:34", "nodeType": "YulTypedName", - "src": "4137:7:36", + "src": "4137:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "4149:6:36", + "nativeSrc": "4149:6:34", "nodeType": "YulTypedName", - "src": "4149:6:36", + "src": "4149:6:34", "type": "" } ], - "src": "4090:180:36" + "src": "4090:180:34" }, { "body": { - "nativeSrc": "4376:102:36", + "nativeSrc": "4376:102:34", "nodeType": "YulBlock", - "src": "4376:102:36", + "src": "4376:102:34", "statements": [ { - "nativeSrc": "4386:26:36", + "nativeSrc": "4386:26:34", "nodeType": "YulAssignment", - "src": "4386:26:36", + "src": "4386:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "4398:9:36", + "nativeSrc": "4398:9:34", "nodeType": "YulIdentifier", - "src": "4398:9:36" + "src": "4398:9:34" }, { "kind": "number", - "nativeSrc": "4409:2:36", + "nativeSrc": "4409:2:34", "nodeType": "YulLiteral", - "src": "4409:2:36", + "src": "4409:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "4394:3:36", + "nativeSrc": "4394:3:34", "nodeType": "YulIdentifier", - "src": "4394:3:36" + "src": "4394:3:34" }, - "nativeSrc": "4394:18:36", + "nativeSrc": "4394:18:34", "nodeType": "YulFunctionCall", - "src": "4394:18:36" + "src": "4394:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "4386:4:36", + "nativeSrc": "4386:4:34", "nodeType": "YulIdentifier", - "src": "4386:4:36" + "src": "4386:4:34" } ] }, @@ -137400,17 +136410,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4428:9:36", + "nativeSrc": "4428:9:34", "nodeType": "YulIdentifier", - "src": "4428:9:36" + "src": "4428:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "4443:6:36", + "nativeSrc": "4443:6:34", "nodeType": "YulIdentifier", - "src": "4443:6:36" + "src": "4443:6:34" }, { "arguments": [ @@ -137418,151 +136428,151 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4459:3:36", + "nativeSrc": "4459:3:34", "nodeType": "YulLiteral", - "src": "4459:3:36", + "src": "4459:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "4464:1:36", + "nativeSrc": "4464:1:34", "nodeType": "YulLiteral", - "src": "4464:1:36", + "src": "4464:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "4455:3:36", + "nativeSrc": "4455:3:34", "nodeType": "YulIdentifier", - "src": "4455:3:36" + "src": "4455:3:34" }, - "nativeSrc": "4455:11:36", + "nativeSrc": "4455:11:34", "nodeType": "YulFunctionCall", - "src": "4455:11:36" + "src": "4455:11:34" }, { "kind": "number", - "nativeSrc": "4468:1:36", + "nativeSrc": "4468:1:34", "nodeType": "YulLiteral", - "src": "4468:1:36", + "src": "4468:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "4451:3:36", + "nativeSrc": "4451:3:34", "nodeType": "YulIdentifier", - "src": "4451:3:36" + "src": "4451:3:34" }, - "nativeSrc": "4451:19:36", + "nativeSrc": "4451:19:34", "nodeType": "YulFunctionCall", - "src": "4451:19:36" + "src": "4451:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "4439:3:36", + "nativeSrc": "4439:3:34", "nodeType": "YulIdentifier", - "src": "4439:3:36" + "src": "4439:3:34" }, - "nativeSrc": "4439:32:36", + "nativeSrc": "4439:32:34", "nodeType": "YulFunctionCall", - "src": "4439:32:36" + "src": "4439:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "4421:6:36", + "nativeSrc": "4421:6:34", "nodeType": "YulIdentifier", - "src": "4421:6:36" + "src": "4421:6:34" }, - "nativeSrc": "4421:51:36", + "nativeSrc": "4421:51:34", "nodeType": "YulFunctionCall", - "src": "4421:51:36" + "src": "4421:51:34" }, - "nativeSrc": "4421:51:36", + "nativeSrc": "4421:51:34", "nodeType": "YulExpressionStatement", - "src": "4421:51:36" + "src": "4421:51:34" } ] }, "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", - "nativeSrc": "4275:203:36", + "nativeSrc": "4275:203:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "4345:9:36", + "nativeSrc": "4345:9:34", "nodeType": "YulTypedName", - "src": "4345:9:36", + "src": "4345:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "4356:6:36", + "nativeSrc": "4356:6:34", "nodeType": "YulTypedName", - "src": "4356:6:36", + "src": "4356:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "4367:4:36", + "nativeSrc": "4367:4:34", "nodeType": "YulTypedName", - "src": "4367:4:36", + "src": "4367:4:34", "type": "" } ], - "src": "4275:203:36" + "src": "4275:203:34" }, { "body": { - "nativeSrc": "4618:102:36", + "nativeSrc": "4618:102:34", "nodeType": "YulBlock", - "src": "4618:102:36", + "src": "4618:102:34", "statements": [ { - "nativeSrc": "4628:26:36", + "nativeSrc": "4628:26:34", "nodeType": "YulAssignment", - "src": "4628:26:36", + "src": "4628:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "4640:9:36", + "nativeSrc": "4640:9:34", "nodeType": "YulIdentifier", - "src": "4640:9:36" + "src": "4640:9:34" }, { "kind": "number", - "nativeSrc": "4651:2:36", + "nativeSrc": "4651:2:34", "nodeType": "YulLiteral", - "src": "4651:2:36", + "src": "4651:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "4636:3:36", + "nativeSrc": "4636:3:34", "nodeType": "YulIdentifier", - "src": "4636:3:36" + "src": "4636:3:34" }, - "nativeSrc": "4636:18:36", + "nativeSrc": "4636:18:34", "nodeType": "YulFunctionCall", - "src": "4636:18:36" + "src": "4636:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "4628:4:36", + "nativeSrc": "4628:4:34", "nodeType": "YulIdentifier", - "src": "4628:4:36" + "src": "4628:4:34" } ] }, @@ -137571,17 +136581,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "4670:9:36", + "nativeSrc": "4670:9:34", "nodeType": "YulIdentifier", - "src": "4670:9:36" + "src": "4670:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "4685:6:36", + "nativeSrc": "4685:6:34", "nodeType": "YulIdentifier", - "src": "4685:6:36" + "src": "4685:6:34" }, { "arguments": [ @@ -137589,153 +136599,153 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4701:3:36", + "nativeSrc": "4701:3:34", "nodeType": "YulLiteral", - "src": "4701:3:36", + "src": "4701:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "4706:1:36", + "nativeSrc": "4706:1:34", "nodeType": "YulLiteral", - "src": "4706:1:36", + "src": "4706:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "4697:3:36", + "nativeSrc": "4697:3:34", "nodeType": "YulIdentifier", - "src": "4697:3:36" + "src": "4697:3:34" }, - "nativeSrc": "4697:11:36", + "nativeSrc": "4697:11:34", "nodeType": "YulFunctionCall", - "src": "4697:11:36" + "src": "4697:11:34" }, { "kind": "number", - "nativeSrc": "4710:1:36", + "nativeSrc": "4710:1:34", "nodeType": "YulLiteral", - "src": "4710:1:36", + "src": "4710:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "4693:3:36", + "nativeSrc": "4693:3:34", "nodeType": "YulIdentifier", - "src": "4693:3:36" + "src": "4693:3:34" }, - "nativeSrc": "4693:19:36", + "nativeSrc": "4693:19:34", "nodeType": "YulFunctionCall", - "src": "4693:19:36" + "src": "4693:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "4681:3:36", + "nativeSrc": "4681:3:34", "nodeType": "YulIdentifier", - "src": "4681:3:36" + "src": "4681:3:34" }, - "nativeSrc": "4681:32:36", + "nativeSrc": "4681:32:34", "nodeType": "YulFunctionCall", - "src": "4681:32:36" + "src": "4681:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "4663:6:36", + "nativeSrc": "4663:6:34", "nodeType": "YulIdentifier", - "src": "4663:6:36" + "src": "4663:6:34" }, - "nativeSrc": "4663:51:36", + "nativeSrc": "4663:51:34", "nodeType": "YulFunctionCall", - "src": "4663:51:36" + "src": "4663:51:34" }, - "nativeSrc": "4663:51:36", + "nativeSrc": "4663:51:34", "nodeType": "YulExpressionStatement", - "src": "4663:51:36" + "src": "4663:51:34" } ] }, - "name": "abi_encode_tuple_t_contract$_AgentsRegistryUpgradeable_$4016__to_t_address__fromStack_reversed", - "nativeSrc": "4483:237:36", + "name": "abi_encode_tuple_t_contract$_AgentsRegistryUpgradeable_$4017__to_t_address__fromStack_reversed", + "nativeSrc": "4483:237:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "4587:9:36", + "nativeSrc": "4587:9:34", "nodeType": "YulTypedName", - "src": "4587:9:36", + "src": "4587:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "4598:6:36", + "nativeSrc": "4598:6:34", "nodeType": "YulTypedName", - "src": "4598:6:36", + "src": "4598:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "4609:4:36", + "nativeSrc": "4609:4:34", "nodeType": "YulTypedName", - "src": "4609:4:36", + "src": "4609:4:34", "type": "" } ], - "src": "4483:237:36" + "src": "4483:237:34" }, { "body": { - "nativeSrc": "4770:86:36", + "nativeSrc": "4770:86:34", "nodeType": "YulBlock", - "src": "4770:86:36", + "src": "4770:86:34", "statements": [ { "body": { - "nativeSrc": "4834:16:36", + "nativeSrc": "4834:16:34", "nodeType": "YulBlock", - "src": "4834:16:36", + "src": "4834:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "4843:1:36", + "nativeSrc": "4843:1:34", "nodeType": "YulLiteral", - "src": "4843:1:36", + "src": "4843:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "4846:1:36", + "nativeSrc": "4846:1:34", "nodeType": "YulLiteral", - "src": "4846:1:36", + "src": "4846:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "4836:6:36", + "nativeSrc": "4836:6:34", "nodeType": "YulIdentifier", - "src": "4836:6:36" + "src": "4836:6:34" }, - "nativeSrc": "4836:12:36", + "nativeSrc": "4836:12:34", "nodeType": "YulFunctionCall", - "src": "4836:12:36" + "src": "4836:12:34" }, - "nativeSrc": "4836:12:36", + "nativeSrc": "4836:12:34", "nodeType": "YulExpressionStatement", - "src": "4836:12:36" + "src": "4836:12:34" } ] }, @@ -137745,17 +136755,17 @@ "arguments": [ { "name": "value", - "nativeSrc": "4793:5:36", + "nativeSrc": "4793:5:34", "nodeType": "YulIdentifier", - "src": "4793:5:36" + "src": "4793:5:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "4804:5:36", + "nativeSrc": "4804:5:34", "nodeType": "YulIdentifier", - "src": "4804:5:36" + "src": "4804:5:34" }, { "arguments": [ @@ -137763,148 +136773,148 @@ "arguments": [ { "kind": "number", - "nativeSrc": "4819:3:36", + "nativeSrc": "4819:3:34", "nodeType": "YulLiteral", - "src": "4819:3:36", + "src": "4819:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "4824:1:36", + "nativeSrc": "4824:1:34", "nodeType": "YulLiteral", - "src": "4824:1:36", + "src": "4824:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "4815:3:36", + "nativeSrc": "4815:3:34", "nodeType": "YulIdentifier", - "src": "4815:3:36" + "src": "4815:3:34" }, - "nativeSrc": "4815:11:36", + "nativeSrc": "4815:11:34", "nodeType": "YulFunctionCall", - "src": "4815:11:36" + "src": "4815:11:34" }, { "kind": "number", - "nativeSrc": "4828:1:36", + "nativeSrc": "4828:1:34", "nodeType": "YulLiteral", - "src": "4828:1:36", + "src": "4828:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "4811:3:36", + "nativeSrc": "4811:3:34", "nodeType": "YulIdentifier", - "src": "4811:3:36" + "src": "4811:3:34" }, - "nativeSrc": "4811:19:36", + "nativeSrc": "4811:19:34", "nodeType": "YulFunctionCall", - "src": "4811:19:36" + "src": "4811:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "4800:3:36", + "nativeSrc": "4800:3:34", "nodeType": "YulIdentifier", - "src": "4800:3:36" + "src": "4800:3:34" }, - "nativeSrc": "4800:31:36", + "nativeSrc": "4800:31:34", "nodeType": "YulFunctionCall", - "src": "4800:31:36" + "src": "4800:31:34" } ], "functionName": { "name": "eq", - "nativeSrc": "4790:2:36", + "nativeSrc": "4790:2:34", "nodeType": "YulIdentifier", - "src": "4790:2:36" + "src": "4790:2:34" }, - "nativeSrc": "4790:42:36", + "nativeSrc": "4790:42:34", "nodeType": "YulFunctionCall", - "src": "4790:42:36" + "src": "4790:42:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "4783:6:36", + "nativeSrc": "4783:6:34", "nodeType": "YulIdentifier", - "src": "4783:6:36" + "src": "4783:6:34" }, - "nativeSrc": "4783:50:36", + "nativeSrc": "4783:50:34", "nodeType": "YulFunctionCall", - "src": "4783:50:36" + "src": "4783:50:34" }, - "nativeSrc": "4780:70:36", + "nativeSrc": "4780:70:34", "nodeType": "YulIf", - "src": "4780:70:36" + "src": "4780:70:34" } ] }, "name": "validator_revert_address", - "nativeSrc": "4725:131:36", + "nativeSrc": "4725:131:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "4759:5:36", + "nativeSrc": "4759:5:34", "nodeType": "YulTypedName", - "src": "4759:5:36", + "src": "4759:5:34", "type": "" } ], - "src": "4725:131:36" + "src": "4725:131:34" }, { "body": { - "nativeSrc": "4948:228:36", + "nativeSrc": "4948:228:34", "nodeType": "YulBlock", - "src": "4948:228:36", + "src": "4948:228:34", "statements": [ { "body": { - "nativeSrc": "4994:16:36", + "nativeSrc": "4994:16:34", "nodeType": "YulBlock", - "src": "4994:16:36", + "src": "4994:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5003:1:36", + "nativeSrc": "5003:1:34", "nodeType": "YulLiteral", - "src": "5003:1:36", + "src": "5003:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "5006:1:36", + "nativeSrc": "5006:1:34", "nodeType": "YulLiteral", - "src": "5006:1:36", + "src": "5006:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "4996:6:36", + "nativeSrc": "4996:6:34", "nodeType": "YulIdentifier", - "src": "4996:6:36" + "src": "4996:6:34" }, - "nativeSrc": "4996:12:36", + "nativeSrc": "4996:12:34", "nodeType": "YulFunctionCall", - "src": "4996:12:36" + "src": "4996:12:34" }, - "nativeSrc": "4996:12:36", + "nativeSrc": "4996:12:34", "nodeType": "YulExpressionStatement", - "src": "4996:12:36" + "src": "4996:12:34" } ] }, @@ -137914,79 +136924,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "4969:7:36", + "nativeSrc": "4969:7:34", "nodeType": "YulIdentifier", - "src": "4969:7:36" + "src": "4969:7:34" }, { "name": "headStart", - "nativeSrc": "4978:9:36", + "nativeSrc": "4978:9:34", "nodeType": "YulIdentifier", - "src": "4978:9:36" + "src": "4978:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "4965:3:36", + "nativeSrc": "4965:3:34", "nodeType": "YulIdentifier", - "src": "4965:3:36" + "src": "4965:3:34" }, - "nativeSrc": "4965:23:36", + "nativeSrc": "4965:23:34", "nodeType": "YulFunctionCall", - "src": "4965:23:36" + "src": "4965:23:34" }, { "kind": "number", - "nativeSrc": "4990:2:36", + "nativeSrc": "4990:2:34", "nodeType": "YulLiteral", - "src": "4990:2:36", + "src": "4990:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "4961:3:36", + "nativeSrc": "4961:3:34", "nodeType": "YulIdentifier", - "src": "4961:3:36" + "src": "4961:3:34" }, - "nativeSrc": "4961:32:36", + "nativeSrc": "4961:32:34", "nodeType": "YulFunctionCall", - "src": "4961:32:36" + "src": "4961:32:34" }, - "nativeSrc": "4958:52:36", + "nativeSrc": "4958:52:34", "nodeType": "YulIf", - "src": "4958:52:36" + "src": "4958:52:34" }, { - "nativeSrc": "5019:36:36", + "nativeSrc": "5019:36:34", "nodeType": "YulVariableDeclaration", - "src": "5019:36:36", + "src": "5019:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5045:9:36", + "nativeSrc": "5045:9:34", "nodeType": "YulIdentifier", - "src": "5045:9:36" + "src": "5045:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "5032:12:36", + "nativeSrc": "5032:12:34", "nodeType": "YulIdentifier", - "src": "5032:12:36" + "src": "5032:12:34" }, - "nativeSrc": "5032:23:36", + "nativeSrc": "5032:23:34", "nodeType": "YulFunctionCall", - "src": "5032:23:36" + "src": "5032:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "5023:5:36", + "nativeSrc": "5023:5:34", "nodeType": "YulTypedName", - "src": "5023:5:36", + "src": "5023:5:34", "type": "" } ] @@ -137996,179 +137006,179 @@ "arguments": [ { "name": "value", - "nativeSrc": "5089:5:36", + "nativeSrc": "5089:5:34", "nodeType": "YulIdentifier", - "src": "5089:5:36" + "src": "5089:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "5064:24:36", + "nativeSrc": "5064:24:34", "nodeType": "YulIdentifier", - "src": "5064:24:36" + "src": "5064:24:34" }, - "nativeSrc": "5064:31:36", + "nativeSrc": "5064:31:34", "nodeType": "YulFunctionCall", - "src": "5064:31:36" + "src": "5064:31:34" }, - "nativeSrc": "5064:31:36", + "nativeSrc": "5064:31:34", "nodeType": "YulExpressionStatement", - "src": "5064:31:36" + "src": "5064:31:34" }, { - "nativeSrc": "5104:15:36", + "nativeSrc": "5104:15:34", "nodeType": "YulAssignment", - "src": "5104:15:36", + "src": "5104:15:34", "value": { "name": "value", - "nativeSrc": "5114:5:36", + "nativeSrc": "5114:5:34", "nodeType": "YulIdentifier", - "src": "5114:5:36" + "src": "5114:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "5104:6:36", + "nativeSrc": "5104:6:34", "nodeType": "YulIdentifier", - "src": "5104:6:36" + "src": "5104:6:34" } ] }, { - "nativeSrc": "5128:42:36", + "nativeSrc": "5128:42:34", "nodeType": "YulAssignment", - "src": "5128:42:36", + "src": "5128:42:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "5155:9:36", + "nativeSrc": "5155:9:34", "nodeType": "YulIdentifier", - "src": "5155:9:36" + "src": "5155:9:34" }, { "kind": "number", - "nativeSrc": "5166:2:36", + "nativeSrc": "5166:2:34", "nodeType": "YulLiteral", - "src": "5166:2:36", + "src": "5166:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5151:3:36", + "nativeSrc": "5151:3:34", "nodeType": "YulIdentifier", - "src": "5151:3:36" + "src": "5151:3:34" }, - "nativeSrc": "5151:18:36", + "nativeSrc": "5151:18:34", "nodeType": "YulFunctionCall", - "src": "5151:18:36" + "src": "5151:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "5138:12:36", + "nativeSrc": "5138:12:34", "nodeType": "YulIdentifier", - "src": "5138:12:36" + "src": "5138:12:34" }, - "nativeSrc": "5138:32:36", + "nativeSrc": "5138:32:34", "nodeType": "YulFunctionCall", - "src": "5138:32:36" + "src": "5138:32:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "5128:6:36", + "nativeSrc": "5128:6:34", "nodeType": "YulIdentifier", - "src": "5128:6:36" + "src": "5128:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_uint256", - "nativeSrc": "4861:315:36", + "nativeSrc": "4861:315:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "4906:9:36", + "nativeSrc": "4906:9:34", "nodeType": "YulTypedName", - "src": "4906:9:36", + "src": "4906:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "4917:7:36", + "nativeSrc": "4917:7:34", "nodeType": "YulTypedName", - "src": "4917:7:36", + "src": "4917:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "4929:6:36", + "nativeSrc": "4929:6:34", "nodeType": "YulTypedName", - "src": "4929:6:36", + "src": "4929:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "4937:6:36", + "nativeSrc": "4937:6:34", "nodeType": "YulTypedName", - "src": "4937:6:36", + "src": "4937:6:34", "type": "" } ], - "src": "4861:315:36" + "src": "4861:315:34" }, { "body": { - "nativeSrc": "5282:76:36", + "nativeSrc": "5282:76:34", "nodeType": "YulBlock", - "src": "5282:76:36", + "src": "5282:76:34", "statements": [ { - "nativeSrc": "5292:26:36", + "nativeSrc": "5292:26:34", "nodeType": "YulAssignment", - "src": "5292:26:36", + "src": "5292:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5304:9:36", + "nativeSrc": "5304:9:34", "nodeType": "YulIdentifier", - "src": "5304:9:36" + "src": "5304:9:34" }, { "kind": "number", - "nativeSrc": "5315:2:36", + "nativeSrc": "5315:2:34", "nodeType": "YulLiteral", - "src": "5315:2:36", + "src": "5315:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5300:3:36", + "nativeSrc": "5300:3:34", "nodeType": "YulIdentifier", - "src": "5300:3:36" + "src": "5300:3:34" }, - "nativeSrc": "5300:18:36", + "nativeSrc": "5300:18:34", "nodeType": "YulFunctionCall", - "src": "5300:18:36" + "src": "5300:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "5292:4:36", + "nativeSrc": "5292:4:34", "nodeType": "YulIdentifier", - "src": "5292:4:36" + "src": "5292:4:34" } ] }, @@ -138177,108 +137187,108 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "5334:9:36", + "nativeSrc": "5334:9:34", "nodeType": "YulIdentifier", - "src": "5334:9:36" + "src": "5334:9:34" }, { "name": "value0", - "nativeSrc": "5345:6:36", + "nativeSrc": "5345:6:34", "nodeType": "YulIdentifier", - "src": "5345:6:36" + "src": "5345:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "5327:6:36", + "nativeSrc": "5327:6:34", "nodeType": "YulIdentifier", - "src": "5327:6:36" + "src": "5327:6:34" }, - "nativeSrc": "5327:25:36", + "nativeSrc": "5327:25:34", "nodeType": "YulFunctionCall", - "src": "5327:25:36" + "src": "5327:25:34" }, - "nativeSrc": "5327:25:36", + "nativeSrc": "5327:25:34", "nodeType": "YulExpressionStatement", - "src": "5327:25:36" + "src": "5327:25:34" } ] }, "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", - "nativeSrc": "5181:177:36", + "nativeSrc": "5181:177:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "5251:9:36", + "nativeSrc": "5251:9:34", "nodeType": "YulTypedName", - "src": "5251:9:36", + "src": "5251:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "5262:6:36", + "nativeSrc": "5262:6:34", "nodeType": "YulTypedName", - "src": "5262:6:36", + "src": "5262:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "5273:4:36", + "nativeSrc": "5273:4:34", "nodeType": "YulTypedName", - "src": "5273:4:36", + "src": "5273:4:34", "type": "" } ], - "src": "5181:177:36" + "src": "5181:177:34" }, { "body": { - "nativeSrc": "5459:489:36", + "nativeSrc": "5459:489:34", "nodeType": "YulBlock", - "src": "5459:489:36", + "src": "5459:489:34", "statements": [ { "body": { - "nativeSrc": "5505:16:36", + "nativeSrc": "5505:16:34", "nodeType": "YulBlock", - "src": "5505:16:36", + "src": "5505:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5514:1:36", + "nativeSrc": "5514:1:34", "nodeType": "YulLiteral", - "src": "5514:1:36", + "src": "5514:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "5517:1:36", + "nativeSrc": "5517:1:34", "nodeType": "YulLiteral", - "src": "5517:1:36", + "src": "5517:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "5507:6:36", + "nativeSrc": "5507:6:34", "nodeType": "YulIdentifier", - "src": "5507:6:36" + "src": "5507:6:34" }, - "nativeSrc": "5507:12:36", + "nativeSrc": "5507:12:34", "nodeType": "YulFunctionCall", - "src": "5507:12:36" + "src": "5507:12:34" }, - "nativeSrc": "5507:12:36", + "nativeSrc": "5507:12:34", "nodeType": "YulExpressionStatement", - "src": "5507:12:36" + "src": "5507:12:34" } ] }, @@ -138288,79 +137298,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "5480:7:36", + "nativeSrc": "5480:7:34", "nodeType": "YulIdentifier", - "src": "5480:7:36" + "src": "5480:7:34" }, { "name": "headStart", - "nativeSrc": "5489:9:36", + "nativeSrc": "5489:9:34", "nodeType": "YulIdentifier", - "src": "5489:9:36" + "src": "5489:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "5476:3:36", + "nativeSrc": "5476:3:34", "nodeType": "YulIdentifier", - "src": "5476:3:36" + "src": "5476:3:34" }, - "nativeSrc": "5476:23:36", + "nativeSrc": "5476:23:34", "nodeType": "YulFunctionCall", - "src": "5476:23:36" + "src": "5476:23:34" }, { "kind": "number", - "nativeSrc": "5501:2:36", + "nativeSrc": "5501:2:34", "nodeType": "YulLiteral", - "src": "5501:2:36", + "src": "5501:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "5472:3:36", + "nativeSrc": "5472:3:34", "nodeType": "YulIdentifier", - "src": "5472:3:36" + "src": "5472:3:34" }, - "nativeSrc": "5472:32:36", + "nativeSrc": "5472:32:34", "nodeType": "YulFunctionCall", - "src": "5472:32:36" + "src": "5472:32:34" }, - "nativeSrc": "5469:52:36", + "nativeSrc": "5469:52:34", "nodeType": "YulIf", - "src": "5469:52:36" + "src": "5469:52:34" }, { - "nativeSrc": "5530:36:36", + "nativeSrc": "5530:36:34", "nodeType": "YulVariableDeclaration", - "src": "5530:36:36", + "src": "5530:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5556:9:36", + "nativeSrc": "5556:9:34", "nodeType": "YulIdentifier", - "src": "5556:9:36" + "src": "5556:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "5543:12:36", + "nativeSrc": "5543:12:34", "nodeType": "YulIdentifier", - "src": "5543:12:36" + "src": "5543:12:34" }, - "nativeSrc": "5543:23:36", + "nativeSrc": "5543:23:34", "nodeType": "YulFunctionCall", - "src": "5543:23:36" + "src": "5543:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "5534:5:36", + "nativeSrc": "5534:5:34", "nodeType": "YulTypedName", - "src": "5534:5:36", + "src": "5534:5:34", "type": "" } ] @@ -138370,137 +137380,137 @@ "arguments": [ { "name": "value", - "nativeSrc": "5600:5:36", + "nativeSrc": "5600:5:34", "nodeType": "YulIdentifier", - "src": "5600:5:36" + "src": "5600:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "5575:24:36", + "nativeSrc": "5575:24:34", "nodeType": "YulIdentifier", - "src": "5575:24:36" + "src": "5575:24:34" }, - "nativeSrc": "5575:31:36", + "nativeSrc": "5575:31:34", "nodeType": "YulFunctionCall", - "src": "5575:31:36" + "src": "5575:31:34" }, - "nativeSrc": "5575:31:36", + "nativeSrc": "5575:31:34", "nodeType": "YulExpressionStatement", - "src": "5575:31:36" + "src": "5575:31:34" }, { - "nativeSrc": "5615:15:36", + "nativeSrc": "5615:15:34", "nodeType": "YulAssignment", - "src": "5615:15:36", + "src": "5615:15:34", "value": { "name": "value", - "nativeSrc": "5625:5:36", + "nativeSrc": "5625:5:34", "nodeType": "YulIdentifier", - "src": "5625:5:36" + "src": "5625:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "5615:6:36", + "nativeSrc": "5615:6:34", "nodeType": "YulIdentifier", - "src": "5615:6:36" + "src": "5615:6:34" } ] }, { - "nativeSrc": "5639:46:36", + "nativeSrc": "5639:46:34", "nodeType": "YulVariableDeclaration", - "src": "5639:46:36", + "src": "5639:46:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "5670:9:36", + "nativeSrc": "5670:9:34", "nodeType": "YulIdentifier", - "src": "5670:9:36" + "src": "5670:9:34" }, { "kind": "number", - "nativeSrc": "5681:2:36", + "nativeSrc": "5681:2:34", "nodeType": "YulLiteral", - "src": "5681:2:36", + "src": "5681:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5666:3:36", + "nativeSrc": "5666:3:34", "nodeType": "YulIdentifier", - "src": "5666:3:36" + "src": "5666:3:34" }, - "nativeSrc": "5666:18:36", + "nativeSrc": "5666:18:34", "nodeType": "YulFunctionCall", - "src": "5666:18:36" + "src": "5666:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "5653:12:36", + "nativeSrc": "5653:12:34", "nodeType": "YulIdentifier", - "src": "5653:12:36" + "src": "5653:12:34" }, - "nativeSrc": "5653:32:36", + "nativeSrc": "5653:32:34", "nodeType": "YulFunctionCall", - "src": "5653:32:36" + "src": "5653:32:34" }, "variables": [ { "name": "offset", - "nativeSrc": "5643:6:36", + "nativeSrc": "5643:6:34", "nodeType": "YulTypedName", - "src": "5643:6:36", + "src": "5643:6:34", "type": "" } ] }, { "body": { - "nativeSrc": "5728:16:36", + "nativeSrc": "5728:16:34", "nodeType": "YulBlock", - "src": "5728:16:36", + "src": "5728:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5737:1:36", + "nativeSrc": "5737:1:34", "nodeType": "YulLiteral", - "src": "5737:1:36", + "src": "5737:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "5740:1:36", + "nativeSrc": "5740:1:34", "nodeType": "YulLiteral", - "src": "5740:1:36", + "src": "5740:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "5730:6:36", + "nativeSrc": "5730:6:34", "nodeType": "YulIdentifier", - "src": "5730:6:36" + "src": "5730:6:34" }, - "nativeSrc": "5730:12:36", + "nativeSrc": "5730:12:34", "nodeType": "YulFunctionCall", - "src": "5730:12:36" + "src": "5730:12:34" }, - "nativeSrc": "5730:12:36", + "nativeSrc": "5730:12:34", "nodeType": "YulExpressionStatement", - "src": "5730:12:36" + "src": "5730:12:34" } ] }, @@ -138508,111 +137518,111 @@ "arguments": [ { "name": "offset", - "nativeSrc": "5700:6:36", + "nativeSrc": "5700:6:34", "nodeType": "YulIdentifier", - "src": "5700:6:36" + "src": "5700:6:34" }, { "kind": "number", - "nativeSrc": "5708:18:36", + "nativeSrc": "5708:18:34", "nodeType": "YulLiteral", - "src": "5708:18:36", + "src": "5708:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "5697:2:36", + "nativeSrc": "5697:2:34", "nodeType": "YulIdentifier", - "src": "5697:2:36" + "src": "5697:2:34" }, - "nativeSrc": "5697:30:36", + "nativeSrc": "5697:30:34", "nodeType": "YulFunctionCall", - "src": "5697:30:36" + "src": "5697:30:34" }, - "nativeSrc": "5694:50:36", + "nativeSrc": "5694:50:34", "nodeType": "YulIf", - "src": "5694:50:36" + "src": "5694:50:34" }, { - "nativeSrc": "5753:32:36", + "nativeSrc": "5753:32:34", "nodeType": "YulVariableDeclaration", - "src": "5753:32:36", + "src": "5753:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "5767:9:36", + "nativeSrc": "5767:9:34", "nodeType": "YulIdentifier", - "src": "5767:9:36" + "src": "5767:9:34" }, { "name": "offset", - "nativeSrc": "5778:6:36", + "nativeSrc": "5778:6:34", "nodeType": "YulIdentifier", - "src": "5778:6:36" + "src": "5778:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "5763:3:36", + "nativeSrc": "5763:3:34", "nodeType": "YulIdentifier", - "src": "5763:3:36" + "src": "5763:3:34" }, - "nativeSrc": "5763:22:36", + "nativeSrc": "5763:22:34", "nodeType": "YulFunctionCall", - "src": "5763:22:36" + "src": "5763:22:34" }, "variables": [ { "name": "_1", - "nativeSrc": "5757:2:36", + "nativeSrc": "5757:2:34", "nodeType": "YulTypedName", - "src": "5757:2:36", + "src": "5757:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "5833:16:36", + "nativeSrc": "5833:16:34", "nodeType": "YulBlock", - "src": "5833:16:36", + "src": "5833:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "5842:1:36", + "nativeSrc": "5842:1:34", "nodeType": "YulLiteral", - "src": "5842:1:36", + "src": "5842:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "5845:1:36", + "nativeSrc": "5845:1:34", "nodeType": "YulLiteral", - "src": "5845:1:36", + "src": "5845:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "5835:6:36", + "nativeSrc": "5835:6:34", "nodeType": "YulIdentifier", - "src": "5835:6:36" + "src": "5835:6:34" }, - "nativeSrc": "5835:12:36", + "nativeSrc": "5835:12:34", "nodeType": "YulFunctionCall", - "src": "5835:12:36" + "src": "5835:12:34" }, - "nativeSrc": "5835:12:36", + "nativeSrc": "5835:12:34", "nodeType": "YulExpressionStatement", - "src": "5835:12:36" + "src": "5835:12:34" } ] }, @@ -138624,221 +137634,221 @@ "arguments": [ { "name": "_1", - "nativeSrc": "5812:2:36", + "nativeSrc": "5812:2:34", "nodeType": "YulIdentifier", - "src": "5812:2:36" + "src": "5812:2:34" }, { "kind": "number", - "nativeSrc": "5816:4:36", + "nativeSrc": "5816:4:34", "nodeType": "YulLiteral", - "src": "5816:4:36", + "src": "5816:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "5808:3:36", + "nativeSrc": "5808:3:34", "nodeType": "YulIdentifier", - "src": "5808:3:36" + "src": "5808:3:34" }, - "nativeSrc": "5808:13:36", + "nativeSrc": "5808:13:34", "nodeType": "YulFunctionCall", - "src": "5808:13:36" + "src": "5808:13:34" }, { "name": "dataEnd", - "nativeSrc": "5823:7:36", + "nativeSrc": "5823:7:34", "nodeType": "YulIdentifier", - "src": "5823:7:36" + "src": "5823:7:34" } ], "functionName": { "name": "slt", - "nativeSrc": "5804:3:36", + "nativeSrc": "5804:3:34", "nodeType": "YulIdentifier", - "src": "5804:3:36" + "src": "5804:3:34" }, - "nativeSrc": "5804:27:36", + "nativeSrc": "5804:27:34", "nodeType": "YulFunctionCall", - "src": "5804:27:36" + "src": "5804:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "5797:6:36", + "nativeSrc": "5797:6:34", "nodeType": "YulIdentifier", - "src": "5797:6:36" + "src": "5797:6:34" }, - "nativeSrc": "5797:35:36", + "nativeSrc": "5797:35:34", "nodeType": "YulFunctionCall", - "src": "5797:35:36" + "src": "5797:35:34" }, - "nativeSrc": "5794:55:36", + "nativeSrc": "5794:55:34", "nodeType": "YulIf", - "src": "5794:55:36" + "src": "5794:55:34" }, { - "nativeSrc": "5858:84:36", + "nativeSrc": "5858:84:34", "nodeType": "YulAssignment", - "src": "5858:84:36", + "src": "5858:84:34", "value": { "arguments": [ { "arguments": [ { "name": "_1", - "nativeSrc": "5907:2:36", + "nativeSrc": "5907:2:34", "nodeType": "YulIdentifier", - "src": "5907:2:36" + "src": "5907:2:34" }, { "kind": "number", - "nativeSrc": "5911:2:36", + "nativeSrc": "5911:2:34", "nodeType": "YulLiteral", - "src": "5911:2:36", + "src": "5911:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "5903:3:36", + "nativeSrc": "5903:3:34", "nodeType": "YulIdentifier", - "src": "5903:3:36" + "src": "5903:3:34" }, - "nativeSrc": "5903:11:36", + "nativeSrc": "5903:11:34", "nodeType": "YulFunctionCall", - "src": "5903:11:36" + "src": "5903:11:34" }, { "arguments": [ { "name": "_1", - "nativeSrc": "5929:2:36", + "nativeSrc": "5929:2:34", "nodeType": "YulIdentifier", - "src": "5929:2:36" + "src": "5929:2:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "5916:12:36", + "nativeSrc": "5916:12:34", "nodeType": "YulIdentifier", - "src": "5916:12:36" + "src": "5916:12:34" }, - "nativeSrc": "5916:16:36", + "nativeSrc": "5916:16:34", "nodeType": "YulFunctionCall", - "src": "5916:16:36" + "src": "5916:16:34" }, { "name": "dataEnd", - "nativeSrc": "5934:7:36", + "nativeSrc": "5934:7:34", "nodeType": "YulIdentifier", - "src": "5934:7:36" + "src": "5934:7:34" } ], "functionName": { "name": "abi_decode_available_length_string", - "nativeSrc": "5868:34:36", + "nativeSrc": "5868:34:34", "nodeType": "YulIdentifier", - "src": "5868:34:36" + "src": "5868:34:34" }, - "nativeSrc": "5868:74:36", + "nativeSrc": "5868:74:34", "nodeType": "YulFunctionCall", - "src": "5868:74:36" + "src": "5868:74:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "5858:6:36", + "nativeSrc": "5858:6:34", "nodeType": "YulIdentifier", - "src": "5858:6:36" + "src": "5858:6:34" } ] } ] }, "name": "abi_decode_tuple_t_addresst_bytes_memory_ptr", - "nativeSrc": "5363:585:36", + "nativeSrc": "5363:585:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "5417:9:36", + "nativeSrc": "5417:9:34", "nodeType": "YulTypedName", - "src": "5417:9:36", + "src": "5417:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "5428:7:36", + "nativeSrc": "5428:7:34", "nodeType": "YulTypedName", - "src": "5428:7:36", + "src": "5428:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "5440:6:36", + "nativeSrc": "5440:6:34", "nodeType": "YulTypedName", - "src": "5440:6:36", + "src": "5440:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "5448:6:36", + "nativeSrc": "5448:6:34", "nodeType": "YulTypedName", - "src": "5448:6:36", + "src": "5448:6:34", "type": "" } ], - "src": "5363:585:36" + "src": "5363:585:34" }, { "body": { - "nativeSrc": "6054:76:36", + "nativeSrc": "6054:76:34", "nodeType": "YulBlock", - "src": "6054:76:36", + "src": "6054:76:34", "statements": [ { - "nativeSrc": "6064:26:36", + "nativeSrc": "6064:26:34", "nodeType": "YulAssignment", - "src": "6064:26:36", + "src": "6064:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "6076:9:36", + "nativeSrc": "6076:9:34", "nodeType": "YulIdentifier", - "src": "6076:9:36" + "src": "6076:9:34" }, { "kind": "number", - "nativeSrc": "6087:2:36", + "nativeSrc": "6087:2:34", "nodeType": "YulLiteral", - "src": "6087:2:36", + "src": "6087:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "6072:3:36", + "nativeSrc": "6072:3:34", "nodeType": "YulIdentifier", - "src": "6072:3:36" + "src": "6072:3:34" }, - "nativeSrc": "6072:18:36", + "nativeSrc": "6072:18:34", "nodeType": "YulFunctionCall", - "src": "6072:18:36" + "src": "6072:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "6064:4:36", + "nativeSrc": "6064:4:34", "nodeType": "YulIdentifier", - "src": "6064:4:36" + "src": "6064:4:34" } ] }, @@ -138847,106 +137857,106 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "6106:9:36", + "nativeSrc": "6106:9:34", "nodeType": "YulIdentifier", - "src": "6106:9:36" + "src": "6106:9:34" }, { "name": "value0", - "nativeSrc": "6117:6:36", + "nativeSrc": "6117:6:34", "nodeType": "YulIdentifier", - "src": "6117:6:36" + "src": "6117:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "6099:6:36", + "nativeSrc": "6099:6:34", "nodeType": "YulIdentifier", - "src": "6099:6:36" + "src": "6099:6:34" }, - "nativeSrc": "6099:25:36", + "nativeSrc": "6099:25:34", "nodeType": "YulFunctionCall", - "src": "6099:25:36" + "src": "6099:25:34" }, - "nativeSrc": "6099:25:36", + "nativeSrc": "6099:25:34", "nodeType": "YulExpressionStatement", - "src": "6099:25:36" + "src": "6099:25:34" } ] }, "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", - "nativeSrc": "5953:177:36", + "nativeSrc": "5953:177:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6023:9:36", + "nativeSrc": "6023:9:34", "nodeType": "YulTypedName", - "src": "6023:9:36", + "src": "6023:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "6034:6:36", + "nativeSrc": "6034:6:34", "nodeType": "YulTypedName", - "src": "6034:6:36", + "src": "6034:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "6045:4:36", + "nativeSrc": "6045:4:34", "nodeType": "YulTypedName", - "src": "6045:4:36", + "src": "6045:4:34", "type": "" } ], - "src": "5953:177:36" + "src": "5953:177:34" }, { "body": { - "nativeSrc": "6249:96:36", + "nativeSrc": "6249:96:34", "nodeType": "YulBlock", - "src": "6249:96:36", + "src": "6249:96:34", "statements": [ { - "nativeSrc": "6259:26:36", + "nativeSrc": "6259:26:34", "nodeType": "YulAssignment", - "src": "6259:26:36", + "src": "6259:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "6271:9:36", + "nativeSrc": "6271:9:34", "nodeType": "YulIdentifier", - "src": "6271:9:36" + "src": "6271:9:34" }, { "kind": "number", - "nativeSrc": "6282:2:36", + "nativeSrc": "6282:2:34", "nodeType": "YulLiteral", - "src": "6282:2:36", + "src": "6282:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "6267:3:36", + "nativeSrc": "6267:3:34", "nodeType": "YulIdentifier", - "src": "6267:3:36" + "src": "6267:3:34" }, - "nativeSrc": "6267:18:36", + "nativeSrc": "6267:18:34", "nodeType": "YulFunctionCall", - "src": "6267:18:36" + "src": "6267:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "6259:4:36", + "nativeSrc": "6259:4:34", "nodeType": "YulIdentifier", - "src": "6259:4:36" + "src": "6259:4:34" } ] }, @@ -138955,108 +137965,108 @@ "arguments": [ { "name": "value0", - "nativeSrc": "6321:6:36", + "nativeSrc": "6321:6:34", "nodeType": "YulIdentifier", - "src": "6321:6:36" + "src": "6321:6:34" }, { "name": "headStart", - "nativeSrc": "6329:9:36", + "nativeSrc": "6329:9:34", "nodeType": "YulIdentifier", - "src": "6329:9:36" + "src": "6329:9:34" } ], "functionName": { "name": "abi_encode_enum_TaskStatus", - "nativeSrc": "6294:26:36", + "nativeSrc": "6294:26:34", "nodeType": "YulIdentifier", - "src": "6294:26:36" + "src": "6294:26:34" }, - "nativeSrc": "6294:45:36", + "nativeSrc": "6294:45:34", "nodeType": "YulFunctionCall", - "src": "6294:45:36" + "src": "6294:45:34" }, - "nativeSrc": "6294:45:36", + "nativeSrc": "6294:45:34", "nodeType": "YulExpressionStatement", - "src": "6294:45:36" + "src": "6294:45:34" } ] }, - "name": "abi_encode_tuple_t_enum$_TaskStatus_$4637__to_t_uint8__fromStack_reversed", - "nativeSrc": "6135:210:36", + "name": "abi_encode_tuple_t_enum$_TaskStatus_$4638__to_t_uint8__fromStack_reversed", + "nativeSrc": "6135:210:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6218:9:36", + "nativeSrc": "6218:9:34", "nodeType": "YulTypedName", - "src": "6218:9:36", + "src": "6218:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "6229:6:36", + "nativeSrc": "6229:6:34", "nodeType": "YulTypedName", - "src": "6229:6:36", + "src": "6229:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "6240:4:36", + "nativeSrc": "6240:4:34", "nodeType": "YulTypedName", - "src": "6240:4:36", + "src": "6240:4:34", "type": "" } ], - "src": "6135:210:36" + "src": "6135:210:34" }, { "body": { - "nativeSrc": "6435:252:36", + "nativeSrc": "6435:252:34", "nodeType": "YulBlock", - "src": "6435:252:36", + "src": "6435:252:34", "statements": [ { "body": { - "nativeSrc": "6481:16:36", + "nativeSrc": "6481:16:34", "nodeType": "YulBlock", - "src": "6481:16:36", + "src": "6481:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6490:1:36", + "nativeSrc": "6490:1:34", "nodeType": "YulLiteral", - "src": "6490:1:36", + "src": "6490:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "6493:1:36", + "nativeSrc": "6493:1:34", "nodeType": "YulLiteral", - "src": "6493:1:36", + "src": "6493:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "6483:6:36", + "nativeSrc": "6483:6:34", "nodeType": "YulIdentifier", - "src": "6483:6:36" + "src": "6483:6:34" }, - "nativeSrc": "6483:12:36", + "nativeSrc": "6483:12:34", "nodeType": "YulFunctionCall", - "src": "6483:12:36" + "src": "6483:12:34" }, - "nativeSrc": "6483:12:36", + "nativeSrc": "6483:12:34", "nodeType": "YulExpressionStatement", - "src": "6483:12:36" + "src": "6483:12:34" } ] }, @@ -139066,175 +138076,175 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "6456:7:36", + "nativeSrc": "6456:7:34", "nodeType": "YulIdentifier", - "src": "6456:7:36" + "src": "6456:7:34" }, { "name": "headStart", - "nativeSrc": "6465:9:36", + "nativeSrc": "6465:9:34", "nodeType": "YulIdentifier", - "src": "6465:9:36" + "src": "6465:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "6452:3:36", + "nativeSrc": "6452:3:34", "nodeType": "YulIdentifier", - "src": "6452:3:36" + "src": "6452:3:34" }, - "nativeSrc": "6452:23:36", + "nativeSrc": "6452:23:34", "nodeType": "YulFunctionCall", - "src": "6452:23:36" + "src": "6452:23:34" }, { "kind": "number", - "nativeSrc": "6477:2:36", + "nativeSrc": "6477:2:34", "nodeType": "YulLiteral", - "src": "6477:2:36", + "src": "6477:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "6448:3:36", + "nativeSrc": "6448:3:34", "nodeType": "YulIdentifier", - "src": "6448:3:36" + "src": "6448:3:34" }, - "nativeSrc": "6448:32:36", + "nativeSrc": "6448:32:34", "nodeType": "YulFunctionCall", - "src": "6448:32:36" + "src": "6448:32:34" }, - "nativeSrc": "6445:52:36", + "nativeSrc": "6445:52:34", "nodeType": "YulIf", - "src": "6445:52:36" + "src": "6445:52:34" }, { - "nativeSrc": "6506:33:36", + "nativeSrc": "6506:33:34", "nodeType": "YulAssignment", - "src": "6506:33:36", + "src": "6506:33:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "6529:9:36", + "nativeSrc": "6529:9:34", "nodeType": "YulIdentifier", - "src": "6529:9:36" + "src": "6529:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "6516:12:36", + "nativeSrc": "6516:12:34", "nodeType": "YulIdentifier", - "src": "6516:12:36" + "src": "6516:12:34" }, - "nativeSrc": "6516:23:36", + "nativeSrc": "6516:23:34", "nodeType": "YulFunctionCall", - "src": "6516:23:36" + "src": "6516:23:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "6506:6:36", + "nativeSrc": "6506:6:34", "nodeType": "YulIdentifier", - "src": "6506:6:36" + "src": "6506:6:34" } ] }, { - "nativeSrc": "6548:45:36", + "nativeSrc": "6548:45:34", "nodeType": "YulVariableDeclaration", - "src": "6548:45:36", + "src": "6548:45:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "6578:9:36", + "nativeSrc": "6578:9:34", "nodeType": "YulIdentifier", - "src": "6578:9:36" + "src": "6578:9:34" }, { "kind": "number", - "nativeSrc": "6589:2:36", + "nativeSrc": "6589:2:34", "nodeType": "YulLiteral", - "src": "6589:2:36", + "src": "6589:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "6574:3:36", + "nativeSrc": "6574:3:34", "nodeType": "YulIdentifier", - "src": "6574:3:36" + "src": "6574:3:34" }, - "nativeSrc": "6574:18:36", + "nativeSrc": "6574:18:34", "nodeType": "YulFunctionCall", - "src": "6574:18:36" + "src": "6574:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "6561:12:36", + "nativeSrc": "6561:12:34", "nodeType": "YulIdentifier", - "src": "6561:12:36" + "src": "6561:12:34" }, - "nativeSrc": "6561:32:36", + "nativeSrc": "6561:32:34", "nodeType": "YulFunctionCall", - "src": "6561:32:36" + "src": "6561:32:34" }, "variables": [ { "name": "value", - "nativeSrc": "6552:5:36", + "nativeSrc": "6552:5:34", "nodeType": "YulTypedName", - "src": "6552:5:36", + "src": "6552:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "6641:16:36", + "nativeSrc": "6641:16:34", "nodeType": "YulBlock", - "src": "6641:16:36", + "src": "6641:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6650:1:36", + "nativeSrc": "6650:1:34", "nodeType": "YulLiteral", - "src": "6650:1:36", + "src": "6650:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "6653:1:36", + "nativeSrc": "6653:1:34", "nodeType": "YulLiteral", - "src": "6653:1:36", + "src": "6653:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "6643:6:36", + "nativeSrc": "6643:6:34", "nodeType": "YulIdentifier", - "src": "6643:6:36" + "src": "6643:6:34" }, - "nativeSrc": "6643:12:36", + "nativeSrc": "6643:12:34", "nodeType": "YulFunctionCall", - "src": "6643:12:36" + "src": "6643:12:34" }, - "nativeSrc": "6643:12:36", + "nativeSrc": "6643:12:34", "nodeType": "YulExpressionStatement", - "src": "6643:12:36" + "src": "6643:12:34" } ] }, @@ -139244,166 +138254,166 @@ "arguments": [ { "name": "value", - "nativeSrc": "6615:5:36", + "nativeSrc": "6615:5:34", "nodeType": "YulIdentifier", - "src": "6615:5:36" + "src": "6615:5:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "6626:5:36", + "nativeSrc": "6626:5:34", "nodeType": "YulIdentifier", - "src": "6626:5:36" + "src": "6626:5:34" }, { "kind": "number", - "nativeSrc": "6633:4:36", + "nativeSrc": "6633:4:34", "nodeType": "YulLiteral", - "src": "6633:4:36", + "src": "6633:4:34", "type": "", "value": "0xff" } ], "functionName": { "name": "and", - "nativeSrc": "6622:3:36", + "nativeSrc": "6622:3:34", "nodeType": "YulIdentifier", - "src": "6622:3:36" + "src": "6622:3:34" }, - "nativeSrc": "6622:16:36", + "nativeSrc": "6622:16:34", "nodeType": "YulFunctionCall", - "src": "6622:16:36" + "src": "6622:16:34" } ], "functionName": { "name": "eq", - "nativeSrc": "6612:2:36", + "nativeSrc": "6612:2:34", "nodeType": "YulIdentifier", - "src": "6612:2:36" + "src": "6612:2:34" }, - "nativeSrc": "6612:27:36", + "nativeSrc": "6612:27:34", "nodeType": "YulFunctionCall", - "src": "6612:27:36" + "src": "6612:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "6605:6:36", + "nativeSrc": "6605:6:34", "nodeType": "YulIdentifier", - "src": "6605:6:36" + "src": "6605:6:34" }, - "nativeSrc": "6605:35:36", + "nativeSrc": "6605:35:34", "nodeType": "YulFunctionCall", - "src": "6605:35:36" + "src": "6605:35:34" }, - "nativeSrc": "6602:55:36", + "nativeSrc": "6602:55:34", "nodeType": "YulIf", - "src": "6602:55:36" + "src": "6602:55:34" }, { - "nativeSrc": "6666:15:36", + "nativeSrc": "6666:15:34", "nodeType": "YulAssignment", - "src": "6666:15:36", + "src": "6666:15:34", "value": { "name": "value", - "nativeSrc": "6676:5:36", + "nativeSrc": "6676:5:34", "nodeType": "YulIdentifier", - "src": "6676:5:36" + "src": "6676:5:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "6666:6:36", + "nativeSrc": "6666:6:34", "nodeType": "YulIdentifier", - "src": "6666:6:36" + "src": "6666:6:34" } ] } ] }, "name": "abi_decode_tuple_t_uint256t_uint8", - "nativeSrc": "6350:337:36", + "nativeSrc": "6350:337:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6393:9:36", + "nativeSrc": "6393:9:34", "nodeType": "YulTypedName", - "src": "6393:9:36", + "src": "6393:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "6404:7:36", + "nativeSrc": "6404:7:34", "nodeType": "YulTypedName", - "src": "6404:7:36", + "src": "6404:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "6416:6:36", + "nativeSrc": "6416:6:34", "nodeType": "YulTypedName", - "src": "6416:6:36", + "src": "6416:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "6424:6:36", + "nativeSrc": "6424:6:34", "nodeType": "YulTypedName", - "src": "6424:6:36", + "src": "6424:6:34", "type": "" } ], - "src": "6350:337:36" + "src": "6350:337:34" }, { "body": { - "nativeSrc": "6762:177:36", + "nativeSrc": "6762:177:34", "nodeType": "YulBlock", - "src": "6762:177:36", + "src": "6762:177:34", "statements": [ { "body": { - "nativeSrc": "6808:16:36", + "nativeSrc": "6808:16:34", "nodeType": "YulBlock", - "src": "6808:16:36", + "src": "6808:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "6817:1:36", + "nativeSrc": "6817:1:34", "nodeType": "YulLiteral", - "src": "6817:1:36", + "src": "6817:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "6820:1:36", + "nativeSrc": "6820:1:34", "nodeType": "YulLiteral", - "src": "6820:1:36", + "src": "6820:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "6810:6:36", + "nativeSrc": "6810:6:34", "nodeType": "YulIdentifier", - "src": "6810:6:36" + "src": "6810:6:34" }, - "nativeSrc": "6810:12:36", + "nativeSrc": "6810:12:34", "nodeType": "YulFunctionCall", - "src": "6810:12:36" + "src": "6810:12:34" }, - "nativeSrc": "6810:12:36", + "nativeSrc": "6810:12:34", "nodeType": "YulExpressionStatement", - "src": "6810:12:36" + "src": "6810:12:34" } ] }, @@ -139413,79 +138423,79 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "6783:7:36", + "nativeSrc": "6783:7:34", "nodeType": "YulIdentifier", - "src": "6783:7:36" + "src": "6783:7:34" }, { "name": "headStart", - "nativeSrc": "6792:9:36", + "nativeSrc": "6792:9:34", "nodeType": "YulIdentifier", - "src": "6792:9:36" + "src": "6792:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "6779:3:36", + "nativeSrc": "6779:3:34", "nodeType": "YulIdentifier", - "src": "6779:3:36" + "src": "6779:3:34" }, - "nativeSrc": "6779:23:36", + "nativeSrc": "6779:23:34", "nodeType": "YulFunctionCall", - "src": "6779:23:36" + "src": "6779:23:34" }, { "kind": "number", - "nativeSrc": "6804:2:36", + "nativeSrc": "6804:2:34", "nodeType": "YulLiteral", - "src": "6804:2:36", + "src": "6804:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "6775:3:36", + "nativeSrc": "6775:3:34", "nodeType": "YulIdentifier", - "src": "6775:3:36" + "src": "6775:3:34" }, - "nativeSrc": "6775:32:36", + "nativeSrc": "6775:32:34", "nodeType": "YulFunctionCall", - "src": "6775:32:36" + "src": "6775:32:34" }, - "nativeSrc": "6772:52:36", + "nativeSrc": "6772:52:34", "nodeType": "YulIf", - "src": "6772:52:36" + "src": "6772:52:34" }, { - "nativeSrc": "6833:36:36", + "nativeSrc": "6833:36:34", "nodeType": "YulVariableDeclaration", - "src": "6833:36:36", + "src": "6833:36:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "6859:9:36", + "nativeSrc": "6859:9:34", "nodeType": "YulIdentifier", - "src": "6859:9:36" + "src": "6859:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "6846:12:36", + "nativeSrc": "6846:12:34", "nodeType": "YulIdentifier", - "src": "6846:12:36" + "src": "6846:12:34" }, - "nativeSrc": "6846:23:36", + "nativeSrc": "6846:23:34", "nodeType": "YulFunctionCall", - "src": "6846:23:36" + "src": "6846:23:34" }, "variables": [ { "name": "value", - "nativeSrc": "6837:5:36", + "nativeSrc": "6837:5:34", "nodeType": "YulTypedName", - "src": "6837:5:36", + "src": "6837:5:34", "type": "" } ] @@ -139495,141 +138505,141 @@ "arguments": [ { "name": "value", - "nativeSrc": "6903:5:36", + "nativeSrc": "6903:5:34", "nodeType": "YulIdentifier", - "src": "6903:5:36" + "src": "6903:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "6878:24:36", + "nativeSrc": "6878:24:34", "nodeType": "YulIdentifier", - "src": "6878:24:36" + "src": "6878:24:34" }, - "nativeSrc": "6878:31:36", + "nativeSrc": "6878:31:34", "nodeType": "YulFunctionCall", - "src": "6878:31:36" + "src": "6878:31:34" }, - "nativeSrc": "6878:31:36", + "nativeSrc": "6878:31:34", "nodeType": "YulExpressionStatement", - "src": "6878:31:36" + "src": "6878:31:34" }, { - "nativeSrc": "6918:15:36", + "nativeSrc": "6918:15:34", "nodeType": "YulAssignment", - "src": "6918:15:36", + "src": "6918:15:34", "value": { "name": "value", - "nativeSrc": "6928:5:36", + "nativeSrc": "6928:5:34", "nodeType": "YulIdentifier", - "src": "6928:5:36" + "src": "6928:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "6918:6:36", + "nativeSrc": "6918:6:34", "nodeType": "YulIdentifier", - "src": "6918:6:36" + "src": "6918:6:34" } ] } ] }, "name": "abi_decode_tuple_t_address", - "nativeSrc": "6692:247:36", + "nativeSrc": "6692:247:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "6728:9:36", + "nativeSrc": "6728:9:34", "nodeType": "YulTypedName", - "src": "6728:9:36", + "src": "6728:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "6739:7:36", + "nativeSrc": "6739:7:34", "nodeType": "YulTypedName", - "src": "6739:7:36", + "src": "6739:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "6751:6:36", + "nativeSrc": "6751:6:34", "nodeType": "YulTypedName", - "src": "6751:6:36", + "src": "6751:6:34", "type": "" } ], - "src": "6692:247:36" + "src": "6692:247:34" }, { "body": { - "nativeSrc": "7095:481:36", + "nativeSrc": "7095:481:34", "nodeType": "YulBlock", - "src": "7095:481:36", + "src": "7095:481:34", "statements": [ { - "nativeSrc": "7105:12:36", + "nativeSrc": "7105:12:34", "nodeType": "YulVariableDeclaration", - "src": "7105:12:36", + "src": "7105:12:34", "value": { "kind": "number", - "nativeSrc": "7115:2:36", + "nativeSrc": "7115:2:34", "nodeType": "YulLiteral", - "src": "7115:2:36", + "src": "7115:2:34", "type": "", "value": "32" }, "variables": [ { "name": "_1", - "nativeSrc": "7109:2:36", + "nativeSrc": "7109:2:34", "nodeType": "YulTypedName", - "src": "7109:2:36", + "src": "7109:2:34", "type": "" } ] }, { - "nativeSrc": "7126:32:36", + "nativeSrc": "7126:32:34", "nodeType": "YulVariableDeclaration", - "src": "7126:32:36", + "src": "7126:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "7144:9:36", + "nativeSrc": "7144:9:34", "nodeType": "YulIdentifier", - "src": "7144:9:36" + "src": "7144:9:34" }, { "kind": "number", - "nativeSrc": "7155:2:36", + "nativeSrc": "7155:2:34", "nodeType": "YulLiteral", - "src": "7155:2:36", + "src": "7155:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "7140:3:36", + "nativeSrc": "7140:3:34", "nodeType": "YulIdentifier", - "src": "7140:3:36" + "src": "7140:3:34" }, - "nativeSrc": "7140:18:36", + "nativeSrc": "7140:18:34", "nodeType": "YulFunctionCall", - "src": "7140:18:36" + "src": "7140:18:34" }, "variables": [ { "name": "tail_1", - "nativeSrc": "7130:6:36", + "nativeSrc": "7130:6:34", "nodeType": "YulTypedName", - "src": "7130:6:36", + "src": "7130:6:34", "type": "" } ] @@ -139639,82 +138649,82 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "7174:9:36", + "nativeSrc": "7174:9:34", "nodeType": "YulIdentifier", - "src": "7174:9:36" + "src": "7174:9:34" }, { "kind": "number", - "nativeSrc": "7185:2:36", + "nativeSrc": "7185:2:34", "nodeType": "YulLiteral", - "src": "7185:2:36", + "src": "7185:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "7167:6:36", + "nativeSrc": "7167:6:34", "nodeType": "YulIdentifier", - "src": "7167:6:36" + "src": "7167:6:34" }, - "nativeSrc": "7167:21:36", + "nativeSrc": "7167:21:34", "nodeType": "YulFunctionCall", - "src": "7167:21:36" + "src": "7167:21:34" }, - "nativeSrc": "7167:21:36", + "nativeSrc": "7167:21:34", "nodeType": "YulExpressionStatement", - "src": "7167:21:36" + "src": "7167:21:34" }, { - "nativeSrc": "7197:17:36", + "nativeSrc": "7197:17:34", "nodeType": "YulVariableDeclaration", - "src": "7197:17:36", + "src": "7197:17:34", "value": { "name": "tail_1", - "nativeSrc": "7208:6:36", + "nativeSrc": "7208:6:34", "nodeType": "YulIdentifier", - "src": "7208:6:36" + "src": "7208:6:34" }, "variables": [ { "name": "pos", - "nativeSrc": "7201:3:36", + "nativeSrc": "7201:3:34", "nodeType": "YulTypedName", - "src": "7201:3:36", + "src": "7201:3:34", "type": "" } ] }, { - "nativeSrc": "7223:27:36", + "nativeSrc": "7223:27:34", "nodeType": "YulVariableDeclaration", - "src": "7223:27:36", + "src": "7223:27:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "7243:6:36", + "nativeSrc": "7243:6:34", "nodeType": "YulIdentifier", - "src": "7243:6:36" + "src": "7243:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "7237:5:36", + "nativeSrc": "7237:5:34", "nodeType": "YulIdentifier", - "src": "7237:5:36" + "src": "7237:5:34" }, - "nativeSrc": "7237:13:36", + "nativeSrc": "7237:13:34", "nodeType": "YulFunctionCall", - "src": "7237:13:36" + "src": "7237:13:34" }, "variables": [ { "name": "length", - "nativeSrc": "7227:6:36", + "nativeSrc": "7227:6:34", "nodeType": "YulTypedName", - "src": "7227:6:36", + "src": "7227:6:34", "type": "" } ] @@ -139724,256 +138734,256 @@ "arguments": [ { "name": "tail_1", - "nativeSrc": "7266:6:36", + "nativeSrc": "7266:6:34", "nodeType": "YulIdentifier", - "src": "7266:6:36" + "src": "7266:6:34" }, { "name": "length", - "nativeSrc": "7274:6:36", + "nativeSrc": "7274:6:34", "nodeType": "YulIdentifier", - "src": "7274:6:36" + "src": "7274:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "7259:6:36", + "nativeSrc": "7259:6:34", "nodeType": "YulIdentifier", - "src": "7259:6:36" + "src": "7259:6:34" }, - "nativeSrc": "7259:22:36", + "nativeSrc": "7259:22:34", "nodeType": "YulFunctionCall", - "src": "7259:22:36" + "src": "7259:22:34" }, - "nativeSrc": "7259:22:36", + "nativeSrc": "7259:22:34", "nodeType": "YulExpressionStatement", - "src": "7259:22:36" + "src": "7259:22:34" }, { - "nativeSrc": "7290:25:36", + "nativeSrc": "7290:25:34", "nodeType": "YulAssignment", - "src": "7290:25:36", + "src": "7290:25:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "7301:9:36", + "nativeSrc": "7301:9:34", "nodeType": "YulIdentifier", - "src": "7301:9:36" + "src": "7301:9:34" }, { "kind": "number", - "nativeSrc": "7312:2:36", + "nativeSrc": "7312:2:34", "nodeType": "YulLiteral", - "src": "7312:2:36", + "src": "7312:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "7297:3:36", + "nativeSrc": "7297:3:34", "nodeType": "YulIdentifier", - "src": "7297:3:36" + "src": "7297:3:34" }, - "nativeSrc": "7297:18:36", + "nativeSrc": "7297:18:34", "nodeType": "YulFunctionCall", - "src": "7297:18:36" + "src": "7297:18:34" }, "variableNames": [ { "name": "pos", - "nativeSrc": "7290:3:36", + "nativeSrc": "7290:3:34", "nodeType": "YulIdentifier", - "src": "7290:3:36" + "src": "7290:3:34" } ] }, { - "nativeSrc": "7324:29:36", + "nativeSrc": "7324:29:34", "nodeType": "YulVariableDeclaration", - "src": "7324:29:36", + "src": "7324:29:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "7342:6:36", + "nativeSrc": "7342:6:34", "nodeType": "YulIdentifier", - "src": "7342:6:36" + "src": "7342:6:34" }, { "kind": "number", - "nativeSrc": "7350:2:36", + "nativeSrc": "7350:2:34", "nodeType": "YulLiteral", - "src": "7350:2:36", + "src": "7350:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "7338:3:36", + "nativeSrc": "7338:3:34", "nodeType": "YulIdentifier", - "src": "7338:3:36" + "src": "7338:3:34" }, - "nativeSrc": "7338:15:36", + "nativeSrc": "7338:15:34", "nodeType": "YulFunctionCall", - "src": "7338:15:36" + "src": "7338:15:34" }, "variables": [ { "name": "srcPtr", - "nativeSrc": "7328:6:36", + "nativeSrc": "7328:6:34", "nodeType": "YulTypedName", - "src": "7328:6:36", + "src": "7328:6:34", "type": "" } ] }, { - "nativeSrc": "7362:10:36", + "nativeSrc": "7362:10:34", "nodeType": "YulVariableDeclaration", - "src": "7362:10:36", + "src": "7362:10:34", "value": { "kind": "number", - "nativeSrc": "7371:1:36", + "nativeSrc": "7371:1:34", "nodeType": "YulLiteral", - "src": "7371:1:36", + "src": "7371:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "7366:1:36", + "nativeSrc": "7366:1:34", "nodeType": "YulTypedName", - "src": "7366:1:36", + "src": "7366:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "7430:120:36", + "nativeSrc": "7430:120:34", "nodeType": "YulBlock", - "src": "7430:120:36", + "src": "7430:120:34", "statements": [ { "expression": { "arguments": [ { "name": "pos", - "nativeSrc": "7451:3:36", + "nativeSrc": "7451:3:34", "nodeType": "YulIdentifier", - "src": "7451:3:36" + "src": "7451:3:34" }, { "arguments": [ { "name": "srcPtr", - "nativeSrc": "7462:6:36", + "nativeSrc": "7462:6:34", "nodeType": "YulIdentifier", - "src": "7462:6:36" + "src": "7462:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "7456:5:36", + "nativeSrc": "7456:5:34", "nodeType": "YulIdentifier", - "src": "7456:5:36" + "src": "7456:5:34" }, - "nativeSrc": "7456:13:36", + "nativeSrc": "7456:13:34", "nodeType": "YulFunctionCall", - "src": "7456:13:36" + "src": "7456:13:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "7444:6:36", + "nativeSrc": "7444:6:34", "nodeType": "YulIdentifier", - "src": "7444:6:36" + "src": "7444:6:34" }, - "nativeSrc": "7444:26:36", + "nativeSrc": "7444:26:34", "nodeType": "YulFunctionCall", - "src": "7444:26:36" + "src": "7444:26:34" }, - "nativeSrc": "7444:26:36", + "nativeSrc": "7444:26:34", "nodeType": "YulExpressionStatement", - "src": "7444:26:36" + "src": "7444:26:34" }, { - "nativeSrc": "7483:19:36", + "nativeSrc": "7483:19:34", "nodeType": "YulAssignment", - "src": "7483:19:36", + "src": "7483:19:34", "value": { "arguments": [ { "name": "pos", - "nativeSrc": "7494:3:36", + "nativeSrc": "7494:3:34", "nodeType": "YulIdentifier", - "src": "7494:3:36" + "src": "7494:3:34" }, { "name": "_1", - "nativeSrc": "7499:2:36", + "nativeSrc": "7499:2:34", "nodeType": "YulIdentifier", - "src": "7499:2:36" + "src": "7499:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "7490:3:36", + "nativeSrc": "7490:3:34", "nodeType": "YulIdentifier", - "src": "7490:3:36" + "src": "7490:3:34" }, - "nativeSrc": "7490:12:36", + "nativeSrc": "7490:12:34", "nodeType": "YulFunctionCall", - "src": "7490:12:36" + "src": "7490:12:34" }, "variableNames": [ { "name": "pos", - "nativeSrc": "7483:3:36", + "nativeSrc": "7483:3:34", "nodeType": "YulIdentifier", - "src": "7483:3:36" + "src": "7483:3:34" } ] }, { - "nativeSrc": "7515:25:36", + "nativeSrc": "7515:25:34", "nodeType": "YulAssignment", - "src": "7515:25:36", + "src": "7515:25:34", "value": { "arguments": [ { "name": "srcPtr", - "nativeSrc": "7529:6:36", + "nativeSrc": "7529:6:34", "nodeType": "YulIdentifier", - "src": "7529:6:36" + "src": "7529:6:34" }, { "name": "_1", - "nativeSrc": "7537:2:36", + "nativeSrc": "7537:2:34", "nodeType": "YulIdentifier", - "src": "7537:2:36" + "src": "7537:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "7525:3:36", + "nativeSrc": "7525:3:34", "nodeType": "YulIdentifier", - "src": "7525:3:36" + "src": "7525:3:34" }, - "nativeSrc": "7525:15:36", + "nativeSrc": "7525:15:34", "nodeType": "YulFunctionCall", - "src": "7525:15:36" + "src": "7525:15:34" }, "variableNames": [ { "name": "srcPtr", - "nativeSrc": "7515:6:36", + "nativeSrc": "7515:6:34", "nodeType": "YulIdentifier", - "src": "7515:6:36" + "src": "7515:6:34" } ] } @@ -139983,180 +138993,180 @@ "arguments": [ { "name": "i", - "nativeSrc": "7392:1:36", + "nativeSrc": "7392:1:34", "nodeType": "YulIdentifier", - "src": "7392:1:36" + "src": "7392:1:34" }, { "name": "length", - "nativeSrc": "7395:6:36", + "nativeSrc": "7395:6:34", "nodeType": "YulIdentifier", - "src": "7395:6:36" + "src": "7395:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "7389:2:36", + "nativeSrc": "7389:2:34", "nodeType": "YulIdentifier", - "src": "7389:2:36" + "src": "7389:2:34" }, - "nativeSrc": "7389:13:36", + "nativeSrc": "7389:13:34", "nodeType": "YulFunctionCall", - "src": "7389:13:36" + "src": "7389:13:34" }, - "nativeSrc": "7381:169:36", + "nativeSrc": "7381:169:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "7403:18:36", + "nativeSrc": "7403:18:34", "nodeType": "YulBlock", - "src": "7403:18:36", + "src": "7403:18:34", "statements": [ { - "nativeSrc": "7405:14:36", + "nativeSrc": "7405:14:34", "nodeType": "YulAssignment", - "src": "7405:14:36", + "src": "7405:14:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "7414:1:36", + "nativeSrc": "7414:1:34", "nodeType": "YulIdentifier", - "src": "7414:1:36" + "src": "7414:1:34" }, { "kind": "number", - "nativeSrc": "7417:1:36", + "nativeSrc": "7417:1:34", "nodeType": "YulLiteral", - "src": "7417:1:36", + "src": "7417:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "7410:3:36", + "nativeSrc": "7410:3:34", "nodeType": "YulIdentifier", - "src": "7410:3:36" + "src": "7410:3:34" }, - "nativeSrc": "7410:9:36", + "nativeSrc": "7410:9:34", "nodeType": "YulFunctionCall", - "src": "7410:9:36" + "src": "7410:9:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "7405:1:36", + "nativeSrc": "7405:1:34", "nodeType": "YulIdentifier", - "src": "7405:1:36" + "src": "7405:1:34" } ] } ] }, "pre": { - "nativeSrc": "7385:3:36", + "nativeSrc": "7385:3:34", "nodeType": "YulBlock", - "src": "7385:3:36", + "src": "7385:3:34", "statements": [] }, - "src": "7381:169:36" + "src": "7381:169:34" }, { - "nativeSrc": "7559:11:36", + "nativeSrc": "7559:11:34", "nodeType": "YulAssignment", - "src": "7559:11:36", + "src": "7559:11:34", "value": { "name": "pos", - "nativeSrc": "7567:3:36", + "nativeSrc": "7567:3:34", "nodeType": "YulIdentifier", - "src": "7567:3:36" + "src": "7567:3:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "7559:4:36", + "nativeSrc": "7559:4:34", "nodeType": "YulIdentifier", - "src": "7559:4:36" + "src": "7559:4:34" } ] } ] }, "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", - "nativeSrc": "6944:632:36", + "nativeSrc": "6944:632:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "7064:9:36", + "nativeSrc": "7064:9:34", "nodeType": "YulTypedName", - "src": "7064:9:36", + "src": "7064:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "7075:6:36", + "nativeSrc": "7075:6:34", "nodeType": "YulTypedName", - "src": "7075:6:36", + "src": "7075:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "7086:4:36", + "nativeSrc": "7086:4:34", "nodeType": "YulTypedName", - "src": "7086:4:36", + "src": "7086:4:34", "type": "" } ], - "src": "6944:632:36" + "src": "6944:632:34" }, { "body": { - "nativeSrc": "7678:293:36", + "nativeSrc": "7678:293:34", "nodeType": "YulBlock", - "src": "7678:293:36", + "src": "7678:293:34", "statements": [ { "body": { - "nativeSrc": "7724:16:36", + "nativeSrc": "7724:16:34", "nodeType": "YulBlock", - "src": "7724:16:36", + "src": "7724:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "7733:1:36", + "nativeSrc": "7733:1:34", "nodeType": "YulLiteral", - "src": "7733:1:36", + "src": "7733:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "7736:1:36", + "nativeSrc": "7736:1:34", "nodeType": "YulLiteral", - "src": "7736:1:36", + "src": "7736:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "7726:6:36", + "nativeSrc": "7726:6:34", "nodeType": "YulIdentifier", - "src": "7726:6:36" + "src": "7726:6:34" }, - "nativeSrc": "7726:12:36", + "nativeSrc": "7726:12:34", "nodeType": "YulFunctionCall", - "src": "7726:12:36" + "src": "7726:12:34" }, - "nativeSrc": "7726:12:36", + "nativeSrc": "7726:12:34", "nodeType": "YulExpressionStatement", - "src": "7726:12:36" + "src": "7726:12:34" } ] }, @@ -140166,175 +139176,175 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "7699:7:36", + "nativeSrc": "7699:7:34", "nodeType": "YulIdentifier", - "src": "7699:7:36" + "src": "7699:7:34" }, { "name": "headStart", - "nativeSrc": "7708:9:36", + "nativeSrc": "7708:9:34", "nodeType": "YulIdentifier", - "src": "7708:9:36" + "src": "7708:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "7695:3:36", + "nativeSrc": "7695:3:34", "nodeType": "YulIdentifier", - "src": "7695:3:36" + "src": "7695:3:34" }, - "nativeSrc": "7695:23:36", + "nativeSrc": "7695:23:34", "nodeType": "YulFunctionCall", - "src": "7695:23:36" + "src": "7695:23:34" }, { "kind": "number", - "nativeSrc": "7720:2:36", + "nativeSrc": "7720:2:34", "nodeType": "YulLiteral", - "src": "7720:2:36", + "src": "7720:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "7691:3:36", + "nativeSrc": "7691:3:34", "nodeType": "YulIdentifier", - "src": "7691:3:36" + "src": "7691:3:34" }, - "nativeSrc": "7691:32:36", + "nativeSrc": "7691:32:34", "nodeType": "YulFunctionCall", - "src": "7691:32:36" + "src": "7691:32:34" }, - "nativeSrc": "7688:52:36", + "nativeSrc": "7688:52:34", "nodeType": "YulIf", - "src": "7688:52:36" + "src": "7688:52:34" }, { - "nativeSrc": "7749:33:36", + "nativeSrc": "7749:33:34", "nodeType": "YulAssignment", - "src": "7749:33:36", + "src": "7749:33:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "7772:9:36", + "nativeSrc": "7772:9:34", "nodeType": "YulIdentifier", - "src": "7772:9:36" + "src": "7772:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "7759:12:36", + "nativeSrc": "7759:12:34", "nodeType": "YulIdentifier", - "src": "7759:12:36" + "src": "7759:12:34" }, - "nativeSrc": "7759:23:36", + "nativeSrc": "7759:23:34", "nodeType": "YulFunctionCall", - "src": "7759:23:36" + "src": "7759:23:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "7749:6:36", + "nativeSrc": "7749:6:34", "nodeType": "YulIdentifier", - "src": "7749:6:36" + "src": "7749:6:34" } ] }, { - "nativeSrc": "7791:46:36", + "nativeSrc": "7791:46:34", "nodeType": "YulVariableDeclaration", - "src": "7791:46:36", + "src": "7791:46:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "7822:9:36", + "nativeSrc": "7822:9:34", "nodeType": "YulIdentifier", - "src": "7822:9:36" + "src": "7822:9:34" }, { "kind": "number", - "nativeSrc": "7833:2:36", + "nativeSrc": "7833:2:34", "nodeType": "YulLiteral", - "src": "7833:2:36", + "src": "7833:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "7818:3:36", + "nativeSrc": "7818:3:34", "nodeType": "YulIdentifier", - "src": "7818:3:36" + "src": "7818:3:34" }, - "nativeSrc": "7818:18:36", + "nativeSrc": "7818:18:34", "nodeType": "YulFunctionCall", - "src": "7818:18:36" + "src": "7818:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "7805:12:36", + "nativeSrc": "7805:12:34", "nodeType": "YulIdentifier", - "src": "7805:12:36" + "src": "7805:12:34" }, - "nativeSrc": "7805:32:36", + "nativeSrc": "7805:32:34", "nodeType": "YulFunctionCall", - "src": "7805:32:36" + "src": "7805:32:34" }, "variables": [ { "name": "offset", - "nativeSrc": "7795:6:36", + "nativeSrc": "7795:6:34", "nodeType": "YulTypedName", - "src": "7795:6:36", + "src": "7795:6:34", "type": "" } ] }, { "body": { - "nativeSrc": "7880:16:36", + "nativeSrc": "7880:16:34", "nodeType": "YulBlock", - "src": "7880:16:36", + "src": "7880:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "7889:1:36", + "nativeSrc": "7889:1:34", "nodeType": "YulLiteral", - "src": "7889:1:36", + "src": "7889:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "7892:1:36", + "nativeSrc": "7892:1:34", "nodeType": "YulLiteral", - "src": "7892:1:36", + "src": "7892:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "7882:6:36", + "nativeSrc": "7882:6:34", "nodeType": "YulIdentifier", - "src": "7882:6:36" + "src": "7882:6:34" }, - "nativeSrc": "7882:12:36", + "nativeSrc": "7882:12:34", "nodeType": "YulFunctionCall", - "src": "7882:12:36" + "src": "7882:12:34" }, - "nativeSrc": "7882:12:36", + "nativeSrc": "7882:12:34", "nodeType": "YulExpressionStatement", - "src": "7882:12:36" + "src": "7882:12:34" } ] }, @@ -140342,153 +139352,153 @@ "arguments": [ { "name": "offset", - "nativeSrc": "7852:6:36", + "nativeSrc": "7852:6:34", "nodeType": "YulIdentifier", - "src": "7852:6:36" + "src": "7852:6:34" }, { "kind": "number", - "nativeSrc": "7860:18:36", + "nativeSrc": "7860:18:34", "nodeType": "YulLiteral", - "src": "7860:18:36", + "src": "7860:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "7849:2:36", + "nativeSrc": "7849:2:34", "nodeType": "YulIdentifier", - "src": "7849:2:36" + "src": "7849:2:34" }, - "nativeSrc": "7849:30:36", + "nativeSrc": "7849:30:34", "nodeType": "YulFunctionCall", - "src": "7849:30:36" + "src": "7849:30:34" }, - "nativeSrc": "7846:50:36", + "nativeSrc": "7846:50:34", "nodeType": "YulIf", - "src": "7846:50:36" + "src": "7846:50:34" }, { - "nativeSrc": "7905:60:36", + "nativeSrc": "7905:60:34", "nodeType": "YulAssignment", - "src": "7905:60:36", + "src": "7905:60:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "7937:9:36", + "nativeSrc": "7937:9:34", "nodeType": "YulIdentifier", - "src": "7937:9:36" + "src": "7937:9:34" }, { "name": "offset", - "nativeSrc": "7948:6:36", + "nativeSrc": "7948:6:34", "nodeType": "YulIdentifier", - "src": "7948:6:36" + "src": "7948:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "7933:3:36", + "nativeSrc": "7933:3:34", "nodeType": "YulIdentifier", - "src": "7933:3:36" + "src": "7933:3:34" }, - "nativeSrc": "7933:22:36", + "nativeSrc": "7933:22:34", "nodeType": "YulFunctionCall", - "src": "7933:22:36" + "src": "7933:22:34" }, { "name": "dataEnd", - "nativeSrc": "7957:7:36", + "nativeSrc": "7957:7:34", "nodeType": "YulIdentifier", - "src": "7957:7:36" + "src": "7957:7:34" } ], "functionName": { "name": "abi_decode_string", - "nativeSrc": "7915:17:36", + "nativeSrc": "7915:17:34", "nodeType": "YulIdentifier", - "src": "7915:17:36" + "src": "7915:17:34" }, - "nativeSrc": "7915:50:36", + "nativeSrc": "7915:50:34", "nodeType": "YulFunctionCall", - "src": "7915:50:36" + "src": "7915:50:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "7905:6:36", + "nativeSrc": "7905:6:34", "nodeType": "YulIdentifier", - "src": "7905:6:36" + "src": "7905:6:34" } ] } ] }, "name": "abi_decode_tuple_t_uint256t_string_memory_ptr", - "nativeSrc": "7581:390:36", + "nativeSrc": "7581:390:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "7636:9:36", + "nativeSrc": "7636:9:34", "nodeType": "YulTypedName", - "src": "7636:9:36", + "src": "7636:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "7647:7:36", + "nativeSrc": "7647:7:34", "nodeType": "YulTypedName", - "src": "7647:7:36", + "src": "7647:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "7659:6:36", + "nativeSrc": "7659:6:34", "nodeType": "YulTypedName", - "src": "7659:6:36", + "src": "7659:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "7667:6:36", + "nativeSrc": "7667:6:34", "nodeType": "YulTypedName", - "src": "7667:6:36", + "src": "7667:6:34", "type": "" } ], - "src": "7581:390:36" + "src": "7581:390:34" }, { "body": { - "nativeSrc": "8322:585:36", + "nativeSrc": "8322:585:34", "nodeType": "YulBlock", - "src": "8322:585:36", + "src": "8322:585:34", "statements": [ { - "nativeSrc": "8332:13:36", + "nativeSrc": "8332:13:34", "nodeType": "YulVariableDeclaration", - "src": "8332:13:36", + "src": "8332:13:34", "value": { "kind": "number", - "nativeSrc": "8342:3:36", + "nativeSrc": "8342:3:34", "nodeType": "YulLiteral", - "src": "8342:3:36", + "src": "8342:3:34", "type": "", "value": "256" }, "variables": [ { "name": "_1", - "nativeSrc": "8336:2:36", + "nativeSrc": "8336:2:34", "nodeType": "YulTypedName", - "src": "8336:2:36", + "src": "8336:2:34", "type": "" } ] @@ -140498,30 +139508,30 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8361:9:36", + "nativeSrc": "8361:9:34", "nodeType": "YulIdentifier", - "src": "8361:9:36" + "src": "8361:9:34" }, { "name": "value0", - "nativeSrc": "8372:6:36", + "nativeSrc": "8372:6:34", "nodeType": "YulIdentifier", - "src": "8372:6:36" + "src": "8372:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "8354:6:36", + "nativeSrc": "8354:6:34", "nodeType": "YulIdentifier", - "src": "8354:6:36" + "src": "8354:6:34" }, - "nativeSrc": "8354:25:36", + "nativeSrc": "8354:25:34", "nodeType": "YulFunctionCall", - "src": "8354:25:36" + "src": "8354:25:34" }, - "nativeSrc": "8354:25:36", + "nativeSrc": "8354:25:34", "nodeType": "YulExpressionStatement", - "src": "8354:25:36" + "src": "8354:25:34" }, { "expression": { @@ -140530,168 +139540,168 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8399:9:36", + "nativeSrc": "8399:9:34", "nodeType": "YulIdentifier", - "src": "8399:9:36" + "src": "8399:9:34" }, { "kind": "number", - "nativeSrc": "8410:2:36", + "nativeSrc": "8410:2:34", "nodeType": "YulLiteral", - "src": "8410:2:36", + "src": "8410:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "8395:3:36", + "nativeSrc": "8395:3:34", "nodeType": "YulIdentifier", - "src": "8395:3:36" + "src": "8395:3:34" }, - "nativeSrc": "8395:18:36", + "nativeSrc": "8395:18:34", "nodeType": "YulFunctionCall", - "src": "8395:18:36" + "src": "8395:18:34" }, { "name": "_1", - "nativeSrc": "8415:2:36", + "nativeSrc": "8415:2:34", "nodeType": "YulIdentifier", - "src": "8415:2:36" + "src": "8415:2:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "8388:6:36", + "nativeSrc": "8388:6:34", "nodeType": "YulIdentifier", - "src": "8388:6:36" + "src": "8388:6:34" }, - "nativeSrc": "8388:30:36", + "nativeSrc": "8388:30:34", "nodeType": "YulFunctionCall", - "src": "8388:30:36" + "src": "8388:30:34" }, - "nativeSrc": "8388:30:36", + "nativeSrc": "8388:30:34", "nodeType": "YulExpressionStatement", - "src": "8388:30:36" + "src": "8388:30:34" }, { - "nativeSrc": "8427:59:36", + "nativeSrc": "8427:59:34", "nodeType": "YulVariableDeclaration", - "src": "8427:59:36", + "src": "8427:59:34", "value": { "arguments": [ { "name": "value1", - "nativeSrc": "8459:6:36", + "nativeSrc": "8459:6:34", "nodeType": "YulIdentifier", - "src": "8459:6:36" + "src": "8459:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "8471:9:36", + "nativeSrc": "8471:9:34", "nodeType": "YulIdentifier", - "src": "8471:9:36" + "src": "8471:9:34" }, { "name": "_1", - "nativeSrc": "8482:2:36", + "nativeSrc": "8482:2:34", "nodeType": "YulIdentifier", - "src": "8482:2:36" + "src": "8482:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "8467:3:36", + "nativeSrc": "8467:3:34", "nodeType": "YulIdentifier", - "src": "8467:3:36" + "src": "8467:3:34" }, - "nativeSrc": "8467:18:36", + "nativeSrc": "8467:18:34", "nodeType": "YulFunctionCall", - "src": "8467:18:36" + "src": "8467:18:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "8441:17:36", + "nativeSrc": "8441:17:34", "nodeType": "YulIdentifier", - "src": "8441:17:36" + "src": "8441:17:34" }, - "nativeSrc": "8441:45:36", + "nativeSrc": "8441:45:34", "nodeType": "YulFunctionCall", - "src": "8441:45:36" + "src": "8441:45:34" }, "variables": [ { "name": "tail_1", - "nativeSrc": "8431:6:36", + "nativeSrc": "8431:6:34", "nodeType": "YulTypedName", - "src": "8431:6:36", + "src": "8431:6:34", "type": "" } ] }, { - "nativeSrc": "8495:29:36", + "nativeSrc": "8495:29:34", "nodeType": "YulVariableDeclaration", - "src": "8495:29:36", + "src": "8495:29:34", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "8513:3:36", + "nativeSrc": "8513:3:34", "nodeType": "YulLiteral", - "src": "8513:3:36", + "src": "8513:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "8518:1:36", + "nativeSrc": "8518:1:34", "nodeType": "YulLiteral", - "src": "8518:1:36", + "src": "8518:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "8509:3:36", + "nativeSrc": "8509:3:34", "nodeType": "YulIdentifier", - "src": "8509:3:36" + "src": "8509:3:34" }, - "nativeSrc": "8509:11:36", + "nativeSrc": "8509:11:34", "nodeType": "YulFunctionCall", - "src": "8509:11:36" + "src": "8509:11:34" }, { "kind": "number", - "nativeSrc": "8522:1:36", + "nativeSrc": "8522:1:34", "nodeType": "YulLiteral", - "src": "8522:1:36", + "src": "8522:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "8505:3:36", + "nativeSrc": "8505:3:34", "nodeType": "YulIdentifier", - "src": "8505:3:36" + "src": "8505:3:34" }, - "nativeSrc": "8505:19:36", + "nativeSrc": "8505:19:34", "nodeType": "YulFunctionCall", - "src": "8505:19:36" + "src": "8505:19:34" }, "variables": [ { "name": "_2", - "nativeSrc": "8499:2:36", + "nativeSrc": "8499:2:34", "nodeType": "YulTypedName", - "src": "8499:2:36", + "src": "8499:2:34", "type": "" } ] @@ -140703,119 +139713,119 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8544:9:36", + "nativeSrc": "8544:9:34", "nodeType": "YulIdentifier", - "src": "8544:9:36" + "src": "8544:9:34" }, { "kind": "number", - "nativeSrc": "8555:2:36", + "nativeSrc": "8555:2:34", "nodeType": "YulLiteral", - "src": "8555:2:36", + "src": "8555:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "8540:3:36", + "nativeSrc": "8540:3:34", "nodeType": "YulIdentifier", - "src": "8540:3:36" + "src": "8540:3:34" }, - "nativeSrc": "8540:18:36", + "nativeSrc": "8540:18:34", "nodeType": "YulFunctionCall", - "src": "8540:18:36" + "src": "8540:18:34" }, { "arguments": [ { "name": "value2", - "nativeSrc": "8564:6:36", + "nativeSrc": "8564:6:34", "nodeType": "YulIdentifier", - "src": "8564:6:36" + "src": "8564:6:34" }, { "name": "_2", - "nativeSrc": "8572:2:36", + "nativeSrc": "8572:2:34", "nodeType": "YulIdentifier", - "src": "8572:2:36" + "src": "8572:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "8560:3:36", + "nativeSrc": "8560:3:34", "nodeType": "YulIdentifier", - "src": "8560:3:36" + "src": "8560:3:34" }, - "nativeSrc": "8560:15:36", + "nativeSrc": "8560:15:34", "nodeType": "YulFunctionCall", - "src": "8560:15:36" + "src": "8560:15:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "8533:6:36", + "nativeSrc": "8533:6:34", "nodeType": "YulIdentifier", - "src": "8533:6:36" + "src": "8533:6:34" }, - "nativeSrc": "8533:43:36", + "nativeSrc": "8533:43:34", "nodeType": "YulFunctionCall", - "src": "8533:43:36" + "src": "8533:43:34" }, - "nativeSrc": "8533:43:36", + "nativeSrc": "8533:43:34", "nodeType": "YulExpressionStatement", - "src": "8533:43:36" + "src": "8533:43:34" }, { "expression": { "arguments": [ { "name": "value3", - "nativeSrc": "8612:6:36", + "nativeSrc": "8612:6:34", "nodeType": "YulIdentifier", - "src": "8612:6:36" + "src": "8612:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "8624:9:36", + "nativeSrc": "8624:9:34", "nodeType": "YulIdentifier", - "src": "8624:9:36" + "src": "8624:9:34" }, { "kind": "number", - "nativeSrc": "8635:2:36", + "nativeSrc": "8635:2:34", "nodeType": "YulLiteral", - "src": "8635:2:36", + "src": "8635:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "8620:3:36", + "nativeSrc": "8620:3:34", "nodeType": "YulIdentifier", - "src": "8620:3:36" + "src": "8620:3:34" }, - "nativeSrc": "8620:18:36", + "nativeSrc": "8620:18:34", "nodeType": "YulFunctionCall", - "src": "8620:18:36" + "src": "8620:18:34" } ], "functionName": { "name": "abi_encode_enum_TaskStatus", - "nativeSrc": "8585:26:36", + "nativeSrc": "8585:26:34", "nodeType": "YulIdentifier", - "src": "8585:26:36" + "src": "8585:26:34" }, - "nativeSrc": "8585:54:36", + "nativeSrc": "8585:54:34", "nodeType": "YulFunctionCall", - "src": "8585:54:36" + "src": "8585:54:34" }, - "nativeSrc": "8585:54:36", + "nativeSrc": "8585:54:34", "nodeType": "YulExpressionStatement", - "src": "8585:54:36" + "src": "8585:54:34" }, { "expression": { @@ -140824,68 +139834,68 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8659:9:36", + "nativeSrc": "8659:9:34", "nodeType": "YulIdentifier", - "src": "8659:9:36" + "src": "8659:9:34" }, { "kind": "number", - "nativeSrc": "8670:3:36", + "nativeSrc": "8670:3:34", "nodeType": "YulLiteral", - "src": "8670:3:36", + "src": "8670:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "8655:3:36", + "nativeSrc": "8655:3:34", "nodeType": "YulIdentifier", - "src": "8655:3:36" + "src": "8655:3:34" }, - "nativeSrc": "8655:19:36", + "nativeSrc": "8655:19:34", "nodeType": "YulFunctionCall", - "src": "8655:19:36" + "src": "8655:19:34" }, { "arguments": [ { "name": "value4", - "nativeSrc": "8680:6:36", + "nativeSrc": "8680:6:34", "nodeType": "YulIdentifier", - "src": "8680:6:36" + "src": "8680:6:34" }, { "name": "_2", - "nativeSrc": "8688:2:36", + "nativeSrc": "8688:2:34", "nodeType": "YulIdentifier", - "src": "8688:2:36" + "src": "8688:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "8676:3:36", + "nativeSrc": "8676:3:34", "nodeType": "YulIdentifier", - "src": "8676:3:36" + "src": "8676:3:34" }, - "nativeSrc": "8676:15:36", + "nativeSrc": "8676:15:34", "nodeType": "YulFunctionCall", - "src": "8676:15:36" + "src": "8676:15:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "8648:6:36", + "nativeSrc": "8648:6:34", "nodeType": "YulIdentifier", - "src": "8648:6:36" + "src": "8648:6:34" }, - "nativeSrc": "8648:44:36", + "nativeSrc": "8648:44:34", "nodeType": "YulFunctionCall", - "src": "8648:44:36" + "src": "8648:44:34" }, - "nativeSrc": "8648:44:36", + "nativeSrc": "8648:44:34", "nodeType": "YulExpressionStatement", - "src": "8648:44:36" + "src": "8648:44:34" }, { "expression": { @@ -140894,49 +139904,49 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8712:9:36", + "nativeSrc": "8712:9:34", "nodeType": "YulIdentifier", - "src": "8712:9:36" + "src": "8712:9:34" }, { "kind": "number", - "nativeSrc": "8723:3:36", + "nativeSrc": "8723:3:34", "nodeType": "YulLiteral", - "src": "8723:3:36", + "src": "8723:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "8708:3:36", + "nativeSrc": "8708:3:34", "nodeType": "YulIdentifier", - "src": "8708:3:36" + "src": "8708:3:34" }, - "nativeSrc": "8708:19:36", + "nativeSrc": "8708:19:34", "nodeType": "YulFunctionCall", - "src": "8708:19:36" + "src": "8708:19:34" }, { "name": "value5", - "nativeSrc": "8729:6:36", + "nativeSrc": "8729:6:34", "nodeType": "YulIdentifier", - "src": "8729:6:36" + "src": "8729:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "8701:6:36", + "nativeSrc": "8701:6:34", "nodeType": "YulIdentifier", - "src": "8701:6:36" + "src": "8701:6:34" }, - "nativeSrc": "8701:35:36", + "nativeSrc": "8701:35:34", "nodeType": "YulFunctionCall", - "src": "8701:35:36" + "src": "8701:35:34" }, - "nativeSrc": "8701:35:36", + "nativeSrc": "8701:35:34", "nodeType": "YulExpressionStatement", - "src": "8701:35:36" + "src": "8701:35:34" }, { "expression": { @@ -140945,104 +139955,104 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8756:9:36", + "nativeSrc": "8756:9:34", "nodeType": "YulIdentifier", - "src": "8756:9:36" + "src": "8756:9:34" }, { "kind": "number", - "nativeSrc": "8767:3:36", + "nativeSrc": "8767:3:34", "nodeType": "YulLiteral", - "src": "8767:3:36", + "src": "8767:3:34", "type": "", "value": "192" } ], "functionName": { "name": "add", - "nativeSrc": "8752:3:36", + "nativeSrc": "8752:3:34", "nodeType": "YulIdentifier", - "src": "8752:3:36" + "src": "8752:3:34" }, - "nativeSrc": "8752:19:36", + "nativeSrc": "8752:19:34", "nodeType": "YulFunctionCall", - "src": "8752:19:36" + "src": "8752:19:34" }, { "arguments": [ { "name": "tail_1", - "nativeSrc": "8777:6:36", + "nativeSrc": "8777:6:34", "nodeType": "YulIdentifier", - "src": "8777:6:36" + "src": "8777:6:34" }, { "name": "headStart", - "nativeSrc": "8785:9:36", + "nativeSrc": "8785:9:34", "nodeType": "YulIdentifier", - "src": "8785:9:36" + "src": "8785:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "8773:3:36", + "nativeSrc": "8773:3:34", "nodeType": "YulIdentifier", - "src": "8773:3:36" + "src": "8773:3:34" }, - "nativeSrc": "8773:22:36", + "nativeSrc": "8773:22:34", "nodeType": "YulFunctionCall", - "src": "8773:22:36" + "src": "8773:22:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "8745:6:36", + "nativeSrc": "8745:6:34", "nodeType": "YulIdentifier", - "src": "8745:6:36" + "src": "8745:6:34" }, - "nativeSrc": "8745:51:36", + "nativeSrc": "8745:51:34", "nodeType": "YulFunctionCall", - "src": "8745:51:36" + "src": "8745:51:34" }, - "nativeSrc": "8745:51:36", + "nativeSrc": "8745:51:34", "nodeType": "YulExpressionStatement", - "src": "8745:51:36" + "src": "8745:51:34" }, { - "nativeSrc": "8805:41:36", + "nativeSrc": "8805:41:34", "nodeType": "YulAssignment", - "src": "8805:41:36", + "src": "8805:41:34", "value": { "arguments": [ { "name": "value6", - "nativeSrc": "8831:6:36", + "nativeSrc": "8831:6:34", "nodeType": "YulIdentifier", - "src": "8831:6:36" + "src": "8831:6:34" }, { "name": "tail_1", - "nativeSrc": "8839:6:36", + "nativeSrc": "8839:6:34", "nodeType": "YulIdentifier", - "src": "8839:6:36" + "src": "8839:6:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "8813:17:36", + "nativeSrc": "8813:17:34", "nodeType": "YulIdentifier", - "src": "8813:17:36" + "src": "8813:17:34" }, - "nativeSrc": "8813:33:36", + "nativeSrc": "8813:33:34", "nodeType": "YulFunctionCall", - "src": "8813:33:36" + "src": "8813:33:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "8805:4:36", + "nativeSrc": "8805:4:34", "nodeType": "YulIdentifier", - "src": "8805:4:36" + "src": "8805:4:34" } ] }, @@ -141053,326 +140063,326 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "8866:9:36", + "nativeSrc": "8866:9:34", "nodeType": "YulIdentifier", - "src": "8866:9:36" + "src": "8866:9:34" }, { "kind": "number", - "nativeSrc": "8877:3:36", + "nativeSrc": "8877:3:34", "nodeType": "YulLiteral", - "src": "8877:3:36", + "src": "8877:3:34", "type": "", "value": "224" } ], "functionName": { "name": "add", - "nativeSrc": "8862:3:36", + "nativeSrc": "8862:3:34", "nodeType": "YulIdentifier", - "src": "8862:3:36" + "src": "8862:3:34" }, - "nativeSrc": "8862:19:36", + "nativeSrc": "8862:19:34", "nodeType": "YulFunctionCall", - "src": "8862:19:36" + "src": "8862:19:34" }, { "arguments": [ { "name": "value7", - "nativeSrc": "8887:6:36", + "nativeSrc": "8887:6:34", "nodeType": "YulIdentifier", - "src": "8887:6:36" + "src": "8887:6:34" }, { "kind": "number", - "nativeSrc": "8895:4:36", + "nativeSrc": "8895:4:34", "nodeType": "YulLiteral", - "src": "8895:4:36", + "src": "8895:4:34", "type": "", "value": "0xff" } ], "functionName": { "name": "and", - "nativeSrc": "8883:3:36", + "nativeSrc": "8883:3:34", "nodeType": "YulIdentifier", - "src": "8883:3:36" + "src": "8883:3:34" }, - "nativeSrc": "8883:17:36", + "nativeSrc": "8883:17:34", "nodeType": "YulFunctionCall", - "src": "8883:17:36" + "src": "8883:17:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "8855:6:36", + "nativeSrc": "8855:6:34", "nodeType": "YulIdentifier", - "src": "8855:6:36" + "src": "8855:6:34" }, - "nativeSrc": "8855:46:36", + "nativeSrc": "8855:46:34", "nodeType": "YulFunctionCall", - "src": "8855:46:36" + "src": "8855:46:34" }, - "nativeSrc": "8855:46:36", + "nativeSrc": "8855:46:34", "nodeType": "YulExpressionStatement", - "src": "8855:46:36" + "src": "8855:46:34" } ] }, - "name": "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_address_t_enum$_TaskStatus_$4637_t_address_t_uint256_t_string_memory_ptr_t_uint8__to_t_uint256_t_string_memory_ptr_t_address_t_uint8_t_address_t_uint256_t_string_memory_ptr_t_uint8__fromStack_reversed", - "nativeSrc": "7976:931:36", + "name": "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_address_t_enum$_TaskStatus_$4638_t_address_t_uint256_t_string_memory_ptr_t_uint8__to_t_uint256_t_string_memory_ptr_t_address_t_uint8_t_address_t_uint256_t_string_memory_ptr_t_uint8__fromStack_reversed", + "nativeSrc": "7976:931:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "8235:9:36", + "nativeSrc": "8235:9:34", "nodeType": "YulTypedName", - "src": "8235:9:36", + "src": "8235:9:34", "type": "" }, { "name": "value7", - "nativeSrc": "8246:6:36", + "nativeSrc": "8246:6:34", "nodeType": "YulTypedName", - "src": "8246:6:36", + "src": "8246:6:34", "type": "" }, { "name": "value6", - "nativeSrc": "8254:6:36", + "nativeSrc": "8254:6:34", "nodeType": "YulTypedName", - "src": "8254:6:36", + "src": "8254:6:34", "type": "" }, { "name": "value5", - "nativeSrc": "8262:6:36", + "nativeSrc": "8262:6:34", "nodeType": "YulTypedName", - "src": "8262:6:36", + "src": "8262:6:34", "type": "" }, { "name": "value4", - "nativeSrc": "8270:6:36", + "nativeSrc": "8270:6:34", "nodeType": "YulTypedName", - "src": "8270:6:36", + "src": "8270:6:34", "type": "" }, { "name": "value3", - "nativeSrc": "8278:6:36", + "nativeSrc": "8278:6:34", "nodeType": "YulTypedName", - "src": "8278:6:36", + "src": "8278:6:34", "type": "" }, { "name": "value2", - "nativeSrc": "8286:6:36", + "nativeSrc": "8286:6:34", "nodeType": "YulTypedName", - "src": "8286:6:36", + "src": "8286:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "8294:6:36", + "nativeSrc": "8294:6:34", "nodeType": "YulTypedName", - "src": "8294:6:36", + "src": "8294:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "8302:6:36", + "nativeSrc": "8302:6:34", "nodeType": "YulTypedName", - "src": "8302:6:36", + "src": "8302:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "8313:4:36", + "nativeSrc": "8313:4:34", "nodeType": "YulTypedName", - "src": "8313:4:36", + "src": "8313:4:34", "type": "" } ], - "src": "7976:931:36" + "src": "7976:931:34" }, { "body": { - "nativeSrc": "9033:99:36", + "nativeSrc": "9033:99:34", "nodeType": "YulBlock", - "src": "9033:99:36", + "src": "9033:99:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "9050:9:36", + "nativeSrc": "9050:9:34", "nodeType": "YulIdentifier", - "src": "9050:9:36" + "src": "9050:9:34" }, { "kind": "number", - "nativeSrc": "9061:2:36", + "nativeSrc": "9061:2:34", "nodeType": "YulLiteral", - "src": "9061:2:36", + "src": "9061:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "9043:6:36", + "nativeSrc": "9043:6:34", "nodeType": "YulIdentifier", - "src": "9043:6:36" + "src": "9043:6:34" }, - "nativeSrc": "9043:21:36", + "nativeSrc": "9043:21:34", "nodeType": "YulFunctionCall", - "src": "9043:21:36" + "src": "9043:21:34" }, - "nativeSrc": "9043:21:36", + "nativeSrc": "9043:21:34", "nodeType": "YulExpressionStatement", - "src": "9043:21:36" + "src": "9043:21:34" }, { - "nativeSrc": "9073:53:36", + "nativeSrc": "9073:53:34", "nodeType": "YulAssignment", - "src": "9073:53:36", + "src": "9073:53:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "9099:6:36", + "nativeSrc": "9099:6:34", "nodeType": "YulIdentifier", - "src": "9099:6:36" + "src": "9099:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "9111:9:36", + "nativeSrc": "9111:9:34", "nodeType": "YulIdentifier", - "src": "9111:9:36" + "src": "9111:9:34" }, { "kind": "number", - "nativeSrc": "9122:2:36", + "nativeSrc": "9122:2:34", "nodeType": "YulLiteral", - "src": "9122:2:36", + "src": "9122:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "9107:3:36", + "nativeSrc": "9107:3:34", "nodeType": "YulIdentifier", - "src": "9107:3:36" + "src": "9107:3:34" }, - "nativeSrc": "9107:18:36", + "nativeSrc": "9107:18:34", "nodeType": "YulFunctionCall", - "src": "9107:18:36" + "src": "9107:18:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "9081:17:36", + "nativeSrc": "9081:17:34", "nodeType": "YulIdentifier", - "src": "9081:17:36" + "src": "9081:17:34" }, - "nativeSrc": "9081:45:36", + "nativeSrc": "9081:45:34", "nodeType": "YulFunctionCall", - "src": "9081:45:36" + "src": "9081:45:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "9073:4:36", + "nativeSrc": "9073:4:34", "nodeType": "YulIdentifier", - "src": "9073:4:36" + "src": "9073:4:34" } ] } ] }, "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "8912:220:36", + "nativeSrc": "8912:220:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "9002:9:36", + "nativeSrc": "9002:9:34", "nodeType": "YulTypedName", - "src": "9002:9:36", + "src": "9002:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "9013:6:36", + "nativeSrc": "9013:6:34", "nodeType": "YulTypedName", - "src": "9013:6:36", + "src": "9013:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "9024:4:36", + "nativeSrc": "9024:4:34", "nodeType": "YulTypedName", - "src": "9024:4:36", + "src": "9024:4:34", "type": "" } ], - "src": "8912:220:36" + "src": "8912:220:34" }, { "body": { - "nativeSrc": "9258:228:36", + "nativeSrc": "9258:228:34", "nodeType": "YulBlock", - "src": "9258:228:36", + "src": "9258:228:34", "statements": [ { "body": { - "nativeSrc": "9304:16:36", + "nativeSrc": "9304:16:34", "nodeType": "YulBlock", - "src": "9304:16:36", + "src": "9304:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "9313:1:36", + "nativeSrc": "9313:1:34", "nodeType": "YulLiteral", - "src": "9313:1:36", + "src": "9313:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "9316:1:36", + "nativeSrc": "9316:1:34", "nodeType": "YulLiteral", - "src": "9316:1:36", + "src": "9316:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "9306:6:36", + "nativeSrc": "9306:6:34", "nodeType": "YulIdentifier", - "src": "9306:6:36" + "src": "9306:6:34" }, - "nativeSrc": "9306:12:36", + "nativeSrc": "9306:12:34", "nodeType": "YulFunctionCall", - "src": "9306:12:36" + "src": "9306:12:34" }, - "nativeSrc": "9306:12:36", + "nativeSrc": "9306:12:34", "nodeType": "YulExpressionStatement", - "src": "9306:12:36" + "src": "9306:12:34" } ] }, @@ -141382,132 +140392,132 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "9279:7:36", + "nativeSrc": "9279:7:34", "nodeType": "YulIdentifier", - "src": "9279:7:36" + "src": "9279:7:34" }, { "name": "headStart", - "nativeSrc": "9288:9:36", + "nativeSrc": "9288:9:34", "nodeType": "YulIdentifier", - "src": "9288:9:36" + "src": "9288:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "9275:3:36", + "nativeSrc": "9275:3:34", "nodeType": "YulIdentifier", - "src": "9275:3:36" + "src": "9275:3:34" }, - "nativeSrc": "9275:23:36", + "nativeSrc": "9275:23:34", "nodeType": "YulFunctionCall", - "src": "9275:23:36" + "src": "9275:23:34" }, { "kind": "number", - "nativeSrc": "9300:2:36", + "nativeSrc": "9300:2:34", "nodeType": "YulLiteral", - "src": "9300:2:36", + "src": "9300:2:34", "type": "", "value": "64" } ], "functionName": { "name": "slt", - "nativeSrc": "9271:3:36", + "nativeSrc": "9271:3:34", "nodeType": "YulIdentifier", - "src": "9271:3:36" + "src": "9271:3:34" }, - "nativeSrc": "9271:32:36", + "nativeSrc": "9271:32:34", "nodeType": "YulFunctionCall", - "src": "9271:32:36" + "src": "9271:32:34" }, - "nativeSrc": "9268:52:36", + "nativeSrc": "9268:52:34", "nodeType": "YulIf", - "src": "9268:52:36" + "src": "9268:52:34" }, { - "nativeSrc": "9329:33:36", + "nativeSrc": "9329:33:34", "nodeType": "YulAssignment", - "src": "9329:33:36", + "src": "9329:33:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "9352:9:36", + "nativeSrc": "9352:9:34", "nodeType": "YulIdentifier", - "src": "9352:9:36" + "src": "9352:9:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "9339:12:36", + "nativeSrc": "9339:12:34", "nodeType": "YulIdentifier", - "src": "9339:12:36" + "src": "9339:12:34" }, - "nativeSrc": "9339:23:36", + "nativeSrc": "9339:23:34", "nodeType": "YulFunctionCall", - "src": "9339:23:36" + "src": "9339:23:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "9329:6:36", + "nativeSrc": "9329:6:34", "nodeType": "YulIdentifier", - "src": "9329:6:36" + "src": "9329:6:34" } ] }, { - "nativeSrc": "9371:45:36", + "nativeSrc": "9371:45:34", "nodeType": "YulVariableDeclaration", - "src": "9371:45:36", + "src": "9371:45:34", "value": { "arguments": [ { "arguments": [ { "name": "headStart", - "nativeSrc": "9401:9:36", + "nativeSrc": "9401:9:34", "nodeType": "YulIdentifier", - "src": "9401:9:36" + "src": "9401:9:34" }, { "kind": "number", - "nativeSrc": "9412:2:36", + "nativeSrc": "9412:2:34", "nodeType": "YulLiteral", - "src": "9412:2:36", + "src": "9412:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "9397:3:36", + "nativeSrc": "9397:3:34", "nodeType": "YulIdentifier", - "src": "9397:3:36" + "src": "9397:3:34" }, - "nativeSrc": "9397:18:36", + "nativeSrc": "9397:18:34", "nodeType": "YulFunctionCall", - "src": "9397:18:36" + "src": "9397:18:34" } ], "functionName": { "name": "calldataload", - "nativeSrc": "9384:12:36", + "nativeSrc": "9384:12:34", "nodeType": "YulIdentifier", - "src": "9384:12:36" + "src": "9384:12:34" }, - "nativeSrc": "9384:32:36", + "nativeSrc": "9384:32:34", "nodeType": "YulFunctionCall", - "src": "9384:32:36" + "src": "9384:32:34" }, "variables": [ { "name": "value", - "nativeSrc": "9375:5:36", + "nativeSrc": "9375:5:34", "nodeType": "YulTypedName", - "src": "9375:5:36", + "src": "9375:5:34", "type": "" } ] @@ -141517,118 +140527,118 @@ "arguments": [ { "name": "value", - "nativeSrc": "9450:5:36", + "nativeSrc": "9450:5:34", "nodeType": "YulIdentifier", - "src": "9450:5:36" + "src": "9450:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "9425:24:36", + "nativeSrc": "9425:24:34", "nodeType": "YulIdentifier", - "src": "9425:24:36" + "src": "9425:24:34" }, - "nativeSrc": "9425:31:36", + "nativeSrc": "9425:31:34", "nodeType": "YulFunctionCall", - "src": "9425:31:36" + "src": "9425:31:34" }, - "nativeSrc": "9425:31:36", + "nativeSrc": "9425:31:34", "nodeType": "YulExpressionStatement", - "src": "9425:31:36" + "src": "9425:31:34" }, { - "nativeSrc": "9465:15:36", + "nativeSrc": "9465:15:34", "nodeType": "YulAssignment", - "src": "9465:15:36", + "src": "9465:15:34", "value": { "name": "value", - "nativeSrc": "9475:5:36", + "nativeSrc": "9475:5:34", "nodeType": "YulIdentifier", - "src": "9475:5:36" + "src": "9475:5:34" }, "variableNames": [ { "name": "value1", - "nativeSrc": "9465:6:36", + "nativeSrc": "9465:6:34", "nodeType": "YulIdentifier", - "src": "9465:6:36" + "src": "9465:6:34" } ] } ] }, - "name": "abi_decode_tuple_t_uint256t_contract$_AgentsRegistryUpgradeable_$4016", - "nativeSrc": "9137:349:36", + "name": "abi_decode_tuple_t_uint256t_contract$_AgentsRegistryUpgradeable_$4017", + "nativeSrc": "9137:349:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "9216:9:36", + "nativeSrc": "9216:9:34", "nodeType": "YulTypedName", - "src": "9216:9:36", + "src": "9216:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "9227:7:36", + "nativeSrc": "9227:7:34", "nodeType": "YulTypedName", - "src": "9227:7:36", + "src": "9227:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "9239:6:36", + "nativeSrc": "9239:6:34", "nodeType": "YulTypedName", - "src": "9239:6:36", + "src": "9239:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "9247:6:36", + "nativeSrc": "9247:6:34", "nodeType": "YulTypedName", - "src": "9247:6:36", + "src": "9247:6:34", "type": "" } ], - "src": "9137:349:36" + "src": "9137:349:34" }, { "body": { - "nativeSrc": "9551:78:36", + "nativeSrc": "9551:78:34", "nodeType": "YulBlock", - "src": "9551:78:36", + "src": "9551:78:34", "statements": [ { - "nativeSrc": "9561:22:36", + "nativeSrc": "9561:22:34", "nodeType": "YulAssignment", - "src": "9561:22:36", + "src": "9561:22:34", "value": { "arguments": [ { "name": "offset", - "nativeSrc": "9576:6:36", + "nativeSrc": "9576:6:34", "nodeType": "YulIdentifier", - "src": "9576:6:36" + "src": "9576:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "9570:5:36", + "nativeSrc": "9570:5:34", "nodeType": "YulIdentifier", - "src": "9570:5:36" + "src": "9570:5:34" }, - "nativeSrc": "9570:13:36", + "nativeSrc": "9570:13:34", "nodeType": "YulFunctionCall", - "src": "9570:13:36" + "src": "9570:13:34" }, "variableNames": [ { "name": "value", - "nativeSrc": "9561:5:36", + "nativeSrc": "9561:5:34", "nodeType": "YulIdentifier", - "src": "9561:5:36" + "src": "9561:5:34" } ] }, @@ -141637,127 +140647,127 @@ "arguments": [ { "name": "value", - "nativeSrc": "9617:5:36", + "nativeSrc": "9617:5:34", "nodeType": "YulIdentifier", - "src": "9617:5:36" + "src": "9617:5:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "9592:24:36", + "nativeSrc": "9592:24:34", "nodeType": "YulIdentifier", - "src": "9592:24:36" + "src": "9592:24:34" }, - "nativeSrc": "9592:31:36", + "nativeSrc": "9592:31:34", "nodeType": "YulFunctionCall", - "src": "9592:31:36" + "src": "9592:31:34" }, - "nativeSrc": "9592:31:36", + "nativeSrc": "9592:31:34", "nodeType": "YulExpressionStatement", - "src": "9592:31:36" + "src": "9592:31:34" } ] }, "name": "abi_decode_address_fromMemory", - "nativeSrc": "9491:138:36", + "nativeSrc": "9491:138:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "9530:6:36", + "nativeSrc": "9530:6:34", "nodeType": "YulTypedName", - "src": "9530:6:36", + "src": "9530:6:34", "type": "" } ], "returnVariables": [ { "name": "value", - "nativeSrc": "9541:5:36", + "nativeSrc": "9541:5:34", "nodeType": "YulTypedName", - "src": "9541:5:36", + "src": "9541:5:34", "type": "" } ], - "src": "9491:138:36" + "src": "9491:138:34" }, { "body": { - "nativeSrc": "9691:107:36", + "nativeSrc": "9691:107:34", "nodeType": "YulBlock", - "src": "9691:107:36", + "src": "9691:107:34", "statements": [ { - "nativeSrc": "9701:22:36", + "nativeSrc": "9701:22:34", "nodeType": "YulAssignment", - "src": "9701:22:36", + "src": "9701:22:34", "value": { "arguments": [ { "name": "offset", - "nativeSrc": "9716:6:36", + "nativeSrc": "9716:6:34", "nodeType": "YulIdentifier", - "src": "9716:6:36" + "src": "9716:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "9710:5:36", + "nativeSrc": "9710:5:34", "nodeType": "YulIdentifier", - "src": "9710:5:36" + "src": "9710:5:34" }, - "nativeSrc": "9710:13:36", + "nativeSrc": "9710:13:34", "nodeType": "YulFunctionCall", - "src": "9710:13:36" + "src": "9710:13:34" }, "variableNames": [ { "name": "value", - "nativeSrc": "9701:5:36", + "nativeSrc": "9701:5:34", "nodeType": "YulIdentifier", - "src": "9701:5:36" + "src": "9701:5:34" } ] }, { "body": { - "nativeSrc": "9776:16:36", + "nativeSrc": "9776:16:34", "nodeType": "YulBlock", - "src": "9776:16:36", + "src": "9776:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "9785:1:36", + "nativeSrc": "9785:1:34", "nodeType": "YulLiteral", - "src": "9785:1:36", + "src": "9785:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "9788:1:36", + "nativeSrc": "9788:1:34", "nodeType": "YulLiteral", - "src": "9788:1:36", + "src": "9788:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "9778:6:36", + "nativeSrc": "9778:6:34", "nodeType": "YulIdentifier", - "src": "9778:6:36" + "src": "9778:6:34" }, - "nativeSrc": "9778:12:36", + "nativeSrc": "9778:12:34", "nodeType": "YulFunctionCall", - "src": "9778:12:36" + "src": "9778:12:34" }, - "nativeSrc": "9778:12:36", + "nativeSrc": "9778:12:34", "nodeType": "YulExpressionStatement", - "src": "9778:12:36" + "src": "9778:12:34" } ] }, @@ -141767,9 +140777,9 @@ "arguments": [ { "name": "value", - "nativeSrc": "9745:5:36", + "nativeSrc": "9745:5:34", "nodeType": "YulIdentifier", - "src": "9745:5:36" + "src": "9745:5:34" }, { "arguments": [ @@ -141777,150 +140787,150 @@ "arguments": [ { "name": "value", - "nativeSrc": "9766:5:36", + "nativeSrc": "9766:5:34", "nodeType": "YulIdentifier", - "src": "9766:5:36" + "src": "9766:5:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "9759:6:36", + "nativeSrc": "9759:6:34", "nodeType": "YulIdentifier", - "src": "9759:6:36" + "src": "9759:6:34" }, - "nativeSrc": "9759:13:36", + "nativeSrc": "9759:13:34", "nodeType": "YulFunctionCall", - "src": "9759:13:36" + "src": "9759:13:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "9752:6:36", + "nativeSrc": "9752:6:34", "nodeType": "YulIdentifier", - "src": "9752:6:36" + "src": "9752:6:34" }, - "nativeSrc": "9752:21:36", + "nativeSrc": "9752:21:34", "nodeType": "YulFunctionCall", - "src": "9752:21:36" + "src": "9752:21:34" } ], "functionName": { "name": "eq", - "nativeSrc": "9742:2:36", + "nativeSrc": "9742:2:34", "nodeType": "YulIdentifier", - "src": "9742:2:36" + "src": "9742:2:34" }, - "nativeSrc": "9742:32:36", + "nativeSrc": "9742:32:34", "nodeType": "YulFunctionCall", - "src": "9742:32:36" + "src": "9742:32:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "9735:6:36", + "nativeSrc": "9735:6:34", "nodeType": "YulIdentifier", - "src": "9735:6:36" + "src": "9735:6:34" }, - "nativeSrc": "9735:40:36", + "nativeSrc": "9735:40:34", "nodeType": "YulFunctionCall", - "src": "9735:40:36" + "src": "9735:40:34" }, - "nativeSrc": "9732:60:36", + "nativeSrc": "9732:60:34", "nodeType": "YulIf", - "src": "9732:60:36" + "src": "9732:60:34" } ] }, "name": "abi_decode_bool_fromMemory", - "nativeSrc": "9634:164:36", + "nativeSrc": "9634:164:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "offset", - "nativeSrc": "9670:6:36", + "nativeSrc": "9670:6:34", "nodeType": "YulTypedName", - "src": "9670:6:36", + "src": "9670:6:34", "type": "" } ], "returnVariables": [ { "name": "value", - "nativeSrc": "9681:5:36", + "nativeSrc": "9681:5:34", "nodeType": "YulTypedName", - "src": "9681:5:36", + "src": "9681:5:34", "type": "" } ], - "src": "9634:164:36" + "src": "9634:164:34" }, { "body": { - "nativeSrc": "9917:1221:36", + "nativeSrc": "9917:1221:34", "nodeType": "YulBlock", - "src": "9917:1221:36", + "src": "9917:1221:34", "statements": [ { - "nativeSrc": "9927:12:36", + "nativeSrc": "9927:12:34", "nodeType": "YulVariableDeclaration", - "src": "9927:12:36", + "src": "9927:12:34", "value": { "kind": "number", - "nativeSrc": "9937:2:36", + "nativeSrc": "9937:2:34", "nodeType": "YulLiteral", - "src": "9937:2:36", + "src": "9937:2:34", "type": "", "value": "32" }, "variables": [ { "name": "_1", - "nativeSrc": "9931:2:36", + "nativeSrc": "9931:2:34", "nodeType": "YulTypedName", - "src": "9931:2:36", + "src": "9931:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "9984:16:36", + "nativeSrc": "9984:16:34", "nodeType": "YulBlock", - "src": "9984:16:36", + "src": "9984:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "9993:1:36", + "nativeSrc": "9993:1:34", "nodeType": "YulLiteral", - "src": "9993:1:36", + "src": "9993:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "9996:1:36", + "nativeSrc": "9996:1:34", "nodeType": "YulLiteral", - "src": "9996:1:36", + "src": "9996:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "9986:6:36", + "nativeSrc": "9986:6:34", "nodeType": "YulIdentifier", - "src": "9986:6:36" + "src": "9986:6:34" }, - "nativeSrc": "9986:12:36", + "nativeSrc": "9986:12:34", "nodeType": "YulFunctionCall", - "src": "9986:12:36" + "src": "9986:12:34" }, - "nativeSrc": "9986:12:36", + "nativeSrc": "9986:12:34", "nodeType": "YulExpressionStatement", - "src": "9986:12:36" + "src": "9986:12:34" } ] }, @@ -141930,142 +140940,142 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "9959:7:36", + "nativeSrc": "9959:7:34", "nodeType": "YulIdentifier", - "src": "9959:7:36" + "src": "9959:7:34" }, { "name": "headStart", - "nativeSrc": "9968:9:36", + "nativeSrc": "9968:9:34", "nodeType": "YulIdentifier", - "src": "9968:9:36" + "src": "9968:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "9955:3:36", + "nativeSrc": "9955:3:34", "nodeType": "YulIdentifier", - "src": "9955:3:36" + "src": "9955:3:34" }, - "nativeSrc": "9955:23:36", + "nativeSrc": "9955:23:34", "nodeType": "YulFunctionCall", - "src": "9955:23:36" + "src": "9955:23:34" }, { "name": "_1", - "nativeSrc": "9980:2:36", + "nativeSrc": "9980:2:34", "nodeType": "YulIdentifier", - "src": "9980:2:36" + "src": "9980:2:34" } ], "functionName": { "name": "slt", - "nativeSrc": "9951:3:36", + "nativeSrc": "9951:3:34", "nodeType": "YulIdentifier", - "src": "9951:3:36" + "src": "9951:3:34" }, - "nativeSrc": "9951:32:36", + "nativeSrc": "9951:32:34", "nodeType": "YulFunctionCall", - "src": "9951:32:36" + "src": "9951:32:34" }, - "nativeSrc": "9948:52:36", + "nativeSrc": "9948:52:34", "nodeType": "YulIf", - "src": "9948:52:36" + "src": "9948:52:34" }, { - "nativeSrc": "10009:30:36", + "nativeSrc": "10009:30:34", "nodeType": "YulVariableDeclaration", - "src": "10009:30:36", + "src": "10009:30:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "10029:9:36", + "nativeSrc": "10029:9:34", "nodeType": "YulIdentifier", - "src": "10029:9:36" + "src": "10029:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "10023:5:36", + "nativeSrc": "10023:5:34", "nodeType": "YulIdentifier", - "src": "10023:5:36" + "src": "10023:5:34" }, - "nativeSrc": "10023:16:36", + "nativeSrc": "10023:16:34", "nodeType": "YulFunctionCall", - "src": "10023:16:36" + "src": "10023:16:34" }, "variables": [ { "name": "offset", - "nativeSrc": "10013:6:36", + "nativeSrc": "10013:6:34", "nodeType": "YulTypedName", - "src": "10013:6:36", + "src": "10013:6:34", "type": "" } ] }, { - "nativeSrc": "10048:28:36", + "nativeSrc": "10048:28:34", "nodeType": "YulVariableDeclaration", - "src": "10048:28:36", + "src": "10048:28:34", "value": { "kind": "number", - "nativeSrc": "10058:18:36", + "nativeSrc": "10058:18:34", "nodeType": "YulLiteral", - "src": "10058:18:36", + "src": "10058:18:34", "type": "", "value": "0xffffffffffffffff" }, "variables": [ { "name": "_2", - "nativeSrc": "10052:2:36", + "nativeSrc": "10052:2:34", "nodeType": "YulTypedName", - "src": "10052:2:36", + "src": "10052:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "10103:16:36", + "nativeSrc": "10103:16:34", "nodeType": "YulBlock", - "src": "10103:16:36", + "src": "10103:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "10112:1:36", + "nativeSrc": "10112:1:34", "nodeType": "YulLiteral", - "src": "10112:1:36", + "src": "10112:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "10115:1:36", + "nativeSrc": "10115:1:34", "nodeType": "YulLiteral", - "src": "10115:1:36", + "src": "10115:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "10105:6:36", + "nativeSrc": "10105:6:34", "nodeType": "YulIdentifier", - "src": "10105:6:36" + "src": "10105:6:34" }, - "nativeSrc": "10105:12:36", + "nativeSrc": "10105:12:34", "nodeType": "YulFunctionCall", - "src": "10105:12:36" + "src": "10105:12:34" }, - "nativeSrc": "10105:12:36", + "nativeSrc": "10105:12:34", "nodeType": "YulExpressionStatement", - "src": "10105:12:36" + "src": "10105:12:34" } ] }, @@ -142073,109 +141083,109 @@ "arguments": [ { "name": "offset", - "nativeSrc": "10091:6:36", + "nativeSrc": "10091:6:34", "nodeType": "YulIdentifier", - "src": "10091:6:36" + "src": "10091:6:34" }, { "name": "_2", - "nativeSrc": "10099:2:36", + "nativeSrc": "10099:2:34", "nodeType": "YulIdentifier", - "src": "10099:2:36" + "src": "10099:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "10088:2:36", + "nativeSrc": "10088:2:34", "nodeType": "YulIdentifier", - "src": "10088:2:36" + "src": "10088:2:34" }, - "nativeSrc": "10088:14:36", + "nativeSrc": "10088:14:34", "nodeType": "YulFunctionCall", - "src": "10088:14:36" + "src": "10088:14:34" }, - "nativeSrc": "10085:34:36", + "nativeSrc": "10085:34:34", "nodeType": "YulIf", - "src": "10085:34:36" + "src": "10085:34:34" }, { - "nativeSrc": "10128:32:36", + "nativeSrc": "10128:32:34", "nodeType": "YulVariableDeclaration", - "src": "10128:32:36", + "src": "10128:32:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "10142:9:36", + "nativeSrc": "10142:9:34", "nodeType": "YulIdentifier", - "src": "10142:9:36" + "src": "10142:9:34" }, { "name": "offset", - "nativeSrc": "10153:6:36", + "nativeSrc": "10153:6:34", "nodeType": "YulIdentifier", - "src": "10153:6:36" + "src": "10153:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "10138:3:36", + "nativeSrc": "10138:3:34", "nodeType": "YulIdentifier", - "src": "10138:3:36" + "src": "10138:3:34" }, - "nativeSrc": "10138:22:36", + "nativeSrc": "10138:22:34", "nodeType": "YulFunctionCall", - "src": "10138:22:36" + "src": "10138:22:34" }, "variables": [ { "name": "_3", - "nativeSrc": "10132:2:36", + "nativeSrc": "10132:2:34", "nodeType": "YulTypedName", - "src": "10132:2:36", + "src": "10132:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "10200:16:36", + "nativeSrc": "10200:16:34", "nodeType": "YulBlock", - "src": "10200:16:36", + "src": "10200:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "10209:1:36", + "nativeSrc": "10209:1:34", "nodeType": "YulLiteral", - "src": "10209:1:36", + "src": "10209:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "10212:1:36", + "nativeSrc": "10212:1:34", "nodeType": "YulLiteral", - "src": "10212:1:36", + "src": "10212:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "10202:6:36", + "nativeSrc": "10202:6:34", "nodeType": "YulIdentifier", - "src": "10202:6:36" + "src": "10202:6:34" }, - "nativeSrc": "10202:12:36", + "nativeSrc": "10202:12:34", "nodeType": "YulFunctionCall", - "src": "10202:12:36" + "src": "10202:12:34" }, - "nativeSrc": "10202:12:36", + "nativeSrc": "10202:12:34", "nodeType": "YulExpressionStatement", - "src": "10202:12:36" + "src": "10202:12:34" } ] }, @@ -142185,105 +141195,105 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "10180:7:36", + "nativeSrc": "10180:7:34", "nodeType": "YulIdentifier", - "src": "10180:7:36" + "src": "10180:7:34" }, { "name": "_3", - "nativeSrc": "10189:2:36", + "nativeSrc": "10189:2:34", "nodeType": "YulIdentifier", - "src": "10189:2:36" + "src": "10189:2:34" } ], "functionName": { "name": "sub", - "nativeSrc": "10176:3:36", + "nativeSrc": "10176:3:34", "nodeType": "YulIdentifier", - "src": "10176:3:36" + "src": "10176:3:34" }, - "nativeSrc": "10176:16:36", + "nativeSrc": "10176:16:34", "nodeType": "YulFunctionCall", - "src": "10176:16:36" + "src": "10176:16:34" }, { "kind": "number", - "nativeSrc": "10194:4:36", + "nativeSrc": "10194:4:34", "nodeType": "YulLiteral", - "src": "10194:4:36", + "src": "10194:4:34", "type": "", "value": "0xc0" } ], "functionName": { "name": "slt", - "nativeSrc": "10172:3:36", + "nativeSrc": "10172:3:34", "nodeType": "YulIdentifier", - "src": "10172:3:36" + "src": "10172:3:34" }, - "nativeSrc": "10172:27:36", + "nativeSrc": "10172:27:34", "nodeType": "YulFunctionCall", - "src": "10172:27:36" + "src": "10172:27:34" }, - "nativeSrc": "10169:47:36", + "nativeSrc": "10169:47:34", "nodeType": "YulIf", - "src": "10169:47:36" + "src": "10169:47:34" }, { - "nativeSrc": "10225:35:36", + "nativeSrc": "10225:35:34", "nodeType": "YulVariableDeclaration", - "src": "10225:35:36", + "src": "10225:35:34", "value": { "arguments": [], "functionName": { "name": "allocate_memory_2890", - "nativeSrc": "10238:20:36", + "nativeSrc": "10238:20:34", "nodeType": "YulIdentifier", - "src": "10238:20:36" + "src": "10238:20:34" }, - "nativeSrc": "10238:22:36", + "nativeSrc": "10238:22:34", "nodeType": "YulFunctionCall", - "src": "10238:22:36" + "src": "10238:22:34" }, "variables": [ { "name": "value", - "nativeSrc": "10229:5:36", + "nativeSrc": "10229:5:34", "nodeType": "YulTypedName", - "src": "10229:5:36", + "src": "10229:5:34", "type": "" } ] }, { - "nativeSrc": "10269:24:36", + "nativeSrc": "10269:24:34", "nodeType": "YulVariableDeclaration", - "src": "10269:24:36", + "src": "10269:24:34", "value": { "arguments": [ { "name": "_3", - "nativeSrc": "10290:2:36", + "nativeSrc": "10290:2:34", "nodeType": "YulIdentifier", - "src": "10290:2:36" + "src": "10290:2:34" } ], "functionName": { "name": "mload", - "nativeSrc": "10284:5:36", + "nativeSrc": "10284:5:34", "nodeType": "YulIdentifier", - "src": "10284:5:36" + "src": "10284:5:34" }, - "nativeSrc": "10284:9:36", + "nativeSrc": "10284:9:34", "nodeType": "YulFunctionCall", - "src": "10284:9:36" + "src": "10284:9:34" }, "variables": [ { "name": "value_1", - "nativeSrc": "10273:7:36", + "nativeSrc": "10273:7:34", "nodeType": "YulTypedName", - "src": "10273:7:36", + "src": "10273:7:34", "type": "" } ] @@ -142293,146 +141303,146 @@ "arguments": [ { "name": "value_1", - "nativeSrc": "10327:7:36", + "nativeSrc": "10327:7:34", "nodeType": "YulIdentifier", - "src": "10327:7:36" + "src": "10327:7:34" } ], "functionName": { "name": "validator_revert_address", - "nativeSrc": "10302:24:36", + "nativeSrc": "10302:24:34", "nodeType": "YulIdentifier", - "src": "10302:24:36" + "src": "10302:24:34" }, - "nativeSrc": "10302:33:36", + "nativeSrc": "10302:33:34", "nodeType": "YulFunctionCall", - "src": "10302:33:36" + "src": "10302:33:34" }, - "nativeSrc": "10302:33:36", + "nativeSrc": "10302:33:34", "nodeType": "YulExpressionStatement", - "src": "10302:33:36" + "src": "10302:33:34" }, { "expression": { "arguments": [ { "name": "value", - "nativeSrc": "10351:5:36", + "nativeSrc": "10351:5:34", "nodeType": "YulIdentifier", - "src": "10351:5:36" + "src": "10351:5:34" }, { "name": "value_1", - "nativeSrc": "10358:7:36", + "nativeSrc": "10358:7:34", "nodeType": "YulIdentifier", - "src": "10358:7:36" + "src": "10358:7:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10344:6:36", + "nativeSrc": "10344:6:34", "nodeType": "YulIdentifier", - "src": "10344:6:36" + "src": "10344:6:34" }, - "nativeSrc": "10344:22:36", + "nativeSrc": "10344:22:34", "nodeType": "YulFunctionCall", - "src": "10344:22:36" + "src": "10344:22:34" }, - "nativeSrc": "10344:22:36", + "nativeSrc": "10344:22:34", "nodeType": "YulExpressionStatement", - "src": "10344:22:36" + "src": "10344:22:34" }, { - "nativeSrc": "10375:34:36", + "nativeSrc": "10375:34:34", "nodeType": "YulVariableDeclaration", - "src": "10375:34:36", + "src": "10375:34:34", "value": { "arguments": [ { "arguments": [ { "name": "_3", - "nativeSrc": "10401:2:36", + "nativeSrc": "10401:2:34", "nodeType": "YulIdentifier", - "src": "10401:2:36" + "src": "10401:2:34" }, { "name": "_1", - "nativeSrc": "10405:2:36", + "nativeSrc": "10405:2:34", "nodeType": "YulIdentifier", - "src": "10405:2:36" + "src": "10405:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "10397:3:36", + "nativeSrc": "10397:3:34", "nodeType": "YulIdentifier", - "src": "10397:3:36" + "src": "10397:3:34" }, - "nativeSrc": "10397:11:36", + "nativeSrc": "10397:11:34", "nodeType": "YulFunctionCall", - "src": "10397:11:36" + "src": "10397:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "10391:5:36", + "nativeSrc": "10391:5:34", "nodeType": "YulIdentifier", - "src": "10391:5:36" + "src": "10391:5:34" }, - "nativeSrc": "10391:18:36", + "nativeSrc": "10391:18:34", "nodeType": "YulFunctionCall", - "src": "10391:18:36" + "src": "10391:18:34" }, "variables": [ { "name": "offset_1", - "nativeSrc": "10379:8:36", + "nativeSrc": "10379:8:34", "nodeType": "YulTypedName", - "src": "10379:8:36", + "src": "10379:8:34", "type": "" } ] }, { "body": { - "nativeSrc": "10438:16:36", + "nativeSrc": "10438:16:34", "nodeType": "YulBlock", - "src": "10438:16:36", + "src": "10438:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "10447:1:36", + "nativeSrc": "10447:1:34", "nodeType": "YulLiteral", - "src": "10447:1:36", + "src": "10447:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "10450:1:36", + "nativeSrc": "10450:1:34", "nodeType": "YulLiteral", - "src": "10450:1:36", + "src": "10450:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "10440:6:36", + "nativeSrc": "10440:6:34", "nodeType": "YulIdentifier", - "src": "10440:6:36" + "src": "10440:6:34" }, - "nativeSrc": "10440:12:36", + "nativeSrc": "10440:12:34", "nodeType": "YulFunctionCall", - "src": "10440:12:36" + "src": "10440:12:34" }, - "nativeSrc": "10440:12:36", + "nativeSrc": "10440:12:34", "nodeType": "YulExpressionStatement", - "src": "10440:12:36" + "src": "10440:12:34" } ] }, @@ -142440,109 +141450,109 @@ "arguments": [ { "name": "offset_1", - "nativeSrc": "10424:8:36", + "nativeSrc": "10424:8:34", "nodeType": "YulIdentifier", - "src": "10424:8:36" + "src": "10424:8:34" }, { "name": "_2", - "nativeSrc": "10434:2:36", + "nativeSrc": "10434:2:34", "nodeType": "YulIdentifier", - "src": "10434:2:36" + "src": "10434:2:34" } ], "functionName": { "name": "gt", - "nativeSrc": "10421:2:36", + "nativeSrc": "10421:2:34", "nodeType": "YulIdentifier", - "src": "10421:2:36" + "src": "10421:2:34" }, - "nativeSrc": "10421:16:36", + "nativeSrc": "10421:16:34", "nodeType": "YulFunctionCall", - "src": "10421:16:36" + "src": "10421:16:34" }, - "nativeSrc": "10418:36:36", + "nativeSrc": "10418:36:34", "nodeType": "YulIf", - "src": "10418:36:36" + "src": "10418:36:34" }, { - "nativeSrc": "10463:27:36", + "nativeSrc": "10463:27:34", "nodeType": "YulVariableDeclaration", - "src": "10463:27:36", + "src": "10463:27:34", "value": { "arguments": [ { "name": "_3", - "nativeSrc": "10477:2:36", + "nativeSrc": "10477:2:34", "nodeType": "YulIdentifier", - "src": "10477:2:36" + "src": "10477:2:34" }, { "name": "offset_1", - "nativeSrc": "10481:8:36", + "nativeSrc": "10481:8:34", "nodeType": "YulIdentifier", - "src": "10481:8:36" + "src": "10481:8:34" } ], "functionName": { "name": "add", - "nativeSrc": "10473:3:36", + "nativeSrc": "10473:3:34", "nodeType": "YulIdentifier", - "src": "10473:3:36" + "src": "10473:3:34" }, - "nativeSrc": "10473:17:36", + "nativeSrc": "10473:17:34", "nodeType": "YulFunctionCall", - "src": "10473:17:36" + "src": "10473:17:34" }, "variables": [ { "name": "_4", - "nativeSrc": "10467:2:36", + "nativeSrc": "10467:2:34", "nodeType": "YulTypedName", - "src": "10467:2:36", + "src": "10467:2:34", "type": "" } ] }, { "body": { - "nativeSrc": "10538:16:36", + "nativeSrc": "10538:16:34", "nodeType": "YulBlock", - "src": "10538:16:36", + "src": "10538:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "10547:1:36", + "nativeSrc": "10547:1:34", "nodeType": "YulLiteral", - "src": "10547:1:36", + "src": "10547:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "10550:1:36", + "nativeSrc": "10550:1:34", "nodeType": "YulLiteral", - "src": "10550:1:36", + "src": "10550:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "10540:6:36", + "nativeSrc": "10540:6:34", "nodeType": "YulIdentifier", - "src": "10540:6:36" + "src": "10540:6:34" }, - "nativeSrc": "10540:12:36", + "nativeSrc": "10540:12:34", "nodeType": "YulFunctionCall", - "src": "10540:12:36" + "src": "10540:12:34" }, - "nativeSrc": "10540:12:36", + "nativeSrc": "10540:12:34", "nodeType": "YulExpressionStatement", - "src": "10540:12:36" + "src": "10540:12:34" } ] }, @@ -142554,136 +141564,136 @@ "arguments": [ { "name": "_4", - "nativeSrc": "10517:2:36", + "nativeSrc": "10517:2:34", "nodeType": "YulIdentifier", - "src": "10517:2:36" + "src": "10517:2:34" }, { "kind": "number", - "nativeSrc": "10521:4:36", + "nativeSrc": "10521:4:34", "nodeType": "YulLiteral", - "src": "10521:4:36", + "src": "10521:4:34", "type": "", "value": "0x1f" } ], "functionName": { "name": "add", - "nativeSrc": "10513:3:36", + "nativeSrc": "10513:3:34", "nodeType": "YulIdentifier", - "src": "10513:3:36" + "src": "10513:3:34" }, - "nativeSrc": "10513:13:36", + "nativeSrc": "10513:13:34", "nodeType": "YulFunctionCall", - "src": "10513:13:36" + "src": "10513:13:34" }, { "name": "dataEnd", - "nativeSrc": "10528:7:36", + "nativeSrc": "10528:7:34", "nodeType": "YulIdentifier", - "src": "10528:7:36" + "src": "10528:7:34" } ], "functionName": { "name": "slt", - "nativeSrc": "10509:3:36", + "nativeSrc": "10509:3:34", "nodeType": "YulIdentifier", - "src": "10509:3:36" + "src": "10509:3:34" }, - "nativeSrc": "10509:27:36", + "nativeSrc": "10509:27:34", "nodeType": "YulFunctionCall", - "src": "10509:27:36" + "src": "10509:27:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "10502:6:36", + "nativeSrc": "10502:6:34", "nodeType": "YulIdentifier", - "src": "10502:6:36" + "src": "10502:6:34" }, - "nativeSrc": "10502:35:36", + "nativeSrc": "10502:35:34", "nodeType": "YulFunctionCall", - "src": "10502:35:36" + "src": "10502:35:34" }, - "nativeSrc": "10499:55:36", + "nativeSrc": "10499:55:34", "nodeType": "YulIf", - "src": "10499:55:36" + "src": "10499:55:34" }, { - "nativeSrc": "10563:19:36", + "nativeSrc": "10563:19:34", "nodeType": "YulVariableDeclaration", - "src": "10563:19:36", + "src": "10563:19:34", "value": { "arguments": [ { "name": "_4", - "nativeSrc": "10579:2:36", + "nativeSrc": "10579:2:34", "nodeType": "YulIdentifier", - "src": "10579:2:36" + "src": "10579:2:34" } ], "functionName": { "name": "mload", - "nativeSrc": "10573:5:36", + "nativeSrc": "10573:5:34", "nodeType": "YulIdentifier", - "src": "10573:5:36" + "src": "10573:5:34" }, - "nativeSrc": "10573:9:36", + "nativeSrc": "10573:9:34", "nodeType": "YulFunctionCall", - "src": "10573:9:36" + "src": "10573:9:34" }, "variables": [ { "name": "_5", - "nativeSrc": "10567:2:36", + "nativeSrc": "10567:2:34", "nodeType": "YulTypedName", - "src": "10567:2:36", + "src": "10567:2:34", "type": "" } ] }, { - "nativeSrc": "10591:62:36", + "nativeSrc": "10591:62:34", "nodeType": "YulVariableDeclaration", - "src": "10591:62:36", + "src": "10591:62:34", "value": { "arguments": [ { "arguments": [ { "name": "_5", - "nativeSrc": "10649:2:36", + "nativeSrc": "10649:2:34", "nodeType": "YulIdentifier", - "src": "10649:2:36" + "src": "10649:2:34" } ], "functionName": { "name": "array_allocation_size_string", - "nativeSrc": "10620:28:36", + "nativeSrc": "10620:28:34", "nodeType": "YulIdentifier", - "src": "10620:28:36" + "src": "10620:28:34" }, - "nativeSrc": "10620:32:36", + "nativeSrc": "10620:32:34", "nodeType": "YulFunctionCall", - "src": "10620:32:36" + "src": "10620:32:34" } ], "functionName": { "name": "allocate_memory", - "nativeSrc": "10604:15:36", + "nativeSrc": "10604:15:34", "nodeType": "YulIdentifier", - "src": "10604:15:36" + "src": "10604:15:34" }, - "nativeSrc": "10604:49:36", + "nativeSrc": "10604:49:34", "nodeType": "YulFunctionCall", - "src": "10604:49:36" + "src": "10604:49:34" }, "variables": [ { "name": "array", - "nativeSrc": "10595:5:36", + "nativeSrc": "10595:5:34", "nodeType": "YulTypedName", - "src": "10595:5:36", + "src": "10595:5:34", "type": "" } ] @@ -142693,70 +141703,70 @@ "arguments": [ { "name": "array", - "nativeSrc": "10669:5:36", + "nativeSrc": "10669:5:34", "nodeType": "YulIdentifier", - "src": "10669:5:36" + "src": "10669:5:34" }, { "name": "_5", - "nativeSrc": "10676:2:36", + "nativeSrc": "10676:2:34", "nodeType": "YulIdentifier", - "src": "10676:2:36" + "src": "10676:2:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10662:6:36", + "nativeSrc": "10662:6:34", "nodeType": "YulIdentifier", - "src": "10662:6:36" + "src": "10662:6:34" }, - "nativeSrc": "10662:17:36", + "nativeSrc": "10662:17:34", "nodeType": "YulFunctionCall", - "src": "10662:17:36" + "src": "10662:17:34" }, - "nativeSrc": "10662:17:36", + "nativeSrc": "10662:17:34", "nodeType": "YulExpressionStatement", - "src": "10662:17:36" + "src": "10662:17:34" }, { "body": { - "nativeSrc": "10725:16:36", + "nativeSrc": "10725:16:34", "nodeType": "YulBlock", - "src": "10725:16:36", + "src": "10725:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "10734:1:36", + "nativeSrc": "10734:1:34", "nodeType": "YulLiteral", - "src": "10734:1:36", + "src": "10734:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "10737:1:36", + "nativeSrc": "10737:1:34", "nodeType": "YulLiteral", - "src": "10737:1:36", + "src": "10737:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "10727:6:36", + "nativeSrc": "10727:6:34", "nodeType": "YulIdentifier", - "src": "10727:6:36" + "src": "10727:6:34" }, - "nativeSrc": "10727:12:36", + "nativeSrc": "10727:12:34", "nodeType": "YulFunctionCall", - "src": "10727:12:36" + "src": "10727:12:34" }, - "nativeSrc": "10727:12:36", + "nativeSrc": "10727:12:34", "nodeType": "YulExpressionStatement", - "src": "10727:12:36" + "src": "10727:12:34" } ] }, @@ -142768,64 +141778,64 @@ "arguments": [ { "name": "_4", - "nativeSrc": "10702:2:36", + "nativeSrc": "10702:2:34", "nodeType": "YulIdentifier", - "src": "10702:2:36" + "src": "10702:2:34" }, { "name": "_5", - "nativeSrc": "10706:2:36", + "nativeSrc": "10706:2:34", "nodeType": "YulIdentifier", - "src": "10706:2:36" + "src": "10706:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "10698:3:36", + "nativeSrc": "10698:3:34", "nodeType": "YulIdentifier", - "src": "10698:3:36" + "src": "10698:3:34" }, - "nativeSrc": "10698:11:36", + "nativeSrc": "10698:11:34", "nodeType": "YulFunctionCall", - "src": "10698:11:36" + "src": "10698:11:34" }, { "name": "_1", - "nativeSrc": "10711:2:36", + "nativeSrc": "10711:2:34", "nodeType": "YulIdentifier", - "src": "10711:2:36" + "src": "10711:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "10694:3:36", + "nativeSrc": "10694:3:34", "nodeType": "YulIdentifier", - "src": "10694:3:36" + "src": "10694:3:34" }, - "nativeSrc": "10694:20:36", + "nativeSrc": "10694:20:34", "nodeType": "YulFunctionCall", - "src": "10694:20:36" + "src": "10694:20:34" }, { "name": "dataEnd", - "nativeSrc": "10716:7:36", + "nativeSrc": "10716:7:34", "nodeType": "YulIdentifier", - "src": "10716:7:36" + "src": "10716:7:34" } ], "functionName": { "name": "gt", - "nativeSrc": "10691:2:36", + "nativeSrc": "10691:2:34", "nodeType": "YulIdentifier", - "src": "10691:2:36" + "src": "10691:2:34" }, - "nativeSrc": "10691:33:36", + "nativeSrc": "10691:33:34", "nodeType": "YulFunctionCall", - "src": "10691:33:36" + "src": "10691:33:34" }, - "nativeSrc": "10688:53:36", + "nativeSrc": "10688:53:34", "nodeType": "YulIf", - "src": "10688:53:36" + "src": "10688:53:34" }, { "expression": { @@ -142834,72 +141844,72 @@ "arguments": [ { "name": "_4", - "nativeSrc": "10789:2:36", + "nativeSrc": "10789:2:34", "nodeType": "YulIdentifier", - "src": "10789:2:36" + "src": "10789:2:34" }, { "name": "_1", - "nativeSrc": "10793:2:36", + "nativeSrc": "10793:2:34", "nodeType": "YulIdentifier", - "src": "10793:2:36" + "src": "10793:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "10785:3:36", + "nativeSrc": "10785:3:34", "nodeType": "YulIdentifier", - "src": "10785:3:36" + "src": "10785:3:34" }, - "nativeSrc": "10785:11:36", + "nativeSrc": "10785:11:34", "nodeType": "YulFunctionCall", - "src": "10785:11:36" + "src": "10785:11:34" }, { "arguments": [ { "name": "array", - "nativeSrc": "10802:5:36", + "nativeSrc": "10802:5:34", "nodeType": "YulIdentifier", - "src": "10802:5:36" + "src": "10802:5:34" }, { "name": "_1", - "nativeSrc": "10809:2:36", + "nativeSrc": "10809:2:34", "nodeType": "YulIdentifier", - "src": "10809:2:36" + "src": "10809:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "10798:3:36", + "nativeSrc": "10798:3:34", "nodeType": "YulIdentifier", - "src": "10798:3:36" + "src": "10798:3:34" }, - "nativeSrc": "10798:14:36", + "nativeSrc": "10798:14:34", "nodeType": "YulFunctionCall", - "src": "10798:14:36" + "src": "10798:14:34" }, { "name": "_5", - "nativeSrc": "10814:2:36", + "nativeSrc": "10814:2:34", "nodeType": "YulIdentifier", - "src": "10814:2:36" + "src": "10814:2:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "10750:34:36", + "nativeSrc": "10750:34:34", "nodeType": "YulIdentifier", - "src": "10750:34:36" + "src": "10750:34:34" }, - "nativeSrc": "10750:67:36", + "nativeSrc": "10750:67:34", "nodeType": "YulFunctionCall", - "src": "10750:67:36" + "src": "10750:67:34" }, - "nativeSrc": "10750:67:36", + "nativeSrc": "10750:67:34", "nodeType": "YulExpressionStatement", - "src": "10750:67:36" + "src": "10750:67:34" }, { "expression": { @@ -142908,47 +141918,47 @@ "arguments": [ { "name": "value", - "nativeSrc": "10837:5:36", + "nativeSrc": "10837:5:34", "nodeType": "YulIdentifier", - "src": "10837:5:36" + "src": "10837:5:34" }, { "name": "_1", - "nativeSrc": "10844:2:36", + "nativeSrc": "10844:2:34", "nodeType": "YulIdentifier", - "src": "10844:2:36" + "src": "10844:2:34" } ], "functionName": { "name": "add", - "nativeSrc": "10833:3:36", + "nativeSrc": "10833:3:34", "nodeType": "YulIdentifier", - "src": "10833:3:36" + "src": "10833:3:34" }, - "nativeSrc": "10833:14:36", + "nativeSrc": "10833:14:34", "nodeType": "YulFunctionCall", - "src": "10833:14:36" + "src": "10833:14:34" }, { "name": "array", - "nativeSrc": "10849:5:36", + "nativeSrc": "10849:5:34", "nodeType": "YulIdentifier", - "src": "10849:5:36" + "src": "10849:5:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10826:6:36", + "nativeSrc": "10826:6:34", "nodeType": "YulIdentifier", - "src": "10826:6:36" + "src": "10826:6:34" }, - "nativeSrc": "10826:29:36", + "nativeSrc": "10826:29:34", "nodeType": "YulFunctionCall", - "src": "10826:29:36" + "src": "10826:29:34" }, - "nativeSrc": "10826:29:36", + "nativeSrc": "10826:29:34", "nodeType": "YulExpressionStatement", - "src": "10826:29:36" + "src": "10826:29:34" }, { "expression": { @@ -142957,28 +141967,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "10875:5:36", + "nativeSrc": "10875:5:34", "nodeType": "YulIdentifier", - "src": "10875:5:36" + "src": "10875:5:34" }, { "kind": "number", - "nativeSrc": "10882:2:36", + "nativeSrc": "10882:2:34", "nodeType": "YulLiteral", - "src": "10882:2:36", + "src": "10882:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "10871:3:36", + "nativeSrc": "10871:3:34", "nodeType": "YulIdentifier", - "src": "10871:3:36" + "src": "10871:3:34" }, - "nativeSrc": "10871:14:36", + "nativeSrc": "10871:14:34", "nodeType": "YulFunctionCall", - "src": "10871:14:36" + "src": "10871:14:34" }, { "arguments": [ @@ -142986,54 +141996,54 @@ "arguments": [ { "name": "_3", - "nativeSrc": "10897:2:36", + "nativeSrc": "10897:2:34", "nodeType": "YulIdentifier", - "src": "10897:2:36" + "src": "10897:2:34" }, { "kind": "number", - "nativeSrc": "10901:2:36", + "nativeSrc": "10901:2:34", "nodeType": "YulLiteral", - "src": "10901:2:36", + "src": "10901:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "10893:3:36", + "nativeSrc": "10893:3:34", "nodeType": "YulIdentifier", - "src": "10893:3:36" + "src": "10893:3:34" }, - "nativeSrc": "10893:11:36", + "nativeSrc": "10893:11:34", "nodeType": "YulFunctionCall", - "src": "10893:11:36" + "src": "10893:11:34" } ], "functionName": { "name": "mload", - "nativeSrc": "10887:5:36", + "nativeSrc": "10887:5:34", "nodeType": "YulIdentifier", - "src": "10887:5:36" + "src": "10887:5:34" }, - "nativeSrc": "10887:18:36", + "nativeSrc": "10887:18:34", "nodeType": "YulFunctionCall", - "src": "10887:18:36" + "src": "10887:18:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10864:6:36", + "nativeSrc": "10864:6:34", "nodeType": "YulIdentifier", - "src": "10864:6:36" + "src": "10864:6:34" }, - "nativeSrc": "10864:42:36", + "nativeSrc": "10864:42:34", "nodeType": "YulFunctionCall", - "src": "10864:42:36" + "src": "10864:42:34" }, - "nativeSrc": "10864:42:36", + "nativeSrc": "10864:42:34", "nodeType": "YulExpressionStatement", - "src": "10864:42:36" + "src": "10864:42:34" }, { "expression": { @@ -143042,28 +142052,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "10926:5:36", + "nativeSrc": "10926:5:34", "nodeType": "YulIdentifier", - "src": "10926:5:36" + "src": "10926:5:34" }, { "kind": "number", - "nativeSrc": "10933:2:36", + "nativeSrc": "10933:2:34", "nodeType": "YulLiteral", - "src": "10933:2:36", + "src": "10933:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "10922:3:36", + "nativeSrc": "10922:3:34", "nodeType": "YulIdentifier", - "src": "10922:3:36" + "src": "10922:3:34" }, - "nativeSrc": "10922:14:36", + "nativeSrc": "10922:14:34", "nodeType": "YulFunctionCall", - "src": "10922:14:36" + "src": "10922:14:34" }, { "arguments": [ @@ -143071,54 +142081,54 @@ "arguments": [ { "name": "_3", - "nativeSrc": "10972:2:36", + "nativeSrc": "10972:2:34", "nodeType": "YulIdentifier", - "src": "10972:2:36" + "src": "10972:2:34" }, { "kind": "number", - "nativeSrc": "10976:2:36", + "nativeSrc": "10976:2:34", "nodeType": "YulLiteral", - "src": "10976:2:36", + "src": "10976:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "10968:3:36", + "nativeSrc": "10968:3:34", "nodeType": "YulIdentifier", - "src": "10968:3:36" + "src": "10968:3:34" }, - "nativeSrc": "10968:11:36", + "nativeSrc": "10968:11:34", "nodeType": "YulFunctionCall", - "src": "10968:11:36" + "src": "10968:11:34" } ], "functionName": { "name": "abi_decode_address_fromMemory", - "nativeSrc": "10938:29:36", + "nativeSrc": "10938:29:34", "nodeType": "YulIdentifier", - "src": "10938:29:36" + "src": "10938:29:34" }, - "nativeSrc": "10938:42:36", + "nativeSrc": "10938:42:34", "nodeType": "YulFunctionCall", - "src": "10938:42:36" + "src": "10938:42:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10915:6:36", + "nativeSrc": "10915:6:34", "nodeType": "YulIdentifier", - "src": "10915:6:36" + "src": "10915:6:34" }, - "nativeSrc": "10915:66:36", + "nativeSrc": "10915:66:34", "nodeType": "YulFunctionCall", - "src": "10915:66:36" + "src": "10915:66:34" }, - "nativeSrc": "10915:66:36", + "nativeSrc": "10915:66:34", "nodeType": "YulExpressionStatement", - "src": "10915:66:36" + "src": "10915:66:34" }, { "expression": { @@ -143127,28 +142137,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "11001:5:36", + "nativeSrc": "11001:5:34", "nodeType": "YulIdentifier", - "src": "11001:5:36" + "src": "11001:5:34" }, { "kind": "number", - "nativeSrc": "11008:3:36", + "nativeSrc": "11008:3:34", "nodeType": "YulLiteral", - "src": "11008:3:36", + "src": "11008:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "10997:3:36", + "nativeSrc": "10997:3:34", "nodeType": "YulIdentifier", - "src": "10997:3:36" + "src": "10997:3:34" }, - "nativeSrc": "10997:15:36", + "nativeSrc": "10997:15:34", "nodeType": "YulFunctionCall", - "src": "10997:15:36" + "src": "10997:15:34" }, { "arguments": [ @@ -143156,54 +142166,54 @@ "arguments": [ { "name": "_3", - "nativeSrc": "11024:2:36", + "nativeSrc": "11024:2:34", "nodeType": "YulIdentifier", - "src": "11024:2:36" + "src": "11024:2:34" }, { "kind": "number", - "nativeSrc": "11028:3:36", + "nativeSrc": "11028:3:34", "nodeType": "YulLiteral", - "src": "11028:3:36", + "src": "11028:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "11020:3:36", + "nativeSrc": "11020:3:34", "nodeType": "YulIdentifier", - "src": "11020:3:36" + "src": "11020:3:34" }, - "nativeSrc": "11020:12:36", + "nativeSrc": "11020:12:34", "nodeType": "YulFunctionCall", - "src": "11020:12:36" + "src": "11020:12:34" } ], "functionName": { "name": "mload", - "nativeSrc": "11014:5:36", + "nativeSrc": "11014:5:34", "nodeType": "YulIdentifier", - "src": "11014:5:36" + "src": "11014:5:34" }, - "nativeSrc": "11014:19:36", + "nativeSrc": "11014:19:34", "nodeType": "YulFunctionCall", - "src": "11014:19:36" + "src": "11014:19:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "10990:6:36", + "nativeSrc": "10990:6:34", "nodeType": "YulIdentifier", - "src": "10990:6:36" + "src": "10990:6:34" }, - "nativeSrc": "10990:44:36", + "nativeSrc": "10990:44:34", "nodeType": "YulFunctionCall", - "src": "10990:44:36" + "src": "10990:44:34" }, - "nativeSrc": "10990:44:36", + "nativeSrc": "10990:44:34", "nodeType": "YulExpressionStatement", - "src": "10990:44:36" + "src": "10990:44:34" }, { "expression": { @@ -143212,28 +142222,28 @@ "arguments": [ { "name": "value", - "nativeSrc": "11054:5:36", + "nativeSrc": "11054:5:34", "nodeType": "YulIdentifier", - "src": "11054:5:36" + "src": "11054:5:34" }, { "kind": "number", - "nativeSrc": "11061:3:36", + "nativeSrc": "11061:3:34", "nodeType": "YulLiteral", - "src": "11061:3:36", + "src": "11061:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "11050:3:36", + "nativeSrc": "11050:3:34", "nodeType": "YulIdentifier", - "src": "11050:3:36" + "src": "11050:3:34" }, - "nativeSrc": "11050:15:36", + "nativeSrc": "11050:15:34", "nodeType": "YulFunctionCall", - "src": "11050:15:36" + "src": "11050:15:34" }, { "arguments": [ @@ -143241,143 +142251,143 @@ "arguments": [ { "name": "_3", - "nativeSrc": "11098:2:36", + "nativeSrc": "11098:2:34", "nodeType": "YulIdentifier", - "src": "11098:2:36" + "src": "11098:2:34" }, { "kind": "number", - "nativeSrc": "11102:3:36", + "nativeSrc": "11102:3:34", "nodeType": "YulLiteral", - "src": "11102:3:36", + "src": "11102:3:34", "type": "", "value": "160" } ], "functionName": { "name": "add", - "nativeSrc": "11094:3:36", + "nativeSrc": "11094:3:34", "nodeType": "YulIdentifier", - "src": "11094:3:36" + "src": "11094:3:34" }, - "nativeSrc": "11094:12:36", + "nativeSrc": "11094:12:34", "nodeType": "YulFunctionCall", - "src": "11094:12:36" + "src": "11094:12:34" } ], "functionName": { "name": "abi_decode_bool_fromMemory", - "nativeSrc": "11067:26:36", + "nativeSrc": "11067:26:34", "nodeType": "YulIdentifier", - "src": "11067:26:36" + "src": "11067:26:34" }, - "nativeSrc": "11067:40:36", + "nativeSrc": "11067:40:34", "nodeType": "YulFunctionCall", - "src": "11067:40:36" + "src": "11067:40:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "11043:6:36", + "nativeSrc": "11043:6:34", "nodeType": "YulIdentifier", - "src": "11043:6:36" + "src": "11043:6:34" }, - "nativeSrc": "11043:65:36", + "nativeSrc": "11043:65:34", "nodeType": "YulFunctionCall", - "src": "11043:65:36" + "src": "11043:65:34" }, - "nativeSrc": "11043:65:36", + "nativeSrc": "11043:65:34", "nodeType": "YulExpressionStatement", - "src": "11043:65:36" + "src": "11043:65:34" }, { - "nativeSrc": "11117:15:36", + "nativeSrc": "11117:15:34", "nodeType": "YulAssignment", - "src": "11117:15:36", + "src": "11117:15:34", "value": { "name": "value", - "nativeSrc": "11127:5:36", + "nativeSrc": "11127:5:34", "nodeType": "YulIdentifier", - "src": "11127:5:36" + "src": "11127:5:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "11117:6:36", + "nativeSrc": "11117:6:34", "nodeType": "YulIdentifier", - "src": "11117:6:36" + "src": "11117:6:34" } ] } ] }, - "name": "abi_decode_tuple_t_struct$_ServiceProposal_$5342_memory_ptr_fromMemory", - "nativeSrc": "9803:1335:36", + "name": "abi_decode_tuple_t_struct$_ServiceProposal_$5312_memory_ptr_fromMemory", + "nativeSrc": "9803:1335:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "9883:9:36", + "nativeSrc": "9883:9:34", "nodeType": "YulTypedName", - "src": "9883:9:36", + "src": "9883:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "9894:7:36", + "nativeSrc": "9894:7:34", "nodeType": "YulTypedName", - "src": "9894:7:36", + "src": "9894:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "9906:6:36", + "nativeSrc": "9906:6:34", "nodeType": "YulTypedName", - "src": "9906:6:36", + "src": "9906:6:34", "type": "" } ], - "src": "9803:1335:36" + "src": "9803:1335:34" }, { "body": { - "nativeSrc": "11317:175:36", + "nativeSrc": "11317:175:34", "nodeType": "YulBlock", - "src": "11317:175:36", + "src": "11317:175:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "11334:9:36", + "nativeSrc": "11334:9:34", "nodeType": "YulIdentifier", - "src": "11334:9:36" + "src": "11334:9:34" }, { "kind": "number", - "nativeSrc": "11345:2:36", + "nativeSrc": "11345:2:34", "nodeType": "YulLiteral", - "src": "11345:2:36", + "src": "11345:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "11327:6:36", + "nativeSrc": "11327:6:34", "nodeType": "YulIdentifier", - "src": "11327:6:36" + "src": "11327:6:34" }, - "nativeSrc": "11327:21:36", + "nativeSrc": "11327:21:34", "nodeType": "YulFunctionCall", - "src": "11327:21:36" + "src": "11327:21:34" }, - "nativeSrc": "11327:21:36", + "nativeSrc": "11327:21:34", "nodeType": "YulExpressionStatement", - "src": "11327:21:36" + "src": "11327:21:34" }, { "expression": { @@ -143386,51 +142396,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "11368:9:36", + "nativeSrc": "11368:9:34", "nodeType": "YulIdentifier", - "src": "11368:9:36" + "src": "11368:9:34" }, { "kind": "number", - "nativeSrc": "11379:2:36", + "nativeSrc": "11379:2:34", "nodeType": "YulLiteral", - "src": "11379:2:36", + "src": "11379:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "11364:3:36", + "nativeSrc": "11364:3:34", "nodeType": "YulIdentifier", - "src": "11364:3:36" + "src": "11364:3:34" }, - "nativeSrc": "11364:18:36", + "nativeSrc": "11364:18:34", "nodeType": "YulFunctionCall", - "src": "11364:18:36" + "src": "11364:18:34" }, { "kind": "number", - "nativeSrc": "11384:2:36", + "nativeSrc": "11384:2:34", "nodeType": "YulLiteral", - "src": "11384:2:36", + "src": "11384:2:34", "type": "", "value": "25" } ], "functionName": { "name": "mstore", - "nativeSrc": "11357:6:36", + "nativeSrc": "11357:6:34", "nodeType": "YulIdentifier", - "src": "11357:6:36" + "src": "11357:6:34" }, - "nativeSrc": "11357:30:36", + "nativeSrc": "11357:30:34", "nodeType": "YulFunctionCall", - "src": "11357:30:36" + "src": "11357:30:34" }, - "nativeSrc": "11357:30:36", + "nativeSrc": "11357:30:34", "nodeType": "YulExpressionStatement", - "src": "11357:30:36" + "src": "11357:30:34" }, { "expression": { @@ -143439,155 +142449,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "11407:9:36", + "nativeSrc": "11407:9:34", "nodeType": "YulIdentifier", - "src": "11407:9:36" + "src": "11407:9:34" }, { "kind": "number", - "nativeSrc": "11418:2:36", + "nativeSrc": "11418:2:34", "nodeType": "YulLiteral", - "src": "11418:2:36", + "src": "11418:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "11403:3:36", + "nativeSrc": "11403:3:34", "nodeType": "YulIdentifier", - "src": "11403:3:36" + "src": "11403:3:34" }, - "nativeSrc": "11403:18:36", + "nativeSrc": "11403:18:34", "nodeType": "YulFunctionCall", - "src": "11403:18:36" + "src": "11403:18:34" }, { "hexValue": "5365727669636550726f706f73616c206e6f7420666f756e64", "kind": "string", - "nativeSrc": "11423:27:36", + "nativeSrc": "11423:27:34", "nodeType": "YulLiteral", - "src": "11423:27:36", + "src": "11423:27:34", "type": "", "value": "ServiceProposal not found" } ], "functionName": { "name": "mstore", - "nativeSrc": "11396:6:36", + "nativeSrc": "11396:6:34", "nodeType": "YulIdentifier", - "src": "11396:6:36" + "src": "11396:6:34" }, - "nativeSrc": "11396:55:36", + "nativeSrc": "11396:55:34", "nodeType": "YulFunctionCall", - "src": "11396:55:36" + "src": "11396:55:34" }, - "nativeSrc": "11396:55:36", + "nativeSrc": "11396:55:34", "nodeType": "YulExpressionStatement", - "src": "11396:55:36" + "src": "11396:55:34" }, { - "nativeSrc": "11460:26:36", + "nativeSrc": "11460:26:34", "nodeType": "YulAssignment", - "src": "11460:26:36", + "src": "11460:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "11472:9:36", + "nativeSrc": "11472:9:34", "nodeType": "YulIdentifier", - "src": "11472:9:36" + "src": "11472:9:34" }, { "kind": "number", - "nativeSrc": "11483:2:36", + "nativeSrc": "11483:2:34", "nodeType": "YulLiteral", - "src": "11483:2:36", + "src": "11483:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "11468:3:36", + "nativeSrc": "11468:3:34", "nodeType": "YulIdentifier", - "src": "11468:3:36" + "src": "11468:3:34" }, - "nativeSrc": "11468:18:36", + "nativeSrc": "11468:18:34", "nodeType": "YulFunctionCall", - "src": "11468:18:36" + "src": "11468:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "11460:4:36", + "nativeSrc": "11460:4:34", "nodeType": "YulIdentifier", - "src": "11460:4:36" + "src": "11460:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "11143:349:36", + "nativeSrc": "11143:349:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "11294:9:36", + "nativeSrc": "11294:9:34", "nodeType": "YulTypedName", - "src": "11294:9:36", + "src": "11294:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "11308:4:36", + "nativeSrc": "11308:4:34", "nodeType": "YulTypedName", - "src": "11308:4:36", + "src": "11308:4:34", "type": "" } ], - "src": "11143:349:36" + "src": "11143:349:34" }, { "body": { - "nativeSrc": "11671:163:36", + "nativeSrc": "11671:163:34", "nodeType": "YulBlock", - "src": "11671:163:36", + "src": "11671:163:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "11688:9:36", + "nativeSrc": "11688:9:34", "nodeType": "YulIdentifier", - "src": "11688:9:36" + "src": "11688:9:34" }, { "kind": "number", - "nativeSrc": "11699:2:36", + "nativeSrc": "11699:2:34", "nodeType": "YulLiteral", - "src": "11699:2:36", + "src": "11699:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "11681:6:36", + "nativeSrc": "11681:6:34", "nodeType": "YulIdentifier", - "src": "11681:6:36" + "src": "11681:6:34" }, - "nativeSrc": "11681:21:36", + "nativeSrc": "11681:21:34", "nodeType": "YulFunctionCall", - "src": "11681:21:36" + "src": "11681:21:34" }, - "nativeSrc": "11681:21:36", + "nativeSrc": "11681:21:34", "nodeType": "YulExpressionStatement", - "src": "11681:21:36" + "src": "11681:21:34" }, { "expression": { @@ -143596,51 +142606,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "11722:9:36", + "nativeSrc": "11722:9:34", "nodeType": "YulIdentifier", - "src": "11722:9:36" + "src": "11722:9:34" }, { "kind": "number", - "nativeSrc": "11733:2:36", + "nativeSrc": "11733:2:34", "nodeType": "YulLiteral", - "src": "11733:2:36", + "src": "11733:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "11718:3:36", + "nativeSrc": "11718:3:34", "nodeType": "YulIdentifier", - "src": "11718:3:36" + "src": "11718:3:34" }, - "nativeSrc": "11718:18:36", + "nativeSrc": "11718:18:34", "nodeType": "YulFunctionCall", - "src": "11718:18:36" + "src": "11718:18:34" }, { "kind": "number", - "nativeSrc": "11738:2:36", + "nativeSrc": "11738:2:34", "nodeType": "YulLiteral", - "src": "11738:2:36", + "src": "11738:2:34", "type": "", "value": "13" } ], "functionName": { "name": "mstore", - "nativeSrc": "11711:6:36", + "nativeSrc": "11711:6:34", "nodeType": "YulIdentifier", - "src": "11711:6:36" + "src": "11711:6:34" }, - "nativeSrc": "11711:30:36", + "nativeSrc": "11711:30:34", "nodeType": "YulFunctionCall", - "src": "11711:30:36" + "src": "11711:30:34" }, - "nativeSrc": "11711:30:36", + "nativeSrc": "11711:30:34", "nodeType": "YulExpressionStatement", - "src": "11711:30:36" + "src": "11711:30:34" }, { "expression": { @@ -143649,155 +142659,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "11761:9:36", + "nativeSrc": "11761:9:34", "nodeType": "YulIdentifier", - "src": "11761:9:36" + "src": "11761:9:34" }, { "kind": "number", - "nativeSrc": "11772:2:36", + "nativeSrc": "11772:2:34", "nodeType": "YulLiteral", - "src": "11772:2:36", + "src": "11772:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "11757:3:36", + "nativeSrc": "11757:3:34", "nodeType": "YulIdentifier", - "src": "11757:3:36" + "src": "11757:3:34" }, - "nativeSrc": "11757:18:36", + "nativeSrc": "11757:18:34", "nodeType": "YulFunctionCall", - "src": "11757:18:36" + "src": "11757:18:34" }, { "hexValue": "496e76616c6964207072696365", "kind": "string", - "nativeSrc": "11777:15:36", + "nativeSrc": "11777:15:34", "nodeType": "YulLiteral", - "src": "11777:15:36", + "src": "11777:15:34", "type": "", "value": "Invalid price" } ], "functionName": { "name": "mstore", - "nativeSrc": "11750:6:36", + "nativeSrc": "11750:6:34", "nodeType": "YulIdentifier", - "src": "11750:6:36" + "src": "11750:6:34" }, - "nativeSrc": "11750:43:36", + "nativeSrc": "11750:43:34", "nodeType": "YulFunctionCall", - "src": "11750:43:36" + "src": "11750:43:34" }, - "nativeSrc": "11750:43:36", + "nativeSrc": "11750:43:34", "nodeType": "YulExpressionStatement", - "src": "11750:43:36" + "src": "11750:43:34" }, { - "nativeSrc": "11802:26:36", + "nativeSrc": "11802:26:34", "nodeType": "YulAssignment", - "src": "11802:26:36", + "src": "11802:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "11814:9:36", + "nativeSrc": "11814:9:34", "nodeType": "YulIdentifier", - "src": "11814:9:36" + "src": "11814:9:34" }, { "kind": "number", - "nativeSrc": "11825:2:36", + "nativeSrc": "11825:2:34", "nodeType": "YulLiteral", - "src": "11825:2:36", + "src": "11825:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "11810:3:36", + "nativeSrc": "11810:3:34", "nodeType": "YulIdentifier", - "src": "11810:3:36" + "src": "11810:3:34" }, - "nativeSrc": "11810:18:36", + "nativeSrc": "11810:18:34", "nodeType": "YulFunctionCall", - "src": "11810:18:36" + "src": "11810:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "11802:4:36", + "nativeSrc": "11802:4:34", "nodeType": "YulIdentifier", - "src": "11802:4:36" + "src": "11802:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_eaa01effe6abd0543e9529d3961b0f5d26980f0661c156a79b89c39a093463f7__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "11497:337:36", + "nativeSrc": "11497:337:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "11648:9:36", + "nativeSrc": "11648:9:34", "nodeType": "YulTypedName", - "src": "11648:9:36", + "src": "11648:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "11662:4:36", + "nativeSrc": "11662:4:34", "nodeType": "YulTypedName", - "src": "11662:4:36", + "src": "11662:4:34", "type": "" } ], - "src": "11497:337:36" + "src": "11497:337:34" }, { "body": { - "nativeSrc": "12013:230:36", + "nativeSrc": "12013:230:34", "nodeType": "YulBlock", - "src": "12013:230:36", + "src": "12013:230:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "12030:9:36", + "nativeSrc": "12030:9:34", "nodeType": "YulIdentifier", - "src": "12030:9:36" + "src": "12030:9:34" }, { "kind": "number", - "nativeSrc": "12041:2:36", + "nativeSrc": "12041:2:34", "nodeType": "YulLiteral", - "src": "12041:2:36", + "src": "12041:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "12023:6:36", + "nativeSrc": "12023:6:34", "nodeType": "YulIdentifier", - "src": "12023:6:36" + "src": "12023:6:34" }, - "nativeSrc": "12023:21:36", + "nativeSrc": "12023:21:34", "nodeType": "YulFunctionCall", - "src": "12023:21:36" + "src": "12023:21:34" }, - "nativeSrc": "12023:21:36", + "nativeSrc": "12023:21:34", "nodeType": "YulExpressionStatement", - "src": "12023:21:36" + "src": "12023:21:34" }, { "expression": { @@ -143806,51 +142816,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "12064:9:36", + "nativeSrc": "12064:9:34", "nodeType": "YulIdentifier", - "src": "12064:9:36" + "src": "12064:9:34" }, { "kind": "number", - "nativeSrc": "12075:2:36", + "nativeSrc": "12075:2:34", "nodeType": "YulLiteral", - "src": "12075:2:36", + "src": "12075:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "12060:3:36", + "nativeSrc": "12060:3:34", "nodeType": "YulIdentifier", - "src": "12060:3:36" + "src": "12060:3:34" }, - "nativeSrc": "12060:18:36", + "nativeSrc": "12060:18:34", "nodeType": "YulFunctionCall", - "src": "12060:18:36" + "src": "12060:18:34" }, { "kind": "number", - "nativeSrc": "12080:2:36", + "nativeSrc": "12080:2:34", "nodeType": "YulLiteral", - "src": "12080:2:36", + "src": "12080:2:34", "type": "", "value": "40" } ], "functionName": { "name": "mstore", - "nativeSrc": "12053:6:36", + "nativeSrc": "12053:6:34", "nodeType": "YulIdentifier", - "src": "12053:6:36" + "src": "12053:6:34" }, - "nativeSrc": "12053:30:36", + "nativeSrc": "12053:30:34", "nodeType": "YulFunctionCall", - "src": "12053:30:36" + "src": "12053:30:34" }, - "nativeSrc": "12053:30:36", + "nativeSrc": "12053:30:34", "nodeType": "YulExpressionStatement", - "src": "12053:30:36" + "src": "12053:30:34" }, { "expression": { @@ -143859,52 +142869,52 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "12103:9:36", + "nativeSrc": "12103:9:34", "nodeType": "YulIdentifier", - "src": "12103:9:36" + "src": "12103:9:34" }, { "kind": "number", - "nativeSrc": "12114:2:36", + "nativeSrc": "12114:2:34", "nodeType": "YulLiteral", - "src": "12114:2:36", + "src": "12114:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "12099:3:36", + "nativeSrc": "12099:3:34", "nodeType": "YulIdentifier", - "src": "12099:3:36" + "src": "12099:3:34" }, - "nativeSrc": "12099:18:36", + "nativeSrc": "12099:18:34", "nodeType": "YulFunctionCall", - "src": "12099:18:36" + "src": "12099:18:34" }, { "hexValue": "4e6f204554482073686f756c642062652073656e7420666f7220455243323020", "kind": "string", - "nativeSrc": "12119:34:36", + "nativeSrc": "12119:34:34", "nodeType": "YulLiteral", - "src": "12119:34:36", + "src": "12119:34:34", "type": "", "value": "No ETH should be sent for ERC20 " } ], "functionName": { "name": "mstore", - "nativeSrc": "12092:6:36", + "nativeSrc": "12092:6:34", "nodeType": "YulIdentifier", - "src": "12092:6:36" + "src": "12092:6:34" }, - "nativeSrc": "12092:62:36", + "nativeSrc": "12092:62:34", "nodeType": "YulFunctionCall", - "src": "12092:62:36" + "src": "12092:62:34" }, - "nativeSrc": "12092:62:36", + "nativeSrc": "12092:62:34", "nodeType": "YulExpressionStatement", - "src": "12092:62:36" + "src": "12092:62:34" }, { "expression": { @@ -143913,248 +142923,248 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "12174:9:36", + "nativeSrc": "12174:9:34", "nodeType": "YulIdentifier", - "src": "12174:9:36" + "src": "12174:9:34" }, { "kind": "number", - "nativeSrc": "12185:2:36", + "nativeSrc": "12185:2:34", "nodeType": "YulLiteral", - "src": "12185:2:36", + "src": "12185:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "12170:3:36", + "nativeSrc": "12170:3:34", "nodeType": "YulIdentifier", - "src": "12170:3:36" + "src": "12170:3:34" }, - "nativeSrc": "12170:18:36", + "nativeSrc": "12170:18:34", "nodeType": "YulFunctionCall", - "src": "12170:18:36" + "src": "12170:18:34" }, { "hexValue": "7061796d656e7473", "kind": "string", - "nativeSrc": "12190:10:36", + "nativeSrc": "12190:10:34", "nodeType": "YulLiteral", - "src": "12190:10:36", + "src": "12190:10:34", "type": "", "value": "payments" } ], "functionName": { "name": "mstore", - "nativeSrc": "12163:6:36", + "nativeSrc": "12163:6:34", "nodeType": "YulIdentifier", - "src": "12163:6:36" + "src": "12163:6:34" }, - "nativeSrc": "12163:38:36", + "nativeSrc": "12163:38:34", "nodeType": "YulFunctionCall", - "src": "12163:38:36" + "src": "12163:38:34" }, - "nativeSrc": "12163:38:36", + "nativeSrc": "12163:38:34", "nodeType": "YulExpressionStatement", - "src": "12163:38:36" + "src": "12163:38:34" }, { - "nativeSrc": "12210:27:36", + "nativeSrc": "12210:27:34", "nodeType": "YulAssignment", - "src": "12210:27:36", + "src": "12210:27:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "12222:9:36", + "nativeSrc": "12222:9:34", "nodeType": "YulIdentifier", - "src": "12222:9:36" + "src": "12222:9:34" }, { "kind": "number", - "nativeSrc": "12233:3:36", + "nativeSrc": "12233:3:34", "nodeType": "YulLiteral", - "src": "12233:3:36", + "src": "12233:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "12218:3:36", + "nativeSrc": "12218:3:34", "nodeType": "YulIdentifier", - "src": "12218:3:36" + "src": "12218:3:34" }, - "nativeSrc": "12218:19:36", + "nativeSrc": "12218:19:34", "nodeType": "YulFunctionCall", - "src": "12218:19:36" + "src": "12218:19:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "12210:4:36", + "nativeSrc": "12210:4:34", "nodeType": "YulIdentifier", - "src": "12210:4:36" + "src": "12210:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_1b1b03f60ebe259831055a7aaca661444a58af4e39e114790f599b56dce96127__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "11839:404:36", + "nativeSrc": "11839:404:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "11990:9:36", + "nativeSrc": "11990:9:34", "nodeType": "YulTypedName", - "src": "11990:9:36", + "src": "11990:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "12004:4:36", + "nativeSrc": "12004:4:34", "nodeType": "YulTypedName", - "src": "12004:4:36", + "src": "12004:4:34", "type": "" } ], - "src": "11839:404:36" + "src": "11839:404:34" }, { "body": { - "nativeSrc": "12303:325:36", + "nativeSrc": "12303:325:34", "nodeType": "YulBlock", - "src": "12303:325:36", + "src": "12303:325:34", "statements": [ { - "nativeSrc": "12313:22:36", + "nativeSrc": "12313:22:34", "nodeType": "YulAssignment", - "src": "12313:22:36", + "src": "12313:22:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "12327:1:36", + "nativeSrc": "12327:1:34", "nodeType": "YulLiteral", - "src": "12327:1:36", + "src": "12327:1:34", "type": "", "value": "1" }, { "name": "data", - "nativeSrc": "12330:4:36", + "nativeSrc": "12330:4:34", "nodeType": "YulIdentifier", - "src": "12330:4:36" + "src": "12330:4:34" } ], "functionName": { "name": "shr", - "nativeSrc": "12323:3:36", + "nativeSrc": "12323:3:34", "nodeType": "YulIdentifier", - "src": "12323:3:36" + "src": "12323:3:34" }, - "nativeSrc": "12323:12:36", + "nativeSrc": "12323:12:34", "nodeType": "YulFunctionCall", - "src": "12323:12:36" + "src": "12323:12:34" }, "variableNames": [ { "name": "length", - "nativeSrc": "12313:6:36", + "nativeSrc": "12313:6:34", "nodeType": "YulIdentifier", - "src": "12313:6:36" + "src": "12313:6:34" } ] }, { - "nativeSrc": "12344:38:36", + "nativeSrc": "12344:38:34", "nodeType": "YulVariableDeclaration", - "src": "12344:38:36", + "src": "12344:38:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "12374:4:36", + "nativeSrc": "12374:4:34", "nodeType": "YulIdentifier", - "src": "12374:4:36" + "src": "12374:4:34" }, { "kind": "number", - "nativeSrc": "12380:1:36", + "nativeSrc": "12380:1:34", "nodeType": "YulLiteral", - "src": "12380:1:36", + "src": "12380:1:34", "type": "", "value": "1" } ], "functionName": { "name": "and", - "nativeSrc": "12370:3:36", + "nativeSrc": "12370:3:34", "nodeType": "YulIdentifier", - "src": "12370:3:36" + "src": "12370:3:34" }, - "nativeSrc": "12370:12:36", + "nativeSrc": "12370:12:34", "nodeType": "YulFunctionCall", - "src": "12370:12:36" + "src": "12370:12:34" }, "variables": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "12348:18:36", + "nativeSrc": "12348:18:34", "nodeType": "YulTypedName", - "src": "12348:18:36", + "src": "12348:18:34", "type": "" } ] }, { "body": { - "nativeSrc": "12421:31:36", + "nativeSrc": "12421:31:34", "nodeType": "YulBlock", - "src": "12421:31:36", + "src": "12421:31:34", "statements": [ { - "nativeSrc": "12423:27:36", + "nativeSrc": "12423:27:34", "nodeType": "YulAssignment", - "src": "12423:27:36", + "src": "12423:27:34", "value": { "arguments": [ { "name": "length", - "nativeSrc": "12437:6:36", + "nativeSrc": "12437:6:34", "nodeType": "YulIdentifier", - "src": "12437:6:36" + "src": "12437:6:34" }, { "kind": "number", - "nativeSrc": "12445:4:36", + "nativeSrc": "12445:4:34", "nodeType": "YulLiteral", - "src": "12445:4:36", + "src": "12445:4:34", "type": "", "value": "0x7f" } ], "functionName": { "name": "and", - "nativeSrc": "12433:3:36", + "nativeSrc": "12433:3:34", "nodeType": "YulIdentifier", - "src": "12433:3:36" + "src": "12433:3:34" }, - "nativeSrc": "12433:17:36", + "nativeSrc": "12433:17:34", "nodeType": "YulFunctionCall", - "src": "12433:17:36" + "src": "12433:17:34" }, "variableNames": [ { "name": "length", - "nativeSrc": "12423:6:36", + "nativeSrc": "12423:6:34", "nodeType": "YulIdentifier", - "src": "12423:6:36" + "src": "12423:6:34" } ] } @@ -144164,39 +143174,39 @@ "arguments": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "12401:18:36", + "nativeSrc": "12401:18:34", "nodeType": "YulIdentifier", - "src": "12401:18:36" + "src": "12401:18:34" } ], "functionName": { "name": "iszero", - "nativeSrc": "12394:6:36", + "nativeSrc": "12394:6:34", "nodeType": "YulIdentifier", - "src": "12394:6:36" + "src": "12394:6:34" }, - "nativeSrc": "12394:26:36", + "nativeSrc": "12394:26:34", "nodeType": "YulFunctionCall", - "src": "12394:26:36" + "src": "12394:26:34" }, - "nativeSrc": "12391:61:36", + "nativeSrc": "12391:61:34", "nodeType": "YulIf", - "src": "12391:61:36" + "src": "12391:61:34" }, { "body": { - "nativeSrc": "12511:111:36", + "nativeSrc": "12511:111:34", "nodeType": "YulBlock", - "src": "12511:111:36", + "src": "12511:111:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "12532:1:36", + "nativeSrc": "12532:1:34", "nodeType": "YulLiteral", - "src": "12532:1:36", + "src": "12532:1:34", "type": "", "value": "0" }, @@ -144204,113 +143214,113 @@ "arguments": [ { "kind": "number", - "nativeSrc": "12539:3:36", + "nativeSrc": "12539:3:34", "nodeType": "YulLiteral", - "src": "12539:3:36", + "src": "12539:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "12544:10:36", + "nativeSrc": "12544:10:34", "nodeType": "YulLiteral", - "src": "12544:10:36", + "src": "12544:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "12535:3:36", + "nativeSrc": "12535:3:34", "nodeType": "YulIdentifier", - "src": "12535:3:36" + "src": "12535:3:34" }, - "nativeSrc": "12535:20:36", + "nativeSrc": "12535:20:34", "nodeType": "YulFunctionCall", - "src": "12535:20:36" + "src": "12535:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "12525:6:36", + "nativeSrc": "12525:6:34", "nodeType": "YulIdentifier", - "src": "12525:6:36" + "src": "12525:6:34" }, - "nativeSrc": "12525:31:36", + "nativeSrc": "12525:31:34", "nodeType": "YulFunctionCall", - "src": "12525:31:36" + "src": "12525:31:34" }, - "nativeSrc": "12525:31:36", + "nativeSrc": "12525:31:34", "nodeType": "YulExpressionStatement", - "src": "12525:31:36" + "src": "12525:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "12576:1:36", + "nativeSrc": "12576:1:34", "nodeType": "YulLiteral", - "src": "12576:1:36", + "src": "12576:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "12579:4:36", + "nativeSrc": "12579:4:34", "nodeType": "YulLiteral", - "src": "12579:4:36", + "src": "12579:4:34", "type": "", "value": "0x22" } ], "functionName": { "name": "mstore", - "nativeSrc": "12569:6:36", + "nativeSrc": "12569:6:34", "nodeType": "YulIdentifier", - "src": "12569:6:36" + "src": "12569:6:34" }, - "nativeSrc": "12569:15:36", + "nativeSrc": "12569:15:34", "nodeType": "YulFunctionCall", - "src": "12569:15:36" + "src": "12569:15:34" }, - "nativeSrc": "12569:15:36", + "nativeSrc": "12569:15:34", "nodeType": "YulExpressionStatement", - "src": "12569:15:36" + "src": "12569:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "12604:1:36", + "nativeSrc": "12604:1:34", "nodeType": "YulLiteral", - "src": "12604:1:36", + "src": "12604:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "12607:4:36", + "nativeSrc": "12607:4:34", "nodeType": "YulLiteral", - "src": "12607:4:36", + "src": "12607:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "12597:6:36", + "nativeSrc": "12597:6:34", "nodeType": "YulIdentifier", - "src": "12597:6:36" + "src": "12597:6:34" }, - "nativeSrc": "12597:15:36", + "nativeSrc": "12597:15:34", "nodeType": "YulFunctionCall", - "src": "12597:15:36" + "src": "12597:15:34" }, - "nativeSrc": "12597:15:36", + "nativeSrc": "12597:15:34", "nodeType": "YulExpressionStatement", - "src": "12597:15:36" + "src": "12597:15:34" } ] }, @@ -144318,212 +143328,212 @@ "arguments": [ { "name": "outOfPlaceEncoding", - "nativeSrc": "12467:18:36", + "nativeSrc": "12467:18:34", "nodeType": "YulIdentifier", - "src": "12467:18:36" + "src": "12467:18:34" }, { "arguments": [ { "name": "length", - "nativeSrc": "12490:6:36", + "nativeSrc": "12490:6:34", "nodeType": "YulIdentifier", - "src": "12490:6:36" + "src": "12490:6:34" }, { "kind": "number", - "nativeSrc": "12498:2:36", + "nativeSrc": "12498:2:34", "nodeType": "YulLiteral", - "src": "12498:2:36", + "src": "12498:2:34", "type": "", "value": "32" } ], "functionName": { "name": "lt", - "nativeSrc": "12487:2:36", + "nativeSrc": "12487:2:34", "nodeType": "YulIdentifier", - "src": "12487:2:36" + "src": "12487:2:34" }, - "nativeSrc": "12487:14:36", + "nativeSrc": "12487:14:34", "nodeType": "YulFunctionCall", - "src": "12487:14:36" + "src": "12487:14:34" } ], "functionName": { "name": "eq", - "nativeSrc": "12464:2:36", + "nativeSrc": "12464:2:34", "nodeType": "YulIdentifier", - "src": "12464:2:36" + "src": "12464:2:34" }, - "nativeSrc": "12464:38:36", + "nativeSrc": "12464:38:34", "nodeType": "YulFunctionCall", - "src": "12464:38:36" + "src": "12464:38:34" }, - "nativeSrc": "12461:161:36", + "nativeSrc": "12461:161:34", "nodeType": "YulIf", - "src": "12461:161:36" + "src": "12461:161:34" } ] }, "name": "extract_byte_array_length", - "nativeSrc": "12248:380:36", + "nativeSrc": "12248:380:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "data", - "nativeSrc": "12283:4:36", + "nativeSrc": "12283:4:34", "nodeType": "YulTypedName", - "src": "12283:4:36", + "src": "12283:4:34", "type": "" } ], "returnVariables": [ { "name": "length", - "nativeSrc": "12292:6:36", + "nativeSrc": "12292:6:34", "nodeType": "YulTypedName", - "src": "12292:6:36", + "src": "12292:6:34", "type": "" } ], - "src": "12248:380:36" + "src": "12248:380:34" }, { "body": { - "nativeSrc": "12689:65:36", + "nativeSrc": "12689:65:34", "nodeType": "YulBlock", - "src": "12689:65:36", + "src": "12689:65:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "12706:1:36", + "nativeSrc": "12706:1:34", "nodeType": "YulLiteral", - "src": "12706:1:36", + "src": "12706:1:34", "type": "", "value": "0" }, { "name": "ptr", - "nativeSrc": "12709:3:36", + "nativeSrc": "12709:3:34", "nodeType": "YulIdentifier", - "src": "12709:3:36" + "src": "12709:3:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "12699:6:36", + "nativeSrc": "12699:6:34", "nodeType": "YulIdentifier", - "src": "12699:6:36" + "src": "12699:6:34" }, - "nativeSrc": "12699:14:36", + "nativeSrc": "12699:14:34", "nodeType": "YulFunctionCall", - "src": "12699:14:36" + "src": "12699:14:34" }, - "nativeSrc": "12699:14:36", + "nativeSrc": "12699:14:34", "nodeType": "YulExpressionStatement", - "src": "12699:14:36" + "src": "12699:14:34" }, { - "nativeSrc": "12722:26:36", + "nativeSrc": "12722:26:34", "nodeType": "YulAssignment", - "src": "12722:26:36", + "src": "12722:26:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "12740:1:36", + "nativeSrc": "12740:1:34", "nodeType": "YulLiteral", - "src": "12740:1:36", + "src": "12740:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "12743:4:36", + "nativeSrc": "12743:4:34", "nodeType": "YulLiteral", - "src": "12743:4:36", + "src": "12743:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "12730:9:36", + "nativeSrc": "12730:9:34", "nodeType": "YulIdentifier", - "src": "12730:9:36" + "src": "12730:9:34" }, - "nativeSrc": "12730:18:36", + "nativeSrc": "12730:18:34", "nodeType": "YulFunctionCall", - "src": "12730:18:36" + "src": "12730:18:34" }, "variableNames": [ { "name": "data", - "nativeSrc": "12722:4:36", + "nativeSrc": "12722:4:34", "nodeType": "YulIdentifier", - "src": "12722:4:36" + "src": "12722:4:34" } ] } ] }, "name": "array_dataslot_string_storage", - "nativeSrc": "12633:121:36", + "nativeSrc": "12633:121:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "ptr", - "nativeSrc": "12672:3:36", + "nativeSrc": "12672:3:34", "nodeType": "YulTypedName", - "src": "12672:3:36", + "src": "12672:3:34", "type": "" } ], "returnVariables": [ { "name": "data", - "nativeSrc": "12680:4:36", + "nativeSrc": "12680:4:34", "nodeType": "YulTypedName", - "src": "12680:4:36", + "src": "12680:4:34", "type": "" } ], - "src": "12633:121:36" + "src": "12633:121:34" }, { "body": { - "nativeSrc": "12840:462:36", + "nativeSrc": "12840:462:34", "nodeType": "YulBlock", - "src": "12840:462:36", + "src": "12840:462:34", "statements": [ { "body": { - "nativeSrc": "12873:423:36", + "nativeSrc": "12873:423:34", "nodeType": "YulBlock", - "src": "12873:423:36", + "src": "12873:423:34", "statements": [ { - "nativeSrc": "12887:11:36", + "nativeSrc": "12887:11:34", "nodeType": "YulVariableDeclaration", - "src": "12887:11:36", + "src": "12887:11:34", "value": { "kind": "number", - "nativeSrc": "12897:1:36", + "nativeSrc": "12897:1:34", "nodeType": "YulLiteral", - "src": "12897:1:36", + "src": "12897:1:34", "type": "", "value": "0" }, "variables": [ { "name": "_1", - "nativeSrc": "12891:2:36", + "nativeSrc": "12891:2:34", "nodeType": "YulTypedName", - "src": "12891:2:36", + "src": "12891:2:34", "type": "" } ] @@ -144533,95 +143543,95 @@ "arguments": [ { "kind": "number", - "nativeSrc": "12918:1:36", + "nativeSrc": "12918:1:34", "nodeType": "YulLiteral", - "src": "12918:1:36", + "src": "12918:1:34", "type": "", "value": "0" }, { "name": "array", - "nativeSrc": "12921:5:36", + "nativeSrc": "12921:5:34", "nodeType": "YulIdentifier", - "src": "12921:5:36" + "src": "12921:5:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "12911:6:36", + "nativeSrc": "12911:6:34", "nodeType": "YulIdentifier", - "src": "12911:6:36" + "src": "12911:6:34" }, - "nativeSrc": "12911:16:36", + "nativeSrc": "12911:16:34", "nodeType": "YulFunctionCall", - "src": "12911:16:36" + "src": "12911:16:34" }, - "nativeSrc": "12911:16:36", + "nativeSrc": "12911:16:34", "nodeType": "YulExpressionStatement", - "src": "12911:16:36" + "src": "12911:16:34" }, { - "nativeSrc": "12940:30:36", + "nativeSrc": "12940:30:34", "nodeType": "YulVariableDeclaration", - "src": "12940:30:36", + "src": "12940:30:34", "value": { "arguments": [ { "kind": "number", - "nativeSrc": "12962:1:36", + "nativeSrc": "12962:1:34", "nodeType": "YulLiteral", - "src": "12962:1:36", + "src": "12962:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "12965:4:36", + "nativeSrc": "12965:4:34", "nodeType": "YulLiteral", - "src": "12965:4:36", + "src": "12965:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "keccak256", - "nativeSrc": "12952:9:36", + "nativeSrc": "12952:9:34", "nodeType": "YulIdentifier", - "src": "12952:9:36" + "src": "12952:9:34" }, - "nativeSrc": "12952:18:36", + "nativeSrc": "12952:18:34", "nodeType": "YulFunctionCall", - "src": "12952:18:36" + "src": "12952:18:34" }, "variables": [ { "name": "data", - "nativeSrc": "12944:4:36", + "nativeSrc": "12944:4:34", "nodeType": "YulTypedName", - "src": "12944:4:36", + "src": "12944:4:34", "type": "" } ] }, { - "nativeSrc": "12983:57:36", + "nativeSrc": "12983:57:34", "nodeType": "YulVariableDeclaration", - "src": "12983:57:36", + "src": "12983:57:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "13006:4:36", + "nativeSrc": "13006:4:34", "nodeType": "YulIdentifier", - "src": "13006:4:36" + "src": "13006:4:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "13016:1:36", + "nativeSrc": "13016:1:34", "nodeType": "YulLiteral", - "src": "13016:1:36", + "src": "13016:1:34", "type": "", "value": "5" }, @@ -144629,83 +143639,83 @@ "arguments": [ { "name": "startIndex", - "nativeSrc": "13023:10:36", + "nativeSrc": "13023:10:34", "nodeType": "YulIdentifier", - "src": "13023:10:36" + "src": "13023:10:34" }, { "kind": "number", - "nativeSrc": "13035:2:36", + "nativeSrc": "13035:2:34", "nodeType": "YulLiteral", - "src": "13035:2:36", + "src": "13035:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "13019:3:36", + "nativeSrc": "13019:3:34", "nodeType": "YulIdentifier", - "src": "13019:3:36" + "src": "13019:3:34" }, - "nativeSrc": "13019:19:36", + "nativeSrc": "13019:19:34", "nodeType": "YulFunctionCall", - "src": "13019:19:36" + "src": "13019:19:34" } ], "functionName": { "name": "shr", - "nativeSrc": "13012:3:36", + "nativeSrc": "13012:3:34", "nodeType": "YulIdentifier", - "src": "13012:3:36" + "src": "13012:3:34" }, - "nativeSrc": "13012:27:36", + "nativeSrc": "13012:27:34", "nodeType": "YulFunctionCall", - "src": "13012:27:36" + "src": "13012:27:34" } ], "functionName": { "name": "add", - "nativeSrc": "13002:3:36", + "nativeSrc": "13002:3:34", "nodeType": "YulIdentifier", - "src": "13002:3:36" + "src": "13002:3:34" }, - "nativeSrc": "13002:38:36", + "nativeSrc": "13002:38:34", "nodeType": "YulFunctionCall", - "src": "13002:38:36" + "src": "13002:38:34" }, "variables": [ { "name": "deleteStart", - "nativeSrc": "12987:11:36", + "nativeSrc": "12987:11:34", "nodeType": "YulTypedName", - "src": "12987:11:36", + "src": "12987:11:34", "type": "" } ] }, { "body": { - "nativeSrc": "13077:23:36", + "nativeSrc": "13077:23:34", "nodeType": "YulBlock", - "src": "13077:23:36", + "src": "13077:23:34", "statements": [ { - "nativeSrc": "13079:19:36", + "nativeSrc": "13079:19:34", "nodeType": "YulAssignment", - "src": "13079:19:36", + "src": "13079:19:34", "value": { "name": "data", - "nativeSrc": "13094:4:36", + "nativeSrc": "13094:4:34", "nodeType": "YulIdentifier", - "src": "13094:4:36" + "src": "13094:4:34" }, "variableNames": [ { "name": "deleteStart", - "nativeSrc": "13079:11:36", + "nativeSrc": "13079:11:34", "nodeType": "YulIdentifier", - "src": "13079:11:36" + "src": "13079:11:34" } ] } @@ -144715,52 +143725,52 @@ "arguments": [ { "name": "startIndex", - "nativeSrc": "13059:10:36", + "nativeSrc": "13059:10:34", "nodeType": "YulIdentifier", - "src": "13059:10:36" + "src": "13059:10:34" }, { "kind": "number", - "nativeSrc": "13071:4:36", + "nativeSrc": "13071:4:34", "nodeType": "YulLiteral", - "src": "13071:4:36", + "src": "13071:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "lt", - "nativeSrc": "13056:2:36", + "nativeSrc": "13056:2:34", "nodeType": "YulIdentifier", - "src": "13056:2:36" + "src": "13056:2:34" }, - "nativeSrc": "13056:20:36", + "nativeSrc": "13056:20:34", "nodeType": "YulFunctionCall", - "src": "13056:20:36" + "src": "13056:20:34" }, - "nativeSrc": "13053:47:36", + "nativeSrc": "13053:47:34", "nodeType": "YulIf", - "src": "13053:47:36" + "src": "13053:47:34" }, { - "nativeSrc": "13113:41:36", + "nativeSrc": "13113:41:34", "nodeType": "YulVariableDeclaration", - "src": "13113:41:36", + "src": "13113:41:34", "value": { "arguments": [ { "name": "data", - "nativeSrc": "13127:4:36", + "nativeSrc": "13127:4:34", "nodeType": "YulIdentifier", - "src": "13127:4:36" + "src": "13127:4:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "13137:1:36", + "nativeSrc": "13137:1:34", "nodeType": "YulLiteral", - "src": "13137:1:36", + "src": "13137:1:34", "type": "", "value": "5" }, @@ -144768,116 +143778,116 @@ "arguments": [ { "name": "len", - "nativeSrc": "13144:3:36", + "nativeSrc": "13144:3:34", "nodeType": "YulIdentifier", - "src": "13144:3:36" + "src": "13144:3:34" }, { "kind": "number", - "nativeSrc": "13149:2:36", + "nativeSrc": "13149:2:34", "nodeType": "YulLiteral", - "src": "13149:2:36", + "src": "13149:2:34", "type": "", "value": "31" } ], "functionName": { "name": "add", - "nativeSrc": "13140:3:36", + "nativeSrc": "13140:3:34", "nodeType": "YulIdentifier", - "src": "13140:3:36" + "src": "13140:3:34" }, - "nativeSrc": "13140:12:36", + "nativeSrc": "13140:12:34", "nodeType": "YulFunctionCall", - "src": "13140:12:36" + "src": "13140:12:34" } ], "functionName": { "name": "shr", - "nativeSrc": "13133:3:36", + "nativeSrc": "13133:3:34", "nodeType": "YulIdentifier", - "src": "13133:3:36" + "src": "13133:3:34" }, - "nativeSrc": "13133:20:36", + "nativeSrc": "13133:20:34", "nodeType": "YulFunctionCall", - "src": "13133:20:36" + "src": "13133:20:34" } ], "functionName": { "name": "add", - "nativeSrc": "13123:3:36", + "nativeSrc": "13123:3:34", "nodeType": "YulIdentifier", - "src": "13123:3:36" + "src": "13123:3:34" }, - "nativeSrc": "13123:31:36", + "nativeSrc": "13123:31:34", "nodeType": "YulFunctionCall", - "src": "13123:31:36" + "src": "13123:31:34" }, "variables": [ { "name": "_2", - "nativeSrc": "13117:2:36", + "nativeSrc": "13117:2:34", "nodeType": "YulTypedName", - "src": "13117:2:36", + "src": "13117:2:34", "type": "" } ] }, { - "nativeSrc": "13167:24:36", + "nativeSrc": "13167:24:34", "nodeType": "YulVariableDeclaration", - "src": "13167:24:36", + "src": "13167:24:34", "value": { "name": "deleteStart", - "nativeSrc": "13180:11:36", + "nativeSrc": "13180:11:34", "nodeType": "YulIdentifier", - "src": "13180:11:36" + "src": "13180:11:34" }, "variables": [ { "name": "start", - "nativeSrc": "13171:5:36", + "nativeSrc": "13171:5:34", "nodeType": "YulTypedName", - "src": "13171:5:36", + "src": "13171:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "13265:21:36", + "nativeSrc": "13265:21:34", "nodeType": "YulBlock", - "src": "13265:21:36", + "src": "13265:21:34", "statements": [ { "expression": { "arguments": [ { "name": "start", - "nativeSrc": "13274:5:36", + "nativeSrc": "13274:5:34", "nodeType": "YulIdentifier", - "src": "13274:5:36" + "src": "13274:5:34" }, { "name": "_1", - "nativeSrc": "13281:2:36", + "nativeSrc": "13281:2:34", "nodeType": "YulIdentifier", - "src": "13281:2:36" + "src": "13281:2:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "13267:6:36", + "nativeSrc": "13267:6:34", "nodeType": "YulIdentifier", - "src": "13267:6:36" + "src": "13267:6:34" }, - "nativeSrc": "13267:17:36", + "nativeSrc": "13267:17:34", "nodeType": "YulFunctionCall", - "src": "13267:17:36" + "src": "13267:17:34" }, - "nativeSrc": "13267:17:36", + "nativeSrc": "13267:17:34", "nodeType": "YulExpressionStatement", - "src": "13267:17:36" + "src": "13267:17:34" } ] }, @@ -144885,83 +143895,83 @@ "arguments": [ { "name": "start", - "nativeSrc": "13215:5:36", + "nativeSrc": "13215:5:34", "nodeType": "YulIdentifier", - "src": "13215:5:36" + "src": "13215:5:34" }, { "name": "_2", - "nativeSrc": "13222:2:36", + "nativeSrc": "13222:2:34", "nodeType": "YulIdentifier", - "src": "13222:2:36" + "src": "13222:2:34" } ], "functionName": { "name": "lt", - "nativeSrc": "13212:2:36", + "nativeSrc": "13212:2:34", "nodeType": "YulIdentifier", - "src": "13212:2:36" + "src": "13212:2:34" }, - "nativeSrc": "13212:13:36", + "nativeSrc": "13212:13:34", "nodeType": "YulFunctionCall", - "src": "13212:13:36" + "src": "13212:13:34" }, - "nativeSrc": "13204:82:36", + "nativeSrc": "13204:82:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "13226:26:36", + "nativeSrc": "13226:26:34", "nodeType": "YulBlock", - "src": "13226:26:36", + "src": "13226:26:34", "statements": [ { - "nativeSrc": "13228:22:36", + "nativeSrc": "13228:22:34", "nodeType": "YulAssignment", - "src": "13228:22:36", + "src": "13228:22:34", "value": { "arguments": [ { "name": "start", - "nativeSrc": "13241:5:36", + "nativeSrc": "13241:5:34", "nodeType": "YulIdentifier", - "src": "13241:5:36" + "src": "13241:5:34" }, { "kind": "number", - "nativeSrc": "13248:1:36", + "nativeSrc": "13248:1:34", "nodeType": "YulLiteral", - "src": "13248:1:36", + "src": "13248:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "13237:3:36", + "nativeSrc": "13237:3:34", "nodeType": "YulIdentifier", - "src": "13237:3:36" + "src": "13237:3:34" }, - "nativeSrc": "13237:13:36", + "nativeSrc": "13237:13:34", "nodeType": "YulFunctionCall", - "src": "13237:13:36" + "src": "13237:13:34" }, "variableNames": [ { "name": "start", - "nativeSrc": "13228:5:36", + "nativeSrc": "13228:5:34", "nodeType": "YulIdentifier", - "src": "13228:5:36" + "src": "13228:5:34" } ] } ] }, "pre": { - "nativeSrc": "13208:3:36", + "nativeSrc": "13208:3:34", "nodeType": "YulBlock", - "src": "13208:3:36", + "src": "13208:3:34", "statements": [] }, - "src": "13204:82:36" + "src": "13204:82:34" } ] }, @@ -144969,82 +143979,82 @@ "arguments": [ { "name": "len", - "nativeSrc": "12856:3:36", + "nativeSrc": "12856:3:34", "nodeType": "YulIdentifier", - "src": "12856:3:36" + "src": "12856:3:34" }, { "kind": "number", - "nativeSrc": "12861:2:36", + "nativeSrc": "12861:2:34", "nodeType": "YulLiteral", - "src": "12861:2:36", + "src": "12861:2:34", "type": "", "value": "31" } ], "functionName": { "name": "gt", - "nativeSrc": "12853:2:36", + "nativeSrc": "12853:2:34", "nodeType": "YulIdentifier", - "src": "12853:2:36" + "src": "12853:2:34" }, - "nativeSrc": "12853:11:36", + "nativeSrc": "12853:11:34", "nodeType": "YulFunctionCall", - "src": "12853:11:36" + "src": "12853:11:34" }, - "nativeSrc": "12850:446:36", + "nativeSrc": "12850:446:34", "nodeType": "YulIf", - "src": "12850:446:36" + "src": "12850:446:34" } ] }, "name": "clean_up_bytearray_end_slots_string_storage", - "nativeSrc": "12759:543:36", + "nativeSrc": "12759:543:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "array", - "nativeSrc": "12812:5:36", + "nativeSrc": "12812:5:34", "nodeType": "YulTypedName", - "src": "12812:5:36", + "src": "12812:5:34", "type": "" }, { "name": "len", - "nativeSrc": "12819:3:36", + "nativeSrc": "12819:3:34", "nodeType": "YulTypedName", - "src": "12819:3:36", + "src": "12819:3:34", "type": "" }, { "name": "startIndex", - "nativeSrc": "12824:10:36", + "nativeSrc": "12824:10:34", "nodeType": "YulTypedName", - "src": "12824:10:36", + "src": "12824:10:34", "type": "" } ], - "src": "12759:543:36" + "src": "12759:543:34" }, { "body": { - "nativeSrc": "13392:81:36", + "nativeSrc": "13392:81:34", "nodeType": "YulBlock", - "src": "13392:81:36", + "src": "13392:81:34", "statements": [ { - "nativeSrc": "13402:65:36", + "nativeSrc": "13402:65:34", "nodeType": "YulAssignment", - "src": "13402:65:36", + "src": "13402:65:34", "value": { "arguments": [ { "arguments": [ { "name": "data", - "nativeSrc": "13417:4:36", + "nativeSrc": "13417:4:34", "nodeType": "YulIdentifier", - "src": "13417:4:36" + "src": "13417:4:34" }, { "arguments": [ @@ -145054,223 +144064,223 @@ "arguments": [ { "kind": "number", - "nativeSrc": "13435:1:36", + "nativeSrc": "13435:1:34", "nodeType": "YulLiteral", - "src": "13435:1:36", + "src": "13435:1:34", "type": "", "value": "3" }, { "name": "len", - "nativeSrc": "13438:3:36", + "nativeSrc": "13438:3:34", "nodeType": "YulIdentifier", - "src": "13438:3:36" + "src": "13438:3:34" } ], "functionName": { "name": "shl", - "nativeSrc": "13431:3:36", + "nativeSrc": "13431:3:34", "nodeType": "YulIdentifier", - "src": "13431:3:36" + "src": "13431:3:34" }, - "nativeSrc": "13431:11:36", + "nativeSrc": "13431:11:34", "nodeType": "YulFunctionCall", - "src": "13431:11:36" + "src": "13431:11:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "13448:1:36", + "nativeSrc": "13448:1:34", "nodeType": "YulLiteral", - "src": "13448:1:36", + "src": "13448:1:34", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "13444:3:36", + "nativeSrc": "13444:3:34", "nodeType": "YulIdentifier", - "src": "13444:3:36" + "src": "13444:3:34" }, - "nativeSrc": "13444:6:36", + "nativeSrc": "13444:6:34", "nodeType": "YulFunctionCall", - "src": "13444:6:36" + "src": "13444:6:34" } ], "functionName": { "name": "shr", - "nativeSrc": "13427:3:36", + "nativeSrc": "13427:3:34", "nodeType": "YulIdentifier", - "src": "13427:3:36" + "src": "13427:3:34" }, - "nativeSrc": "13427:24:36", + "nativeSrc": "13427:24:34", "nodeType": "YulFunctionCall", - "src": "13427:24:36" + "src": "13427:24:34" } ], "functionName": { "name": "not", - "nativeSrc": "13423:3:36", + "nativeSrc": "13423:3:34", "nodeType": "YulIdentifier", - "src": "13423:3:36" + "src": "13423:3:34" }, - "nativeSrc": "13423:29:36", + "nativeSrc": "13423:29:34", "nodeType": "YulFunctionCall", - "src": "13423:29:36" + "src": "13423:29:34" } ], "functionName": { "name": "and", - "nativeSrc": "13413:3:36", + "nativeSrc": "13413:3:34", "nodeType": "YulIdentifier", - "src": "13413:3:36" + "src": "13413:3:34" }, - "nativeSrc": "13413:40:36", + "nativeSrc": "13413:40:34", "nodeType": "YulFunctionCall", - "src": "13413:40:36" + "src": "13413:40:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "13459:1:36", + "nativeSrc": "13459:1:34", "nodeType": "YulLiteral", - "src": "13459:1:36", + "src": "13459:1:34", "type": "", "value": "1" }, { "name": "len", - "nativeSrc": "13462:3:36", + "nativeSrc": "13462:3:34", "nodeType": "YulIdentifier", - "src": "13462:3:36" + "src": "13462:3:34" } ], "functionName": { "name": "shl", - "nativeSrc": "13455:3:36", + "nativeSrc": "13455:3:34", "nodeType": "YulIdentifier", - "src": "13455:3:36" + "src": "13455:3:34" }, - "nativeSrc": "13455:11:36", + "nativeSrc": "13455:11:34", "nodeType": "YulFunctionCall", - "src": "13455:11:36" + "src": "13455:11:34" } ], "functionName": { "name": "or", - "nativeSrc": "13410:2:36", + "nativeSrc": "13410:2:34", "nodeType": "YulIdentifier", - "src": "13410:2:36" + "src": "13410:2:34" }, - "nativeSrc": "13410:57:36", + "nativeSrc": "13410:57:34", "nodeType": "YulFunctionCall", - "src": "13410:57:36" + "src": "13410:57:34" }, "variableNames": [ { "name": "used", - "nativeSrc": "13402:4:36", + "nativeSrc": "13402:4:34", "nodeType": "YulIdentifier", - "src": "13402:4:36" + "src": "13402:4:34" } ] } ] }, "name": "extract_used_part_and_set_length_of_short_byte_array", - "nativeSrc": "13307:166:36", + "nativeSrc": "13307:166:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "data", - "nativeSrc": "13369:4:36", + "nativeSrc": "13369:4:34", "nodeType": "YulTypedName", - "src": "13369:4:36", + "src": "13369:4:34", "type": "" }, { "name": "len", - "nativeSrc": "13375:3:36", + "nativeSrc": "13375:3:34", "nodeType": "YulTypedName", - "src": "13375:3:36", + "src": "13375:3:34", "type": "" } ], "returnVariables": [ { "name": "used", - "nativeSrc": "13383:4:36", + "nativeSrc": "13383:4:34", "nodeType": "YulTypedName", - "src": "13383:4:36", + "src": "13383:4:34", "type": "" } ], - "src": "13307:166:36" + "src": "13307:166:34" }, { "body": { - "nativeSrc": "13574:1249:36", + "nativeSrc": "13574:1249:34", "nodeType": "YulBlock", - "src": "13574:1249:36", + "src": "13574:1249:34", "statements": [ { - "nativeSrc": "13584:24:36", + "nativeSrc": "13584:24:34", "nodeType": "YulVariableDeclaration", - "src": "13584:24:36", + "src": "13584:24:34", "value": { "arguments": [ { "name": "src", - "nativeSrc": "13604:3:36", + "nativeSrc": "13604:3:34", "nodeType": "YulIdentifier", - "src": "13604:3:36" + "src": "13604:3:34" } ], "functionName": { "name": "mload", - "nativeSrc": "13598:5:36", + "nativeSrc": "13598:5:34", "nodeType": "YulIdentifier", - "src": "13598:5:36" + "src": "13598:5:34" }, - "nativeSrc": "13598:10:36", + "nativeSrc": "13598:10:34", "nodeType": "YulFunctionCall", - "src": "13598:10:36" + "src": "13598:10:34" }, "variables": [ { "name": "newLen", - "nativeSrc": "13588:6:36", + "nativeSrc": "13588:6:34", "nodeType": "YulTypedName", - "src": "13588:6:36", + "src": "13588:6:34", "type": "" } ] }, { "body": { - "nativeSrc": "13651:22:36", + "nativeSrc": "13651:22:34", "nodeType": "YulBlock", - "src": "13651:22:36", + "src": "13651:22:34", "statements": [ { "expression": { "arguments": [], "functionName": { "name": "panic_error_0x41", - "nativeSrc": "13653:16:36", + "nativeSrc": "13653:16:34", "nodeType": "YulIdentifier", - "src": "13653:16:36" + "src": "13653:16:34" }, - "nativeSrc": "13653:18:36", + "nativeSrc": "13653:18:34", "nodeType": "YulFunctionCall", - "src": "13653:18:36" + "src": "13653:18:34" }, - "nativeSrc": "13653:18:36", + "nativeSrc": "13653:18:34", "nodeType": "YulExpressionStatement", - "src": "13653:18:36" + "src": "13653:18:34" } ] }, @@ -145278,41 +144288,41 @@ "arguments": [ { "name": "newLen", - "nativeSrc": "13623:6:36", + "nativeSrc": "13623:6:34", "nodeType": "YulIdentifier", - "src": "13623:6:36" + "src": "13623:6:34" }, { "kind": "number", - "nativeSrc": "13631:18:36", + "nativeSrc": "13631:18:34", "nodeType": "YulLiteral", - "src": "13631:18:36", + "src": "13631:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "gt", - "nativeSrc": "13620:2:36", + "nativeSrc": "13620:2:34", "nodeType": "YulIdentifier", - "src": "13620:2:36" + "src": "13620:2:34" }, - "nativeSrc": "13620:30:36", + "nativeSrc": "13620:30:34", "nodeType": "YulFunctionCall", - "src": "13620:30:36" + "src": "13620:30:34" }, - "nativeSrc": "13617:56:36", + "nativeSrc": "13617:56:34", "nodeType": "YulIf", - "src": "13617:56:36" + "src": "13617:56:34" }, { "expression": { "arguments": [ { "name": "slot", - "nativeSrc": "13726:4:36", + "nativeSrc": "13726:4:34", "nodeType": "YulIdentifier", - "src": "13726:4:36" + "src": "13726:4:34" }, { "arguments": [ @@ -145320,115 +144330,115 @@ "arguments": [ { "name": "slot", - "nativeSrc": "13764:4:36", + "nativeSrc": "13764:4:34", "nodeType": "YulIdentifier", - "src": "13764:4:36" + "src": "13764:4:34" } ], "functionName": { "name": "sload", - "nativeSrc": "13758:5:36", + "nativeSrc": "13758:5:34", "nodeType": "YulIdentifier", - "src": "13758:5:36" + "src": "13758:5:34" }, - "nativeSrc": "13758:11:36", + "nativeSrc": "13758:11:34", "nodeType": "YulFunctionCall", - "src": "13758:11:36" + "src": "13758:11:34" } ], "functionName": { "name": "extract_byte_array_length", - "nativeSrc": "13732:25:36", + "nativeSrc": "13732:25:34", "nodeType": "YulIdentifier", - "src": "13732:25:36" + "src": "13732:25:34" }, - "nativeSrc": "13732:38:36", + "nativeSrc": "13732:38:34", "nodeType": "YulFunctionCall", - "src": "13732:38:36" + "src": "13732:38:34" }, { "name": "newLen", - "nativeSrc": "13772:6:36", + "nativeSrc": "13772:6:34", "nodeType": "YulIdentifier", - "src": "13772:6:36" + "src": "13772:6:34" } ], "functionName": { "name": "clean_up_bytearray_end_slots_string_storage", - "nativeSrc": "13682:43:36", + "nativeSrc": "13682:43:34", "nodeType": "YulIdentifier", - "src": "13682:43:36" + "src": "13682:43:34" }, - "nativeSrc": "13682:97:36", + "nativeSrc": "13682:97:34", "nodeType": "YulFunctionCall", - "src": "13682:97:36" + "src": "13682:97:34" }, - "nativeSrc": "13682:97:36", + "nativeSrc": "13682:97:34", "nodeType": "YulExpressionStatement", - "src": "13682:97:36" + "src": "13682:97:34" }, { - "nativeSrc": "13788:18:36", + "nativeSrc": "13788:18:34", "nodeType": "YulVariableDeclaration", - "src": "13788:18:36", + "src": "13788:18:34", "value": { "kind": "number", - "nativeSrc": "13805:1:36", + "nativeSrc": "13805:1:34", "nodeType": "YulLiteral", - "src": "13805:1:36", + "src": "13805:1:34", "type": "", "value": "0" }, "variables": [ { "name": "srcOffset", - "nativeSrc": "13792:9:36", + "nativeSrc": "13792:9:34", "nodeType": "YulTypedName", - "src": "13792:9:36", + "src": "13792:9:34", "type": "" } ] }, { - "nativeSrc": "13815:23:36", + "nativeSrc": "13815:23:34", "nodeType": "YulVariableDeclaration", - "src": "13815:23:36", + "src": "13815:23:34", "value": { "kind": "number", - "nativeSrc": "13834:4:36", + "nativeSrc": "13834:4:34", "nodeType": "YulLiteral", - "src": "13834:4:36", + "src": "13834:4:34", "type": "", "value": "0x20" }, "variables": [ { "name": "srcOffset_1", - "nativeSrc": "13819:11:36", + "nativeSrc": "13819:11:34", "nodeType": "YulTypedName", - "src": "13819:11:36", + "src": "13819:11:34", "type": "" } ] }, { - "nativeSrc": "13847:17:36", + "nativeSrc": "13847:17:34", "nodeType": "YulAssignment", - "src": "13847:17:36", + "src": "13847:17:34", "value": { "kind": "number", - "nativeSrc": "13860:4:36", + "nativeSrc": "13860:4:34", "nodeType": "YulLiteral", - "src": "13860:4:36", + "src": "13860:4:34", "type": "", "value": "0x20" }, "variableNames": [ { "name": "srcOffset", - "nativeSrc": "13847:9:36", + "nativeSrc": "13847:9:34", "nodeType": "YulIdentifier", - "src": "13847:9:36" + "src": "13847:9:34" } ] }, @@ -145436,133 +144446,133 @@ "cases": [ { "body": { - "nativeSrc": "13910:656:36", + "nativeSrc": "13910:656:34", "nodeType": "YulBlock", - "src": "13910:656:36", + "src": "13910:656:34", "statements": [ { - "nativeSrc": "13924:35:36", + "nativeSrc": "13924:35:34", "nodeType": "YulVariableDeclaration", - "src": "13924:35:36", + "src": "13924:35:34", "value": { "arguments": [ { "name": "newLen", - "nativeSrc": "13943:6:36", + "nativeSrc": "13943:6:34", "nodeType": "YulIdentifier", - "src": "13943:6:36" + "src": "13943:6:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "13955:2:36", + "nativeSrc": "13955:2:34", "nodeType": "YulLiteral", - "src": "13955:2:36", + "src": "13955:2:34", "type": "", "value": "31" } ], "functionName": { "name": "not", - "nativeSrc": "13951:3:36", + "nativeSrc": "13951:3:34", "nodeType": "YulIdentifier", - "src": "13951:3:36" + "src": "13951:3:34" }, - "nativeSrc": "13951:7:36", + "nativeSrc": "13951:7:34", "nodeType": "YulFunctionCall", - "src": "13951:7:36" + "src": "13951:7:34" } ], "functionName": { "name": "and", - "nativeSrc": "13939:3:36", + "nativeSrc": "13939:3:34", "nodeType": "YulIdentifier", - "src": "13939:3:36" + "src": "13939:3:34" }, - "nativeSrc": "13939:20:36", + "nativeSrc": "13939:20:34", "nodeType": "YulFunctionCall", - "src": "13939:20:36" + "src": "13939:20:34" }, "variables": [ { "name": "loopEnd", - "nativeSrc": "13928:7:36", + "nativeSrc": "13928:7:34", "nodeType": "YulTypedName", - "src": "13928:7:36", + "src": "13928:7:34", "type": "" } ] }, { - "nativeSrc": "13972:49:36", + "nativeSrc": "13972:49:34", "nodeType": "YulVariableDeclaration", - "src": "13972:49:36", + "src": "13972:49:34", "value": { "arguments": [ { "name": "slot", - "nativeSrc": "14016:4:36", + "nativeSrc": "14016:4:34", "nodeType": "YulIdentifier", - "src": "14016:4:36" + "src": "14016:4:34" } ], "functionName": { "name": "array_dataslot_string_storage", - "nativeSrc": "13986:29:36", + "nativeSrc": "13986:29:34", "nodeType": "YulIdentifier", - "src": "13986:29:36" + "src": "13986:29:34" }, - "nativeSrc": "13986:35:36", + "nativeSrc": "13986:35:34", "nodeType": "YulFunctionCall", - "src": "13986:35:36" + "src": "13986:35:34" }, "variables": [ { "name": "dstPtr", - "nativeSrc": "13976:6:36", + "nativeSrc": "13976:6:34", "nodeType": "YulTypedName", - "src": "13976:6:36", + "src": "13976:6:34", "type": "" } ] }, { - "nativeSrc": "14034:10:36", + "nativeSrc": "14034:10:34", "nodeType": "YulVariableDeclaration", - "src": "14034:10:36", + "src": "14034:10:34", "value": { "kind": "number", - "nativeSrc": "14043:1:36", + "nativeSrc": "14043:1:34", "nodeType": "YulLiteral", - "src": "14043:1:36", + "src": "14043:1:34", "type": "", "value": "0" }, "variables": [ { "name": "i", - "nativeSrc": "14038:1:36", + "nativeSrc": "14038:1:34", "nodeType": "YulTypedName", - "src": "14038:1:36", + "src": "14038:1:34", "type": "" } ] }, { "body": { - "nativeSrc": "14121:172:36", + "nativeSrc": "14121:172:34", "nodeType": "YulBlock", - "src": "14121:172:36", + "src": "14121:172:34", "statements": [ { "expression": { "arguments": [ { "name": "dstPtr", - "nativeSrc": "14146:6:36", + "nativeSrc": "14146:6:34", "nodeType": "YulIdentifier", - "src": "14146:6:36" + "src": "14146:6:34" }, { "arguments": [ @@ -145570,128 +144580,128 @@ "arguments": [ { "name": "src", - "nativeSrc": "14164:3:36", + "nativeSrc": "14164:3:34", "nodeType": "YulIdentifier", - "src": "14164:3:36" + "src": "14164:3:34" }, { "name": "srcOffset", - "nativeSrc": "14169:9:36", + "nativeSrc": "14169:9:34", "nodeType": "YulIdentifier", - "src": "14169:9:36" + "src": "14169:9:34" } ], "functionName": { "name": "add", - "nativeSrc": "14160:3:36", + "nativeSrc": "14160:3:34", "nodeType": "YulIdentifier", - "src": "14160:3:36" + "src": "14160:3:34" }, - "nativeSrc": "14160:19:36", + "nativeSrc": "14160:19:34", "nodeType": "YulFunctionCall", - "src": "14160:19:36" + "src": "14160:19:34" } ], "functionName": { "name": "mload", - "nativeSrc": "14154:5:36", + "nativeSrc": "14154:5:34", "nodeType": "YulIdentifier", - "src": "14154:5:36" + "src": "14154:5:34" }, - "nativeSrc": "14154:26:36", + "nativeSrc": "14154:26:34", "nodeType": "YulFunctionCall", - "src": "14154:26:36" + "src": "14154:26:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "14139:6:36", + "nativeSrc": "14139:6:34", "nodeType": "YulIdentifier", - "src": "14139:6:36" + "src": "14139:6:34" }, - "nativeSrc": "14139:42:36", + "nativeSrc": "14139:42:34", "nodeType": "YulFunctionCall", - "src": "14139:42:36" + "src": "14139:42:34" }, - "nativeSrc": "14139:42:36", + "nativeSrc": "14139:42:34", "nodeType": "YulExpressionStatement", - "src": "14139:42:36" + "src": "14139:42:34" }, { - "nativeSrc": "14198:24:36", + "nativeSrc": "14198:24:34", "nodeType": "YulAssignment", - "src": "14198:24:36", + "src": "14198:24:34", "value": { "arguments": [ { "name": "dstPtr", - "nativeSrc": "14212:6:36", + "nativeSrc": "14212:6:34", "nodeType": "YulIdentifier", - "src": "14212:6:36" + "src": "14212:6:34" }, { "kind": "number", - "nativeSrc": "14220:1:36", + "nativeSrc": "14220:1:34", "nodeType": "YulLiteral", - "src": "14220:1:36", + "src": "14220:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "14208:3:36", + "nativeSrc": "14208:3:34", "nodeType": "YulIdentifier", - "src": "14208:3:36" + "src": "14208:3:34" }, - "nativeSrc": "14208:14:36", + "nativeSrc": "14208:14:34", "nodeType": "YulFunctionCall", - "src": "14208:14:36" + "src": "14208:14:34" }, "variableNames": [ { "name": "dstPtr", - "nativeSrc": "14198:6:36", + "nativeSrc": "14198:6:34", "nodeType": "YulIdentifier", - "src": "14198:6:36" + "src": "14198:6:34" } ] }, { - "nativeSrc": "14239:40:36", + "nativeSrc": "14239:40:34", "nodeType": "YulAssignment", - "src": "14239:40:36", + "src": "14239:40:34", "value": { "arguments": [ { "name": "srcOffset", - "nativeSrc": "14256:9:36", + "nativeSrc": "14256:9:34", "nodeType": "YulIdentifier", - "src": "14256:9:36" + "src": "14256:9:34" }, { "name": "srcOffset_1", - "nativeSrc": "14267:11:36", + "nativeSrc": "14267:11:34", "nodeType": "YulIdentifier", - "src": "14267:11:36" + "src": "14267:11:34" } ], "functionName": { "name": "add", - "nativeSrc": "14252:3:36", + "nativeSrc": "14252:3:34", "nodeType": "YulIdentifier", - "src": "14252:3:36" + "src": "14252:3:34" }, - "nativeSrc": "14252:27:36", + "nativeSrc": "14252:27:34", "nodeType": "YulFunctionCall", - "src": "14252:27:36" + "src": "14252:27:34" }, "variableNames": [ { "name": "srcOffset", - "nativeSrc": "14239:9:36", + "nativeSrc": "14239:9:34", "nodeType": "YulIdentifier", - "src": "14239:9:36" + "src": "14239:9:34" } ] } @@ -145701,136 +144711,136 @@ "arguments": [ { "name": "i", - "nativeSrc": "14068:1:36", + "nativeSrc": "14068:1:34", "nodeType": "YulIdentifier", - "src": "14068:1:36" + "src": "14068:1:34" }, { "name": "loopEnd", - "nativeSrc": "14071:7:36", + "nativeSrc": "14071:7:34", "nodeType": "YulIdentifier", - "src": "14071:7:36" + "src": "14071:7:34" } ], "functionName": { "name": "lt", - "nativeSrc": "14065:2:36", + "nativeSrc": "14065:2:34", "nodeType": "YulIdentifier", - "src": "14065:2:36" + "src": "14065:2:34" }, - "nativeSrc": "14065:14:36", + "nativeSrc": "14065:14:34", "nodeType": "YulFunctionCall", - "src": "14065:14:36" + "src": "14065:14:34" }, - "nativeSrc": "14057:236:36", + "nativeSrc": "14057:236:34", "nodeType": "YulForLoop", "post": { - "nativeSrc": "14080:28:36", + "nativeSrc": "14080:28:34", "nodeType": "YulBlock", - "src": "14080:28:36", + "src": "14080:28:34", "statements": [ { - "nativeSrc": "14082:24:36", + "nativeSrc": "14082:24:34", "nodeType": "YulAssignment", - "src": "14082:24:36", + "src": "14082:24:34", "value": { "arguments": [ { "name": "i", - "nativeSrc": "14091:1:36", + "nativeSrc": "14091:1:34", "nodeType": "YulIdentifier", - "src": "14091:1:36" + "src": "14091:1:34" }, { "name": "srcOffset_1", - "nativeSrc": "14094:11:36", + "nativeSrc": "14094:11:34", "nodeType": "YulIdentifier", - "src": "14094:11:36" + "src": "14094:11:34" } ], "functionName": { "name": "add", - "nativeSrc": "14087:3:36", + "nativeSrc": "14087:3:34", "nodeType": "YulIdentifier", - "src": "14087:3:36" + "src": "14087:3:34" }, - "nativeSrc": "14087:19:36", + "nativeSrc": "14087:19:34", "nodeType": "YulFunctionCall", - "src": "14087:19:36" + "src": "14087:19:34" }, "variableNames": [ { "name": "i", - "nativeSrc": "14082:1:36", + "nativeSrc": "14082:1:34", "nodeType": "YulIdentifier", - "src": "14082:1:36" + "src": "14082:1:34" } ] } ] }, "pre": { - "nativeSrc": "14061:3:36", + "nativeSrc": "14061:3:34", "nodeType": "YulBlock", - "src": "14061:3:36", + "src": "14061:3:34", "statements": [] }, - "src": "14057:236:36" + "src": "14057:236:34" }, { "body": { - "nativeSrc": "14341:166:36", + "nativeSrc": "14341:166:34", "nodeType": "YulBlock", - "src": "14341:166:36", + "src": "14341:166:34", "statements": [ { - "nativeSrc": "14359:43:36", + "nativeSrc": "14359:43:34", "nodeType": "YulVariableDeclaration", - "src": "14359:43:36", + "src": "14359:43:34", "value": { "arguments": [ { "arguments": [ { "name": "src", - "nativeSrc": "14386:3:36", + "nativeSrc": "14386:3:34", "nodeType": "YulIdentifier", - "src": "14386:3:36" + "src": "14386:3:34" }, { "name": "srcOffset", - "nativeSrc": "14391:9:36", + "nativeSrc": "14391:9:34", "nodeType": "YulIdentifier", - "src": "14391:9:36" + "src": "14391:9:34" } ], "functionName": { "name": "add", - "nativeSrc": "14382:3:36", + "nativeSrc": "14382:3:34", "nodeType": "YulIdentifier", - "src": "14382:3:36" + "src": "14382:3:34" }, - "nativeSrc": "14382:19:36", + "nativeSrc": "14382:19:34", "nodeType": "YulFunctionCall", - "src": "14382:19:36" + "src": "14382:19:34" } ], "functionName": { "name": "mload", - "nativeSrc": "14376:5:36", + "nativeSrc": "14376:5:34", "nodeType": "YulIdentifier", - "src": "14376:5:36" + "src": "14376:5:34" }, - "nativeSrc": "14376:26:36", + "nativeSrc": "14376:26:34", "nodeType": "YulFunctionCall", - "src": "14376:26:36" + "src": "14376:26:34" }, "variables": [ { "name": "lastValue", - "nativeSrc": "14363:9:36", + "nativeSrc": "14363:9:34", "nodeType": "YulTypedName", - "src": "14363:9:36", + "src": "14363:9:34", "type": "" } ] @@ -145840,17 +144850,17 @@ "arguments": [ { "name": "dstPtr", - "nativeSrc": "14426:6:36", + "nativeSrc": "14426:6:34", "nodeType": "YulIdentifier", - "src": "14426:6:36" + "src": "14426:6:34" }, { "arguments": [ { "name": "lastValue", - "nativeSrc": "14438:9:36", + "nativeSrc": "14438:9:34", "nodeType": "YulIdentifier", - "src": "14438:9:36" + "src": "14438:9:34" }, { "arguments": [ @@ -145862,116 +144872,116 @@ "arguments": [ { "kind": "number", - "nativeSrc": "14465:1:36", + "nativeSrc": "14465:1:34", "nodeType": "YulLiteral", - "src": "14465:1:36", + "src": "14465:1:34", "type": "", "value": "3" }, { "name": "newLen", - "nativeSrc": "14468:6:36", + "nativeSrc": "14468:6:34", "nodeType": "YulIdentifier", - "src": "14468:6:36" + "src": "14468:6:34" } ], "functionName": { "name": "shl", - "nativeSrc": "14461:3:36", + "nativeSrc": "14461:3:34", "nodeType": "YulIdentifier", - "src": "14461:3:36" + "src": "14461:3:34" }, - "nativeSrc": "14461:14:36", + "nativeSrc": "14461:14:34", "nodeType": "YulFunctionCall", - "src": "14461:14:36" + "src": "14461:14:34" }, { "kind": "number", - "nativeSrc": "14477:3:36", + "nativeSrc": "14477:3:34", "nodeType": "YulLiteral", - "src": "14477:3:36", + "src": "14477:3:34", "type": "", "value": "248" } ], "functionName": { "name": "and", - "nativeSrc": "14457:3:36", + "nativeSrc": "14457:3:34", "nodeType": "YulIdentifier", - "src": "14457:3:36" + "src": "14457:3:34" }, - "nativeSrc": "14457:24:36", + "nativeSrc": "14457:24:34", "nodeType": "YulFunctionCall", - "src": "14457:24:36" + "src": "14457:24:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "14487:1:36", + "nativeSrc": "14487:1:34", "nodeType": "YulLiteral", - "src": "14487:1:36", + "src": "14487:1:34", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "14483:3:36", + "nativeSrc": "14483:3:34", "nodeType": "YulIdentifier", - "src": "14483:3:36" + "src": "14483:3:34" }, - "nativeSrc": "14483:6:36", + "nativeSrc": "14483:6:34", "nodeType": "YulFunctionCall", - "src": "14483:6:36" + "src": "14483:6:34" } ], "functionName": { "name": "shr", - "nativeSrc": "14453:3:36", + "nativeSrc": "14453:3:34", "nodeType": "YulIdentifier", - "src": "14453:3:36" + "src": "14453:3:34" }, - "nativeSrc": "14453:37:36", + "nativeSrc": "14453:37:34", "nodeType": "YulFunctionCall", - "src": "14453:37:36" + "src": "14453:37:34" } ], "functionName": { "name": "not", - "nativeSrc": "14449:3:36", + "nativeSrc": "14449:3:34", "nodeType": "YulIdentifier", - "src": "14449:3:36" + "src": "14449:3:34" }, - "nativeSrc": "14449:42:36", + "nativeSrc": "14449:42:34", "nodeType": "YulFunctionCall", - "src": "14449:42:36" + "src": "14449:42:34" } ], "functionName": { "name": "and", - "nativeSrc": "14434:3:36", + "nativeSrc": "14434:3:34", "nodeType": "YulIdentifier", - "src": "14434:3:36" + "src": "14434:3:34" }, - "nativeSrc": "14434:58:36", + "nativeSrc": "14434:58:34", "nodeType": "YulFunctionCall", - "src": "14434:58:36" + "src": "14434:58:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "14419:6:36", + "nativeSrc": "14419:6:34", "nodeType": "YulIdentifier", - "src": "14419:6:36" + "src": "14419:6:34" }, - "nativeSrc": "14419:74:36", + "nativeSrc": "14419:74:34", "nodeType": "YulFunctionCall", - "src": "14419:74:36" + "src": "14419:74:34" }, - "nativeSrc": "14419:74:36", + "nativeSrc": "14419:74:34", "nodeType": "YulExpressionStatement", - "src": "14419:74:36" + "src": "14419:74:34" } ] }, @@ -145979,39 +144989,39 @@ "arguments": [ { "name": "loopEnd", - "nativeSrc": "14312:7:36", + "nativeSrc": "14312:7:34", "nodeType": "YulIdentifier", - "src": "14312:7:36" + "src": "14312:7:34" }, { "name": "newLen", - "nativeSrc": "14321:6:36", + "nativeSrc": "14321:6:34", "nodeType": "YulIdentifier", - "src": "14321:6:36" + "src": "14321:6:34" } ], "functionName": { "name": "lt", - "nativeSrc": "14309:2:36", + "nativeSrc": "14309:2:34", "nodeType": "YulIdentifier", - "src": "14309:2:36" + "src": "14309:2:34" }, - "nativeSrc": "14309:19:36", + "nativeSrc": "14309:19:34", "nodeType": "YulFunctionCall", - "src": "14309:19:36" + "src": "14309:19:34" }, - "nativeSrc": "14306:201:36", + "nativeSrc": "14306:201:34", "nodeType": "YulIf", - "src": "14306:201:36" + "src": "14306:201:34" }, { "expression": { "arguments": [ { "name": "slot", - "nativeSrc": "14527:4:36", + "nativeSrc": "14527:4:34", "nodeType": "YulIdentifier", - "src": "14527:4:36" + "src": "14527:4:34" }, { "arguments": [ @@ -146019,159 +145029,159 @@ "arguments": [ { "kind": "number", - "nativeSrc": "14541:1:36", + "nativeSrc": "14541:1:34", "nodeType": "YulLiteral", - "src": "14541:1:36", + "src": "14541:1:34", "type": "", "value": "1" }, { "name": "newLen", - "nativeSrc": "14544:6:36", + "nativeSrc": "14544:6:34", "nodeType": "YulIdentifier", - "src": "14544:6:36" + "src": "14544:6:34" } ], "functionName": { "name": "shl", - "nativeSrc": "14537:3:36", + "nativeSrc": "14537:3:34", "nodeType": "YulIdentifier", - "src": "14537:3:36" + "src": "14537:3:34" }, - "nativeSrc": "14537:14:36", + "nativeSrc": "14537:14:34", "nodeType": "YulFunctionCall", - "src": "14537:14:36" + "src": "14537:14:34" }, { "kind": "number", - "nativeSrc": "14553:1:36", + "nativeSrc": "14553:1:34", "nodeType": "YulLiteral", - "src": "14553:1:36", + "src": "14553:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "14533:3:36", + "nativeSrc": "14533:3:34", "nodeType": "YulIdentifier", - "src": "14533:3:36" + "src": "14533:3:34" }, - "nativeSrc": "14533:22:36", + "nativeSrc": "14533:22:34", "nodeType": "YulFunctionCall", - "src": "14533:22:36" + "src": "14533:22:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "14520:6:36", + "nativeSrc": "14520:6:34", "nodeType": "YulIdentifier", - "src": "14520:6:36" + "src": "14520:6:34" }, - "nativeSrc": "14520:36:36", + "nativeSrc": "14520:36:34", "nodeType": "YulFunctionCall", - "src": "14520:36:36" + "src": "14520:36:34" }, - "nativeSrc": "14520:36:36", + "nativeSrc": "14520:36:34", "nodeType": "YulExpressionStatement", - "src": "14520:36:36" + "src": "14520:36:34" } ] }, - "nativeSrc": "13903:663:36", + "nativeSrc": "13903:663:34", "nodeType": "YulCase", - "src": "13903:663:36", + "src": "13903:663:34", "value": { "kind": "number", - "nativeSrc": "13908:1:36", + "nativeSrc": "13908:1:34", "nodeType": "YulLiteral", - "src": "13908:1:36", + "src": "13908:1:34", "type": "", "value": "1" } }, { "body": { - "nativeSrc": "14583:234:36", + "nativeSrc": "14583:234:34", "nodeType": "YulBlock", - "src": "14583:234:36", + "src": "14583:234:34", "statements": [ { - "nativeSrc": "14597:14:36", + "nativeSrc": "14597:14:34", "nodeType": "YulVariableDeclaration", - "src": "14597:14:36", + "src": "14597:14:34", "value": { "kind": "number", - "nativeSrc": "14610:1:36", + "nativeSrc": "14610:1:34", "nodeType": "YulLiteral", - "src": "14610:1:36", + "src": "14610:1:34", "type": "", "value": "0" }, "variables": [ { "name": "value", - "nativeSrc": "14601:5:36", + "nativeSrc": "14601:5:34", "nodeType": "YulTypedName", - "src": "14601:5:36", + "src": "14601:5:34", "type": "" } ] }, { "body": { - "nativeSrc": "14646:67:36", + "nativeSrc": "14646:67:34", "nodeType": "YulBlock", - "src": "14646:67:36", + "src": "14646:67:34", "statements": [ { - "nativeSrc": "14664:35:36", + "nativeSrc": "14664:35:34", "nodeType": "YulAssignment", - "src": "14664:35:36", + "src": "14664:35:34", "value": { "arguments": [ { "arguments": [ { "name": "src", - "nativeSrc": "14683:3:36", + "nativeSrc": "14683:3:34", "nodeType": "YulIdentifier", - "src": "14683:3:36" + "src": "14683:3:34" }, { "name": "srcOffset", - "nativeSrc": "14688:9:36", + "nativeSrc": "14688:9:34", "nodeType": "YulIdentifier", - "src": "14688:9:36" + "src": "14688:9:34" } ], "functionName": { "name": "add", - "nativeSrc": "14679:3:36", + "nativeSrc": "14679:3:34", "nodeType": "YulIdentifier", - "src": "14679:3:36" + "src": "14679:3:34" }, - "nativeSrc": "14679:19:36", + "nativeSrc": "14679:19:34", "nodeType": "YulFunctionCall", - "src": "14679:19:36" + "src": "14679:19:34" } ], "functionName": { "name": "mload", - "nativeSrc": "14673:5:36", + "nativeSrc": "14673:5:34", "nodeType": "YulIdentifier", - "src": "14673:5:36" + "src": "14673:5:34" }, - "nativeSrc": "14673:26:36", + "nativeSrc": "14673:26:34", "nodeType": "YulFunctionCall", - "src": "14673:26:36" + "src": "14673:26:34" }, "variableNames": [ { "name": "value", - "nativeSrc": "14664:5:36", + "nativeSrc": "14664:5:34", "nodeType": "YulIdentifier", - "src": "14664:5:36" + "src": "14664:5:34" } ] } @@ -146179,68 +145189,68 @@ }, "condition": { "name": "newLen", - "nativeSrc": "14627:6:36", + "nativeSrc": "14627:6:34", "nodeType": "YulIdentifier", - "src": "14627:6:36" + "src": "14627:6:34" }, - "nativeSrc": "14624:89:36", + "nativeSrc": "14624:89:34", "nodeType": "YulIf", - "src": "14624:89:36" + "src": "14624:89:34" }, { "expression": { "arguments": [ { "name": "slot", - "nativeSrc": "14733:4:36", + "nativeSrc": "14733:4:34", "nodeType": "YulIdentifier", - "src": "14733:4:36" + "src": "14733:4:34" }, { "arguments": [ { "name": "value", - "nativeSrc": "14792:5:36", + "nativeSrc": "14792:5:34", "nodeType": "YulIdentifier", - "src": "14792:5:36" + "src": "14792:5:34" }, { "name": "newLen", - "nativeSrc": "14799:6:36", + "nativeSrc": "14799:6:34", "nodeType": "YulIdentifier", - "src": "14799:6:36" + "src": "14799:6:34" } ], "functionName": { "name": "extract_used_part_and_set_length_of_short_byte_array", - "nativeSrc": "14739:52:36", + "nativeSrc": "14739:52:34", "nodeType": "YulIdentifier", - "src": "14739:52:36" + "src": "14739:52:34" }, - "nativeSrc": "14739:67:36", + "nativeSrc": "14739:67:34", "nodeType": "YulFunctionCall", - "src": "14739:67:36" + "src": "14739:67:34" } ], "functionName": { "name": "sstore", - "nativeSrc": "14726:6:36", + "nativeSrc": "14726:6:34", "nodeType": "YulIdentifier", - "src": "14726:6:36" + "src": "14726:6:34" }, - "nativeSrc": "14726:81:36", + "nativeSrc": "14726:81:34", "nodeType": "YulFunctionCall", - "src": "14726:81:36" + "src": "14726:81:34" }, - "nativeSrc": "14726:81:36", + "nativeSrc": "14726:81:34", "nodeType": "YulExpressionStatement", - "src": "14726:81:36" + "src": "14726:81:34" } ] }, - "nativeSrc": "14575:242:36", + "nativeSrc": "14575:242:34", "nodeType": "YulCase", - "src": "14575:242:36", + "src": "14575:242:34", "value": "default" } ], @@ -146248,91 +145258,91 @@ "arguments": [ { "name": "newLen", - "nativeSrc": "13883:6:36", + "nativeSrc": "13883:6:34", "nodeType": "YulIdentifier", - "src": "13883:6:36" + "src": "13883:6:34" }, { "kind": "number", - "nativeSrc": "13891:2:36", + "nativeSrc": "13891:2:34", "nodeType": "YulLiteral", - "src": "13891:2:36", + "src": "13891:2:34", "type": "", "value": "31" } ], "functionName": { "name": "gt", - "nativeSrc": "13880:2:36", + "nativeSrc": "13880:2:34", "nodeType": "YulIdentifier", - "src": "13880:2:36" + "src": "13880:2:34" }, - "nativeSrc": "13880:14:36", + "nativeSrc": "13880:14:34", "nodeType": "YulFunctionCall", - "src": "13880:14:36" + "src": "13880:14:34" }, - "nativeSrc": "13873:944:36", + "nativeSrc": "13873:944:34", "nodeType": "YulSwitch", - "src": "13873:944:36" + "src": "13873:944:34" } ] }, "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", - "nativeSrc": "13478:1345:36", + "nativeSrc": "13478:1345:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "slot", - "nativeSrc": "13559:4:36", + "nativeSrc": "13559:4:34", "nodeType": "YulTypedName", - "src": "13559:4:36", + "src": "13559:4:34", "type": "" }, { "name": "src", - "nativeSrc": "13565:3:36", + "nativeSrc": "13565:3:34", "nodeType": "YulTypedName", - "src": "13565:3:36", + "src": "13565:3:34", "type": "" } ], - "src": "13478:1345:36" + "src": "13478:1345:34" }, { "body": { - "nativeSrc": "15005:185:36", + "nativeSrc": "15005:185:34", "nodeType": "YulBlock", - "src": "15005:185:36", + "src": "15005:185:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "15022:9:36", + "nativeSrc": "15022:9:34", "nodeType": "YulIdentifier", - "src": "15022:9:36" + "src": "15022:9:34" }, { "name": "value0", - "nativeSrc": "15033:6:36", + "nativeSrc": "15033:6:34", "nodeType": "YulIdentifier", - "src": "15033:6:36" + "src": "15033:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "15015:6:36", + "nativeSrc": "15015:6:34", "nodeType": "YulIdentifier", - "src": "15015:6:36" + "src": "15015:6:34" }, - "nativeSrc": "15015:25:36", + "nativeSrc": "15015:25:34", "nodeType": "YulFunctionCall", - "src": "15015:25:36" + "src": "15015:25:34" }, - "nativeSrc": "15015:25:36", + "nativeSrc": "15015:25:34", "nodeType": "YulExpressionStatement", - "src": "15015:25:36" + "src": "15015:25:34" }, { "expression": { @@ -146341,49 +145351,49 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "15060:9:36", + "nativeSrc": "15060:9:34", "nodeType": "YulIdentifier", - "src": "15060:9:36" + "src": "15060:9:34" }, { "kind": "number", - "nativeSrc": "15071:2:36", + "nativeSrc": "15071:2:34", "nodeType": "YulLiteral", - "src": "15071:2:36", + "src": "15071:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "15056:3:36", + "nativeSrc": "15056:3:34", "nodeType": "YulIdentifier", - "src": "15056:3:36" + "src": "15056:3:34" }, - "nativeSrc": "15056:18:36", + "nativeSrc": "15056:18:34", "nodeType": "YulFunctionCall", - "src": "15056:18:36" + "src": "15056:18:34" }, { "name": "value1", - "nativeSrc": "15076:6:36", + "nativeSrc": "15076:6:34", "nodeType": "YulIdentifier", - "src": "15076:6:36" + "src": "15076:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "15049:6:36", + "nativeSrc": "15049:6:34", "nodeType": "YulIdentifier", - "src": "15049:6:36" + "src": "15049:6:34" }, - "nativeSrc": "15049:34:36", + "nativeSrc": "15049:34:34", "nodeType": "YulFunctionCall", - "src": "15049:34:36" + "src": "15049:34:34" }, - "nativeSrc": "15049:34:36", + "nativeSrc": "15049:34:34", "nodeType": "YulExpressionStatement", - "src": "15049:34:36" + "src": "15049:34:34" }, { "expression": { @@ -146392,177 +145402,177 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "15103:9:36", + "nativeSrc": "15103:9:34", "nodeType": "YulIdentifier", - "src": "15103:9:36" + "src": "15103:9:34" }, { "kind": "number", - "nativeSrc": "15114:2:36", + "nativeSrc": "15114:2:34", "nodeType": "YulLiteral", - "src": "15114:2:36", + "src": "15114:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "15099:3:36", + "nativeSrc": "15099:3:34", "nodeType": "YulIdentifier", - "src": "15099:3:36" + "src": "15099:3:34" }, - "nativeSrc": "15099:18:36", + "nativeSrc": "15099:18:34", "nodeType": "YulFunctionCall", - "src": "15099:18:36" + "src": "15099:18:34" }, { "kind": "number", - "nativeSrc": "15119:2:36", + "nativeSrc": "15119:2:34", "nodeType": "YulLiteral", - "src": "15119:2:36", + "src": "15119:2:34", "type": "", "value": "96" } ], "functionName": { "name": "mstore", - "nativeSrc": "15092:6:36", + "nativeSrc": "15092:6:34", "nodeType": "YulIdentifier", - "src": "15092:6:36" + "src": "15092:6:34" }, - "nativeSrc": "15092:30:36", + "nativeSrc": "15092:30:34", "nodeType": "YulFunctionCall", - "src": "15092:30:36" + "src": "15092:30:34" }, - "nativeSrc": "15092:30:36", + "nativeSrc": "15092:30:34", "nodeType": "YulExpressionStatement", - "src": "15092:30:36" + "src": "15092:30:34" }, { - "nativeSrc": "15131:53:36", + "nativeSrc": "15131:53:34", "nodeType": "YulAssignment", - "src": "15131:53:36", + "src": "15131:53:34", "value": { "arguments": [ { "name": "value2", - "nativeSrc": "15157:6:36", + "nativeSrc": "15157:6:34", "nodeType": "YulIdentifier", - "src": "15157:6:36" + "src": "15157:6:34" }, { "arguments": [ { "name": "headStart", - "nativeSrc": "15169:9:36", + "nativeSrc": "15169:9:34", "nodeType": "YulIdentifier", - "src": "15169:9:36" + "src": "15169:9:34" }, { "kind": "number", - "nativeSrc": "15180:2:36", + "nativeSrc": "15180:2:34", "nodeType": "YulLiteral", - "src": "15180:2:36", + "src": "15180:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "15165:3:36", + "nativeSrc": "15165:3:34", "nodeType": "YulIdentifier", - "src": "15165:3:36" + "src": "15165:3:34" }, - "nativeSrc": "15165:18:36", + "nativeSrc": "15165:18:34", "nodeType": "YulFunctionCall", - "src": "15165:18:36" + "src": "15165:18:34" } ], "functionName": { "name": "abi_encode_string", - "nativeSrc": "15139:17:36", + "nativeSrc": "15139:17:34", "nodeType": "YulIdentifier", - "src": "15139:17:36" + "src": "15139:17:34" }, - "nativeSrc": "15139:45:36", + "nativeSrc": "15139:45:34", "nodeType": "YulFunctionCall", - "src": "15139:45:36" + "src": "15139:45:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "15131:4:36", + "nativeSrc": "15131:4:34", "nodeType": "YulIdentifier", - "src": "15131:4:36" + "src": "15131:4:34" } ] } ] }, "name": "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "14828:362:36", + "nativeSrc": "14828:362:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "14958:9:36", + "nativeSrc": "14958:9:34", "nodeType": "YulTypedName", - "src": "14958:9:36", + "src": "14958:9:34", "type": "" }, { "name": "value2", - "nativeSrc": "14969:6:36", + "nativeSrc": "14969:6:34", "nodeType": "YulTypedName", - "src": "14969:6:36", + "src": "14969:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "14977:6:36", + "nativeSrc": "14977:6:34", "nodeType": "YulTypedName", - "src": "14977:6:36", + "src": "14977:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "14985:6:36", + "nativeSrc": "14985:6:34", "nodeType": "YulTypedName", - "src": "14985:6:36", + "src": "14985:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "14996:4:36", + "nativeSrc": "14996:4:34", "nodeType": "YulTypedName", - "src": "14996:4:36", + "src": "14996:4:34", "type": "" } ], - "src": "14828:362:36" + "src": "14828:362:34" }, { "body": { - "nativeSrc": "15242:185:36", + "nativeSrc": "15242:185:34", "nodeType": "YulBlock", - "src": "15242:185:36", + "src": "15242:185:34", "statements": [ { "body": { - "nativeSrc": "15281:111:36", + "nativeSrc": "15281:111:34", "nodeType": "YulBlock", - "src": "15281:111:36", + "src": "15281:111:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "15302:1:36", + "nativeSrc": "15302:1:34", "nodeType": "YulLiteral", - "src": "15302:1:36", + "src": "15302:1:34", "type": "", "value": "0" }, @@ -146570,113 +145580,113 @@ "arguments": [ { "kind": "number", - "nativeSrc": "15309:3:36", + "nativeSrc": "15309:3:34", "nodeType": "YulLiteral", - "src": "15309:3:36", + "src": "15309:3:34", "type": "", "value": "224" }, { "kind": "number", - "nativeSrc": "15314:10:36", + "nativeSrc": "15314:10:34", "nodeType": "YulLiteral", - "src": "15314:10:36", + "src": "15314:10:34", "type": "", "value": "0x4e487b71" } ], "functionName": { "name": "shl", - "nativeSrc": "15305:3:36", + "nativeSrc": "15305:3:34", "nodeType": "YulIdentifier", - "src": "15305:3:36" + "src": "15305:3:34" }, - "nativeSrc": "15305:20:36", + "nativeSrc": "15305:20:34", "nodeType": "YulFunctionCall", - "src": "15305:20:36" + "src": "15305:20:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "15295:6:36", + "nativeSrc": "15295:6:34", "nodeType": "YulIdentifier", - "src": "15295:6:36" + "src": "15295:6:34" }, - "nativeSrc": "15295:31:36", + "nativeSrc": "15295:31:34", "nodeType": "YulFunctionCall", - "src": "15295:31:36" + "src": "15295:31:34" }, - "nativeSrc": "15295:31:36", + "nativeSrc": "15295:31:34", "nodeType": "YulExpressionStatement", - "src": "15295:31:36" + "src": "15295:31:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "15346:1:36", + "nativeSrc": "15346:1:34", "nodeType": "YulLiteral", - "src": "15346:1:36", + "src": "15346:1:34", "type": "", "value": "4" }, { "kind": "number", - "nativeSrc": "15349:4:36", + "nativeSrc": "15349:4:34", "nodeType": "YulLiteral", - "src": "15349:4:36", + "src": "15349:4:34", "type": "", "value": "0x11" } ], "functionName": { "name": "mstore", - "nativeSrc": "15339:6:36", + "nativeSrc": "15339:6:34", "nodeType": "YulIdentifier", - "src": "15339:6:36" + "src": "15339:6:34" }, - "nativeSrc": "15339:15:36", + "nativeSrc": "15339:15:34", "nodeType": "YulFunctionCall", - "src": "15339:15:36" + "src": "15339:15:34" }, - "nativeSrc": "15339:15:36", + "nativeSrc": "15339:15:34", "nodeType": "YulExpressionStatement", - "src": "15339:15:36" + "src": "15339:15:34" }, { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "15374:1:36", + "nativeSrc": "15374:1:34", "nodeType": "YulLiteral", - "src": "15374:1:36", + "src": "15374:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "15377:4:36", + "nativeSrc": "15377:4:34", "nodeType": "YulLiteral", - "src": "15377:4:36", + "src": "15377:4:34", "type": "", "value": "0x24" } ], "functionName": { "name": "revert", - "nativeSrc": "15367:6:36", + "nativeSrc": "15367:6:34", "nodeType": "YulIdentifier", - "src": "15367:6:36" + "src": "15367:6:34" }, - "nativeSrc": "15367:15:36", + "nativeSrc": "15367:15:34", "nodeType": "YulFunctionCall", - "src": "15367:15:36" + "src": "15367:15:34" }, - "nativeSrc": "15367:15:36", + "nativeSrc": "15367:15:34", "nodeType": "YulExpressionStatement", - "src": "15367:15:36" + "src": "15367:15:34" } ] }, @@ -146684,148 +145694,148 @@ "arguments": [ { "name": "value", - "nativeSrc": "15258:5:36", + "nativeSrc": "15258:5:34", "nodeType": "YulIdentifier", - "src": "15258:5:36" + "src": "15258:5:34" }, { "arguments": [ { "kind": "number", - "nativeSrc": "15269:1:36", + "nativeSrc": "15269:1:34", "nodeType": "YulLiteral", - "src": "15269:1:36", + "src": "15269:1:34", "type": "", "value": "0" } ], "functionName": { "name": "not", - "nativeSrc": "15265:3:36", + "nativeSrc": "15265:3:34", "nodeType": "YulIdentifier", - "src": "15265:3:36" + "src": "15265:3:34" }, - "nativeSrc": "15265:6:36", + "nativeSrc": "15265:6:34", "nodeType": "YulFunctionCall", - "src": "15265:6:36" + "src": "15265:6:34" } ], "functionName": { "name": "eq", - "nativeSrc": "15255:2:36", + "nativeSrc": "15255:2:34", "nodeType": "YulIdentifier", - "src": "15255:2:36" + "src": "15255:2:34" }, - "nativeSrc": "15255:17:36", + "nativeSrc": "15255:17:34", "nodeType": "YulFunctionCall", - "src": "15255:17:36" + "src": "15255:17:34" }, - "nativeSrc": "15252:140:36", + "nativeSrc": "15252:140:34", "nodeType": "YulIf", - "src": "15252:140:36" + "src": "15252:140:34" }, { - "nativeSrc": "15401:20:36", + "nativeSrc": "15401:20:34", "nodeType": "YulAssignment", - "src": "15401:20:36", + "src": "15401:20:34", "value": { "arguments": [ { "name": "value", - "nativeSrc": "15412:5:36", + "nativeSrc": "15412:5:34", "nodeType": "YulIdentifier", - "src": "15412:5:36" + "src": "15412:5:34" }, { "kind": "number", - "nativeSrc": "15419:1:36", + "nativeSrc": "15419:1:34", "nodeType": "YulLiteral", - "src": "15419:1:36", + "src": "15419:1:34", "type": "", "value": "1" } ], "functionName": { "name": "add", - "nativeSrc": "15408:3:36", + "nativeSrc": "15408:3:34", "nodeType": "YulIdentifier", - "src": "15408:3:36" + "src": "15408:3:34" }, - "nativeSrc": "15408:13:36", + "nativeSrc": "15408:13:34", "nodeType": "YulFunctionCall", - "src": "15408:13:36" + "src": "15408:13:34" }, "variableNames": [ { "name": "ret", - "nativeSrc": "15401:3:36", + "nativeSrc": "15401:3:34", "nodeType": "YulIdentifier", - "src": "15401:3:36" + "src": "15401:3:34" } ] } ] }, "name": "increment_t_uint256", - "nativeSrc": "15195:232:36", + "nativeSrc": "15195:232:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "value", - "nativeSrc": "15224:5:36", + "nativeSrc": "15224:5:34", "nodeType": "YulTypedName", - "src": "15224:5:36", + "src": "15224:5:34", "type": "" } ], "returnVariables": [ { "name": "ret", - "nativeSrc": "15234:3:36", + "nativeSrc": "15234:3:34", "nodeType": "YulTypedName", - "src": "15234:3:36", + "src": "15234:3:34", "type": "" } ], - "src": "15195:232:36" + "src": "15195:232:34" }, { "body": { - "nativeSrc": "15606:176:36", + "nativeSrc": "15606:176:34", "nodeType": "YulBlock", - "src": "15606:176:36", + "src": "15606:176:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "15623:9:36", + "nativeSrc": "15623:9:34", "nodeType": "YulIdentifier", - "src": "15623:9:36" + "src": "15623:9:34" }, { "kind": "number", - "nativeSrc": "15634:2:36", + "nativeSrc": "15634:2:34", "nodeType": "YulLiteral", - "src": "15634:2:36", + "src": "15634:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "15616:6:36", + "nativeSrc": "15616:6:34", "nodeType": "YulIdentifier", - "src": "15616:6:36" + "src": "15616:6:34" }, - "nativeSrc": "15616:21:36", + "nativeSrc": "15616:21:34", "nodeType": "YulFunctionCall", - "src": "15616:21:36" + "src": "15616:21:34" }, - "nativeSrc": "15616:21:36", + "nativeSrc": "15616:21:34", "nodeType": "YulExpressionStatement", - "src": "15616:21:36" + "src": "15616:21:34" }, { "expression": { @@ -146834,51 +145844,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "15657:9:36", + "nativeSrc": "15657:9:34", "nodeType": "YulIdentifier", - "src": "15657:9:36" + "src": "15657:9:34" }, { "kind": "number", - "nativeSrc": "15668:2:36", + "nativeSrc": "15668:2:34", "nodeType": "YulLiteral", - "src": "15668:2:36", + "src": "15668:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "15653:3:36", + "nativeSrc": "15653:3:34", "nodeType": "YulIdentifier", - "src": "15653:3:36" + "src": "15653:3:34" }, - "nativeSrc": "15653:18:36", + "nativeSrc": "15653:18:34", "nodeType": "YulFunctionCall", - "src": "15653:18:36" + "src": "15653:18:34" }, { "kind": "number", - "nativeSrc": "15673:2:36", + "nativeSrc": "15673:2:34", "nodeType": "YulLiteral", - "src": "15673:2:36", + "src": "15673:2:34", "type": "", "value": "26" } ], "functionName": { "name": "mstore", - "nativeSrc": "15646:6:36", + "nativeSrc": "15646:6:34", "nodeType": "YulIdentifier", - "src": "15646:6:36" + "src": "15646:6:34" }, - "nativeSrc": "15646:30:36", + "nativeSrc": "15646:30:34", "nodeType": "YulFunctionCall", - "src": "15646:30:36" + "src": "15646:30:34" }, - "nativeSrc": "15646:30:36", + "nativeSrc": "15646:30:34", "nodeType": "YulExpressionStatement", - "src": "15646:30:36" + "src": "15646:30:34" }, { "expression": { @@ -146887,155 +145897,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "15696:9:36", + "nativeSrc": "15696:9:34", "nodeType": "YulIdentifier", - "src": "15696:9:36" + "src": "15696:9:34" }, { "kind": "number", - "nativeSrc": "15707:2:36", + "nativeSrc": "15707:2:34", "nodeType": "YulLiteral", - "src": "15707:2:36", + "src": "15707:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "15692:3:36", + "nativeSrc": "15692:3:34", "nodeType": "YulIdentifier", - "src": "15692:3:36" + "src": "15692:3:34" }, - "nativeSrc": "15692:18:36", + "nativeSrc": "15692:18:34", "nodeType": "YulFunctionCall", - "src": "15692:18:36" + "src": "15692:18:34" }, { "hexValue": "4e6f742074686520697373756572206f6620746865207461736b", "kind": "string", - "nativeSrc": "15712:28:36", + "nativeSrc": "15712:28:34", "nodeType": "YulLiteral", - "src": "15712:28:36", + "src": "15712:28:34", "type": "", "value": "Not the issuer of the task" } ], "functionName": { "name": "mstore", - "nativeSrc": "15685:6:36", + "nativeSrc": "15685:6:34", "nodeType": "YulIdentifier", - "src": "15685:6:36" + "src": "15685:6:34" }, - "nativeSrc": "15685:56:36", + "nativeSrc": "15685:56:34", "nodeType": "YulFunctionCall", - "src": "15685:56:36" + "src": "15685:56:34" }, - "nativeSrc": "15685:56:36", + "nativeSrc": "15685:56:34", "nodeType": "YulExpressionStatement", - "src": "15685:56:36" + "src": "15685:56:34" }, { - "nativeSrc": "15750:26:36", + "nativeSrc": "15750:26:34", "nodeType": "YulAssignment", - "src": "15750:26:36", + "src": "15750:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "15762:9:36", + "nativeSrc": "15762:9:34", "nodeType": "YulIdentifier", - "src": "15762:9:36" + "src": "15762:9:34" }, { "kind": "number", - "nativeSrc": "15773:2:36", + "nativeSrc": "15773:2:34", "nodeType": "YulLiteral", - "src": "15773:2:36", + "src": "15773:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "15758:3:36", + "nativeSrc": "15758:3:34", "nodeType": "YulIdentifier", - "src": "15758:3:36" + "src": "15758:3:34" }, - "nativeSrc": "15758:18:36", + "nativeSrc": "15758:18:34", "nodeType": "YulFunctionCall", - "src": "15758:18:36" + "src": "15758:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "15750:4:36", + "nativeSrc": "15750:4:34", "nodeType": "YulIdentifier", - "src": "15750:4:36" + "src": "15750:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_8b01433edf8e1c1ecc76c5925a92e74cb9845acafce91ff571223021d8950f7c__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "15432:350:36", + "nativeSrc": "15432:350:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "15583:9:36", + "nativeSrc": "15583:9:34", "nodeType": "YulTypedName", - "src": "15583:9:36", + "src": "15583:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "15597:4:36", + "nativeSrc": "15597:4:34", "nodeType": "YulTypedName", - "src": "15597:4:36", + "src": "15597:4:34", "type": "" } ], - "src": "15432:350:36" + "src": "15432:350:34" }, { "body": { - "nativeSrc": "15961:171:36", + "nativeSrc": "15961:171:34", "nodeType": "YulBlock", - "src": "15961:171:36", + "src": "15961:171:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "15978:9:36", + "nativeSrc": "15978:9:34", "nodeType": "YulIdentifier", - "src": "15978:9:36" + "src": "15978:9:34" }, { "kind": "number", - "nativeSrc": "15989:2:36", + "nativeSrc": "15989:2:34", "nodeType": "YulLiteral", - "src": "15989:2:36", + "src": "15989:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "15971:6:36", + "nativeSrc": "15971:6:34", "nodeType": "YulIdentifier", - "src": "15971:6:36" + "src": "15971:6:34" }, - "nativeSrc": "15971:21:36", + "nativeSrc": "15971:21:34", "nodeType": "YulFunctionCall", - "src": "15971:21:36" + "src": "15971:21:34" }, - "nativeSrc": "15971:21:36", + "nativeSrc": "15971:21:34", "nodeType": "YulExpressionStatement", - "src": "15971:21:36" + "src": "15971:21:34" }, { "expression": { @@ -147044,51 +146054,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "16012:9:36", + "nativeSrc": "16012:9:34", "nodeType": "YulIdentifier", - "src": "16012:9:36" + "src": "16012:9:34" }, { "kind": "number", - "nativeSrc": "16023:2:36", + "nativeSrc": "16023:2:34", "nodeType": "YulLiteral", - "src": "16023:2:36", + "src": "16023:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "16008:3:36", + "nativeSrc": "16008:3:34", "nodeType": "YulIdentifier", - "src": "16008:3:36" + "src": "16008:3:34" }, - "nativeSrc": "16008:18:36", + "nativeSrc": "16008:18:34", "nodeType": "YulFunctionCall", - "src": "16008:18:36" + "src": "16008:18:34" }, { "kind": "number", - "nativeSrc": "16028:2:36", + "nativeSrc": "16028:2:34", "nodeType": "YulLiteral", - "src": "16028:2:36", + "src": "16028:2:34", "type": "", "value": "21" } ], "functionName": { "name": "mstore", - "nativeSrc": "16001:6:36", + "nativeSrc": "16001:6:34", "nodeType": "YulIdentifier", - "src": "16001:6:36" + "src": "16001:6:34" }, - "nativeSrc": "16001:30:36", + "nativeSrc": "16001:30:34", "nodeType": "YulFunctionCall", - "src": "16001:30:36" + "src": "16001:30:34" }, - "nativeSrc": "16001:30:36", + "nativeSrc": "16001:30:34", "nodeType": "YulExpressionStatement", - "src": "16001:30:36" + "src": "16001:30:34" }, { "expression": { @@ -147097,155 +146107,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "16051:9:36", + "nativeSrc": "16051:9:34", "nodeType": "YulIdentifier", - "src": "16051:9:36" + "src": "16051:9:34" }, { "kind": "number", - "nativeSrc": "16062:2:36", + "nativeSrc": "16062:2:34", "nodeType": "YulLiteral", - "src": "16062:2:36", + "src": "16062:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "16047:3:36", + "nativeSrc": "16047:3:34", "nodeType": "YulIdentifier", - "src": "16047:3:36" + "src": "16047:3:34" }, - "nativeSrc": "16047:18:36", + "nativeSrc": "16047:18:34", "nodeType": "YulFunctionCall", - "src": "16047:18:36" + "src": "16047:18:34" }, { "hexValue": "5461736b206973206e6f7420636f6d706c65746564", "kind": "string", - "nativeSrc": "16067:23:36", + "nativeSrc": "16067:23:34", "nodeType": "YulLiteral", - "src": "16067:23:36", + "src": "16067:23:34", "type": "", "value": "Task is not completed" } ], "functionName": { "name": "mstore", - "nativeSrc": "16040:6:36", + "nativeSrc": "16040:6:34", "nodeType": "YulIdentifier", - "src": "16040:6:36" + "src": "16040:6:34" }, - "nativeSrc": "16040:51:36", + "nativeSrc": "16040:51:34", "nodeType": "YulFunctionCall", - "src": "16040:51:36" + "src": "16040:51:34" }, - "nativeSrc": "16040:51:36", + "nativeSrc": "16040:51:34", "nodeType": "YulExpressionStatement", - "src": "16040:51:36" + "src": "16040:51:34" }, { - "nativeSrc": "16100:26:36", + "nativeSrc": "16100:26:34", "nodeType": "YulAssignment", - "src": "16100:26:36", + "src": "16100:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "16112:9:36", + "nativeSrc": "16112:9:34", "nodeType": "YulIdentifier", - "src": "16112:9:36" + "src": "16112:9:34" }, { "kind": "number", - "nativeSrc": "16123:2:36", + "nativeSrc": "16123:2:34", "nodeType": "YulLiteral", - "src": "16123:2:36", + "src": "16123:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "16108:3:36", + "nativeSrc": "16108:3:34", "nodeType": "YulIdentifier", - "src": "16108:3:36" + "src": "16108:3:34" }, - "nativeSrc": "16108:18:36", + "nativeSrc": "16108:18:34", "nodeType": "YulFunctionCall", - "src": "16108:18:36" + "src": "16108:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "16100:4:36", + "nativeSrc": "16100:4:34", "nodeType": "YulIdentifier", - "src": "16100:4:36" + "src": "16100:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_a08755c006bba216d153388cc97acf5e536a500c0ec88cade64bd6b2f0d0e27d__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "15787:345:36", + "nativeSrc": "15787:345:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "15938:9:36", + "nativeSrc": "15938:9:34", "nodeType": "YulTypedName", - "src": "15938:9:36", + "src": "15938:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "15952:4:36", + "nativeSrc": "15952:4:34", "nodeType": "YulTypedName", - "src": "15952:4:36", + "src": "15952:4:34", "type": "" } ], - "src": "15787:345:36" + "src": "15787:345:34" }, { "body": { - "nativeSrc": "16311:173:36", + "nativeSrc": "16311:173:34", "nodeType": "YulBlock", - "src": "16311:173:36", + "src": "16311:173:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "16328:9:36", + "nativeSrc": "16328:9:34", "nodeType": "YulIdentifier", - "src": "16328:9:36" + "src": "16328:9:34" }, { "kind": "number", - "nativeSrc": "16339:2:36", + "nativeSrc": "16339:2:34", "nodeType": "YulLiteral", - "src": "16339:2:36", + "src": "16339:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "16321:6:36", + "nativeSrc": "16321:6:34", "nodeType": "YulIdentifier", - "src": "16321:6:36" + "src": "16321:6:34" }, - "nativeSrc": "16321:21:36", + "nativeSrc": "16321:21:34", "nodeType": "YulFunctionCall", - "src": "16321:21:36" + "src": "16321:21:34" }, - "nativeSrc": "16321:21:36", + "nativeSrc": "16321:21:34", "nodeType": "YulExpressionStatement", - "src": "16321:21:36" + "src": "16321:21:34" }, { "expression": { @@ -147254,51 +146264,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "16362:9:36", + "nativeSrc": "16362:9:34", "nodeType": "YulIdentifier", - "src": "16362:9:36" + "src": "16362:9:34" }, { "kind": "number", - "nativeSrc": "16373:2:36", + "nativeSrc": "16373:2:34", "nodeType": "YulLiteral", - "src": "16373:2:36", + "src": "16373:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "16358:3:36", + "nativeSrc": "16358:3:34", "nodeType": "YulIdentifier", - "src": "16358:3:36" + "src": "16358:3:34" }, - "nativeSrc": "16358:18:36", + "nativeSrc": "16358:18:34", "nodeType": "YulFunctionCall", - "src": "16358:18:36" + "src": "16358:18:34" }, { "kind": "number", - "nativeSrc": "16378:2:36", + "nativeSrc": "16378:2:34", "nodeType": "YulLiteral", - "src": "16378:2:36", + "src": "16378:2:34", "type": "", "value": "23" } ], "functionName": { "name": "mstore", - "nativeSrc": "16351:6:36", + "nativeSrc": "16351:6:34", "nodeType": "YulIdentifier", - "src": "16351:6:36" + "src": "16351:6:34" }, - "nativeSrc": "16351:30:36", + "nativeSrc": "16351:30:34", "nodeType": "YulFunctionCall", - "src": "16351:30:36" + "src": "16351:30:34" }, - "nativeSrc": "16351:30:36", + "nativeSrc": "16351:30:34", "nodeType": "YulExpressionStatement", - "src": "16351:30:36" + "src": "16351:30:34" }, { "expression": { @@ -147307,155 +146317,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "16401:9:36", + "nativeSrc": "16401:9:34", "nodeType": "YulIdentifier", - "src": "16401:9:36" + "src": "16401:9:34" }, { "kind": "number", - "nativeSrc": "16412:2:36", + "nativeSrc": "16412:2:34", "nodeType": "YulLiteral", - "src": "16412:2:36", + "src": "16412:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "16397:3:36", + "nativeSrc": "16397:3:34", "nodeType": "YulIdentifier", - "src": "16397:3:36" + "src": "16397:3:34" }, - "nativeSrc": "16397:18:36", + "nativeSrc": "16397:18:34", "nodeType": "YulFunctionCall", - "src": "16397:18:36" + "src": "16397:18:34" }, { "hexValue": "5461736b20676f7420726174696e6720616c7265616479", "kind": "string", - "nativeSrc": "16417:25:36", + "nativeSrc": "16417:25:34", "nodeType": "YulLiteral", - "src": "16417:25:36", + "src": "16417:25:34", "type": "", "value": "Task got rating already" } ], "functionName": { "name": "mstore", - "nativeSrc": "16390:6:36", + "nativeSrc": "16390:6:34", "nodeType": "YulIdentifier", - "src": "16390:6:36" + "src": "16390:6:34" }, - "nativeSrc": "16390:53:36", + "nativeSrc": "16390:53:34", "nodeType": "YulFunctionCall", - "src": "16390:53:36" + "src": "16390:53:34" }, - "nativeSrc": "16390:53:36", + "nativeSrc": "16390:53:34", "nodeType": "YulExpressionStatement", - "src": "16390:53:36" + "src": "16390:53:34" }, { - "nativeSrc": "16452:26:36", + "nativeSrc": "16452:26:34", "nodeType": "YulAssignment", - "src": "16452:26:36", + "src": "16452:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "16464:9:36", + "nativeSrc": "16464:9:34", "nodeType": "YulIdentifier", - "src": "16464:9:36" + "src": "16464:9:34" }, { "kind": "number", - "nativeSrc": "16475:2:36", + "nativeSrc": "16475:2:34", "nodeType": "YulLiteral", - "src": "16475:2:36", + "src": "16475:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "16460:3:36", + "nativeSrc": "16460:3:34", "nodeType": "YulIdentifier", - "src": "16460:3:36" + "src": "16460:3:34" }, - "nativeSrc": "16460:18:36", + "nativeSrc": "16460:18:34", "nodeType": "YulFunctionCall", - "src": "16460:18:36" + "src": "16460:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "16452:4:36", + "nativeSrc": "16452:4:34", "nodeType": "YulIdentifier", - "src": "16452:4:36" + "src": "16452:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_306fe74d51ecec7b72bc35613a90b4c93840ded0ff8f63d0daef622fd6053b19__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "16137:347:36", + "nativeSrc": "16137:347:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "16288:9:36", + "nativeSrc": "16288:9:34", "nodeType": "YulTypedName", - "src": "16288:9:36", + "src": "16288:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "16302:4:36", + "nativeSrc": "16302:4:34", "nodeType": "YulTypedName", - "src": "16302:4:36", + "src": "16302:4:34", "type": "" } ], - "src": "16137:347:36" + "src": "16137:347:34" }, { "body": { - "nativeSrc": "16663:182:36", + "nativeSrc": "16663:182:34", "nodeType": "YulBlock", - "src": "16663:182:36", + "src": "16663:182:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "16680:9:36", + "nativeSrc": "16680:9:34", "nodeType": "YulIdentifier", - "src": "16680:9:36" + "src": "16680:9:34" }, { "kind": "number", - "nativeSrc": "16691:2:36", + "nativeSrc": "16691:2:34", "nodeType": "YulLiteral", - "src": "16691:2:36", + "src": "16691:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "16673:6:36", + "nativeSrc": "16673:6:34", "nodeType": "YulIdentifier", - "src": "16673:6:36" + "src": "16673:6:34" }, - "nativeSrc": "16673:21:36", + "nativeSrc": "16673:21:34", "nodeType": "YulFunctionCall", - "src": "16673:21:36" + "src": "16673:21:34" }, - "nativeSrc": "16673:21:36", + "nativeSrc": "16673:21:34", "nodeType": "YulExpressionStatement", - "src": "16673:21:36" + "src": "16673:21:34" }, { "expression": { @@ -147464,51 +146474,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "16714:9:36", + "nativeSrc": "16714:9:34", "nodeType": "YulIdentifier", - "src": "16714:9:36" + "src": "16714:9:34" }, { "kind": "number", - "nativeSrc": "16725:2:36", + "nativeSrc": "16725:2:34", "nodeType": "YulLiteral", - "src": "16725:2:36", + "src": "16725:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "16710:3:36", + "nativeSrc": "16710:3:34", "nodeType": "YulIdentifier", - "src": "16710:3:36" + "src": "16710:3:34" }, - "nativeSrc": "16710:18:36", + "nativeSrc": "16710:18:34", "nodeType": "YulFunctionCall", - "src": "16710:18:36" + "src": "16710:18:34" }, { "kind": "number", - "nativeSrc": "16730:2:36", + "nativeSrc": "16730:2:34", "nodeType": "YulLiteral", - "src": "16730:2:36", + "src": "16730:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "16703:6:36", + "nativeSrc": "16703:6:34", "nodeType": "YulIdentifier", - "src": "16703:6:36" + "src": "16703:6:34" }, - "nativeSrc": "16703:30:36", + "nativeSrc": "16703:30:34", "nodeType": "YulFunctionCall", - "src": "16703:30:36" + "src": "16703:30:34" }, - "nativeSrc": "16703:30:36", + "nativeSrc": "16703:30:34", "nodeType": "YulExpressionStatement", - "src": "16703:30:36" + "src": "16703:30:34" }, { "expression": { @@ -147517,161 +146527,161 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "16753:9:36", + "nativeSrc": "16753:9:34", "nodeType": "YulIdentifier", - "src": "16753:9:36" + "src": "16753:9:34" }, { "kind": "number", - "nativeSrc": "16764:2:36", + "nativeSrc": "16764:2:34", "nodeType": "YulLiteral", - "src": "16764:2:36", + "src": "16764:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "16749:3:36", + "nativeSrc": "16749:3:34", "nodeType": "YulIdentifier", - "src": "16749:3:36" + "src": "16749:3:34" }, - "nativeSrc": "16749:18:36", + "nativeSrc": "16749:18:34", "nodeType": "YulFunctionCall", - "src": "16749:18:36" + "src": "16749:18:34" }, { "hexValue": "526174696e67206d757374206265206265747765656e203020616e6420313030", "kind": "string", - "nativeSrc": "16769:34:36", + "nativeSrc": "16769:34:34", "nodeType": "YulLiteral", - "src": "16769:34:36", + "src": "16769:34:34", "type": "", "value": "Rating must be between 0 and 100" } ], "functionName": { "name": "mstore", - "nativeSrc": "16742:6:36", + "nativeSrc": "16742:6:34", "nodeType": "YulIdentifier", - "src": "16742:6:36" + "src": "16742:6:34" }, - "nativeSrc": "16742:62:36", + "nativeSrc": "16742:62:34", "nodeType": "YulFunctionCall", - "src": "16742:62:36" + "src": "16742:62:34" }, - "nativeSrc": "16742:62:36", + "nativeSrc": "16742:62:34", "nodeType": "YulExpressionStatement", - "src": "16742:62:36" + "src": "16742:62:34" }, { - "nativeSrc": "16813:26:36", + "nativeSrc": "16813:26:34", "nodeType": "YulAssignment", - "src": "16813:26:36", + "src": "16813:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "16825:9:36", + "nativeSrc": "16825:9:34", "nodeType": "YulIdentifier", - "src": "16825:9:36" + "src": "16825:9:34" }, { "kind": "number", - "nativeSrc": "16836:2:36", + "nativeSrc": "16836:2:34", "nodeType": "YulLiteral", - "src": "16836:2:36", + "src": "16836:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "16821:3:36", + "nativeSrc": "16821:3:34", "nodeType": "YulIdentifier", - "src": "16821:3:36" + "src": "16821:3:34" }, - "nativeSrc": "16821:18:36", + "nativeSrc": "16821:18:34", "nodeType": "YulFunctionCall", - "src": "16821:18:36" + "src": "16821:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "16813:4:36", + "nativeSrc": "16813:4:34", "nodeType": "YulIdentifier", - "src": "16813:4:36" + "src": "16813:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "16489:356:36", + "nativeSrc": "16489:356:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "16640:9:36", + "nativeSrc": "16640:9:34", "nodeType": "YulTypedName", - "src": "16640:9:36", + "src": "16640:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "16654:4:36", + "nativeSrc": "16654:4:34", "nodeType": "YulTypedName", - "src": "16654:4:36", + "src": "16654:4:34", "type": "" } ], - "src": "16489:356:36" + "src": "16489:356:34" }, { "body": { - "nativeSrc": "16977:156:36", + "nativeSrc": "16977:156:34", "nodeType": "YulBlock", - "src": "16977:156:36", + "src": "16977:156:34", "statements": [ { - "nativeSrc": "16987:26:36", + "nativeSrc": "16987:26:34", "nodeType": "YulAssignment", - "src": "16987:26:36", + "src": "16987:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "16999:9:36", + "nativeSrc": "16999:9:34", "nodeType": "YulIdentifier", - "src": "16999:9:36" + "src": "16999:9:34" }, { "kind": "number", - "nativeSrc": "17010:2:36", + "nativeSrc": "17010:2:34", "nodeType": "YulLiteral", - "src": "17010:2:36", + "src": "17010:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "16995:3:36", + "nativeSrc": "16995:3:34", "nodeType": "YulIdentifier", - "src": "16995:3:36" + "src": "16995:3:34" }, - "nativeSrc": "16995:18:36", + "nativeSrc": "16995:18:34", "nodeType": "YulFunctionCall", - "src": "16995:18:36" + "src": "16995:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "16987:4:36", + "nativeSrc": "16987:4:34", "nodeType": "YulIdentifier", - "src": "16987:4:36" + "src": "16987:4:34" } ] }, @@ -147680,17 +146690,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "17029:9:36", + "nativeSrc": "17029:9:34", "nodeType": "YulIdentifier", - "src": "17029:9:36" + "src": "17029:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "17044:6:36", + "nativeSrc": "17044:6:34", "nodeType": "YulIdentifier", - "src": "17044:6:36" + "src": "17044:6:34" }, { "arguments": [ @@ -147698,75 +146708,75 @@ "arguments": [ { "kind": "number", - "nativeSrc": "17060:3:36", + "nativeSrc": "17060:3:34", "nodeType": "YulLiteral", - "src": "17060:3:36", + "src": "17060:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "17065:1:36", + "nativeSrc": "17065:1:34", "nodeType": "YulLiteral", - "src": "17065:1:36", + "src": "17065:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "17056:3:36", + "nativeSrc": "17056:3:34", "nodeType": "YulIdentifier", - "src": "17056:3:36" + "src": "17056:3:34" }, - "nativeSrc": "17056:11:36", + "nativeSrc": "17056:11:34", "nodeType": "YulFunctionCall", - "src": "17056:11:36" + "src": "17056:11:34" }, { "kind": "number", - "nativeSrc": "17069:1:36", + "nativeSrc": "17069:1:34", "nodeType": "YulLiteral", - "src": "17069:1:36", + "src": "17069:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "17052:3:36", + "nativeSrc": "17052:3:34", "nodeType": "YulIdentifier", - "src": "17052:3:36" + "src": "17052:3:34" }, - "nativeSrc": "17052:19:36", + "nativeSrc": "17052:19:34", "nodeType": "YulFunctionCall", - "src": "17052:19:36" + "src": "17052:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "17040:3:36", + "nativeSrc": "17040:3:34", "nodeType": "YulIdentifier", - "src": "17040:3:36" + "src": "17040:3:34" }, - "nativeSrc": "17040:32:36", + "nativeSrc": "17040:32:34", "nodeType": "YulFunctionCall", - "src": "17040:32:36" + "src": "17040:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "17022:6:36", + "nativeSrc": "17022:6:34", "nodeType": "YulIdentifier", - "src": "17022:6:36" + "src": "17022:6:34" }, - "nativeSrc": "17022:51:36", + "nativeSrc": "17022:51:34", "nodeType": "YulFunctionCall", - "src": "17022:51:36" + "src": "17022:51:34" }, - "nativeSrc": "17022:51:36", + "nativeSrc": "17022:51:34", "nodeType": "YulExpressionStatement", - "src": "17022:51:36" + "src": "17022:51:34" }, { "expression": { @@ -147775,155 +146785,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "17093:9:36", + "nativeSrc": "17093:9:34", "nodeType": "YulIdentifier", - "src": "17093:9:36" + "src": "17093:9:34" }, { "kind": "number", - "nativeSrc": "17104:2:36", + "nativeSrc": "17104:2:34", "nodeType": "YulLiteral", - "src": "17104:2:36", + "src": "17104:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "17089:3:36", + "nativeSrc": "17089:3:34", "nodeType": "YulIdentifier", - "src": "17089:3:36" + "src": "17089:3:34" }, - "nativeSrc": "17089:18:36", + "nativeSrc": "17089:18:34", "nodeType": "YulFunctionCall", - "src": "17089:18:36" + "src": "17089:18:34" }, { "arguments": [ { "name": "value1", - "nativeSrc": "17113:6:36", + "nativeSrc": "17113:6:34", "nodeType": "YulIdentifier", - "src": "17113:6:36" + "src": "17113:6:34" }, { "kind": "number", - "nativeSrc": "17121:4:36", + "nativeSrc": "17121:4:34", "nodeType": "YulLiteral", - "src": "17121:4:36", + "src": "17121:4:34", "type": "", "value": "0xff" } ], "functionName": { "name": "and", - "nativeSrc": "17109:3:36", + "nativeSrc": "17109:3:34", "nodeType": "YulIdentifier", - "src": "17109:3:36" + "src": "17109:3:34" }, - "nativeSrc": "17109:17:36", + "nativeSrc": "17109:17:34", "nodeType": "YulFunctionCall", - "src": "17109:17:36" + "src": "17109:17:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "17082:6:36", + "nativeSrc": "17082:6:34", "nodeType": "YulIdentifier", - "src": "17082:6:36" + "src": "17082:6:34" }, - "nativeSrc": "17082:45:36", + "nativeSrc": "17082:45:34", "nodeType": "YulFunctionCall", - "src": "17082:45:36" + "src": "17082:45:34" }, - "nativeSrc": "17082:45:36", + "nativeSrc": "17082:45:34", "nodeType": "YulExpressionStatement", - "src": "17082:45:36" + "src": "17082:45:34" } ] }, "name": "abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint256__fromStack_reversed", - "nativeSrc": "16850:283:36", + "nativeSrc": "16850:283:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "16938:9:36", + "nativeSrc": "16938:9:34", "nodeType": "YulTypedName", - "src": "16938:9:36", + "src": "16938:9:34", "type": "" }, { "name": "value1", - "nativeSrc": "16949:6:36", + "nativeSrc": "16949:6:34", "nodeType": "YulTypedName", - "src": "16949:6:36", + "src": "16949:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "16957:6:36", + "nativeSrc": "16957:6:34", "nodeType": "YulTypedName", - "src": "16957:6:36", + "src": "16957:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "16968:4:36", + "nativeSrc": "16968:4:34", "nodeType": "YulTypedName", - "src": "16968:4:36", + "src": "16968:4:34", "type": "" } ], - "src": "16850:283:36" + "src": "16850:283:34" }, { "body": { - "nativeSrc": "17219:103:36", + "nativeSrc": "17219:103:34", "nodeType": "YulBlock", - "src": "17219:103:36", + "src": "17219:103:34", "statements": [ { "body": { - "nativeSrc": "17265:16:36", + "nativeSrc": "17265:16:34", "nodeType": "YulBlock", - "src": "17265:16:36", + "src": "17265:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "17274:1:36", + "nativeSrc": "17274:1:34", "nodeType": "YulLiteral", - "src": "17274:1:36", + "src": "17274:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "17277:1:36", + "nativeSrc": "17277:1:34", "nodeType": "YulLiteral", - "src": "17277:1:36", + "src": "17277:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "17267:6:36", + "nativeSrc": "17267:6:34", "nodeType": "YulIdentifier", - "src": "17267:6:36" + "src": "17267:6:34" }, - "nativeSrc": "17267:12:36", + "nativeSrc": "17267:12:34", "nodeType": "YulFunctionCall", - "src": "17267:12:36" + "src": "17267:12:34" }, - "nativeSrc": "17267:12:36", + "nativeSrc": "17267:12:34", "nodeType": "YulExpressionStatement", - "src": "17267:12:36" + "src": "17267:12:34" } ] }, @@ -147933,157 +146943,157 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "17240:7:36", + "nativeSrc": "17240:7:34", "nodeType": "YulIdentifier", - "src": "17240:7:36" + "src": "17240:7:34" }, { "name": "headStart", - "nativeSrc": "17249:9:36", + "nativeSrc": "17249:9:34", "nodeType": "YulIdentifier", - "src": "17249:9:36" + "src": "17249:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "17236:3:36", + "nativeSrc": "17236:3:34", "nodeType": "YulIdentifier", - "src": "17236:3:36" + "src": "17236:3:34" }, - "nativeSrc": "17236:23:36", + "nativeSrc": "17236:23:34", "nodeType": "YulFunctionCall", - "src": "17236:23:36" + "src": "17236:23:34" }, { "kind": "number", - "nativeSrc": "17261:2:36", + "nativeSrc": "17261:2:34", "nodeType": "YulLiteral", - "src": "17261:2:36", + "src": "17261:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "17232:3:36", + "nativeSrc": "17232:3:34", "nodeType": "YulIdentifier", - "src": "17232:3:36" + "src": "17232:3:34" }, - "nativeSrc": "17232:32:36", + "nativeSrc": "17232:32:34", "nodeType": "YulFunctionCall", - "src": "17232:32:36" + "src": "17232:32:34" }, - "nativeSrc": "17229:52:36", + "nativeSrc": "17229:52:34", "nodeType": "YulIf", - "src": "17229:52:36" + "src": "17229:52:34" }, { - "nativeSrc": "17290:26:36", + "nativeSrc": "17290:26:34", "nodeType": "YulAssignment", - "src": "17290:26:36", + "src": "17290:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "17306:9:36", + "nativeSrc": "17306:9:34", "nodeType": "YulIdentifier", - "src": "17306:9:36" + "src": "17306:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "17300:5:36", + "nativeSrc": "17300:5:34", "nodeType": "YulIdentifier", - "src": "17300:5:36" + "src": "17300:5:34" }, - "nativeSrc": "17300:16:36", + "nativeSrc": "17300:16:34", "nodeType": "YulFunctionCall", - "src": "17300:16:36" + "src": "17300:16:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "17290:6:36", + "nativeSrc": "17290:6:34", "nodeType": "YulIdentifier", - "src": "17290:6:36" + "src": "17290:6:34" } ] } ] }, "name": "abi_decode_tuple_t_uint256_fromMemory", - "nativeSrc": "17138:184:36", + "nativeSrc": "17138:184:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "17185:9:36", + "nativeSrc": "17185:9:34", "nodeType": "YulTypedName", - "src": "17185:9:36", + "src": "17185:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "17196:7:36", + "nativeSrc": "17196:7:34", "nodeType": "YulTypedName", - "src": "17196:7:36", + "src": "17196:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "17208:6:36", + "nativeSrc": "17208:6:34", "nodeType": "YulTypedName", - "src": "17208:6:36", + "src": "17208:6:34", "type": "" } ], - "src": "17138:184:36" + "src": "17138:184:34" }, { "body": { - "nativeSrc": "17424:87:36", + "nativeSrc": "17424:87:34", "nodeType": "YulBlock", - "src": "17424:87:36", + "src": "17424:87:34", "statements": [ { - "nativeSrc": "17434:26:36", + "nativeSrc": "17434:26:34", "nodeType": "YulAssignment", - "src": "17434:26:36", + "src": "17434:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "17446:9:36", + "nativeSrc": "17446:9:34", "nodeType": "YulIdentifier", - "src": "17446:9:36" + "src": "17446:9:34" }, { "kind": "number", - "nativeSrc": "17457:2:36", + "nativeSrc": "17457:2:34", "nodeType": "YulLiteral", - "src": "17457:2:36", + "src": "17457:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "17442:3:36", + "nativeSrc": "17442:3:34", "nodeType": "YulIdentifier", - "src": "17442:3:36" + "src": "17442:3:34" }, - "nativeSrc": "17442:18:36", + "nativeSrc": "17442:18:34", "nodeType": "YulFunctionCall", - "src": "17442:18:36" + "src": "17442:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "17434:4:36", + "nativeSrc": "17434:4:34", "nodeType": "YulIdentifier", - "src": "17434:4:36" + "src": "17434:4:34" } ] }, @@ -148092,121 +147102,121 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "17476:9:36", + "nativeSrc": "17476:9:34", "nodeType": "YulIdentifier", - "src": "17476:9:36" + "src": "17476:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "17491:6:36", + "nativeSrc": "17491:6:34", "nodeType": "YulIdentifier", - "src": "17491:6:36" + "src": "17491:6:34" }, { "kind": "number", - "nativeSrc": "17499:4:36", + "nativeSrc": "17499:4:34", "nodeType": "YulLiteral", - "src": "17499:4:36", + "src": "17499:4:34", "type": "", "value": "0xff" } ], "functionName": { "name": "and", - "nativeSrc": "17487:3:36", + "nativeSrc": "17487:3:34", "nodeType": "YulIdentifier", - "src": "17487:3:36" + "src": "17487:3:34" }, - "nativeSrc": "17487:17:36", + "nativeSrc": "17487:17:34", "nodeType": "YulFunctionCall", - "src": "17487:17:36" + "src": "17487:17:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "17469:6:36", + "nativeSrc": "17469:6:34", "nodeType": "YulIdentifier", - "src": "17469:6:36" + "src": "17469:6:34" }, - "nativeSrc": "17469:36:36", + "nativeSrc": "17469:36:34", "nodeType": "YulFunctionCall", - "src": "17469:36:36" + "src": "17469:36:34" }, - "nativeSrc": "17469:36:36", + "nativeSrc": "17469:36:34", "nodeType": "YulExpressionStatement", - "src": "17469:36:36" + "src": "17469:36:34" } ] }, "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", - "nativeSrc": "17327:184:36", + "nativeSrc": "17327:184:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "17393:9:36", + "nativeSrc": "17393:9:34", "nodeType": "YulTypedName", - "src": "17393:9:36", + "src": "17393:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "17404:6:36", + "nativeSrc": "17404:6:34", "nodeType": "YulTypedName", - "src": "17404:6:36", + "src": "17404:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "17415:4:36", + "nativeSrc": "17415:4:34", "nodeType": "YulTypedName", - "src": "17415:4:36", + "src": "17415:4:34", "type": "" } ], - "src": "17327:184:36" + "src": "17327:184:34" }, { "body": { - "nativeSrc": "17690:164:36", + "nativeSrc": "17690:164:34", "nodeType": "YulBlock", - "src": "17690:164:36", + "src": "17690:164:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "17707:9:36", + "nativeSrc": "17707:9:34", "nodeType": "YulIdentifier", - "src": "17707:9:36" + "src": "17707:9:34" }, { "kind": "number", - "nativeSrc": "17718:2:36", + "nativeSrc": "17718:2:34", "nodeType": "YulLiteral", - "src": "17718:2:36", + "src": "17718:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "17700:6:36", + "nativeSrc": "17700:6:34", "nodeType": "YulIdentifier", - "src": "17700:6:36" + "src": "17700:6:34" }, - "nativeSrc": "17700:21:36", + "nativeSrc": "17700:21:34", "nodeType": "YulFunctionCall", - "src": "17700:21:36" + "src": "17700:21:34" }, - "nativeSrc": "17700:21:36", + "nativeSrc": "17700:21:34", "nodeType": "YulExpressionStatement", - "src": "17700:21:36" + "src": "17700:21:34" }, { "expression": { @@ -148215,51 +147225,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "17741:9:36", + "nativeSrc": "17741:9:34", "nodeType": "YulIdentifier", - "src": "17741:9:36" + "src": "17741:9:34" }, { "kind": "number", - "nativeSrc": "17752:2:36", + "nativeSrc": "17752:2:34", "nodeType": "YulLiteral", - "src": "17752:2:36", + "src": "17752:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "17737:3:36", + "nativeSrc": "17737:3:34", "nodeType": "YulIdentifier", - "src": "17737:3:36" + "src": "17737:3:34" }, - "nativeSrc": "17737:18:36", + "nativeSrc": "17737:18:34", "nodeType": "YulFunctionCall", - "src": "17737:18:36" + "src": "17737:18:34" }, { "kind": "number", - "nativeSrc": "17757:2:36", + "nativeSrc": "17757:2:34", "nodeType": "YulLiteral", - "src": "17757:2:36", + "src": "17757:2:34", "type": "", "value": "14" } ], "functionName": { "name": "mstore", - "nativeSrc": "17730:6:36", + "nativeSrc": "17730:6:34", "nodeType": "YulIdentifier", - "src": "17730:6:36" + "src": "17730:6:34" }, - "nativeSrc": "17730:30:36", + "nativeSrc": "17730:30:34", "nodeType": "YulFunctionCall", - "src": "17730:30:36" + "src": "17730:30:34" }, - "nativeSrc": "17730:30:36", + "nativeSrc": "17730:30:34", "nodeType": "YulExpressionStatement", - "src": "17730:30:36" + "src": "17730:30:34" }, { "expression": { @@ -148268,155 +147278,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "17780:9:36", + "nativeSrc": "17780:9:34", "nodeType": "YulIdentifier", - "src": "17780:9:36" + "src": "17780:9:34" }, { "kind": "number", - "nativeSrc": "17791:2:36", + "nativeSrc": "17791:2:34", "nodeType": "YulLiteral", - "src": "17791:2:36", + "src": "17791:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "17776:3:36", + "nativeSrc": "17776:3:34", "nodeType": "YulIdentifier", - "src": "17776:3:36" + "src": "17776:3:34" }, - "nativeSrc": "17776:18:36", + "nativeSrc": "17776:18:34", "nodeType": "YulFunctionCall", - "src": "17776:18:36" + "src": "17776:18:34" }, { "hexValue": "4e6f7420617574686f72697a6564", "kind": "string", - "nativeSrc": "17796:16:36", + "nativeSrc": "17796:16:34", "nodeType": "YulLiteral", - "src": "17796:16:36", + "src": "17796:16:34", "type": "", "value": "Not authorized" } ], "functionName": { "name": "mstore", - "nativeSrc": "17769:6:36", + "nativeSrc": "17769:6:34", "nodeType": "YulIdentifier", - "src": "17769:6:36" + "src": "17769:6:34" }, - "nativeSrc": "17769:44:36", + "nativeSrc": "17769:44:34", "nodeType": "YulFunctionCall", - "src": "17769:44:36" + "src": "17769:44:34" }, - "nativeSrc": "17769:44:36", + "nativeSrc": "17769:44:34", "nodeType": "YulExpressionStatement", - "src": "17769:44:36" + "src": "17769:44:34" }, { - "nativeSrc": "17822:26:36", + "nativeSrc": "17822:26:34", "nodeType": "YulAssignment", - "src": "17822:26:36", + "src": "17822:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "17834:9:36", + "nativeSrc": "17834:9:34", "nodeType": "YulIdentifier", - "src": "17834:9:36" + "src": "17834:9:34" }, { "kind": "number", - "nativeSrc": "17845:2:36", + "nativeSrc": "17845:2:34", "nodeType": "YulLiteral", - "src": "17845:2:36", + "src": "17845:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "17830:3:36", + "nativeSrc": "17830:3:34", "nodeType": "YulIdentifier", - "src": "17830:3:36" + "src": "17830:3:34" }, - "nativeSrc": "17830:18:36", + "nativeSrc": "17830:18:34", "nodeType": "YulFunctionCall", - "src": "17830:18:36" + "src": "17830:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "17822:4:36", + "nativeSrc": "17822:4:34", "nodeType": "YulIdentifier", - "src": "17822:4:36" + "src": "17822:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "17516:338:36", + "nativeSrc": "17516:338:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "17667:9:36", + "nativeSrc": "17667:9:34", "nodeType": "YulTypedName", - "src": "17667:9:36", + "src": "17667:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "17681:4:36", + "nativeSrc": "17681:4:34", "nodeType": "YulTypedName", - "src": "17681:4:36", + "src": "17681:4:34", "type": "" } ], - "src": "17516:338:36" + "src": "17516:338:34" }, { "body": { - "nativeSrc": "18033:169:36", + "nativeSrc": "18033:169:34", "nodeType": "YulBlock", - "src": "18033:169:36", + "src": "18033:169:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "18050:9:36", + "nativeSrc": "18050:9:34", "nodeType": "YulIdentifier", - "src": "18050:9:36" + "src": "18050:9:34" }, { "kind": "number", - "nativeSrc": "18061:2:36", + "nativeSrc": "18061:2:34", "nodeType": "YulLiteral", - "src": "18061:2:36", + "src": "18061:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "18043:6:36", + "nativeSrc": "18043:6:34", "nodeType": "YulIdentifier", - "src": "18043:6:36" + "src": "18043:6:34" }, - "nativeSrc": "18043:21:36", + "nativeSrc": "18043:21:34", "nodeType": "YulFunctionCall", - "src": "18043:21:36" + "src": "18043:21:34" }, - "nativeSrc": "18043:21:36", + "nativeSrc": "18043:21:34", "nodeType": "YulExpressionStatement", - "src": "18043:21:36" + "src": "18043:21:34" }, { "expression": { @@ -148425,51 +147435,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "18084:9:36", + "nativeSrc": "18084:9:34", "nodeType": "YulIdentifier", - "src": "18084:9:36" + "src": "18084:9:34" }, { "kind": "number", - "nativeSrc": "18095:2:36", + "nativeSrc": "18095:2:34", "nodeType": "YulLiteral", - "src": "18095:2:36", + "src": "18095:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "18080:3:36", + "nativeSrc": "18080:3:34", "nodeType": "YulIdentifier", - "src": "18080:3:36" + "src": "18080:3:34" }, - "nativeSrc": "18080:18:36", + "nativeSrc": "18080:18:34", "nodeType": "YulFunctionCall", - "src": "18080:18:36" + "src": "18080:18:34" }, { "kind": "number", - "nativeSrc": "18100:2:36", + "nativeSrc": "18100:2:34", "nodeType": "YulLiteral", - "src": "18100:2:36", + "src": "18100:2:34", "type": "", "value": "19" } ], "functionName": { "name": "mstore", - "nativeSrc": "18073:6:36", + "nativeSrc": "18073:6:34", "nodeType": "YulIdentifier", - "src": "18073:6:36" + "src": "18073:6:34" }, - "nativeSrc": "18073:30:36", + "nativeSrc": "18073:30:34", "nodeType": "YulFunctionCall", - "src": "18073:30:36" + "src": "18073:30:34" }, - "nativeSrc": "18073:30:36", + "nativeSrc": "18073:30:34", "nodeType": "YulExpressionStatement", - "src": "18073:30:36" + "src": "18073:30:34" }, { "expression": { @@ -148478,155 +147488,155 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "18123:9:36", + "nativeSrc": "18123:9:34", "nodeType": "YulIdentifier", - "src": "18123:9:36" + "src": "18123:9:34" }, { "kind": "number", - "nativeSrc": "18134:2:36", + "nativeSrc": "18134:2:34", "nodeType": "YulLiteral", - "src": "18134:2:36", + "src": "18134:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "18119:3:36", + "nativeSrc": "18119:3:34", "nodeType": "YulIdentifier", - "src": "18119:3:36" + "src": "18119:3:34" }, - "nativeSrc": "18119:18:36", + "nativeSrc": "18119:18:34", "nodeType": "YulFunctionCall", - "src": "18119:18:36" + "src": "18119:18:34" }, { "hexValue": "496e76616c6964207461736b20737461747573", "kind": "string", - "nativeSrc": "18139:21:36", + "nativeSrc": "18139:21:34", "nodeType": "YulLiteral", - "src": "18139:21:36", + "src": "18139:21:34", "type": "", "value": "Invalid task status" } ], "functionName": { "name": "mstore", - "nativeSrc": "18112:6:36", + "nativeSrc": "18112:6:34", "nodeType": "YulIdentifier", - "src": "18112:6:36" + "src": "18112:6:34" }, - "nativeSrc": "18112:49:36", + "nativeSrc": "18112:49:34", "nodeType": "YulFunctionCall", - "src": "18112:49:36" + "src": "18112:49:34" }, - "nativeSrc": "18112:49:36", + "nativeSrc": "18112:49:34", "nodeType": "YulExpressionStatement", - "src": "18112:49:36" + "src": "18112:49:34" }, { - "nativeSrc": "18170:26:36", + "nativeSrc": "18170:26:34", "nodeType": "YulAssignment", - "src": "18170:26:36", + "src": "18170:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "18182:9:36", + "nativeSrc": "18182:9:34", "nodeType": "YulIdentifier", - "src": "18182:9:36" + "src": "18182:9:34" }, { "kind": "number", - "nativeSrc": "18193:2:36", + "nativeSrc": "18193:2:34", "nodeType": "YulLiteral", - "src": "18193:2:36", + "src": "18193:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "18178:3:36", + "nativeSrc": "18178:3:34", "nodeType": "YulIdentifier", - "src": "18178:3:36" + "src": "18178:3:34" }, - "nativeSrc": "18178:18:36", + "nativeSrc": "18178:18:34", "nodeType": "YulFunctionCall", - "src": "18178:18:36" + "src": "18178:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "18170:4:36", + "nativeSrc": "18170:4:34", "nodeType": "YulIdentifier", - "src": "18170:4:36" + "src": "18170:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_35c761622bcc8ab75f9adfaf21a4872a39cd06f2745d5488272d29f1f753f270__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "17859:343:36", + "nativeSrc": "17859:343:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "18010:9:36", + "nativeSrc": "18010:9:34", "nodeType": "YulTypedName", - "src": "18010:9:36", + "src": "18010:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "18024:4:36", + "nativeSrc": "18024:4:34", "nodeType": "YulTypedName", - "src": "18024:4:36", + "src": "18024:4:34", "type": "" } ], - "src": "17859:343:36" + "src": "17859:343:34" }, { "body": { - "nativeSrc": "18381:173:36", + "nativeSrc": "18381:173:34", "nodeType": "YulBlock", - "src": "18381:173:36", + "src": "18381:173:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "18398:9:36", + "nativeSrc": "18398:9:34", "nodeType": "YulIdentifier", - "src": "18398:9:36" + "src": "18398:9:34" }, { "kind": "number", - "nativeSrc": "18409:2:36", + "nativeSrc": "18409:2:34", "nodeType": "YulLiteral", - "src": "18409:2:36", + "src": "18409:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "18391:6:36", + "nativeSrc": "18391:6:34", "nodeType": "YulIdentifier", - "src": "18391:6:36" + "src": "18391:6:34" }, - "nativeSrc": "18391:21:36", + "nativeSrc": "18391:21:34", "nodeType": "YulFunctionCall", - "src": "18391:21:36" + "src": "18391:21:34" }, - "nativeSrc": "18391:21:36", + "nativeSrc": "18391:21:34", "nodeType": "YulExpressionStatement", - "src": "18391:21:36" + "src": "18391:21:34" }, { "expression": { @@ -148635,51 +147645,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "18432:9:36", + "nativeSrc": "18432:9:34", "nodeType": "YulIdentifier", - "src": "18432:9:36" + "src": "18432:9:34" }, { "kind": "number", - "nativeSrc": "18443:2:36", + "nativeSrc": "18443:2:34", "nodeType": "YulLiteral", - "src": "18443:2:36", + "src": "18443:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "18428:3:36", + "nativeSrc": "18428:3:34", "nodeType": "YulIdentifier", - "src": "18428:3:36" + "src": "18428:3:34" }, - "nativeSrc": "18428:18:36", + "nativeSrc": "18428:18:34", "nodeType": "YulFunctionCall", - "src": "18428:18:36" + "src": "18428:18:34" }, { "kind": "number", - "nativeSrc": "18448:2:36", + "nativeSrc": "18448:2:34", "nodeType": "YulLiteral", - "src": "18448:2:36", + "src": "18448:2:34", "type": "", "value": "23" } ], "functionName": { "name": "mstore", - "nativeSrc": "18421:6:36", + "nativeSrc": "18421:6:34", "nodeType": "YulIdentifier", - "src": "18421:6:36" + "src": "18421:6:34" }, - "nativeSrc": "18421:30:36", + "nativeSrc": "18421:30:34", "nodeType": "YulFunctionCall", - "src": "18421:30:36" + "src": "18421:30:34" }, - "nativeSrc": "18421:30:36", + "nativeSrc": "18421:30:34", "nodeType": "YulExpressionStatement", - "src": "18421:30:36" + "src": "18421:30:34" }, { "expression": { @@ -148688,161 +147698,161 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "18471:9:36", + "nativeSrc": "18471:9:34", "nodeType": "YulIdentifier", - "src": "18471:9:36" + "src": "18471:9:34" }, { "kind": "number", - "nativeSrc": "18482:2:36", + "nativeSrc": "18482:2:34", "nodeType": "YulLiteral", - "src": "18482:2:36", + "src": "18482:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "18467:3:36", + "nativeSrc": "18467:3:34", "nodeType": "YulIdentifier", - "src": "18467:3:36" + "src": "18467:3:34" }, - "nativeSrc": "18467:18:36", + "nativeSrc": "18467:18:34", "nodeType": "YulFunctionCall", - "src": "18467:18:36" + "src": "18467:18:34" }, { "hexValue": "5461736b2063616e6e6f742062652063616e63656c6564", "kind": "string", - "nativeSrc": "18487:25:36", + "nativeSrc": "18487:25:34", "nodeType": "YulLiteral", - "src": "18487:25:36", + "src": "18487:25:34", "type": "", "value": "Task cannot be canceled" } ], "functionName": { "name": "mstore", - "nativeSrc": "18460:6:36", + "nativeSrc": "18460:6:34", "nodeType": "YulIdentifier", - "src": "18460:6:36" + "src": "18460:6:34" }, - "nativeSrc": "18460:53:36", + "nativeSrc": "18460:53:34", "nodeType": "YulFunctionCall", - "src": "18460:53:36" + "src": "18460:53:34" }, - "nativeSrc": "18460:53:36", + "nativeSrc": "18460:53:34", "nodeType": "YulExpressionStatement", - "src": "18460:53:36" + "src": "18460:53:34" }, { - "nativeSrc": "18522:26:36", + "nativeSrc": "18522:26:34", "nodeType": "YulAssignment", - "src": "18522:26:36", + "src": "18522:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "18534:9:36", + "nativeSrc": "18534:9:34", "nodeType": "YulIdentifier", - "src": "18534:9:36" + "src": "18534:9:34" }, { "kind": "number", - "nativeSrc": "18545:2:36", + "nativeSrc": "18545:2:34", "nodeType": "YulLiteral", - "src": "18545:2:36", + "src": "18545:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "18530:3:36", + "nativeSrc": "18530:3:34", "nodeType": "YulIdentifier", - "src": "18530:3:36" + "src": "18530:3:34" }, - "nativeSrc": "18530:18:36", + "nativeSrc": "18530:18:34", "nodeType": "YulFunctionCall", - "src": "18530:18:36" + "src": "18530:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "18522:4:36", + "nativeSrc": "18522:4:34", "nodeType": "YulIdentifier", - "src": "18522:4:36" + "src": "18522:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_784e567ba03dff6623f8e7bbee52b701bfd622c294c48e22d5da37cfabe25ac0__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "18207:347:36", + "nativeSrc": "18207:347:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "18358:9:36", + "nativeSrc": "18358:9:34", "nodeType": "YulTypedName", - "src": "18358:9:36", + "src": "18358:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "18372:4:36", + "nativeSrc": "18372:4:34", "nodeType": "YulTypedName", - "src": "18372:4:36", + "src": "18372:4:34", "type": "" } ], - "src": "18207:347:36" + "src": "18207:347:34" }, { "body": { - "nativeSrc": "18667:101:36", + "nativeSrc": "18667:101:34", "nodeType": "YulBlock", - "src": "18667:101:36", + "src": "18667:101:34", "statements": [ { - "nativeSrc": "18677:26:36", + "nativeSrc": "18677:26:34", "nodeType": "YulAssignment", - "src": "18677:26:36", + "src": "18677:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "18689:9:36", + "nativeSrc": "18689:9:34", "nodeType": "YulIdentifier", - "src": "18689:9:36" + "src": "18689:9:34" }, { "kind": "number", - "nativeSrc": "18700:2:36", + "nativeSrc": "18700:2:34", "nodeType": "YulLiteral", - "src": "18700:2:36", + "src": "18700:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "18685:3:36", + "nativeSrc": "18685:3:34", "nodeType": "YulIdentifier", - "src": "18685:3:36" + "src": "18685:3:34" }, - "nativeSrc": "18685:18:36", + "nativeSrc": "18685:18:34", "nodeType": "YulFunctionCall", - "src": "18685:18:36" + "src": "18685:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "18677:4:36", + "nativeSrc": "18677:4:34", "nodeType": "YulIdentifier", - "src": "18677:4:36" + "src": "18677:4:34" } ] }, @@ -148851,190 +147861,190 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "18719:9:36", + "nativeSrc": "18719:9:34", "nodeType": "YulIdentifier", - "src": "18719:9:36" + "src": "18719:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "18734:6:36", + "nativeSrc": "18734:6:34", "nodeType": "YulIdentifier", - "src": "18734:6:36" + "src": "18734:6:34" }, { "kind": "number", - "nativeSrc": "18742:18:36", + "nativeSrc": "18742:18:34", "nodeType": "YulLiteral", - "src": "18742:18:36", + "src": "18742:18:34", "type": "", "value": "0xffffffffffffffff" } ], "functionName": { "name": "and", - "nativeSrc": "18730:3:36", + "nativeSrc": "18730:3:34", "nodeType": "YulIdentifier", - "src": "18730:3:36" + "src": "18730:3:34" }, - "nativeSrc": "18730:31:36", + "nativeSrc": "18730:31:34", "nodeType": "YulFunctionCall", - "src": "18730:31:36" + "src": "18730:31:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "18712:6:36", + "nativeSrc": "18712:6:34", "nodeType": "YulIdentifier", - "src": "18712:6:36" + "src": "18712:6:34" }, - "nativeSrc": "18712:50:36", + "nativeSrc": "18712:50:34", "nodeType": "YulFunctionCall", - "src": "18712:50:36" + "src": "18712:50:34" }, - "nativeSrc": "18712:50:36", + "nativeSrc": "18712:50:34", "nodeType": "YulExpressionStatement", - "src": "18712:50:36" + "src": "18712:50:34" } ] }, "name": "abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed", - "nativeSrc": "18559:209:36", + "nativeSrc": "18559:209:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "18636:9:36", + "nativeSrc": "18636:9:34", "nodeType": "YulTypedName", - "src": "18636:9:36", + "src": "18636:9:34", "type": "" }, { "name": "value0", - "nativeSrc": "18647:6:36", + "nativeSrc": "18647:6:34", "nodeType": "YulTypedName", - "src": "18647:6:36", + "src": "18647:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "18658:4:36", + "nativeSrc": "18658:4:34", "nodeType": "YulTypedName", - "src": "18658:4:36", + "src": "18658:4:34", "type": "" } ], - "src": "18559:209:36" + "src": "18559:209:34" }, { "body": { - "nativeSrc": "18930:218:36", + "nativeSrc": "18930:218:34", "nodeType": "YulBlock", - "src": "18930:218:36", + "src": "18930:218:34", "statements": [ { - "nativeSrc": "18940:26:36", + "nativeSrc": "18940:26:34", "nodeType": "YulAssignment", - "src": "18940:26:36", + "src": "18940:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "18952:9:36", + "nativeSrc": "18952:9:34", "nodeType": "YulIdentifier", - "src": "18952:9:36" + "src": "18952:9:34" }, { "kind": "number", - "nativeSrc": "18963:2:36", + "nativeSrc": "18963:2:34", "nodeType": "YulLiteral", - "src": "18963:2:36", + "src": "18963:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "18948:3:36", + "nativeSrc": "18948:3:34", "nodeType": "YulIdentifier", - "src": "18948:3:36" + "src": "18948:3:34" }, - "nativeSrc": "18948:18:36", + "nativeSrc": "18948:18:34", "nodeType": "YulFunctionCall", - "src": "18948:18:36" + "src": "18948:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "18940:4:36", + "nativeSrc": "18940:4:34", "nodeType": "YulIdentifier", - "src": "18940:4:36" + "src": "18940:4:34" } ] }, { - "nativeSrc": "18975:29:36", + "nativeSrc": "18975:29:34", "nodeType": "YulVariableDeclaration", - "src": "18975:29:36", + "src": "18975:29:34", "value": { "arguments": [ { "arguments": [ { "kind": "number", - "nativeSrc": "18993:3:36", + "nativeSrc": "18993:3:34", "nodeType": "YulLiteral", - "src": "18993:3:36", + "src": "18993:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "18998:1:36", + "nativeSrc": "18998:1:34", "nodeType": "YulLiteral", - "src": "18998:1:36", + "src": "18998:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "18989:3:36", + "nativeSrc": "18989:3:34", "nodeType": "YulIdentifier", - "src": "18989:3:36" + "src": "18989:3:34" }, - "nativeSrc": "18989:11:36", + "nativeSrc": "18989:11:34", "nodeType": "YulFunctionCall", - "src": "18989:11:36" + "src": "18989:11:34" }, { "kind": "number", - "nativeSrc": "19002:1:36", + "nativeSrc": "19002:1:34", "nodeType": "YulLiteral", - "src": "19002:1:36", + "src": "19002:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "18985:3:36", + "nativeSrc": "18985:3:34", "nodeType": "YulIdentifier", - "src": "18985:3:36" + "src": "18985:3:34" }, - "nativeSrc": "18985:19:36", + "nativeSrc": "18985:19:34", "nodeType": "YulFunctionCall", - "src": "18985:19:36" + "src": "18985:19:34" }, "variables": [ { "name": "_1", - "nativeSrc": "18979:2:36", + "nativeSrc": "18979:2:34", "nodeType": "YulTypedName", - "src": "18979:2:36", + "src": "18979:2:34", "type": "" } ] @@ -149044,49 +148054,49 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "19020:9:36", + "nativeSrc": "19020:9:34", "nodeType": "YulIdentifier", - "src": "19020:9:36" + "src": "19020:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "19035:6:36", + "nativeSrc": "19035:6:34", "nodeType": "YulIdentifier", - "src": "19035:6:36" + "src": "19035:6:34" }, { "name": "_1", - "nativeSrc": "19043:2:36", + "nativeSrc": "19043:2:34", "nodeType": "YulIdentifier", - "src": "19043:2:36" + "src": "19043:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "19031:3:36", + "nativeSrc": "19031:3:34", "nodeType": "YulIdentifier", - "src": "19031:3:36" + "src": "19031:3:34" }, - "nativeSrc": "19031:15:36", + "nativeSrc": "19031:15:34", "nodeType": "YulFunctionCall", - "src": "19031:15:36" + "src": "19031:15:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "19013:6:36", + "nativeSrc": "19013:6:34", "nodeType": "YulIdentifier", - "src": "19013:6:36" + "src": "19013:6:34" }, - "nativeSrc": "19013:34:36", + "nativeSrc": "19013:34:34", "nodeType": "YulFunctionCall", - "src": "19013:34:36" + "src": "19013:34:34" }, - "nativeSrc": "19013:34:36", + "nativeSrc": "19013:34:34", "nodeType": "YulExpressionStatement", - "src": "19013:34:36" + "src": "19013:34:34" }, { "expression": { @@ -149095,68 +148105,68 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "19067:9:36", + "nativeSrc": "19067:9:34", "nodeType": "YulIdentifier", - "src": "19067:9:36" + "src": "19067:9:34" }, { "kind": "number", - "nativeSrc": "19078:2:36", + "nativeSrc": "19078:2:34", "nodeType": "YulLiteral", - "src": "19078:2:36", + "src": "19078:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "19063:3:36", + "nativeSrc": "19063:3:34", "nodeType": "YulIdentifier", - "src": "19063:3:36" + "src": "19063:3:34" }, - "nativeSrc": "19063:18:36", + "nativeSrc": "19063:18:34", "nodeType": "YulFunctionCall", - "src": "19063:18:36" + "src": "19063:18:34" }, { "arguments": [ { "name": "value1", - "nativeSrc": "19087:6:36", + "nativeSrc": "19087:6:34", "nodeType": "YulIdentifier", - "src": "19087:6:36" + "src": "19087:6:34" }, { "name": "_1", - "nativeSrc": "19095:2:36", + "nativeSrc": "19095:2:34", "nodeType": "YulIdentifier", - "src": "19095:2:36" + "src": "19095:2:34" } ], "functionName": { "name": "and", - "nativeSrc": "19083:3:36", + "nativeSrc": "19083:3:34", "nodeType": "YulIdentifier", - "src": "19083:3:36" + "src": "19083:3:34" }, - "nativeSrc": "19083:15:36", + "nativeSrc": "19083:15:34", "nodeType": "YulFunctionCall", - "src": "19083:15:36" + "src": "19083:15:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "19056:6:36", + "nativeSrc": "19056:6:34", "nodeType": "YulIdentifier", - "src": "19056:6:36" + "src": "19056:6:34" }, - "nativeSrc": "19056:43:36", + "nativeSrc": "19056:43:34", "nodeType": "YulFunctionCall", - "src": "19056:43:36" + "src": "19056:43:34" }, - "nativeSrc": "19056:43:36", + "nativeSrc": "19056:43:34", "nodeType": "YulExpressionStatement", - "src": "19056:43:36" + "src": "19056:43:34" }, { "expression": { @@ -149165,131 +148175,131 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "19119:9:36", + "nativeSrc": "19119:9:34", "nodeType": "YulIdentifier", - "src": "19119:9:36" + "src": "19119:9:34" }, { "kind": "number", - "nativeSrc": "19130:2:36", + "nativeSrc": "19130:2:34", "nodeType": "YulLiteral", - "src": "19130:2:36", + "src": "19130:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "19115:3:36", + "nativeSrc": "19115:3:34", "nodeType": "YulIdentifier", - "src": "19115:3:36" + "src": "19115:3:34" }, - "nativeSrc": "19115:18:36", + "nativeSrc": "19115:18:34", "nodeType": "YulFunctionCall", - "src": "19115:18:36" + "src": "19115:18:34" }, { "name": "value2", - "nativeSrc": "19135:6:36", + "nativeSrc": "19135:6:34", "nodeType": "YulIdentifier", - "src": "19135:6:36" + "src": "19135:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "19108:6:36", + "nativeSrc": "19108:6:34", "nodeType": "YulIdentifier", - "src": "19108:6:36" + "src": "19108:6:34" }, - "nativeSrc": "19108:34:36", + "nativeSrc": "19108:34:34", "nodeType": "YulFunctionCall", - "src": "19108:34:36" + "src": "19108:34:34" }, - "nativeSrc": "19108:34:36", + "nativeSrc": "19108:34:34", "nodeType": "YulExpressionStatement", - "src": "19108:34:36" + "src": "19108:34:34" } ] }, "name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed", - "nativeSrc": "18773:375:36", + "nativeSrc": "18773:375:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "18883:9:36", + "nativeSrc": "18883:9:34", "nodeType": "YulTypedName", - "src": "18883:9:36", + "src": "18883:9:34", "type": "" }, { "name": "value2", - "nativeSrc": "18894:6:36", + "nativeSrc": "18894:6:34", "nodeType": "YulTypedName", - "src": "18894:6:36", + "src": "18894:6:34", "type": "" }, { "name": "value1", - "nativeSrc": "18902:6:36", + "nativeSrc": "18902:6:34", "nodeType": "YulTypedName", - "src": "18902:6:36", + "src": "18902:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "18910:6:36", + "nativeSrc": "18910:6:34", "nodeType": "YulTypedName", - "src": "18910:6:36", + "src": "18910:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "18921:4:36", + "nativeSrc": "18921:4:34", "nodeType": "YulTypedName", - "src": "18921:4:36", + "src": "18921:4:34", "type": "" } ], - "src": "18773:375:36" + "src": "18773:375:34" }, { "body": { - "nativeSrc": "19290:150:36", + "nativeSrc": "19290:150:34", "nodeType": "YulBlock", - "src": "19290:150:36", + "src": "19290:150:34", "statements": [ { - "nativeSrc": "19300:27:36", + "nativeSrc": "19300:27:34", "nodeType": "YulVariableDeclaration", - "src": "19300:27:36", + "src": "19300:27:34", "value": { "arguments": [ { "name": "value0", - "nativeSrc": "19320:6:36", + "nativeSrc": "19320:6:34", "nodeType": "YulIdentifier", - "src": "19320:6:36" + "src": "19320:6:34" } ], "functionName": { "name": "mload", - "nativeSrc": "19314:5:36", + "nativeSrc": "19314:5:34", "nodeType": "YulIdentifier", - "src": "19314:5:36" + "src": "19314:5:34" }, - "nativeSrc": "19314:13:36", + "nativeSrc": "19314:13:34", "nodeType": "YulFunctionCall", - "src": "19314:13:36" + "src": "19314:13:34" }, "variables": [ { "name": "length", - "nativeSrc": "19304:6:36", + "nativeSrc": "19304:6:34", "nodeType": "YulTypedName", - "src": "19304:6:36", + "src": "19304:6:34", "type": "" } ] @@ -149301,171 +148311,171 @@ "arguments": [ { "name": "value0", - "nativeSrc": "19375:6:36", + "nativeSrc": "19375:6:34", "nodeType": "YulIdentifier", - "src": "19375:6:36" + "src": "19375:6:34" }, { "kind": "number", - "nativeSrc": "19383:4:36", + "nativeSrc": "19383:4:34", "nodeType": "YulLiteral", - "src": "19383:4:36", + "src": "19383:4:34", "type": "", "value": "0x20" } ], "functionName": { "name": "add", - "nativeSrc": "19371:3:36", + "nativeSrc": "19371:3:34", "nodeType": "YulIdentifier", - "src": "19371:3:36" + "src": "19371:3:34" }, - "nativeSrc": "19371:17:36", + "nativeSrc": "19371:17:34", "nodeType": "YulFunctionCall", - "src": "19371:17:36" + "src": "19371:17:34" }, { "name": "pos", - "nativeSrc": "19390:3:36", + "nativeSrc": "19390:3:34", "nodeType": "YulIdentifier", - "src": "19390:3:36" + "src": "19390:3:34" }, { "name": "length", - "nativeSrc": "19395:6:36", + "nativeSrc": "19395:6:34", "nodeType": "YulIdentifier", - "src": "19395:6:36" + "src": "19395:6:34" } ], "functionName": { "name": "copy_memory_to_memory_with_cleanup", - "nativeSrc": "19336:34:36", + "nativeSrc": "19336:34:34", "nodeType": "YulIdentifier", - "src": "19336:34:36" + "src": "19336:34:34" }, - "nativeSrc": "19336:66:36", + "nativeSrc": "19336:66:34", "nodeType": "YulFunctionCall", - "src": "19336:66:36" + "src": "19336:66:34" }, - "nativeSrc": "19336:66:36", + "nativeSrc": "19336:66:34", "nodeType": "YulExpressionStatement", - "src": "19336:66:36" + "src": "19336:66:34" }, { - "nativeSrc": "19411:23:36", + "nativeSrc": "19411:23:34", "nodeType": "YulAssignment", - "src": "19411:23:36", + "src": "19411:23:34", "value": { "arguments": [ { "name": "pos", - "nativeSrc": "19422:3:36", + "nativeSrc": "19422:3:34", "nodeType": "YulIdentifier", - "src": "19422:3:36" + "src": "19422:3:34" }, { "name": "length", - "nativeSrc": "19427:6:36", + "nativeSrc": "19427:6:34", "nodeType": "YulIdentifier", - "src": "19427:6:36" + "src": "19427:6:34" } ], "functionName": { "name": "add", - "nativeSrc": "19418:3:36", + "nativeSrc": "19418:3:34", "nodeType": "YulIdentifier", - "src": "19418:3:36" + "src": "19418:3:34" }, - "nativeSrc": "19418:16:36", + "nativeSrc": "19418:16:34", "nodeType": "YulFunctionCall", - "src": "19418:16:36" + "src": "19418:16:34" }, "variableNames": [ { "name": "end", - "nativeSrc": "19411:3:36", + "nativeSrc": "19411:3:34", "nodeType": "YulIdentifier", - "src": "19411:3:36" + "src": "19411:3:34" } ] } ] }, "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", - "nativeSrc": "19153:287:36", + "nativeSrc": "19153:287:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "pos", - "nativeSrc": "19266:3:36", + "nativeSrc": "19266:3:34", "nodeType": "YulTypedName", - "src": "19266:3:36", + "src": "19266:3:34", "type": "" }, { "name": "value0", - "nativeSrc": "19271:6:36", + "nativeSrc": "19271:6:34", "nodeType": "YulTypedName", - "src": "19271:6:36", + "src": "19271:6:34", "type": "" } ], "returnVariables": [ { "name": "end", - "nativeSrc": "19282:3:36", + "nativeSrc": "19282:3:34", "nodeType": "YulTypedName", - "src": "19282:3:36", + "src": "19282:3:34", "type": "" } ], - "src": "19153:287:36" + "src": "19153:287:34" }, { "body": { - "nativeSrc": "19523:124:36", + "nativeSrc": "19523:124:34", "nodeType": "YulBlock", - "src": "19523:124:36", + "src": "19523:124:34", "statements": [ { "body": { - "nativeSrc": "19569:16:36", + "nativeSrc": "19569:16:34", "nodeType": "YulBlock", - "src": "19569:16:36", + "src": "19569:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "19578:1:36", + "nativeSrc": "19578:1:34", "nodeType": "YulLiteral", - "src": "19578:1:36", + "src": "19578:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "19581:1:36", + "nativeSrc": "19581:1:34", "nodeType": "YulLiteral", - "src": "19581:1:36", + "src": "19581:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "19571:6:36", + "nativeSrc": "19571:6:34", "nodeType": "YulIdentifier", - "src": "19571:6:36" + "src": "19571:6:34" }, - "nativeSrc": "19571:12:36", + "nativeSrc": "19571:12:34", "nodeType": "YulFunctionCall", - "src": "19571:12:36" + "src": "19571:12:34" }, - "nativeSrc": "19571:12:36", + "nativeSrc": "19571:12:34", "nodeType": "YulExpressionStatement", - "src": "19571:12:36" + "src": "19571:12:34" } ] }, @@ -149475,151 +148485,151 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "19544:7:36", + "nativeSrc": "19544:7:34", "nodeType": "YulIdentifier", - "src": "19544:7:36" + "src": "19544:7:34" }, { "name": "headStart", - "nativeSrc": "19553:9:36", + "nativeSrc": "19553:9:34", "nodeType": "YulIdentifier", - "src": "19553:9:36" + "src": "19553:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "19540:3:36", + "nativeSrc": "19540:3:34", "nodeType": "YulIdentifier", - "src": "19540:3:36" + "src": "19540:3:34" }, - "nativeSrc": "19540:23:36", + "nativeSrc": "19540:23:34", "nodeType": "YulFunctionCall", - "src": "19540:23:36" + "src": "19540:23:34" }, { "kind": "number", - "nativeSrc": "19565:2:36", + "nativeSrc": "19565:2:34", "nodeType": "YulLiteral", - "src": "19565:2:36", + "src": "19565:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "19536:3:36", + "nativeSrc": "19536:3:34", "nodeType": "YulIdentifier", - "src": "19536:3:36" + "src": "19536:3:34" }, - "nativeSrc": "19536:32:36", + "nativeSrc": "19536:32:34", "nodeType": "YulFunctionCall", - "src": "19536:32:36" + "src": "19536:32:34" }, - "nativeSrc": "19533:52:36", + "nativeSrc": "19533:52:34", "nodeType": "YulIf", - "src": "19533:52:36" + "src": "19533:52:34" }, { - "nativeSrc": "19594:47:36", + "nativeSrc": "19594:47:34", "nodeType": "YulAssignment", - "src": "19594:47:36", + "src": "19594:47:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "19631:9:36", + "nativeSrc": "19631:9:34", "nodeType": "YulIdentifier", - "src": "19631:9:36" + "src": "19631:9:34" } ], "functionName": { "name": "abi_decode_bool_fromMemory", - "nativeSrc": "19604:26:36", + "nativeSrc": "19604:26:34", "nodeType": "YulIdentifier", - "src": "19604:26:36" + "src": "19604:26:34" }, - "nativeSrc": "19604:37:36", + "nativeSrc": "19604:37:34", "nodeType": "YulFunctionCall", - "src": "19604:37:36" + "src": "19604:37:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "19594:6:36", + "nativeSrc": "19594:6:34", "nodeType": "YulIdentifier", - "src": "19594:6:36" + "src": "19594:6:34" } ] } ] }, "name": "abi_decode_tuple_t_bool_fromMemory", - "nativeSrc": "19445:202:36", + "nativeSrc": "19445:202:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "19489:9:36", + "nativeSrc": "19489:9:34", "nodeType": "YulTypedName", - "src": "19489:9:36", + "src": "19489:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "19500:7:36", + "nativeSrc": "19500:7:34", "nodeType": "YulTypedName", - "src": "19500:7:36", + "src": "19500:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "19512:6:36", + "nativeSrc": "19512:6:34", "nodeType": "YulTypedName", - "src": "19512:6:36", + "src": "19512:6:34", "type": "" } ], - "src": "19445:202:36" + "src": "19445:202:34" }, { "body": { - "nativeSrc": "19826:239:36", + "nativeSrc": "19826:239:34", "nodeType": "YulBlock", - "src": "19826:239:36", + "src": "19826:239:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "19843:9:36", + "nativeSrc": "19843:9:34", "nodeType": "YulIdentifier", - "src": "19843:9:36" + "src": "19843:9:34" }, { "kind": "number", - "nativeSrc": "19854:2:36", + "nativeSrc": "19854:2:34", "nodeType": "YulLiteral", - "src": "19854:2:36", + "src": "19854:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "19836:6:36", + "nativeSrc": "19836:6:34", "nodeType": "YulIdentifier", - "src": "19836:6:36" + "src": "19836:6:34" }, - "nativeSrc": "19836:21:36", + "nativeSrc": "19836:21:34", "nodeType": "YulFunctionCall", - "src": "19836:21:36" + "src": "19836:21:34" }, - "nativeSrc": "19836:21:36", + "nativeSrc": "19836:21:34", "nodeType": "YulExpressionStatement", - "src": "19836:21:36" + "src": "19836:21:34" }, { "expression": { @@ -149628,51 +148638,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "19877:9:36", + "nativeSrc": "19877:9:34", "nodeType": "YulIdentifier", - "src": "19877:9:36" + "src": "19877:9:34" }, { "kind": "number", - "nativeSrc": "19888:2:36", + "nativeSrc": "19888:2:34", "nodeType": "YulLiteral", - "src": "19888:2:36", + "src": "19888:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "19873:3:36", + "nativeSrc": "19873:3:34", "nodeType": "YulIdentifier", - "src": "19873:3:36" + "src": "19873:3:34" }, - "nativeSrc": "19873:18:36", + "nativeSrc": "19873:18:34", "nodeType": "YulFunctionCall", - "src": "19873:18:36" + "src": "19873:18:34" }, { "kind": "number", - "nativeSrc": "19893:2:36", + "nativeSrc": "19893:2:34", "nodeType": "YulLiteral", - "src": "19893:2:36", + "src": "19893:2:34", "type": "", "value": "49" } ], "functionName": { "name": "mstore", - "nativeSrc": "19866:6:36", + "nativeSrc": "19866:6:34", "nodeType": "YulIdentifier", - "src": "19866:6:36" + "src": "19866:6:34" }, - "nativeSrc": "19866:30:36", + "nativeSrc": "19866:30:34", "nodeType": "YulFunctionCall", - "src": "19866:30:36" + "src": "19866:30:34" }, - "nativeSrc": "19866:30:36", + "nativeSrc": "19866:30:34", "nodeType": "YulExpressionStatement", - "src": "19866:30:36" + "src": "19866:30:34" }, { "expression": { @@ -149681,52 +148691,52 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "19916:9:36", + "nativeSrc": "19916:9:34", "nodeType": "YulIdentifier", - "src": "19916:9:36" + "src": "19916:9:34" }, { "kind": "number", - "nativeSrc": "19927:2:36", + "nativeSrc": "19927:2:34", "nodeType": "YulLiteral", - "src": "19927:2:36", + "src": "19927:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "19912:3:36", + "nativeSrc": "19912:3:34", "nodeType": "YulIdentifier", - "src": "19912:3:36" + "src": "19912:3:34" }, - "nativeSrc": "19912:18:36", + "nativeSrc": "19912:18:34", "nodeType": "YulFunctionCall", - "src": "19912:18:36" + "src": "19912:18:34" }, { "hexValue": "5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472", "kind": "string", - "nativeSrc": "19932:34:36", + "nativeSrc": "19932:34:34", "nodeType": "YulLiteral", - "src": "19932:34:36", + "src": "19932:34:34", "type": "", "value": "TransferHelper::transferFrom: tr" } ], "functionName": { "name": "mstore", - "nativeSrc": "19905:6:36", + "nativeSrc": "19905:6:34", "nodeType": "YulIdentifier", - "src": "19905:6:36" + "src": "19905:6:34" }, - "nativeSrc": "19905:62:36", + "nativeSrc": "19905:62:34", "nodeType": "YulFunctionCall", - "src": "19905:62:36" + "src": "19905:62:34" }, - "nativeSrc": "19905:62:36", + "nativeSrc": "19905:62:34", "nodeType": "YulExpressionStatement", - "src": "19905:62:36" + "src": "19905:62:34" }, { "expression": { @@ -149735,163 +148745,163 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "19987:9:36", + "nativeSrc": "19987:9:34", "nodeType": "YulIdentifier", - "src": "19987:9:36" + "src": "19987:9:34" }, { "kind": "number", - "nativeSrc": "19998:2:36", + "nativeSrc": "19998:2:34", "nodeType": "YulLiteral", - "src": "19998:2:36", + "src": "19998:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "19983:3:36", + "nativeSrc": "19983:3:34", "nodeType": "YulIdentifier", - "src": "19983:3:36" + "src": "19983:3:34" }, - "nativeSrc": "19983:18:36", + "nativeSrc": "19983:18:34", "nodeType": "YulFunctionCall", - "src": "19983:18:36" + "src": "19983:18:34" }, { "hexValue": "616e7366657246726f6d206661696c6564", "kind": "string", - "nativeSrc": "20003:19:36", + "nativeSrc": "20003:19:34", "nodeType": "YulLiteral", - "src": "20003:19:36", + "src": "20003:19:34", "type": "", "value": "ansferFrom failed" } ], "functionName": { "name": "mstore", - "nativeSrc": "19976:6:36", + "nativeSrc": "19976:6:34", "nodeType": "YulIdentifier", - "src": "19976:6:36" + "src": "19976:6:34" }, - "nativeSrc": "19976:47:36", + "nativeSrc": "19976:47:34", "nodeType": "YulFunctionCall", - "src": "19976:47:36" + "src": "19976:47:34" }, - "nativeSrc": "19976:47:36", + "nativeSrc": "19976:47:34", "nodeType": "YulExpressionStatement", - "src": "19976:47:36" + "src": "19976:47:34" }, { - "nativeSrc": "20032:27:36", + "nativeSrc": "20032:27:34", "nodeType": "YulAssignment", - "src": "20032:27:36", + "src": "20032:27:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "20044:9:36", + "nativeSrc": "20044:9:34", "nodeType": "YulIdentifier", - "src": "20044:9:36" + "src": "20044:9:34" }, { "kind": "number", - "nativeSrc": "20055:3:36", + "nativeSrc": "20055:3:34", "nodeType": "YulLiteral", - "src": "20055:3:36", + "src": "20055:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "20040:3:36", + "nativeSrc": "20040:3:34", "nodeType": "YulIdentifier", - "src": "20040:3:36" + "src": "20040:3:34" }, - "nativeSrc": "20040:19:36", + "nativeSrc": "20040:19:34", "nodeType": "YulFunctionCall", - "src": "20040:19:36" + "src": "20040:19:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "20032:4:36", + "nativeSrc": "20032:4:34", "nodeType": "YulIdentifier", - "src": "20032:4:36" + "src": "20032:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_3f8faf98afe9344b6d4b0e75b0101259bf282914b3b5a9320c6918b6e27ede1c__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "19652:413:36", + "nativeSrc": "19652:413:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "19803:9:36", + "nativeSrc": "19803:9:34", "nodeType": "YulTypedName", - "src": "19803:9:36", + "src": "19803:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "19817:4:36", + "nativeSrc": "19817:4:34", "nodeType": "YulTypedName", - "src": "19817:4:36", + "src": "19817:4:34", "type": "" } ], - "src": "19652:413:36" + "src": "19652:413:34" }, { "body": { - "nativeSrc": "20151:103:36", + "nativeSrc": "20151:103:34", "nodeType": "YulBlock", - "src": "20151:103:36", + "src": "20151:103:34", "statements": [ { "body": { - "nativeSrc": "20197:16:36", + "nativeSrc": "20197:16:34", "nodeType": "YulBlock", - "src": "20197:16:36", + "src": "20197:16:34", "statements": [ { "expression": { "arguments": [ { "kind": "number", - "nativeSrc": "20206:1:36", + "nativeSrc": "20206:1:34", "nodeType": "YulLiteral", - "src": "20206:1:36", + "src": "20206:1:34", "type": "", "value": "0" }, { "kind": "number", - "nativeSrc": "20209:1:36", + "nativeSrc": "20209:1:34", "nodeType": "YulLiteral", - "src": "20209:1:36", + "src": "20209:1:34", "type": "", "value": "0" } ], "functionName": { "name": "revert", - "nativeSrc": "20199:6:36", + "nativeSrc": "20199:6:34", "nodeType": "YulIdentifier", - "src": "20199:6:36" + "src": "20199:6:34" }, - "nativeSrc": "20199:12:36", + "nativeSrc": "20199:12:34", "nodeType": "YulFunctionCall", - "src": "20199:12:36" + "src": "20199:12:34" }, - "nativeSrc": "20199:12:36", + "nativeSrc": "20199:12:34", "nodeType": "YulExpressionStatement", - "src": "20199:12:36" + "src": "20199:12:34" } ] }, @@ -149901,151 +148911,151 @@ "arguments": [ { "name": "dataEnd", - "nativeSrc": "20172:7:36", + "nativeSrc": "20172:7:34", "nodeType": "YulIdentifier", - "src": "20172:7:36" + "src": "20172:7:34" }, { "name": "headStart", - "nativeSrc": "20181:9:36", + "nativeSrc": "20181:9:34", "nodeType": "YulIdentifier", - "src": "20181:9:36" + "src": "20181:9:34" } ], "functionName": { "name": "sub", - "nativeSrc": "20168:3:36", + "nativeSrc": "20168:3:34", "nodeType": "YulIdentifier", - "src": "20168:3:36" + "src": "20168:3:34" }, - "nativeSrc": "20168:23:36", + "nativeSrc": "20168:23:34", "nodeType": "YulFunctionCall", - "src": "20168:23:36" + "src": "20168:23:34" }, { "kind": "number", - "nativeSrc": "20193:2:36", + "nativeSrc": "20193:2:34", "nodeType": "YulLiteral", - "src": "20193:2:36", + "src": "20193:2:34", "type": "", "value": "32" } ], "functionName": { "name": "slt", - "nativeSrc": "20164:3:36", + "nativeSrc": "20164:3:34", "nodeType": "YulIdentifier", - "src": "20164:3:36" + "src": "20164:3:34" }, - "nativeSrc": "20164:32:36", + "nativeSrc": "20164:32:34", "nodeType": "YulFunctionCall", - "src": "20164:32:36" + "src": "20164:32:34" }, - "nativeSrc": "20161:52:36", + "nativeSrc": "20161:52:34", "nodeType": "YulIf", - "src": "20161:52:36" + "src": "20161:52:34" }, { - "nativeSrc": "20222:26:36", + "nativeSrc": "20222:26:34", "nodeType": "YulAssignment", - "src": "20222:26:36", + "src": "20222:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "20238:9:36", + "nativeSrc": "20238:9:34", "nodeType": "YulIdentifier", - "src": "20238:9:36" + "src": "20238:9:34" } ], "functionName": { "name": "mload", - "nativeSrc": "20232:5:36", + "nativeSrc": "20232:5:34", "nodeType": "YulIdentifier", - "src": "20232:5:36" + "src": "20232:5:34" }, - "nativeSrc": "20232:16:36", + "nativeSrc": "20232:16:34", "nodeType": "YulFunctionCall", - "src": "20232:16:36" + "src": "20232:16:34" }, "variableNames": [ { "name": "value0", - "nativeSrc": "20222:6:36", + "nativeSrc": "20222:6:34", "nodeType": "YulIdentifier", - "src": "20222:6:36" + "src": "20222:6:34" } ] } ] }, "name": "abi_decode_tuple_t_bytes32_fromMemory", - "nativeSrc": "20070:184:36", + "nativeSrc": "20070:184:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "20117:9:36", + "nativeSrc": "20117:9:34", "nodeType": "YulTypedName", - "src": "20117:9:36", + "src": "20117:9:34", "type": "" }, { "name": "dataEnd", - "nativeSrc": "20128:7:36", + "nativeSrc": "20128:7:34", "nodeType": "YulTypedName", - "src": "20128:7:36", + "src": "20128:7:34", "type": "" } ], "returnVariables": [ { "name": "value0", - "nativeSrc": "20140:6:36", + "nativeSrc": "20140:6:34", "nodeType": "YulTypedName", - "src": "20140:6:36", + "src": "20140:6:34", "type": "" } ], - "src": "20070:184:36" + "src": "20070:184:34" }, { "body": { - "nativeSrc": "20433:242:36", + "nativeSrc": "20433:242:34", "nodeType": "YulBlock", - "src": "20433:242:36", + "src": "20433:242:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "20450:9:36", + "nativeSrc": "20450:9:34", "nodeType": "YulIdentifier", - "src": "20450:9:36" + "src": "20450:9:34" }, { "kind": "number", - "nativeSrc": "20461:2:36", + "nativeSrc": "20461:2:34", "nodeType": "YulLiteral", - "src": "20461:2:36", + "src": "20461:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "20443:6:36", + "nativeSrc": "20443:6:34", "nodeType": "YulIdentifier", - "src": "20443:6:36" + "src": "20443:6:34" }, - "nativeSrc": "20443:21:36", + "nativeSrc": "20443:21:34", "nodeType": "YulFunctionCall", - "src": "20443:21:36" + "src": "20443:21:34" }, - "nativeSrc": "20443:21:36", + "nativeSrc": "20443:21:34", "nodeType": "YulExpressionStatement", - "src": "20443:21:36" + "src": "20443:21:34" }, { "expression": { @@ -150054,51 +149064,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "20484:9:36", + "nativeSrc": "20484:9:34", "nodeType": "YulIdentifier", - "src": "20484:9:36" + "src": "20484:9:34" }, { "kind": "number", - "nativeSrc": "20495:2:36", + "nativeSrc": "20495:2:34", "nodeType": "YulLiteral", - "src": "20495:2:36", + "src": "20495:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "20480:3:36", + "nativeSrc": "20480:3:34", "nodeType": "YulIdentifier", - "src": "20480:3:36" + "src": "20480:3:34" }, - "nativeSrc": "20480:18:36", + "nativeSrc": "20480:18:34", "nodeType": "YulFunctionCall", - "src": "20480:18:36" + "src": "20480:18:34" }, { "kind": "number", - "nativeSrc": "20500:2:36", + "nativeSrc": "20500:2:34", "nodeType": "YulLiteral", - "src": "20500:2:36", + "src": "20500:2:34", "type": "", "value": "52" } ], "functionName": { "name": "mstore", - "nativeSrc": "20473:6:36", + "nativeSrc": "20473:6:34", "nodeType": "YulIdentifier", - "src": "20473:6:36" + "src": "20473:6:34" }, - "nativeSrc": "20473:30:36", + "nativeSrc": "20473:30:34", "nodeType": "YulFunctionCall", - "src": "20473:30:36" + "src": "20473:30:34" }, - "nativeSrc": "20473:30:36", + "nativeSrc": "20473:30:34", "nodeType": "YulExpressionStatement", - "src": "20473:30:36" + "src": "20473:30:34" }, { "expression": { @@ -150107,52 +149117,52 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "20523:9:36", + "nativeSrc": "20523:9:34", "nodeType": "YulIdentifier", - "src": "20523:9:36" + "src": "20523:9:34" }, { "kind": "number", - "nativeSrc": "20534:2:36", + "nativeSrc": "20534:2:34", "nodeType": "YulLiteral", - "src": "20534:2:36", + "src": "20534:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "20519:3:36", + "nativeSrc": "20519:3:34", "nodeType": "YulIdentifier", - "src": "20519:3:36" + "src": "20519:3:34" }, - "nativeSrc": "20519:18:36", + "nativeSrc": "20519:18:34", "nodeType": "YulFunctionCall", - "src": "20519:18:36" + "src": "20519:18:34" }, { "hexValue": "5472616e7366657248656c7065723a3a736166655472616e736665724554483a", "kind": "string", - "nativeSrc": "20539:34:36", + "nativeSrc": "20539:34:34", "nodeType": "YulLiteral", - "src": "20539:34:36", + "src": "20539:34:34", "type": "", "value": "TransferHelper::safeTransferETH:" } ], "functionName": { "name": "mstore", - "nativeSrc": "20512:6:36", + "nativeSrc": "20512:6:34", "nodeType": "YulIdentifier", - "src": "20512:6:36" + "src": "20512:6:34" }, - "nativeSrc": "20512:62:36", + "nativeSrc": "20512:62:34", "nodeType": "YulFunctionCall", - "src": "20512:62:36" + "src": "20512:62:34" }, - "nativeSrc": "20512:62:36", + "nativeSrc": "20512:62:34", "nodeType": "YulExpressionStatement", - "src": "20512:62:36" + "src": "20512:62:34" }, { "expression": { @@ -150161,161 +149171,161 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "20594:9:36", + "nativeSrc": "20594:9:34", "nodeType": "YulIdentifier", - "src": "20594:9:36" + "src": "20594:9:34" }, { "kind": "number", - "nativeSrc": "20605:2:36", + "nativeSrc": "20605:2:34", "nodeType": "YulLiteral", - "src": "20605:2:36", + "src": "20605:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "20590:3:36", + "nativeSrc": "20590:3:34", "nodeType": "YulIdentifier", - "src": "20590:3:36" + "src": "20590:3:34" }, - "nativeSrc": "20590:18:36", + "nativeSrc": "20590:18:34", "nodeType": "YulFunctionCall", - "src": "20590:18:36" + "src": "20590:18:34" }, { "hexValue": "20455448207472616e73666572206661696c6564", "kind": "string", - "nativeSrc": "20610:22:36", + "nativeSrc": "20610:22:34", "nodeType": "YulLiteral", - "src": "20610:22:36", + "src": "20610:22:34", "type": "", "value": " ETH transfer failed" } ], "functionName": { "name": "mstore", - "nativeSrc": "20583:6:36", + "nativeSrc": "20583:6:34", "nodeType": "YulIdentifier", - "src": "20583:6:36" + "src": "20583:6:34" }, - "nativeSrc": "20583:50:36", + "nativeSrc": "20583:50:34", "nodeType": "YulFunctionCall", - "src": "20583:50:36" + "src": "20583:50:34" }, - "nativeSrc": "20583:50:36", + "nativeSrc": "20583:50:34", "nodeType": "YulExpressionStatement", - "src": "20583:50:36" + "src": "20583:50:34" }, { - "nativeSrc": "20642:27:36", + "nativeSrc": "20642:27:34", "nodeType": "YulAssignment", - "src": "20642:27:36", + "src": "20642:27:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "20654:9:36", + "nativeSrc": "20654:9:34", "nodeType": "YulIdentifier", - "src": "20654:9:36" + "src": "20654:9:34" }, { "kind": "number", - "nativeSrc": "20665:3:36", + "nativeSrc": "20665:3:34", "nodeType": "YulLiteral", - "src": "20665:3:36", + "src": "20665:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "20650:3:36", + "nativeSrc": "20650:3:34", "nodeType": "YulIdentifier", - "src": "20650:3:36" + "src": "20650:3:34" }, - "nativeSrc": "20650:19:36", + "nativeSrc": "20650:19:34", "nodeType": "YulFunctionCall", - "src": "20650:19:36" + "src": "20650:19:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "20642:4:36", + "nativeSrc": "20642:4:34", "nodeType": "YulIdentifier", - "src": "20642:4:36" + "src": "20642:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_43d7bec223ecf9eb06ea147e7d564bc71c2448662d62a4ea86ce71fc4518b350__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "20259:416:36", + "nativeSrc": "20259:416:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "20410:9:36", + "nativeSrc": "20410:9:34", "nodeType": "YulTypedName", - "src": "20410:9:36", + "src": "20410:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "20424:4:36", + "nativeSrc": "20424:4:34", "nodeType": "YulTypedName", - "src": "20424:4:36", + "src": "20424:4:34", "type": "" } ], - "src": "20259:416:36" + "src": "20259:416:34" }, { "body": { - "nativeSrc": "20809:145:36", + "nativeSrc": "20809:145:34", "nodeType": "YulBlock", - "src": "20809:145:36", + "src": "20809:145:34", "statements": [ { - "nativeSrc": "20819:26:36", + "nativeSrc": "20819:26:34", "nodeType": "YulAssignment", - "src": "20819:26:36", + "src": "20819:26:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "20831:9:36", + "nativeSrc": "20831:9:34", "nodeType": "YulIdentifier", - "src": "20831:9:36" + "src": "20831:9:34" }, { "kind": "number", - "nativeSrc": "20842:2:36", + "nativeSrc": "20842:2:34", "nodeType": "YulLiteral", - "src": "20842:2:36", + "src": "20842:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "20827:3:36", + "nativeSrc": "20827:3:34", "nodeType": "YulIdentifier", - "src": "20827:3:36" + "src": "20827:3:34" }, - "nativeSrc": "20827:18:36", + "nativeSrc": "20827:18:34", "nodeType": "YulFunctionCall", - "src": "20827:18:36" + "src": "20827:18:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "20819:4:36", + "nativeSrc": "20819:4:34", "nodeType": "YulIdentifier", - "src": "20819:4:36" + "src": "20819:4:34" } ] }, @@ -150324,17 +149334,17 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "20861:9:36", + "nativeSrc": "20861:9:34", "nodeType": "YulIdentifier", - "src": "20861:9:36" + "src": "20861:9:34" }, { "arguments": [ { "name": "value0", - "nativeSrc": "20876:6:36", + "nativeSrc": "20876:6:34", "nodeType": "YulIdentifier", - "src": "20876:6:36" + "src": "20876:6:34" }, { "arguments": [ @@ -150342,75 +149352,75 @@ "arguments": [ { "kind": "number", - "nativeSrc": "20892:3:36", + "nativeSrc": "20892:3:34", "nodeType": "YulLiteral", - "src": "20892:3:36", + "src": "20892:3:34", "type": "", "value": "160" }, { "kind": "number", - "nativeSrc": "20897:1:36", + "nativeSrc": "20897:1:34", "nodeType": "YulLiteral", - "src": "20897:1:36", + "src": "20897:1:34", "type": "", "value": "1" } ], "functionName": { "name": "shl", - "nativeSrc": "20888:3:36", + "nativeSrc": "20888:3:34", "nodeType": "YulIdentifier", - "src": "20888:3:36" + "src": "20888:3:34" }, - "nativeSrc": "20888:11:36", + "nativeSrc": "20888:11:34", "nodeType": "YulFunctionCall", - "src": "20888:11:36" + "src": "20888:11:34" }, { "kind": "number", - "nativeSrc": "20901:1:36", + "nativeSrc": "20901:1:34", "nodeType": "YulLiteral", - "src": "20901:1:36", + "src": "20901:1:34", "type": "", "value": "1" } ], "functionName": { "name": "sub", - "nativeSrc": "20884:3:36", + "nativeSrc": "20884:3:34", "nodeType": "YulIdentifier", - "src": "20884:3:36" + "src": "20884:3:34" }, - "nativeSrc": "20884:19:36", + "nativeSrc": "20884:19:34", "nodeType": "YulFunctionCall", - "src": "20884:19:36" + "src": "20884:19:34" } ], "functionName": { "name": "and", - "nativeSrc": "20872:3:36", + "nativeSrc": "20872:3:34", "nodeType": "YulIdentifier", - "src": "20872:3:36" + "src": "20872:3:34" }, - "nativeSrc": "20872:32:36", + "nativeSrc": "20872:32:34", "nodeType": "YulFunctionCall", - "src": "20872:32:36" + "src": "20872:32:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "20854:6:36", + "nativeSrc": "20854:6:34", "nodeType": "YulIdentifier", - "src": "20854:6:36" + "src": "20854:6:34" }, - "nativeSrc": "20854:51:36", + "nativeSrc": "20854:51:34", "nodeType": "YulFunctionCall", - "src": "20854:51:36" + "src": "20854:51:34" }, - "nativeSrc": "20854:51:36", + "nativeSrc": "20854:51:34", "nodeType": "YulExpressionStatement", - "src": "20854:51:36" + "src": "20854:51:34" }, { "expression": { @@ -150419,126 +149429,126 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "20925:9:36", + "nativeSrc": "20925:9:34", "nodeType": "YulIdentifier", - "src": "20925:9:36" + "src": "20925:9:34" }, { "kind": "number", - "nativeSrc": "20936:2:36", + "nativeSrc": "20936:2:34", "nodeType": "YulLiteral", - "src": "20936:2:36", + "src": "20936:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "20921:3:36", + "nativeSrc": "20921:3:34", "nodeType": "YulIdentifier", - "src": "20921:3:36" + "src": "20921:3:34" }, - "nativeSrc": "20921:18:36", + "nativeSrc": "20921:18:34", "nodeType": "YulFunctionCall", - "src": "20921:18:36" + "src": "20921:18:34" }, { "name": "value1", - "nativeSrc": "20941:6:36", + "nativeSrc": "20941:6:34", "nodeType": "YulIdentifier", - "src": "20941:6:36" + "src": "20941:6:34" } ], "functionName": { "name": "mstore", - "nativeSrc": "20914:6:36", + "nativeSrc": "20914:6:34", "nodeType": "YulIdentifier", - "src": "20914:6:36" + "src": "20914:6:34" }, - "nativeSrc": "20914:34:36", + "nativeSrc": "20914:34:34", "nodeType": "YulFunctionCall", - "src": "20914:34:36" + "src": "20914:34:34" }, - "nativeSrc": "20914:34:36", + "nativeSrc": "20914:34:34", "nodeType": "YulExpressionStatement", - "src": "20914:34:36" + "src": "20914:34:34" } ] }, "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", - "nativeSrc": "20680:274:36", + "nativeSrc": "20680:274:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "20770:9:36", + "nativeSrc": "20770:9:34", "nodeType": "YulTypedName", - "src": "20770:9:36", + "src": "20770:9:34", "type": "" }, { "name": "value1", - "nativeSrc": "20781:6:36", + "nativeSrc": "20781:6:34", "nodeType": "YulTypedName", - "src": "20781:6:36", + "src": "20781:6:34", "type": "" }, { "name": "value0", - "nativeSrc": "20789:6:36", + "nativeSrc": "20789:6:34", "nodeType": "YulTypedName", - "src": "20789:6:36", + "src": "20789:6:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "20800:4:36", + "nativeSrc": "20800:4:34", "nodeType": "YulTypedName", - "src": "20800:4:36", + "src": "20800:4:34", "type": "" } ], - "src": "20680:274:36" + "src": "20680:274:34" }, { "body": { - "nativeSrc": "21133:235:36", + "nativeSrc": "21133:235:34", "nodeType": "YulBlock", - "src": "21133:235:36", + "src": "21133:235:34", "statements": [ { "expression": { "arguments": [ { "name": "headStart", - "nativeSrc": "21150:9:36", + "nativeSrc": "21150:9:34", "nodeType": "YulIdentifier", - "src": "21150:9:36" + "src": "21150:9:34" }, { "kind": "number", - "nativeSrc": "21161:2:36", + "nativeSrc": "21161:2:34", "nodeType": "YulLiteral", - "src": "21161:2:36", + "src": "21161:2:34", "type": "", "value": "32" } ], "functionName": { "name": "mstore", - "nativeSrc": "21143:6:36", + "nativeSrc": "21143:6:34", "nodeType": "YulIdentifier", - "src": "21143:6:36" + "src": "21143:6:34" }, - "nativeSrc": "21143:21:36", + "nativeSrc": "21143:21:34", "nodeType": "YulFunctionCall", - "src": "21143:21:36" + "src": "21143:21:34" }, - "nativeSrc": "21143:21:36", + "nativeSrc": "21143:21:34", "nodeType": "YulExpressionStatement", - "src": "21143:21:36" + "src": "21143:21:34" }, { "expression": { @@ -150547,51 +149557,51 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "21184:9:36", + "nativeSrc": "21184:9:34", "nodeType": "YulIdentifier", - "src": "21184:9:36" + "src": "21184:9:34" }, { "kind": "number", - "nativeSrc": "21195:2:36", + "nativeSrc": "21195:2:34", "nodeType": "YulLiteral", - "src": "21195:2:36", + "src": "21195:2:34", "type": "", "value": "32" } ], "functionName": { "name": "add", - "nativeSrc": "21180:3:36", + "nativeSrc": "21180:3:34", "nodeType": "YulIdentifier", - "src": "21180:3:36" + "src": "21180:3:34" }, - "nativeSrc": "21180:18:36", + "nativeSrc": "21180:18:34", "nodeType": "YulFunctionCall", - "src": "21180:18:36" + "src": "21180:18:34" }, { "kind": "number", - "nativeSrc": "21200:2:36", + "nativeSrc": "21200:2:34", "nodeType": "YulLiteral", - "src": "21200:2:36", + "src": "21200:2:34", "type": "", "value": "45" } ], "functionName": { "name": "mstore", - "nativeSrc": "21173:6:36", + "nativeSrc": "21173:6:34", "nodeType": "YulIdentifier", - "src": "21173:6:36" + "src": "21173:6:34" }, - "nativeSrc": "21173:30:36", + "nativeSrc": "21173:30:34", "nodeType": "YulFunctionCall", - "src": "21173:30:36" + "src": "21173:30:34" }, - "nativeSrc": "21173:30:36", + "nativeSrc": "21173:30:34", "nodeType": "YulExpressionStatement", - "src": "21173:30:36" + "src": "21173:30:34" }, { "expression": { @@ -150600,52 +149610,52 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "21223:9:36", + "nativeSrc": "21223:9:34", "nodeType": "YulIdentifier", - "src": "21223:9:36" + "src": "21223:9:34" }, { "kind": "number", - "nativeSrc": "21234:2:36", + "nativeSrc": "21234:2:34", "nodeType": "YulLiteral", - "src": "21234:2:36", + "src": "21234:2:34", "type": "", "value": "64" } ], "functionName": { "name": "add", - "nativeSrc": "21219:3:36", + "nativeSrc": "21219:3:34", "nodeType": "YulIdentifier", - "src": "21219:3:36" + "src": "21219:3:34" }, - "nativeSrc": "21219:18:36", + "nativeSrc": "21219:18:34", "nodeType": "YulFunctionCall", - "src": "21219:18:36" + "src": "21219:18:34" }, { "hexValue": "5472616e7366657248656c7065723a3a736166655472616e736665723a207472", "kind": "string", - "nativeSrc": "21239:34:36", + "nativeSrc": "21239:34:34", "nodeType": "YulLiteral", - "src": "21239:34:36", + "src": "21239:34:34", "type": "", "value": "TransferHelper::safeTransfer: tr" } ], "functionName": { "name": "mstore", - "nativeSrc": "21212:6:36", + "nativeSrc": "21212:6:34", "nodeType": "YulIdentifier", - "src": "21212:6:36" + "src": "21212:6:34" }, - "nativeSrc": "21212:62:36", + "nativeSrc": "21212:62:34", "nodeType": "YulFunctionCall", - "src": "21212:62:36" + "src": "21212:62:34" }, - "nativeSrc": "21212:62:36", + "nativeSrc": "21212:62:34", "nodeType": "YulExpressionStatement", - "src": "21212:62:36" + "src": "21212:62:34" }, { "expression": { @@ -150654,122 +149664,122 @@ "arguments": [ { "name": "headStart", - "nativeSrc": "21294:9:36", + "nativeSrc": "21294:9:34", "nodeType": "YulIdentifier", - "src": "21294:9:36" + "src": "21294:9:34" }, { "kind": "number", - "nativeSrc": "21305:2:36", + "nativeSrc": "21305:2:34", "nodeType": "YulLiteral", - "src": "21305:2:36", + "src": "21305:2:34", "type": "", "value": "96" } ], "functionName": { "name": "add", - "nativeSrc": "21290:3:36", + "nativeSrc": "21290:3:34", "nodeType": "YulIdentifier", - "src": "21290:3:36" + "src": "21290:3:34" }, - "nativeSrc": "21290:18:36", + "nativeSrc": "21290:18:34", "nodeType": "YulFunctionCall", - "src": "21290:18:36" + "src": "21290:18:34" }, { "hexValue": "616e73666572206661696c6564", "kind": "string", - "nativeSrc": "21310:15:36", + "nativeSrc": "21310:15:34", "nodeType": "YulLiteral", - "src": "21310:15:36", + "src": "21310:15:34", "type": "", "value": "ansfer failed" } ], "functionName": { "name": "mstore", - "nativeSrc": "21283:6:36", + "nativeSrc": "21283:6:34", "nodeType": "YulIdentifier", - "src": "21283:6:36" + "src": "21283:6:34" }, - "nativeSrc": "21283:43:36", + "nativeSrc": "21283:43:34", "nodeType": "YulFunctionCall", - "src": "21283:43:36" + "src": "21283:43:34" }, - "nativeSrc": "21283:43:36", + "nativeSrc": "21283:43:34", "nodeType": "YulExpressionStatement", - "src": "21283:43:36" + "src": "21283:43:34" }, { - "nativeSrc": "21335:27:36", + "nativeSrc": "21335:27:34", "nodeType": "YulAssignment", - "src": "21335:27:36", + "src": "21335:27:34", "value": { "arguments": [ { "name": "headStart", - "nativeSrc": "21347:9:36", + "nativeSrc": "21347:9:34", "nodeType": "YulIdentifier", - "src": "21347:9:36" + "src": "21347:9:34" }, { "kind": "number", - "nativeSrc": "21358:3:36", + "nativeSrc": "21358:3:34", "nodeType": "YulLiteral", - "src": "21358:3:36", + "src": "21358:3:34", "type": "", "value": "128" } ], "functionName": { "name": "add", - "nativeSrc": "21343:3:36", + "nativeSrc": "21343:3:34", "nodeType": "YulIdentifier", - "src": "21343:3:36" + "src": "21343:3:34" }, - "nativeSrc": "21343:19:36", + "nativeSrc": "21343:19:34", "nodeType": "YulFunctionCall", - "src": "21343:19:36" + "src": "21343:19:34" }, "variableNames": [ { "name": "tail", - "nativeSrc": "21335:4:36", + "nativeSrc": "21335:4:34", "nodeType": "YulIdentifier", - "src": "21335:4:36" + "src": "21335:4:34" } ] } ] }, "name": "abi_encode_tuple_t_stringliteral_daea69421eeb1164e163c36f3d4349f0db3ec4e0d1381bd5bf4faf53496c2611__to_t_string_memory_ptr__fromStack_reversed", - "nativeSrc": "20959:409:36", + "nativeSrc": "20959:409:34", "nodeType": "YulFunctionDefinition", "parameters": [ { "name": "headStart", - "nativeSrc": "21110:9:36", + "nativeSrc": "21110:9:34", "nodeType": "YulTypedName", - "src": "21110:9:36", + "src": "21110:9:34", "type": "" } ], "returnVariables": [ { "name": "tail", - "nativeSrc": "21124:4:36", + "nativeSrc": "21124:4:34", "nodeType": "YulTypedName", - "src": "21124:4:36", + "src": "21124:4:34", "type": "" } ], - "src": "20959:409:36" + "src": "20959:409:34" } ] }, - "contents": "{\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_2890() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0xc0)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\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_string(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_available_length_string(src, length, end) -> array\n {\n array := allocate_memory(array_allocation_size_string(length))\n mstore(array, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(array, 0x20), src, length)\n mstore(add(add(array, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\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_string(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_address(value, pos)\n {\n mstore(pos, and(value, sub(shl(160, 1), 1)))\n }\n function panic_error_0x21()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n function abi_encode_enum_TaskStatus(value, pos)\n {\n if iszero(lt(value, 4))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n mstore(pos, value)\n }\n function abi_encode_uint8(value, pos)\n { mstore(pos, and(value, 0xff)) }\n function abi_encode_tuple_t_struct$_TaskData_$4655_memory_ptr__to_t_struct$_TaskData_$4655_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), mload(value0))\n let memberValue0 := mload(add(value0, 32))\n let _1 := 0x0100\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 288))\n mstore(add(headStart, 96), and(mload(add(value0, 64)), sub(shl(160, 1), 1)))\n let memberValue0_1 := mload(add(value0, 96))\n abi_encode_enum_TaskStatus(memberValue0_1, add(headStart, 128))\n let memberValue0_2 := mload(add(value0, 128))\n abi_encode_address(memberValue0_2, add(headStart, 160))\n mstore(add(headStart, 192), mload(add(value0, 160)))\n let memberValue0_3 := mload(add(value0, 192))\n mstore(add(headStart, 224), add(sub(tail_1, headStart), not(31)))\n let tail_2 := abi_encode_string(memberValue0_3, tail_1)\n let memberValue0_4 := mload(add(value0, 224))\n abi_encode_uint8(memberValue0_4, add(headStart, _1))\n tail := tail_2\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\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 abi_encode_tuple_t_contract$_AgentsRegistryUpgradeable_$4016__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 validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\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 validator_revert_address(value)\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 value1 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_enum$_TaskStatus_$4637__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n abi_encode_enum_TaskStatus(value0, headStart)\n }\n function abi_decode_tuple_t_uint256t_uint8(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n value1 := value\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, 32)\n mstore(headStart, 32)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 64)\n let srcPtr := add(value0, 32)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_decode_tuple_t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_t_uint256_t_string_memory_ptr_t_address_t_enum$_TaskStatus_$4637_t_address_t_uint256_t_string_memory_ptr_t_uint8__to_t_uint256_t_string_memory_ptr_t_address_t_uint8_t_address_t_uint256_t_string_memory_ptr_t_uint8__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 256\n mstore(headStart, value0)\n mstore(add(headStart, 32), _1)\n let tail_1 := abi_encode_string(value1, add(headStart, _1))\n let _2 := sub(shl(160, 1), 1)\n mstore(add(headStart, 64), and(value2, _2))\n abi_encode_enum_TaskStatus(value3, add(headStart, 96))\n mstore(add(headStart, 128), and(value4, _2))\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), sub(tail_1, headStart))\n tail := abi_encode_string(value6, tail_1)\n mstore(add(headStart, 224), and(value7, 0xff))\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_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_contract$_AgentsRegistryUpgradeable_$4016(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_address(value)\n value1 := value\n }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n validator_revert_address(value)\n }\n function abi_decode_bool_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_struct$_ServiceProposal_$5342_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n let offset := mload(headStart)\n let _2 := 0xffffffffffffffff\n if gt(offset, _2) { revert(0, 0) }\n let _3 := add(headStart, offset)\n if slt(sub(dataEnd, _3), 0xc0) { revert(0, 0) }\n let value := allocate_memory_2890()\n let value_1 := mload(_3)\n validator_revert_address(value_1)\n mstore(value, value_1)\n let offset_1 := mload(add(_3, _1))\n if gt(offset_1, _2) { revert(0, 0) }\n let _4 := add(_3, offset_1)\n if iszero(slt(add(_4, 0x1f), dataEnd)) { revert(0, 0) }\n let _5 := mload(_4)\n let array := allocate_memory(array_allocation_size_string(_5))\n mstore(array, _5)\n if gt(add(add(_4, _5), _1), dataEnd) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(_4, _1), add(array, _1), _5)\n mstore(add(value, _1), array)\n mstore(add(value, 64), mload(add(_3, 64)))\n mstore(add(value, 96), abi_decode_address_fromMemory(add(_3, 96)))\n mstore(add(value, 128), mload(add(_3, 128)))\n mstore(add(value, 160), abi_decode_bool_fromMemory(add(_3, 160)))\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ServiceProposal not found\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_eaa01effe6abd0543e9529d3961b0f5d26980f0661c156a79b89c39a093463f7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 13)\n mstore(add(headStart, 64), \"Invalid price\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1b1b03f60ebe259831055a7aaca661444a58af4e39e114790f599b56dce96127__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"No ETH should be sent for ERC20 \")\n mstore(add(headStart, 96), \"payments\")\n tail := add(headStart, 128)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(0, array)\n let data := keccak256(0, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := 0x20\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 96)\n tail := abi_encode_string(value2, add(headStart, 96))\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_stringliteral_8b01433edf8e1c1ecc76c5925a92e74cb9845acafce91ff571223021d8950f7c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Not the issuer of the task\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a08755c006bba216d153388cc97acf5e536a500c0ec88cade64bd6b2f0d0e27d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 21)\n mstore(add(headStart, 64), \"Task is not completed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_306fe74d51ecec7b72bc35613a90b4c93840ded0ff8f63d0daef622fd6053b19__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"Task got rating already\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e__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), \"Rating must be between 0 and 100\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), and(value1, 0xff))\n }\n function abi_decode_tuple_t_uint256_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_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), \"Not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_35c761622bcc8ab75f9adfaf21a4872a39cd06f2745d5488272d29f1f753f270__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 19)\n mstore(add(headStart, 64), \"Invalid task status\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_784e567ba03dff6623f8e7bbee52b701bfd622c294c48e22d5da37cfabe25ac0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"Task cannot be canceled\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffff))\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\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_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_bool_fromMemory(headStart)\n }\n function abi_encode_tuple_t_stringliteral_3f8faf98afe9344b6d4b0e75b0101259bf282914b3b5a9320c6918b6e27ede1c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 49)\n mstore(add(headStart, 64), \"TransferHelper::transferFrom: tr\")\n mstore(add(headStart, 96), \"ansferFrom failed\")\n tail := add(headStart, 128)\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_43d7bec223ecf9eb06ea147e7d564bc71c2448662d62a4ea86ce71fc4518b350__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 52)\n mstore(add(headStart, 64), \"TransferHelper::safeTransferETH:\")\n mstore(add(headStart, 96), \" ETH transfer failed\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_daea69421eeb1164e163c36f3d4349f0db3ec4e0d1381bd5bf4faf53496c2611__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"TransferHelper::safeTransfer: tr\")\n mstore(add(headStart, 96), \"ansfer failed\")\n tail := add(headStart, 128)\n }\n}", - "id": 36, + "contents": "{\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_2890() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0xc0)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\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_string(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_available_length_string(src, length, end) -> array\n {\n array := allocate_memory(array_allocation_size_string(length))\n mstore(array, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(array, 0x20), src, length)\n mstore(add(add(array, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\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_string(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_address(value, pos)\n {\n mstore(pos, and(value, sub(shl(160, 1), 1)))\n }\n function panic_error_0x21()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n function abi_encode_enum_TaskStatus(value, pos)\n {\n if iszero(lt(value, 4))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n mstore(pos, value)\n }\n function abi_encode_uint8(value, pos)\n { mstore(pos, and(value, 0xff)) }\n function abi_encode_tuple_t_struct$_TaskData_$4656_memory_ptr__to_t_struct$_TaskData_$4656_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), mload(value0))\n let memberValue0 := mload(add(value0, 32))\n let _1 := 0x0100\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 288))\n mstore(add(headStart, 96), and(mload(add(value0, 64)), sub(shl(160, 1), 1)))\n let memberValue0_1 := mload(add(value0, 96))\n abi_encode_enum_TaskStatus(memberValue0_1, add(headStart, 128))\n let memberValue0_2 := mload(add(value0, 128))\n abi_encode_address(memberValue0_2, add(headStart, 160))\n mstore(add(headStart, 192), mload(add(value0, 160)))\n let memberValue0_3 := mload(add(value0, 192))\n mstore(add(headStart, 224), add(sub(tail_1, headStart), not(31)))\n let tail_2 := abi_encode_string(memberValue0_3, tail_1)\n let memberValue0_4 := mload(add(value0, 224))\n abi_encode_uint8(memberValue0_4, add(headStart, _1))\n tail := tail_2\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\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 abi_encode_tuple_t_contract$_AgentsRegistryUpgradeable_$4017__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 validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\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 validator_revert_address(value)\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 value1 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_enum$_TaskStatus_$4638__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n abi_encode_enum_TaskStatus(value0, headStart)\n }\n function abi_decode_tuple_t_uint256t_uint8(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n value1 := value\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, 32)\n mstore(headStart, 32)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 64)\n let srcPtr := add(value0, 32)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_decode_tuple_t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_t_uint256_t_string_memory_ptr_t_address_t_enum$_TaskStatus_$4638_t_address_t_uint256_t_string_memory_ptr_t_uint8__to_t_uint256_t_string_memory_ptr_t_address_t_uint8_t_address_t_uint256_t_string_memory_ptr_t_uint8__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 256\n mstore(headStart, value0)\n mstore(add(headStart, 32), _1)\n let tail_1 := abi_encode_string(value1, add(headStart, _1))\n let _2 := sub(shl(160, 1), 1)\n mstore(add(headStart, 64), and(value2, _2))\n abi_encode_enum_TaskStatus(value3, add(headStart, 96))\n mstore(add(headStart, 128), and(value4, _2))\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), sub(tail_1, headStart))\n tail := abi_encode_string(value6, tail_1)\n mstore(add(headStart, 224), and(value7, 0xff))\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_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_contract$_AgentsRegistryUpgradeable_$4017(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_address(value)\n value1 := value\n }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n validator_revert_address(value)\n }\n function abi_decode_bool_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_struct$_ServiceProposal_$5312_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n let offset := mload(headStart)\n let _2 := 0xffffffffffffffff\n if gt(offset, _2) { revert(0, 0) }\n let _3 := add(headStart, offset)\n if slt(sub(dataEnd, _3), 0xc0) { revert(0, 0) }\n let value := allocate_memory_2890()\n let value_1 := mload(_3)\n validator_revert_address(value_1)\n mstore(value, value_1)\n let offset_1 := mload(add(_3, _1))\n if gt(offset_1, _2) { revert(0, 0) }\n let _4 := add(_3, offset_1)\n if iszero(slt(add(_4, 0x1f), dataEnd)) { revert(0, 0) }\n let _5 := mload(_4)\n let array := allocate_memory(array_allocation_size_string(_5))\n mstore(array, _5)\n if gt(add(add(_4, _5), _1), dataEnd) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(_4, _1), add(array, _1), _5)\n mstore(add(value, _1), array)\n mstore(add(value, 64), mload(add(_3, 64)))\n mstore(add(value, 96), abi_decode_address_fromMemory(add(_3, 96)))\n mstore(add(value, 128), mload(add(_3, 128)))\n mstore(add(value, 160), abi_decode_bool_fromMemory(add(_3, 160)))\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ServiceProposal not found\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_eaa01effe6abd0543e9529d3961b0f5d26980f0661c156a79b89c39a093463f7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 13)\n mstore(add(headStart, 64), \"Invalid price\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1b1b03f60ebe259831055a7aaca661444a58af4e39e114790f599b56dce96127__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"No ETH should be sent for ERC20 \")\n mstore(add(headStart, 96), \"payments\")\n tail := add(headStart, 128)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(0, array)\n let data := keccak256(0, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := 0x20\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 96)\n tail := abi_encode_string(value2, add(headStart, 96))\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_stringliteral_8b01433edf8e1c1ecc76c5925a92e74cb9845acafce91ff571223021d8950f7c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Not the issuer of the task\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a08755c006bba216d153388cc97acf5e536a500c0ec88cade64bd6b2f0d0e27d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 21)\n mstore(add(headStart, 64), \"Task is not completed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_306fe74d51ecec7b72bc35613a90b4c93840ded0ff8f63d0daef622fd6053b19__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"Task got rating already\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e__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), \"Rating must be between 0 and 100\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), and(value1, 0xff))\n }\n function abi_decode_tuple_t_uint256_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_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), \"Not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_35c761622bcc8ab75f9adfaf21a4872a39cd06f2745d5488272d29f1f753f270__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 19)\n mstore(add(headStart, 64), \"Invalid task status\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_784e567ba03dff6623f8e7bbee52b701bfd622c294c48e22d5da37cfabe25ac0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"Task cannot be canceled\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffff))\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\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_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_bool_fromMemory(headStart)\n }\n function abi_encode_tuple_t_stringliteral_3f8faf98afe9344b6d4b0e75b0101259bf282914b3b5a9320c6918b6e27ede1c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 49)\n mstore(add(headStart, 64), \"TransferHelper::transferFrom: tr\")\n mstore(add(headStart, 96), \"ansferFrom failed\")\n tail := add(headStart, 128)\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_43d7bec223ecf9eb06ea147e7d564bc71c2448662d62a4ea86ce71fc4518b350__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 52)\n mstore(add(headStart, 64), \"TransferHelper::safeTransferETH:\")\n mstore(add(headStart, 96), \" ETH transfer failed\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_daea69421eeb1164e163c36f3d4349f0db3ec4e0d1381bd5bf4faf53496c2611__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"TransferHelper::safeTransfer: tr\")\n mstore(add(headStart, 96), \"ansfer failed\")\n tail := add(headStart, 128)\n }\n}", + "id": 34, "language": "Yul", "name": "#utility.yul" } @@ -150791,9 +149801,9 @@ ] }, "linkReferences": {}, - "object": "6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed2565b6103f8565b60405161012e9190611f9f565b60405180910390f35b34801561014357600080fd5b50610170610152366004612049565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612049565b610853565b3480156101d457600080fd5b506101e86101e3366004612077565b610a1f565b60405190815260200161012e565b6102096102043660046120a3565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612049565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612107565b34801561027357600080fd5b50610209610282366004612115565b610a8c565b34801561029357600080fd5b506102a76102a236600461214b565b610d56565b60405161012e9190612168565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ac565b610dd6565b3480156102f557600080fd5b50610209610304366004612049565b61100f565b34801561031557600080fd5b50610329610324366004612049565b611282565b60405161012e9897969594939291906121e9565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225c565b3480156103c457600080fd5b506102096103d336600461226f565b6113ed565b3480156103e457600080fd5b506102096103f336600461214b565b611512565b610400611d7e565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b4565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612424565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e4565b60405180910390a36002805490600061069083612503565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a2565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f67565b600381111561078357610783611f67565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a2565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7e565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a2565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f67565b600381111561095457610954611f67565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a2565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257b83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f67565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b4565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d16919061252a565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f67565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612424565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b4565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612107565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225c565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f67565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f67565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b4565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612107565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a2565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a2565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a2565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612543565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255f565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257b833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f191682019092526117929181019061252a565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257b83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612543565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612543565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255f565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612543565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d655780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dbb57611dbb611f67565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1557611e15611ddc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4457611e44611ddc565b604052919050565b600067ffffffffffffffff821115611e6657611e66611ddc565b50601f01601f191660200190565b6000611e87611e8284611e4c565b611e1b565b9050828152838383011115611e9b57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec357600080fd5b611d4e83833560208501611e74565b60008060408385031215611ee557600080fd5b823567ffffffffffffffff811115611efc57600080fd5b611f0885828601611eb2565b95602094909401359450505050565b60005b83811015611f32578181015183820152602001611f1a565b50506000910152565b60008151808452611f53816020860160208601611f17565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9b57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc8610120850183611f3b565b915060018060a01b0360408601511660608501526060850151611fee6080860182611f7d565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120298382611f3b565b92505060e085015161203f8286018260ff169052565b5090949350505050565b60006020828403121561205b57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208a57600080fd5b823561209581612062565b946020939093013593505050565b600080604083850312156120b657600080fd5b82356120c181612062565b9150602083013567ffffffffffffffff8111156120dd57600080fd5b8301601f810185136120ee57600080fd5b6120fd85823560208401611e74565b9150509250929050565b6020810161084d8284611f7d565b6000806040838503121561212857600080fd5b82359150602083013560ff8116811461214057600080fd5b809150509250929050565b60006020828403121561215d57600080fd5b8135611d4e81612062565b6020808252825182820181905260009190848201906040850190845b818110156121a057835183529284019291840191600101612184565b50909695505050505050565b600080604083850312156121bf57600080fd5b82359150602083013567ffffffffffffffff8111156121dd57600080fd5b6120fd85828601611eb2565b60006101008a83528060208401526122038184018b611f3b565b6001600160a01b038a81166040860152909150612223606085018a611f7d565b8716608084015260a0830186905282810360c08401526122438186611f3b565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3b565b6000806040838503121561228257600080fd5b82359150602083013561214081612062565b805161229f81612062565b919050565b8051801515811461229f57600080fd5b600060208083850312156122c757600080fd5b825167ffffffffffffffff808211156122df57600080fd5b9084019060c082870312156122f357600080fd5b6122fb611df2565b825161230681612062565b8152828401518281111561231957600080fd5b83019150601f8201871361232c57600080fd5b815161233a611e8282611e4c565b818152888683860101111561234e57600080fd5b61235d82878301888701611f17565b82860152506040838101519082015261237860608401612294565b60608201526080830151608082015261239360a084016122a4565b60a08201529695505050505050565b600181811c908216806123b657607f821691505b6020821081036123d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124055750805b601f850160051c820191505b8181101561168657828155600101612411565b815167ffffffffffffffff81111561243e5761243e611ddc565b6124528161244c84546123a2565b846123dc565b602080601f831160018114612487576000841561246f5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b657888601518255948401946001909101908401612497565b50858210156124d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3b565b60006001820161252357634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253c57600080fd5b5051919050565b60008251612555818460208701611f17565b9190910192915050565b60006020828403121561257157600080fd5b611d4e826122a456fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212208f40cf9ab38d17f231b9dd40e08f97b5d7961b046396f82e8238ef30cbd9ec6764736f6c63430008160033", - "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x639241AB GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x8D977672 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8D977672 EQ PUSH2 0x309 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x33D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x37A JUMPI DUP1 PUSH4 0xDA35A26F EQ PUSH2 0x3B8 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x639241AB EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x74AAA760 EQ PUSH2 0x2C9 JUMPI DUP1 PUSH4 0x7EEC20A8 EQ PUSH2 0x2E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2A2B3A9D GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x2A2B3A9D EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1F6 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x20B JUMPI DUP1 PUSH4 0x5C622A0E EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0x6298EEE0 EQ PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4FE2B34 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x7B31818 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0xD1CFCAE EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x1D65E77E EQ PUSH2 0x1A8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x121 PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x1ED2 JUMP JUMPDEST PUSH2 0x3F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x1F9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x170 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x170 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x853 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0x1E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2077 JUMP JUMPDEST PUSH2 0xA1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A3 JUMP JUMPDEST PUSH2 0xA50 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0xA6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25A PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2107 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x2115 JUMP JUMPDEST PUSH2 0xA8C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x214B JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2168 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0xDC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x21AC JUMP JUMPDEST PUSH2 0xDD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x304 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x100F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x329 PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x2049 JUMP JUMPDEST PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x21E9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x170 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x386 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x225C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x226F JUMP JUMPDEST PUSH2 0x13ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x214B JUMP JUMPDEST PUSH2 0x1512 JUMP JUMPDEST PUSH2 0x400 PUSH2 0x1D7E JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x44A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x472 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x52B JUMPI CALLVALUE DUP2 PUSH1 0x40 ADD MLOAD EQ PUSH2 0x526 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x496E76616C6964207072696365 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x58A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F204554482073686F756C642062652073656E7420666F7220455243323020 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x7061796D656E7473 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E DUP2 PUSH1 0x60 ADD MLOAD CALLER ADDRESS DUP5 PUSH1 0x40 ADD MLOAD PUSH2 0x1550 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP2 SSTORE PUSH1 0x1 DUP2 ADD PUSH2 0x5C0 DUP7 DUP3 PUSH2 0x2424 JUMP JUMPDEST POP PUSH1 0x2 DUP2 DUP2 ADD DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND DUP2 OR DUP4 SSTORE PUSH1 0x4 DUP6 ADD DUP9 SWAP1 SSTORE DUP6 MLOAD PUSH1 0x3 DUP7 ADD DUP1 SLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP5 SLOAD DUP6 SLOAD DUP1 DUP5 ADD DUP8 SSTORE SWAP6 DUP5 MSTORE SWAP3 KECCAK256 SWAP1 SWAP4 ADD SSTORE DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL DUP4 MUL OR SWAP1 SSTORE POP DUP2 MLOAD PUSH1 0x2 SLOAD PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP3 CALLER SWAP3 PUSH32 0x5C005BBBB9DA508C37935B1A9F270836E0BE1FD11D4D47119F925A3FF33820E9 SWAP3 PUSH2 0x678 SWAP3 DUP12 SWAP1 PUSH2 0x24E4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x2 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x690 DUP4 PUSH2 0x2503 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x6BC SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6E8 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x735 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x70A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x735 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x718 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x772 JUMPI PUSH2 0x772 PUSH2 0x1F67 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x783 JUMPI PUSH2 0x783 PUSH2 0x1F67 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x7B7 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E3 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x830 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x805 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x830 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x813 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x85B PUSH2 0x1D7E JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x88D SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8B9 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x906 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8DB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x906 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8E9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x943 JUMPI PUSH2 0x943 PUSH2 0x1F67 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x954 JUMPI PUSH2 0x954 PUSH2 0x1F67 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x988 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x9B4 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA01 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9D6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA01 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9E4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xA3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0xA58 PUSH2 0x168E JUMP JUMPDEST PUSH2 0xA61 DUP3 PUSH2 0x1733 JUMP JUMPDEST PUSH2 0xA6B DUP3 DUP3 PUSH2 0x173B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA79 PUSH2 0x17FD JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xAF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB26 JUMPI PUSH2 0xB26 PUSH2 0x1F67 JUMP JUMPDEST EQ PUSH2 0xB6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x15185CDAC81A5CC81B9BDD0818DBDB5C1B195D1959 PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xBC0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B20676F7420726174696E6720616C7265616479000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x64 DUP4 PUSH1 0xFF AND GT ISZERO PUSH2 0xC14 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP6 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC9A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 MLOAD PUSH1 0x40 MLOAD PUSH4 0x70370A81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP9 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP3 SWAP4 POP AND SWAP1 PUSH4 0x70370A81 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCF2 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 0xD16 SWAP2 SWAP1 PUSH2 0x252A JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xFF DUP6 AND DUP2 MSTORE DUP6 SWAP1 PUSH32 0xF9189BFC5977D44B1A00920E53A6A0E00229F6C53E76B73FC7E0581AE99ABDC SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xDB6 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xDA2 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCA PUSH2 0x1846 JUMP JUMPDEST PUSH2 0xDD4 PUSH1 0x0 PUSH2 0x18A1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x139BDD08185D5D1A1BDC9A5E9959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE53 JUMPI PUSH2 0xE53 PUSH2 0x1F67 JUMP JUMPDEST EQ PUSH2 0xE96 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x496E76616C6964207461736B20737461747573 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA1 SHL OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD PUSH2 0xEB9 DUP4 DUP3 PUSH2 0x2424 JUMP JUMPDEST POP PUSH1 0x3 SLOAD PUSH1 0x4 DUP3 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF07 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF2F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF66 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0xF61 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0xF89 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xF89 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0xFC9 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2107 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP4 PUSH32 0x7E6FFC29FE63759579D96A0457A8F2E08339ACA345BD469F59DC2E61F82A5AEB DUP5 PUSH1 0x40 MLOAD PUSH2 0x1001 SWAP2 SWAP1 PUSH2 0x225C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x107A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A9 PUSH2 0x1F67 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x10D7 JUMPI POP PUSH1 0x3 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10D4 JUMPI PUSH2 0x10D4 PUSH2 0x1F67 JUMP JUMPDEST EQ ISZERO JUMPDEST PUSH2 0x1123 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B2063616E6E6F742062652063616E63656C6564000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x3 PUSH1 0xA0 SHL PUSH1 0xFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1187 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x11AF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B4 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x11E6 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x11E1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0x1209 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1209 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0x1249 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2107 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x40 MLOAD DUP5 SWAP1 PUSH32 0x1AA8A90C7D7A86BAC690072D3F3D726BB8EBBE1989E158530440963F04C11EB2 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x12A4 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x12D0 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x12F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1300 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD DUP1 SLOAD SWAP6 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND SWAP8 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 SWAP7 DIV PUSH1 0xFF AND SWAP7 POP SWAP1 SWAP4 AND SWAP4 SWAP2 SWAP3 SWAP2 PUSH2 0x1361 SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138D SWAP1 PUSH2 0x23A2 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13DA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13AF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13DA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13BD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x6 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 POP POP PUSH1 0xFF AND DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F7 PUSH2 0x1B1D JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x141F JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x143C JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x144A JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1468 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1492 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x149B CALLER PUSH2 0x1B46 JUMP JUMPDEST PUSH2 0x14A3 PUSH2 0x1B57 JUMP JUMPDEST PUSH1 0x2 DUP8 SWAP1 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE DUP4 ISZERO PUSH2 0x1509 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x151A PUSH2 0x1846 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1544 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x18A1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH2 0x15B4 SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x15F1 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 0x15F6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1620 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1620 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1620 SWAP2 SWAP1 PUSH2 0x255F JUMP JUMPDEST PUSH2 0x1686 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A7472616E7366657246726F6D3A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x185B9CD9995C919C9BDB4819985A5B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x1715 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1709 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x154D PUSH2 0x1846 JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1795 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1792 SWAP2 DUP2 ADD SWAP1 PUSH2 0x252A JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x17BD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x17EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x17F8 DUP4 DUP4 PUSH2 0x1B5F JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0x1878 PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP4 SWAP1 PUSH1 0x40 MLOAD PUSH2 0x193C SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1979 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 0x197E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665724554483A PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x8115512081D1C985B9CD9995C8819985A5B1959 PUSH1 0x62 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP8 AND SWAP2 PUSH2 0x1A48 SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1A85 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 0x1A8A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1AB4 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1AB4 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1AB4 SWAP2 SWAP1 PUSH2 0x255F JUMP JUMPDEST PUSH2 0x1B16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665723A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x185B9CD9995C8819985A5B1959 PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0x84D JUMP JUMPDEST PUSH2 0x1B4E PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x1BDA JUMP JUMPDEST PUSH2 0xDD4 PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x1B68 DUP3 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1BAD JUMPI PUSH2 0x17F8 DUP3 DUP3 PUSH2 0x1C47 JUMP JUMPDEST PUSH2 0xA6B PUSH2 0x1CBD JUMP JUMPDEST PUSH2 0x1BBD PUSH2 0x1CDC JUMP JUMPDEST PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x151A PUSH2 0x1BB5 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1C18 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x1C64 SWAP2 SWAP1 PUSH2 0x2543 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1C9F 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 0x1CA4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1CB4 DUP6 DUP4 DUP4 PUSH2 0x1CF6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1CE6 PUSH2 0x1B1D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1D0B JUMPI PUSH2 0x1D06 DUP3 PUSH2 0x1D55 JUMP JUMPDEST PUSH2 0x1D4E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1D22 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1D4B JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1D65 JUMPI DUP1 MLOAD DUP1 DUP3 PUSH1 0x20 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1DBB JUMPI PUSH2 0x1DBB PUSH2 0x1F67 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD MSTORE PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP1 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 0xC0 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E15 JUMPI PUSH2 0x1E15 PUSH2 0x1DDC JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E44 JUMPI PUSH2 0x1E44 PUSH2 0x1DDC JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E66 JUMPI PUSH2 0x1E66 PUSH2 0x1DDC JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E87 PUSH2 0x1E82 DUP5 PUSH2 0x1E4C JUMP JUMPDEST PUSH2 0x1E1B JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x1E9B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1EC3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x1E74 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1EE5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F08 DUP6 DUP3 DUP7 ADD PUSH2 0x1EB2 JUMP JUMPDEST SWAP6 PUSH1 0x20 SWAP5 SWAP1 SWAP5 ADD CALLDATALOAD SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1F32 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1F1A JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1F53 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1F17 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x1F9B JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x100 DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1FC8 PUSH2 0x120 DUP6 ADD DUP4 PUSH2 0x1F3B JUMP JUMPDEST SWAP2 POP PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 DUP7 ADD MLOAD AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH2 0x1FEE PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1F7D JUMP JUMPDEST POP PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0xA0 DUP7 ADD MSTORE POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0x1F NOT DUP6 DUP5 SUB ADD PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x2029 DUP4 DUP3 PUSH2 0x1F3B JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 DUP6 ADD MLOAD PUSH2 0x203F DUP3 DUP7 ADD DUP3 PUSH1 0xFF AND SWAP1 MSTORE JUMP JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x205B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x154D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x208A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2095 DUP2 PUSH2 0x2062 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20B6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x20C1 DUP2 PUSH2 0x2062 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x20EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FD DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1E74 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x84D DUP3 DUP5 PUSH2 0x1F7D JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2128 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x2140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x215D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D4E DUP2 PUSH2 0x2062 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x21A0 JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x2184 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21BF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FD DUP6 DUP3 DUP7 ADD PUSH2 0x1EB2 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP11 DUP4 MSTORE DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2203 DUP2 DUP5 ADD DUP12 PUSH2 0x1F3B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x40 DUP7 ADD MSTORE SWAP1 SWAP2 POP PUSH2 0x2223 PUSH1 0x60 DUP6 ADD DUP11 PUSH2 0x1F7D JUMP JUMPDEST DUP8 AND PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD DUP7 SWAP1 MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x2243 DUP2 DUP7 PUSH2 0x1F3B JUMP JUMPDEST SWAP2 POP POP PUSH1 0xFF DUP4 AND PUSH1 0xE0 DUP4 ADD MSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1D4E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1F3B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2282 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x2140 DUP2 PUSH2 0x2062 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x229F DUP2 PUSH2 0x2062 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x229F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22C7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x22DF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP5 ADD SWAP1 PUSH1 0xC0 DUP3 DUP8 SUB SLT ISZERO PUSH2 0x22F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22FB PUSH2 0x1DF2 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2306 DUP2 PUSH2 0x2062 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP5 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2319 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD SWAP2 POP PUSH1 0x1F DUP3 ADD DUP8 SGT PUSH2 0x232C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x233A PUSH2 0x1E82 DUP3 PUSH2 0x1E4C JUMP JUMPDEST DUP2 DUP2 MSTORE DUP9 DUP7 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x234E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x235D DUP3 DUP8 DUP4 ADD DUP9 DUP8 ADD PUSH2 0x1F17 JUMP JUMPDEST DUP3 DUP7 ADD MSTORE POP PUSH1 0x40 DUP4 DUP2 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x2378 PUSH1 0x60 DUP5 ADD PUSH2 0x2294 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x2393 PUSH1 0xA0 DUP5 ADD PUSH2 0x22A4 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x23B6 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x23D6 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x17F8 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2405 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1686 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2411 JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x243E JUMPI PUSH2 0x243E PUSH2 0x1DDC JUMP JUMPDEST PUSH2 0x2452 DUP2 PUSH2 0x244C DUP5 SLOAD PUSH2 0x23A2 JUMP JUMPDEST DUP5 PUSH2 0x23DC JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2487 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x246F JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1686 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x24B6 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2497 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x24D4 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1CB4 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1F3B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2523 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x253C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2555 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1F17 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2571 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP3 PUSH2 0x22A4 JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA26469706673582212208F BLOCKHASH 0xCF SWAP11 0xB3 DUP14 OR CALLCODE BALANCE 0xB9 0xDD BLOCKHASH 0xE0 DUP16 SWAP8 0xB5 0xD7 SWAP7 SHL DIV PUSH4 0x96F82E82 CODESIZE 0xEF ADDRESS 0xCB 0xD9 0xEC PUSH8 0x64736F6C63430008 AND STOP CALLER ", - "sourceMap": "632:6620:30:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2658:1096;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6770:115;;;;;;;;;;-1:-1:-1;6770:115:30;;;;;:::i;:::-;6830:7;6856:13;;;;;;;;;;:22;;;-1:-1:-1;;;;;6856:22:30;;6770:115;;;;-1:-1:-1;;;;;4439:32:36;;;4421:51;;4409:2;4394:18;6770:115:30;4275:203:36;1166:46:30;;;;;;;;;;-1:-1:-1;1166:46:30;;;;-1:-1:-1;;;;;1166:46:30;;;6530:110;;;;;;;;;;-1:-1:-1;6530:110:30;;;;;:::i;:::-;;:::i;1080:48::-;;;;;;;;;;-1:-1:-1;1080:48:30;;;;;:::i;:::-;;:::i;:::-;;;5327:25:36;;;5315:2;5300:18;1080:48:30;5181:177:36;4161:214:2;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;6646:114:30:-;;;;;;;;;;-1:-1:-1;6646:114:30;;;;;:::i;:::-;6704:10;6733:13;;;;;;;;;;:20;;;-1:-1:-1;;;6733:20:30;;;;;6646:114;;;;;;;;:::i;4886:584::-;;;;;;;;;;-1:-1:-1;4886:584:30;;;;;:::i;:::-;;:::i;6398:126::-;;;;;;;;;;-1:-1:-1;6398:126:30;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;3930:783:30:-;;;;;;;;;;-1:-1:-1;3930:783:30;;;;;:::i;:::-;;:::i;5619:773::-;;;;;;;;;;-1:-1:-1;5619:773:30;;;;;:::i;:::-;;:::i;1033:41::-;;;;;;;;;;-1:-1:-1;1033:41:30;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;2441:144:0:-;;;;;;;;;;-1:-1:-1;1313:22:0;2570:8;-1:-1:-1;;;;;2570:8:0;2441:144;;1819:58:2;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;1644:291:30:-;;;;;;;;;;-1:-1:-1;1644:291:30;;;;;:::i;:::-;;:::i;3405:215:0:-;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;2658:1096:30:-;2768:15;;:::i;:::-;2829:13;;:37;;-1:-1:-1;;;2829:37:30;;;;;5327:25:36;;;2795:31:30;;-1:-1:-1;;;;;2829:13:30;;:25;;5300:18:36;;2829:37:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2829:37:30;;;;;;;;;;;;:::i;:::-;2884:15;;2795:71;;-1:-1:-1;;;;;;2884:29:30;2876:67;;;;-1:-1:-1;;;2876:67:30;;11345:2:36;2876:67:30;;;11327:21:36;11384:2;11364:18;;;11357:30;11423:27;11403:18;;;11396:55;11468:18;;2876:67:30;;;;;;;;;2966:21;;;;-1:-1:-1;;;;;2966:35:30;2962:328;;3043:9;3025:8;:14;;;:27;3017:53;;;;-1:-1:-1;;;3017:53:30;;11699:2:36;3017:53:30;;;11681:21:36;11738:2;11718:18;;;11711:30;-1:-1:-1;;;11757:18:36;;;11750:43;11810:18;;3017:53:30;11497:337:36;3017:53:30;2962:328;;;3109:9;:14;3101:67;;;;-1:-1:-1;;;3101:67:30;;12041:2:36;3101:67:30;;;12023:21:36;12080:2;12060:18;;;12053:30;12119:34;12099:18;;;12092:62;-1:-1:-1;;;12170:18:36;;;12163:38;12218:19;;3101:67:30;11839:404:36;3101:67:30;3182:97;3214:8;:21;;;3237:10;3257:4;3264:8;:14;;;3182:31;:97::i;:::-;3330:10;;3300:21;3324:17;;;;;;;;;;3351:20;;;3381:11;;;:20;3395:6;3381:11;:20;:::i;:::-;-1:-1:-1;3411:11:30;;;;:24;;3425:10;-1:-1:-1;;;;;;3411:24:30;;;;;;;3445:15;;;:28;;;3499:15;;3483:13;;;:31;;;;;-1:-1:-1;;;;;3483:31:30;;;;;;;-1:-1:-1;3524:23:30;;;-1:-1:-1;3524:23:30;;;;;;;3553:10;;3524:40;;;;;;;;;;;;;;;;3574:33;;-1:-1:-1;;;;3574:33:30;-1:-1:-1;;;;3574:33:30;;;;-1:-1:-1;3646:15:30;;3663:10;;3675:19;;;;3622:81;;-1:-1:-1;;;;;3622:81:30;;;;3634:10;;3622:81;;;;3696:6;;3622:81;:::i;:::-;;;;;;;;3714:10;:12;;;:10;:12;;;:::i;:::-;;;;;;3743:4;3736:11;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3736:11:30;;;-1:-1:-1;;3736:11:30;;;;-1:-1:-1;;;;;3736:11:30;;;;;;;;;;;-1:-1:-1;;;3736:11:30;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3736:11:30;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3736:11:30;;;-1:-1:-1;;3736:11:30;;;;;;;;;;;;;;-1:-1:-1;;;2658:1096:30;;;;;:::o;6530:110::-;6586:15;;:::i;:::-;6620:5;:13;;;;;;;;;;;;6613:20;;;;;;;;;;;;;;;;;6620:13;;6613:20;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6613:20:30;;;-1:-1:-1;;6613:20:30;;;;-1:-1:-1;;;;;6613:20:30;;;;;;;;;;;-1:-1:-1;;;6613:20:30;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;6613:20:30;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6613:20:30;;;-1:-1:-1;;6613:20:30;;;;;;;;;;;;;;6530:110;-1:-1:-1;;6530:110:30:o;1080:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;4886:584:30:-;1291:5;:13;;;;;;;;;;:20;;;:13;;-1:-1:-1;;;;;1291:20:30;1277:10;:34;1269:73;;;;-1:-1:-1;;;1269:73:30;;15634:2:36;1269:73:30;;;15616:21:36;15673:2;15653:18;;;15646:30;15712:28;15692:18;;;15685:56;15758:18;;1269:73:30;15432:350:36;1269:73:30;4976:21:::1;5000:13:::0;;;::::1;::::0;;;;;;5047:20:::1;5032:11:::0;;::::1;::::0;-1:-1:-1;;;5032:11:30;::::1;;;:35;::::0;::::1;;;;;;:::i;:::-;;5024:69;;;::::0;-1:-1:-1;;;5024:69:30;;15989:2:36;5024:69:30::1;::::0;::::1;15971:21:36::0;16028:2;16008:18;;;16001:30;-1:-1:-1;;;16047:18:36;;;16040:51;16108:18;;5024:69:30::1;15787:345:36::0;5024:69:30::1;5111:11;::::0;::::1;::::0;::::1;;:16:::0;5103:52:::1;;;::::0;-1:-1:-1;;;5103:52:30;;16339:2:36;5103:52:30::1;::::0;::::1;16321:21:36::0;16378:2;16358:18;;;16351:30;16417:25;16397:18;;;16390:53;16460:18;;5103:52:30::1;16137:347:36::0;5103:52:30::1;5198:3;5188:6;:13;;;;5165:73;;;::::0;-1:-1:-1;;;5165:73:30;;16691:2:36;5165:73:30::1;::::0;::::1;16673:21:36::0;;;16710:18;;;16703:30;16769:34;16749:18;;;16742:62;16821:18;;5165:73:30::1;16489:356:36::0;5165:73:30::1;5257:11;::::0;::::1;:20:::0;;-1:-1:-1;;5257:20:30::1;;::::0;::::1;;::::0;;5321:13:::1;::::0;5347:15:::1;::::0;;::::1;::::0;5321:42:::1;::::0;-1:-1:-1;;;5321:42:30;;;;::::1;5327:25:36::0;-1:-1:-1;;;;;;;5321:13:30::1;::::0;:25:::1;::::0;5300:18:36;;5321:42:30::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;5321:42:30::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;5374:13;::::0;5398:15;;5374:48:::1;::::0;-1:-1:-1;;;5374:48:30;;-1:-1:-1;;;;;17040:32:36;;;5374:48:30::1;::::0;::::1;17022:51:36::0;17121:4;17109:17;;17089:18;;;17082:45;5398:15:30;;-1:-1:-1;5374:13:30::1;::::0;:23:::1;::::0;16995:18:36;;5374:48:30::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;5438:25:30::1;::::0;17499:4:36;17487:17;;17469:36;;5448:6:30;;5438:25:::1;::::0;17457:2:36;17442:18;5438:25:30::1;;;;;;;4966:504;;4886:584:::0;;;:::o;6398:126::-;-1:-1:-1;;;;;6498:19:30;;;;;;:11;:19;;;;;;;;;6491:26;;;;;;;;;;;;;;;;;6463:16;;6491:26;;;6498:19;6491:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6398:126;;;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;3930:783:30:-;4009:21;4033:13;;;;;;;;;;4078;;;;-1:-1:-1;;;;;4078:13:30;4064:10;:27;4056:54;;;;-1:-1:-1;;;4056:54:30;;17718:2:36;4056:54:30;;;17700:21:36;17757:2;17737:18;;;17730:30;-1:-1:-1;;;17776:18:36;;;17769:44;17830:18;;4056:54:30;17516:338:36;4056:54:30;4143:19;4128:11;;;;-1:-1:-1;;;4128:11:30;;;;:34;;;;;;;;:::i;:::-;;4120:66;;;;-1:-1:-1;;;4120:66:30;;18061:2:36;4120:66:30;;;18043:21:36;18100:2;18080:18;;;18073:30;-1:-1:-1;;;18119:18:36;;;18112:49;18178:18;;4120:66:30;17859:343:36;4120:66:30;4211:20;4197:11;;:34;;-1:-1:-1;;;;4197:34:30;-1:-1:-1;;;4197:34:30;;;4241:11;;;:20;4255:6;4241:11;:20;:::i;:::-;-1:-1:-1;4305:13:30;;4331:15;;;;;4305:42;;-1:-1:-1;;;4305:42:30;;;;;5327:25:36;4271:31:30;;-1:-1:-1;;;;;4305:13:30;;:25;;5300:18:36;;4305:42:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4305:42:30;;;;;;;;;;;;:::i;:::-;4370:21;;;;4271:76;;-1:-1:-1;;;;;;4370:35:30;4366:235;;4452:11;;;;4465:14;;;;4421:59;;-1:-1:-1;;;;;4452:11:30;;4421:30;:59::i;:::-;4366:235;;;4539:21;;;;4562:11;;;;4575:14;;;;4511:79;;4539:21;-1:-1:-1;;;;;4562:11:30;;4511:27;:79::i;:::-;4650:11;;;;4624:38;;4642:6;;4624:38;;;;-1:-1:-1;;;4650:11:30;;;;;4624:38;:::i;:::-;;;;;;;;4691:6;4677:29;4699:6;4677:29;;;;;;:::i;:::-;;;;;;;;3999:714;;3930:783;;:::o;5619:773::-;1291:5;:13;;;;;;;;;;:20;;;:13;;-1:-1:-1;;;;;1291:20:30;1277:10;:34;1269:73;;;;-1:-1:-1;;;1269:73:30;;15634:2:36;1269:73:30;;;15616:21:36;15673:2;15653:18;;;15646:30;15712:28;15692:18;;;15685:56;15758:18;;1269:73:30;15432:350:36;1269:73:30;5697:21:::1;5721:13:::0;;;::::1;::::0;;;;;;5767:20:::1;5752:11:::0;;::::1;::::0;-1:-1:-1;;;5752:11:30;::::1;;;:35;::::0;::::1;;;;;;:::i;:::-;;;:73;;;;-1:-1:-1::0;5806:19:30::1;5791:11;::::0;::::1;::::0;-1:-1:-1;;;5791:11:30;::::1;;;:34;::::0;::::1;;;;;;:::i;:::-;;;5752:73;5744:109;;;::::0;-1:-1:-1;;;5744:109:30;;18409:2:36;5744:109:30::1;::::0;::::1;18391:21:36::0;18448:2;18428:18;;;18421:30;18487:25;18467:18;;;18460:53;18530:18;;5744:109:30::1;18207:347:36::0;5744:109:30::1;5872:11;::::0;::::1;:33:::0;;-1:-1:-1;;;;;;;5872:33:30;;::::1;;::::0;;5886:19:::1;5949:13:::0;5975:15:::1;::::0;;::::1;::::0;5949:42:::1;::::0;-1:-1:-1;;;5949:42:30;;;;::::1;5327:25:36::0;-1:-1:-1;;;;;;;5949:13:30::1;::::0;:25:::1;::::0;5300:18:36;;5949:42:30::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;5949:42:30::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6058:21;::::0;::::1;::::0;5915:76;;-1:-1:-1;;;;;;6058:35:30::1;6054:235;;6140:11;::::0;::::1;::::0;6153:14:::1;::::0;::::1;::::0;6109:59:::1;::::0;-1:-1:-1;;;;;6140:11:30::1;::::0;6109:30:::1;:59::i;:::-;6054:235;;;6227:21;::::0;::::1;::::0;6250:11:::1;::::0;::::1;::::0;6263:14:::1;::::0;::::1;::::0;6199:79:::1;::::0;6227:21;-1:-1:-1;;;;;6250:11:30::1;::::0;6199:27:::1;:79::i;:::-;6338:11;::::0;::::1;::::0;6312:38:::1;::::0;6330:6;;6312:38:::1;::::0;::::1;::::0;-1:-1:-1;;;6338:11:30;::::1;;;::::0;6312:38:::1;:::i;:::-;;;;;;;;6365:20;::::0;6378:6;;6365:20:::1;::::0;;;::::1;5687:705;;5619:773:::0;;:::o;1033:41::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1033:41:30;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1033:41:30;;;;-1:-1:-1;;;1033:41:30;;;;;;-1:-1:-1;1033:41:30;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1033:41:30;;;;;;;-1:-1:-1;;1033:41:30;;;:::o;1644:291::-;4158:30:1;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:1;-1:-1:-1;;;4302:15:1;;;4301:16;;4348:14;;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;:16;;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;1782:26:30::1;1797:10;1782:14;:26::i;:::-;1818:24;:22;:24::i;:::-;1861:10;:27:::0;;;1898:13:::1;:30:::0;;-1:-1:-1;;;;;;1898:30:30::1;-1:-1:-1::0;;;;;1898:30:30;::::1;;::::0;;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;18712:50:36;;5140:14:1;;18700:2:36;18685:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;1644:291:30;;:::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;4421:51:36::0;4394:18;;3534:31:0::1;4275:203:36::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;1081:486:35:-;1345:51;;;-1:-1:-1;;;;;19031:15:36;;;1345:51:35;;;19013:34:36;19083:15;;;19063:18;;;19056:43;19115:18;;;;19108:34;;;1345:51:35;;;;;;;;;;18948:18:36;;;;1345:51:35;;;;;;;-1:-1:-1;;;;;1345:51:35;-1:-1:-1;;;1345:51:35;;;1334:63;;-1:-1:-1;;;;1334:10:35;;;;:63;;1345:51;1334:63;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1298:99;;;;1428:7;:57;;;;-1:-1:-1;1440:11:35;;:16;;:44;;;1471:4;1460:24;;;;;;;;;;;;:::i;:::-;1407:153;;;;-1:-1:-1;;;1407:153:35;;19854:2:36;1407:153:35;;;19836:21:36;19893:2;19873:18;;;19866:30;19932:34;19912:18;;;19905:62;-1:-1:-1;;;19983:18:36;;;19976:47;20040:19;;1407:153:35;19652:413:36;1407:153:35;1210:357;;1081:486;;;;:::o;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:11;-1:-1:-1;;;;;1519:53:11;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;7074:84:30;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;4439:32:36;;6493:60:2;;;4421:51:36;4394:18;;6493:60:2;4275:203:36;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;5327:25:36;;;5300:18;;6292:34:2;5181:177:36;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;:::-;6184:235;6032:538;;:::o;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;2658:162:0;966:10:3;2717:7:0;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144;2717:7;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;4421:51:36;4394:18;;2763:40:0;4275:203:36;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;1573:214:35:-;1685:12;;;1645;1685;;;;;;;;;-1:-1:-1;;;;;1663:7:35;;;1678:5;;1663:35;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1644:54;;;1716:7;1708:72;;;;-1:-1:-1;;;1708:72:35;;20461:2:36;1708:72:35;;;20443:21:36;20500:2;20480:18;;;20473:30;20539:34;20519:18;;;20512:62;-1:-1:-1;;;20590:18:36;;;20583:50;20650:19;;1708:72:35;20259:416:36;637:438:35;863:45;;;-1:-1:-1;;;;;20872:32:36;;;863:45:35;;;20854:51:36;20921:18;;;;20914:34;;;863:45:35;;;;;;;;;;20827:18:36;;;;863:45:35;;;;;;;-1:-1:-1;;;;;863:45:35;-1:-1:-1;;;863:45:35;;;852:57;;-1:-1:-1;;;;852:10:35;;;;:57;;863:45;852:57;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;816:93;;;;940:7;:57;;;;-1:-1:-1;952:11:35;;:16;;:44;;;983:4;972:24;;;;;;;;;;;;:::i;:::-;919:149;;;;-1:-1:-1;;;919:149:35;;21161:2:36;919:149:35;;;21143:21:36;21200:2;21180:18;;;21173:30;21239:34;21219:18;;;21212:62;-1:-1:-1;;;21290:18:36;;;21283:43;21343:19;;919:149:35;20959:409:36;919:149:35;740:335;;637:438;;;:::o;9071:205:1:-;9129:30;;3147:66;9186:27;8819:122;1847:127:0;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;2264:344:11:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:11;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7082:141:1:-;7149:17;:15;:17::i;:::-;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;1671:281:11:-;1748:17;-1:-1:-1;;;;;1748:29:11;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:11;;-1:-1:-1;;;;;4439:32:36;;1805:47:11;;;4421:51:36;4394:18;;1805:47:11;4275:203:36;1744:119:11;-1:-1:-1;;;;;;;;;;;1872:73:11;;-1:-1:-1;;;;;;1872:73:11;-1:-1:-1;;;;;1872:73:11;;;;;;;;;;1671:281::o;3916:253:20:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:20;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:20:o;6113:122:11:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:11;;;;;;;;;;;8485:120:1;8535:4;8558:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8558:40:1;;;;;;-1:-1:-1;8485:120:1:o;4437:582:20:-;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:20;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:20;;-1:-1:-1;;;;;4439:32:36;;4933:24:20;;;4421:51:36;4394:18;;4933:24:20;4275:203:36;4853:119:20;-1:-1:-1;4992:10:20;4605:408;4437:582;;;;;:::o;5559:487::-;5690:17;;:21;5686:354;;5887:10;5881:17;5943:15;5930:10;5926:2;5922:19;5915:44;5686:354;6010:19;;-1:-1:-1;;;6010:19:20;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:127:36:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:253;218:2;212:9;260:4;248:17;;295:18;280:34;;316:22;;;277:62;274:88;;;342:18;;:::i;:::-;378:2;371:22;146:253;:::o;404:275::-;475:2;469:9;540:2;521:13;;-1:-1:-1;;517:27:36;505:40;;575:18;560:34;;596:22;;;557:62;554:88;;;622:18;;:::i;:::-;658:2;651:22;404:275;;-1:-1:-1;404:275:36:o;684:187::-;733:4;766:18;758:6;755:30;752:56;;;788:18;;:::i;:::-;-1:-1:-1;854:2:36;833:15;-1:-1:-1;;829:29:36;860:4;825:40;;684:187::o;876:338::-;941:5;970:53;986:36;1015:6;986:36;:::i;:::-;970:53;:::i;:::-;961:62;;1046:6;1039:5;1032:21;1086:3;1077:6;1072:3;1068:16;1065:25;1062:45;;;1103:1;1100;1093:12;1062:45;1152:6;1147:3;1140:4;1133:5;1129:16;1116:43;1206:1;1199:4;1190:6;1183:5;1179:18;1175:29;1168:40;876:338;;;;;:::o;1219:222::-;1262:5;1315:3;1308:4;1300:6;1296:17;1292:27;1282:55;;1333:1;1330;1323:12;1282:55;1355:80;1431:3;1422:6;1409:20;1402:4;1394:6;1390:17;1355:80;:::i;1446:390::-;1524:6;1532;1585:2;1573:9;1564:7;1560:23;1556:32;1553:52;;;1601:1;1598;1591:12;1553:52;1641:9;1628:23;1674:18;1666:6;1663:30;1660:50;;;1706:1;1703;1696:12;1660:50;1729;1771:7;1762:6;1751:9;1747:22;1729:50;:::i;:::-;1719:60;1826:2;1811:18;;;;1798:32;;-1:-1:-1;;;;1446:390:36:o;1841:250::-;1926:1;1936:113;1950:6;1947:1;1944:13;1936:113;;;2026:11;;;2020:18;2007:11;;;2000:39;1972:2;1965:10;1936:113;;;-1:-1:-1;;2083:1:36;2065:16;;2058:27;1841:250::o;2096:271::-;2138:3;2176:5;2170:12;2203:6;2198:3;2191:19;2219:76;2288:6;2281:4;2276:3;2272:14;2265:4;2258:5;2254:16;2219:76;:::i;:::-;2349:2;2328:15;-1:-1:-1;;2324:29:36;2315:39;;;;2356:4;2311:50;;2096:271;-1:-1:-1;;2096:271:36:o;2481:127::-;2542:10;2537:3;2533:20;2530:1;2523:31;2573:4;2570:1;2563:15;2597:4;2594:1;2587:15;2613:238;2695:1;2688:5;2685:12;2675:143;;2740:10;2735:3;2731:20;2728:1;2721:31;2775:4;2772:1;2765:15;2803:4;2800:1;2793:15;2675:143;2827:18;;2613:238::o;2936:1149::-;3117:2;3106:9;3099:21;3162:6;3156:13;3151:2;3140:9;3136:18;3129:41;3080:4;3217:2;3209:6;3205:15;3199:22;3240:6;3282:2;3277;3266:9;3262:18;3255:30;3308:52;3355:3;3344:9;3340:19;3326:12;3308:52;:::i;:::-;3294:66;;3441:1;3437;3432:3;3428:11;3424:19;3418:2;3410:6;3406:15;3400:22;3396:48;3391:2;3380:9;3376:18;3369:76;3494:2;3486:6;3482:15;3476:22;3507:63;3565:3;3554:9;3550:19;3534:14;3507:63;:::i;:::-;-1:-1:-1;3619:3:36;3607:16;;3601:23;-1:-1:-1;;;;;2438:31:36;;3683:3;3668:19;;2426:44;3633:55;3743:3;3735:6;3731:16;3725:23;3719:3;3708:9;3704:19;3697:52;3798:3;3790:6;3786:16;3780:23;3872:2;3868:7;3856:9;3848:6;3844:22;3840:36;3834:3;3823:9;3819:19;3812:65;3900:41;3934:6;3918:14;3900:41;:::i;:::-;3886:55;;;3990:3;3982:6;3978:16;3972:23;4004:52;4052:2;4041:9;4037:18;4021:14;2923:4;2912:16;2900:29;;2856:75;4004:52;-1:-1:-1;4073:6:36;;2936:1149;-1:-1:-1;;;;2936:1149:36:o;4090:180::-;4149:6;4202:2;4190:9;4181:7;4177:23;4173:32;4170:52;;;4218:1;4215;4208:12;4170:52;-1:-1:-1;4241:23:36;;4090:180;-1:-1:-1;4090:180:36:o;4725:131::-;-1:-1:-1;;;;;4800:31:36;;4790:42;;4780:70;;4846:1;4843;4836:12;4861:315;4929:6;4937;4990:2;4978:9;4969:7;4965:23;4961:32;4958:52;;;5006:1;5003;4996:12;4958:52;5045:9;5032:23;5064:31;5089:5;5064:31;:::i;:::-;5114:5;5166:2;5151:18;;;;5138:32;;-1:-1:-1;;;4861:315:36:o;5363:585::-;5440:6;5448;5501:2;5489:9;5480:7;5476:23;5472:32;5469:52;;;5517:1;5514;5507:12;5469:52;5556:9;5543:23;5575:31;5600:5;5575:31;:::i;:::-;5625:5;-1:-1:-1;5681:2:36;5666:18;;5653:32;5708:18;5697:30;;5694:50;;;5740:1;5737;5730:12;5694:50;5763:22;;5816:4;5808:13;;5804:27;-1:-1:-1;5794:55:36;;5845:1;5842;5835:12;5794:55;5868:74;5934:7;5929:2;5916:16;5911:2;5907;5903:11;5868:74;:::i;:::-;5858:84;;;5363:585;;;;;:::o;6135:210::-;6282:2;6267:18;;6294:45;6271:9;6321:6;6294:45;:::i;6350:337::-;6416:6;6424;6477:2;6465:9;6456:7;6452:23;6448:32;6445:52;;;6493:1;6490;6483:12;6445:52;6529:9;6516:23;6506:33;;6589:2;6578:9;6574:18;6561:32;6633:4;6626:5;6622:16;6615:5;6612:27;6602:55;;6653:1;6650;6643:12;6602:55;6676:5;6666:15;;;6350:337;;;;;:::o;6692:247::-;6751:6;6804:2;6792:9;6783:7;6779:23;6775:32;6772:52;;;6820:1;6817;6810:12;6772:52;6859:9;6846:23;6878:31;6903:5;6878:31;:::i;6944:632::-;7115:2;7167:21;;;7237:13;;7140:18;;;7259:22;;;7086:4;;7115:2;7338:15;;;;7312:2;7297:18;;;7086:4;7381:169;7395:6;7392:1;7389:13;7381:169;;;7456:13;;7444:26;;7525:15;;;;7490:12;;;;7417:1;7410:9;7381:169;;;-1:-1:-1;7567:3:36;;6944:632;-1:-1:-1;;;;;;6944:632:36:o;7581:390::-;7659:6;7667;7720:2;7708:9;7699:7;7695:23;7691:32;7688:52;;;7736:1;7733;7726:12;7688:52;7772:9;7759:23;7749:33;;7833:2;7822:9;7818:18;7805:32;7860:18;7852:6;7849:30;7846:50;;;7892:1;7889;7882:12;7846:50;7915;7957:7;7948:6;7937:9;7933:22;7915:50;:::i;7976:931::-;8313:4;8342:3;8372:6;8361:9;8354:25;8415:2;8410;8399:9;8395:18;8388:30;8441:45;8482:2;8471:9;8467:18;8459:6;8441:45;:::i;:::-;-1:-1:-1;;;;;8560:15:36;;;8555:2;8540:18;;8533:43;8427:59;;-1:-1:-1;8585:54:36;8635:2;8620:18;;8612:6;8585:54;:::i;:::-;8676:15;;8670:3;8655:19;;8648:44;8723:3;8708:19;;8701:35;;;8773:22;;;8767:3;8752:19;;8745:51;8813:33;8777:6;8831;8813:33;:::i;:::-;8805:41;;;8895:4;8887:6;8883:17;8877:3;8866:9;8862:19;8855:46;7976:931;;;;;;;;;;;:::o;8912:220::-;9061:2;9050:9;9043:21;9024:4;9081:45;9122:2;9111:9;9107:18;9099:6;9081:45;:::i;9137:349::-;9239:6;9247;9300:2;9288:9;9279:7;9275:23;9271:32;9268:52;;;9316:1;9313;9306:12;9268:52;9352:9;9339:23;9329:33;;9412:2;9401:9;9397:18;9384:32;9425:31;9450:5;9425:31;:::i;9491:138::-;9570:13;;9592:31;9570:13;9592:31;:::i;:::-;9491:138;;;:::o;9634:164::-;9710:13;;9759;;9752:21;9742:32;;9732:60;;9788:1;9785;9778:12;9803:1335;9906:6;9937:2;9980;9968:9;9959:7;9955:23;9951:32;9948:52;;;9996:1;9993;9986:12;9948:52;10029:9;10023:16;10058:18;10099:2;10091:6;10088:14;10085:34;;;10115:1;10112;10105:12;10085:34;10138:22;;;;10194:4;10176:16;;;10172:27;10169:47;;;10212:1;10209;10202:12;10169:47;10238:22;;:::i;:::-;10290:2;10284:9;10302:33;10327:7;10302:33;:::i;:::-;10344:22;;10397:11;;;10391:18;10421:16;;;10418:36;;;10450:1;10447;10440:12;10418:36;10473:17;;;-1:-1:-1;10521:4:36;10513:13;;10509:27;-1:-1:-1;10499:55:36;;10550:1;10547;10540:12;10499:55;10579:2;10573:9;10604:49;10620:32;10649:2;10620:32;:::i;10604:49::-;10676:2;10669:5;10662:17;10716:7;10711:2;10706;10702;10698:11;10694:20;10691:33;10688:53;;;10737:1;10734;10727:12;10688:53;10750:67;10814:2;10809;10802:5;10798:14;10793:2;10789;10785:11;10750:67;:::i;:::-;10833:14;;;10826:29;-1:-1:-1;10901:2:36;10893:11;;;10887:18;10871:14;;;10864:42;10938;10976:2;10968:11;;10938:42;:::i;:::-;10933:2;10926:5;10922:14;10915:66;11028:3;11024:2;11020:12;11014:19;11008:3;11001:5;10997:15;10990:44;11067:40;11102:3;11098:2;11094:12;11067:40;:::i;:::-;11061:3;11050:15;;11043:65;11054:5;9803:1335;-1:-1:-1;;;;;;9803:1335:36:o;12248:380::-;12327:1;12323:12;;;;12370;;;12391:61;;12445:4;12437:6;12433:17;12423:27;;12391:61;12498:2;12490:6;12487:14;12467:18;12464:38;12461:161;;12544:10;12539:3;12535:20;12532:1;12525:31;12579:4;12576:1;12569:15;12607:4;12604:1;12597:15;12461:161;;12248:380;;;:::o;12759:543::-;12861:2;12856:3;12853:11;12850:446;;;12897:1;12921:5;12918:1;12911:16;12965:4;12962:1;12952:18;13035:2;13023:10;13019:19;13016:1;13012:27;13006:4;13002:38;13071:4;13059:10;13056:20;13053:47;;;-1:-1:-1;13094:4:36;13053:47;13149:2;13144:3;13140:12;13137:1;13133:20;13127:4;13123:31;13113:41;;13204:82;13222:2;13215:5;13212:13;13204:82;;;13267:17;;;13248:1;13237:13;13204:82;;13478:1345;13604:3;13598:10;13631:18;13623:6;13620:30;13617:56;;;13653:18;;:::i;:::-;13682:97;13772:6;13732:38;13764:4;13758:11;13732:38;:::i;:::-;13726:4;13682:97;:::i;:::-;13834:4;;13891:2;13880:14;;13908:1;13903:663;;;;14610:1;14627:6;14624:89;;;-1:-1:-1;14679:19:36;;;14673:26;14624:89;-1:-1:-1;;13435:1:36;13431:11;;;13427:24;13423:29;13413:40;13459:1;13455:11;;;13410:57;14726:81;;13873:944;;13903:663;12706:1;12699:14;;;12743:4;12730:18;;-1:-1:-1;;13939:20:36;;;14057:236;14071:7;14068:1;14065:14;14057:236;;;14160:19;;;14154:26;14139:42;;14252:27;;;;14220:1;14208:14;;;;14087:19;;14057:236;;;14061:3;14321:6;14312:7;14309:19;14306:201;;;14382:19;;;14376:26;-1:-1:-1;;14465:1:36;14461:14;;;14477:3;14457:24;14453:37;14449:42;14434:58;14419:74;;14306:201;-1:-1:-1;;;;;14553:1:36;14537:14;;;14533:22;14520:36;;-1:-1:-1;13478:1345:36:o;14828:362::-;15033:6;15022:9;15015:25;15076:6;15071:2;15060:9;15056:18;15049:34;15119:2;15114;15103:9;15099:18;15092:30;14996:4;15139:45;15180:2;15169:9;15165:18;15157:6;15139:45;:::i;15195:232::-;15234:3;15255:17;;;15252:140;;15314:10;15309:3;15305:20;15302:1;15295:31;15349:4;15346:1;15339:15;15377:4;15374:1;15367:15;15252:140;-1:-1:-1;15419:1:36;15408:13;;15195:232::o;17138:184::-;17208:6;17261:2;17249:9;17240:7;17236:23;17232:32;17229:52;;;17277:1;17274;17267:12;17229:52;-1:-1:-1;17300:16:36;;17138:184;-1:-1:-1;17138:184:36:o;19153:287::-;19282:3;19320:6;19314:13;19336:66;19395:6;19390:3;19383:4;19375:6;19371:17;19336:66;:::i;:::-;19418:16;;;;;19153:287;-1:-1:-1;;19153:287:36:o;19445:202::-;19512:6;19565:2;19553:9;19544:7;19540:23;19536:32;19533:52;;;19581:1;19578;19571:12;19533:52;19604:37;19631:9;19604:37;:::i" + "object": "6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed1565b6103f8565b60405161012e9190611f9e565b60405180910390f35b34801561014357600080fd5b50610170610152366004612048565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612048565b610853565b3480156101d457600080fd5b506101e86101e3366004612076565b610a1f565b60405190815260200161012e565b6102096102043660046120a2565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612048565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612106565b34801561027357600080fd5b50610209610282366004612114565b610a8c565b34801561029357600080fd5b506102a76102a236600461214a565b610d56565b60405161012e9190612167565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ab565b610dd6565b3480156102f557600080fd5b50610209610304366004612048565b61100f565b34801561031557600080fd5b50610329610324366004612048565b611282565b60405161012e9897969594939291906121e8565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225b565b3480156103c457600080fd5b506102096103d336600461226e565b6113ed565b3480156103e457600080fd5b506102096103f336600461214a565b611512565b610400611d7d565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b3565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612423565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e3565b60405180910390a36002805490600061069083612502565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a1565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f66565b600381111561078357610783611f66565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a1565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7d565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a1565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f66565b600381111561095457610954611f66565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a1565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257a83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f66565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b3565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190612529565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f66565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612423565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b3565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612106565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225b565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f66565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f66565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b3565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612106565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a1565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a1565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a1565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612542565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255e565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257a833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f1916820190925261179291810190612529565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257a83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612542565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612542565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255e565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612542565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d6457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dba57611dba611f66565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1457611e14611ddb565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4357611e43611ddb565b604052919050565b600067ffffffffffffffff821115611e6557611e65611ddb565b50601f01601f191660200190565b6000611e86611e8184611e4b565b611e1a565b9050828152838383011115611e9a57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec257600080fd5b611d4e83833560208501611e73565b60008060408385031215611ee457600080fd5b823567ffffffffffffffff811115611efb57600080fd5b611f0785828601611eb1565b95602094909401359450505050565b60005b83811015611f31578181015183820152602001611f19565b50506000910152565b60008151808452611f52816020860160208601611f16565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9a57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc7610120850183611f3a565b915060018060a01b0360408601511660608501526060850151611fed6080860182611f7c565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120288382611f3a565b92505060e085015161203e8286018260ff169052565b5090949350505050565b60006020828403121561205a57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208957600080fd5b823561209481612061565b946020939093013593505050565b600080604083850312156120b557600080fd5b82356120c081612061565b9150602083013567ffffffffffffffff8111156120dc57600080fd5b8301601f810185136120ed57600080fd5b6120fc85823560208401611e73565b9150509250929050565b6020810161084d8284611f7c565b6000806040838503121561212757600080fd5b82359150602083013560ff8116811461213f57600080fd5b809150509250929050565b60006020828403121561215c57600080fd5b8135611d4e81612061565b6020808252825182820181905260009190848201906040850190845b8181101561219f57835183529284019291840191600101612183565b50909695505050505050565b600080604083850312156121be57600080fd5b82359150602083013567ffffffffffffffff8111156121dc57600080fd5b6120fc85828601611eb1565b60006101008a83528060208401526122028184018b611f3a565b6001600160a01b038a81166040860152909150612222606085018a611f7c565b8716608084015260a0830186905282810360c08401526122428186611f3a565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3a565b6000806040838503121561228157600080fd5b82359150602083013561213f81612061565b805161229e81612061565b919050565b8051801515811461229e57600080fd5b600060208083850312156122c657600080fd5b825167ffffffffffffffff808211156122de57600080fd5b9084019060c082870312156122f257600080fd5b6122fa611df1565b825161230581612061565b8152828401518281111561231857600080fd5b83019150601f8201871361232b57600080fd5b8151612339611e8182611e4b565b818152888683860101111561234d57600080fd5b61235c82878301888701611f16565b82860152506040838101519082015261237760608401612293565b60608201526080830151608082015261239260a084016122a3565b60a08201529695505050505050565b600181811c908216806123b557607f821691505b6020821081036123d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124045750805b601f850160051c820191505b8181101561168657828155600101612410565b815167ffffffffffffffff81111561243d5761243d611ddb565b6124518161244b84546123a1565b846123db565b602080601f831160018114612486576000841561246e5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b557888601518255948401946001909101908401612496565b50858210156124d35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3a565b60006001820161252257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253b57600080fd5b5051919050565b60008251612554818460208701611f16565b9190910192915050565b60006020828403121561257057600080fd5b611d4e826122a356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d3b080e19c883e02f2c45a696f8fc9ffe9b7d894958f1142da9c3a68737d889a64736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x639241AB GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x8D977672 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8D977672 EQ PUSH2 0x309 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x33D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x37A JUMPI DUP1 PUSH4 0xDA35A26F EQ PUSH2 0x3B8 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x639241AB EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x74AAA760 EQ PUSH2 0x2C9 JUMPI DUP1 PUSH4 0x7EEC20A8 EQ PUSH2 0x2E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2A2B3A9D GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x2A2B3A9D EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1F6 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x20B JUMPI DUP1 PUSH4 0x5C622A0E EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0x6298EEE0 EQ PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4FE2B34 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x7B31818 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0xD1CFCAE EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x1D65E77E EQ PUSH2 0x1A8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x121 PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x1ED1 JUMP JUMPDEST PUSH2 0x3F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x1F9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x170 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x170 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x853 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0x1E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2076 JUMP JUMPDEST PUSH2 0xA1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0xA50 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0xA6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25A PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2106 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x2114 JUMP JUMPDEST PUSH2 0xA8C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x214A JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2167 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0xDC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x21AB JUMP JUMPDEST PUSH2 0xDD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x304 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x100F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x329 PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x21E8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x170 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x386 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x225B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x226E JUMP JUMPDEST PUSH2 0x13ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x214A JUMP JUMPDEST PUSH2 0x1512 JUMP JUMPDEST PUSH2 0x400 PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x44A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x472 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x52B JUMPI CALLVALUE DUP2 PUSH1 0x40 ADD MLOAD EQ PUSH2 0x526 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x496E76616C6964207072696365 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x58A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F204554482073686F756C642062652073656E7420666F7220455243323020 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x7061796D656E7473 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E DUP2 PUSH1 0x60 ADD MLOAD CALLER ADDRESS DUP5 PUSH1 0x40 ADD MLOAD PUSH2 0x1550 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP2 SSTORE PUSH1 0x1 DUP2 ADD PUSH2 0x5C0 DUP7 DUP3 PUSH2 0x2423 JUMP JUMPDEST POP PUSH1 0x2 DUP2 DUP2 ADD DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND DUP2 OR DUP4 SSTORE PUSH1 0x4 DUP6 ADD DUP9 SWAP1 SSTORE DUP6 MLOAD PUSH1 0x3 DUP7 ADD DUP1 SLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP5 SLOAD DUP6 SLOAD DUP1 DUP5 ADD DUP8 SSTORE SWAP6 DUP5 MSTORE SWAP3 KECCAK256 SWAP1 SWAP4 ADD SSTORE DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL DUP4 MUL OR SWAP1 SSTORE POP DUP2 MLOAD PUSH1 0x2 SLOAD PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP3 CALLER SWAP3 PUSH32 0x5C005BBBB9DA508C37935B1A9F270836E0BE1FD11D4D47119F925A3FF33820E9 SWAP3 PUSH2 0x678 SWAP3 DUP12 SWAP1 PUSH2 0x24E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x2 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x690 DUP4 PUSH2 0x2502 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x6BC SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6E8 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x735 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x70A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x735 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x718 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x772 JUMPI PUSH2 0x772 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x783 JUMPI PUSH2 0x783 PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x7B7 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E3 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x830 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x805 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x830 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x813 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x85B PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x88D SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8B9 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x906 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8DB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x906 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8E9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x943 JUMPI PUSH2 0x943 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x954 JUMPI PUSH2 0x954 PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x988 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x9B4 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA01 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9D6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA01 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9E4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xA3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0xA58 PUSH2 0x168E JUMP JUMPDEST PUSH2 0xA61 DUP3 PUSH2 0x1733 JUMP JUMPDEST PUSH2 0xA6B DUP3 DUP3 PUSH2 0x173B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA79 PUSH2 0x17FD JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xAF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB26 JUMPI PUSH2 0xB26 PUSH2 0x1F66 JUMP JUMPDEST EQ PUSH2 0xB6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x15185CDAC81A5CC81B9BDD0818DBDB5C1B195D1959 PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xBC0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B20676F7420726174696E6720616C7265616479000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x64 DUP4 PUSH1 0xFF AND GT ISZERO PUSH2 0xC14 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP6 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC9A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 MLOAD PUSH1 0x40 MLOAD PUSH4 0x70370A81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP9 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP3 SWAP4 POP AND SWAP1 PUSH4 0x70370A81 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCF2 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 0xD16 SWAP2 SWAP1 PUSH2 0x2529 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xFF DUP6 AND DUP2 MSTORE DUP6 SWAP1 PUSH32 0xF9189BFC5977D44B1A00920E53A6A0E00229F6C53E76B73FC7E0581AE99ABDC SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xDB6 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xDA2 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCA PUSH2 0x1846 JUMP JUMPDEST PUSH2 0xDD4 PUSH1 0x0 PUSH2 0x18A1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x139BDD08185D5D1A1BDC9A5E9959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE53 JUMPI PUSH2 0xE53 PUSH2 0x1F66 JUMP JUMPDEST EQ PUSH2 0xE96 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x496E76616C6964207461736B20737461747573 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA1 SHL OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD PUSH2 0xEB9 DUP4 DUP3 PUSH2 0x2423 JUMP JUMPDEST POP PUSH1 0x3 SLOAD PUSH1 0x4 DUP3 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF07 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF2F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF66 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0xF61 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0xF89 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xF89 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0xFC9 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP4 PUSH32 0x7E6FFC29FE63759579D96A0457A8F2E08339ACA345BD469F59DC2E61F82A5AEB DUP5 PUSH1 0x40 MLOAD PUSH2 0x1001 SWAP2 SWAP1 PUSH2 0x225B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x107A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A9 PUSH2 0x1F66 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x10D7 JUMPI POP PUSH1 0x3 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10D4 JUMPI PUSH2 0x10D4 PUSH2 0x1F66 JUMP JUMPDEST EQ ISZERO JUMPDEST PUSH2 0x1123 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B2063616E6E6F742062652063616E63656C6564000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x3 PUSH1 0xA0 SHL PUSH1 0xFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1187 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x11AF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x11E6 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x11E1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0x1209 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1209 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0x1249 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x40 MLOAD DUP5 SWAP1 PUSH32 0x1AA8A90C7D7A86BAC690072D3F3D726BB8EBBE1989E158530440963F04C11EB2 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x12A4 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x12D0 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x12F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1300 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD DUP1 SLOAD SWAP6 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND SWAP8 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 SWAP7 DIV PUSH1 0xFF AND SWAP7 POP SWAP1 SWAP4 AND SWAP4 SWAP2 SWAP3 SWAP2 PUSH2 0x1361 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138D SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13DA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13AF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13DA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13BD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x6 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 POP POP PUSH1 0xFF AND DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F7 PUSH2 0x1B1D JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x141F JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x143C JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x144A JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1468 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1492 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x149B CALLER PUSH2 0x1B46 JUMP JUMPDEST PUSH2 0x14A3 PUSH2 0x1B57 JUMP JUMPDEST PUSH1 0x2 DUP8 SWAP1 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE DUP4 ISZERO PUSH2 0x1509 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x151A PUSH2 0x1846 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1544 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x18A1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH2 0x15B4 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x15F1 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 0x15F6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1620 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1620 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1620 SWAP2 SWAP1 PUSH2 0x255E JUMP JUMPDEST PUSH2 0x1686 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A7472616E7366657246726F6D3A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x185B9CD9995C919C9BDB4819985A5B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x1715 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1709 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x154D PUSH2 0x1846 JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1795 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1792 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2529 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x17BD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x17EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x17F8 DUP4 DUP4 PUSH2 0x1B5F JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0x1878 PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP4 SWAP1 PUSH1 0x40 MLOAD PUSH2 0x193C SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1979 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 0x197E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665724554483A PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x8115512081D1C985B9CD9995C8819985A5B1959 PUSH1 0x62 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP8 AND SWAP2 PUSH2 0x1A48 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1A85 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 0x1A8A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1AB4 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1AB4 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1AB4 SWAP2 SWAP1 PUSH2 0x255E JUMP JUMPDEST PUSH2 0x1B16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665723A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x185B9CD9995C8819985A5B1959 PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0x84D JUMP JUMPDEST PUSH2 0x1B4E PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x1BDA JUMP JUMPDEST PUSH2 0xDD4 PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x1B68 DUP3 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1BAD JUMPI PUSH2 0x17F8 DUP3 DUP3 PUSH2 0x1C47 JUMP JUMPDEST PUSH2 0xA6B PUSH2 0x1CBD JUMP JUMPDEST PUSH2 0x1BBD PUSH2 0x1CDC JUMP JUMPDEST PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x151A PUSH2 0x1BB5 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1C18 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x1C64 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1C9F 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 0x1CA4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1CB4 DUP6 DUP4 DUP4 PUSH2 0x1CF6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1CE6 PUSH2 0x1B1D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1D0B JUMPI PUSH2 0x1D06 DUP3 PUSH2 0x1D55 JUMP JUMPDEST PUSH2 0x1D4E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1D22 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1D4B JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1D64 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1DBA JUMPI PUSH2 0x1DBA PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD MSTORE PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP1 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 0xC0 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E14 JUMPI PUSH2 0x1E14 PUSH2 0x1DDB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E43 JUMPI PUSH2 0x1E43 PUSH2 0x1DDB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E65 JUMPI PUSH2 0x1E65 PUSH2 0x1DDB JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E86 PUSH2 0x1E81 DUP5 PUSH2 0x1E4B JUMP JUMPDEST PUSH2 0x1E1A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x1E9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1EC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x1E73 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1EE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F07 DUP6 DUP3 DUP7 ADD PUSH2 0x1EB1 JUMP JUMPDEST SWAP6 PUSH1 0x20 SWAP5 SWAP1 SWAP5 ADD CALLDATALOAD SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1F31 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1F19 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1F52 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1F16 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x1F9A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x100 DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1FC7 PUSH2 0x120 DUP6 ADD DUP4 PUSH2 0x1F3A JUMP JUMPDEST SWAP2 POP PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 DUP7 ADD MLOAD AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH2 0x1FED PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1F7C JUMP JUMPDEST POP PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0xA0 DUP7 ADD MSTORE POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0x1F NOT DUP6 DUP5 SUB ADD PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x2028 DUP4 DUP3 PUSH2 0x1F3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 DUP6 ADD MLOAD PUSH2 0x203E DUP3 DUP7 ADD DUP3 PUSH1 0xFF AND SWAP1 MSTORE JUMP JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x205A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x154D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2089 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2094 DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x20C0 DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x20ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FC DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1E73 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x84D DUP3 DUP5 PUSH2 0x1F7C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2127 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x213F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x215C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D4E DUP2 PUSH2 0x2061 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x219F JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x2183 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FC DUP6 DUP3 DUP7 ADD PUSH2 0x1EB1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP11 DUP4 MSTORE DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2202 DUP2 DUP5 ADD DUP12 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x40 DUP7 ADD MSTORE SWAP1 SWAP2 POP PUSH2 0x2222 PUSH1 0x60 DUP6 ADD DUP11 PUSH2 0x1F7C JUMP JUMPDEST DUP8 AND PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD DUP7 SWAP1 MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x2242 DUP2 DUP7 PUSH2 0x1F3A JUMP JUMPDEST SWAP2 POP POP PUSH1 0xFF DUP4 AND PUSH1 0xE0 DUP4 ADD MSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1D4E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x213F DUP2 PUSH2 0x2061 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x229E DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x229E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x22DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP5 ADD SWAP1 PUSH1 0xC0 DUP3 DUP8 SUB SLT ISZERO PUSH2 0x22F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22FA PUSH2 0x1DF1 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2305 DUP2 PUSH2 0x2061 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP5 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2318 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD SWAP2 POP PUSH1 0x1F DUP3 ADD DUP8 SGT PUSH2 0x232B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2339 PUSH2 0x1E81 DUP3 PUSH2 0x1E4B JUMP JUMPDEST DUP2 DUP2 MSTORE DUP9 DUP7 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x234D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x235C DUP3 DUP8 DUP4 ADD DUP9 DUP8 ADD PUSH2 0x1F16 JUMP JUMPDEST DUP3 DUP7 ADD MSTORE POP PUSH1 0x40 DUP4 DUP2 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x2377 PUSH1 0x60 DUP5 ADD PUSH2 0x2293 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x2392 PUSH1 0xA0 DUP5 ADD PUSH2 0x22A3 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x23B5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x23D5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x17F8 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2404 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1686 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2410 JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x243D JUMPI PUSH2 0x243D PUSH2 0x1DDB JUMP JUMPDEST PUSH2 0x2451 DUP2 PUSH2 0x244B DUP5 SLOAD PUSH2 0x23A1 JUMP JUMPDEST DUP5 PUSH2 0x23DB JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2486 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x246E JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1686 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x24B5 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2496 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x24D3 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1CB4 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2522 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x253B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2554 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1F16 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2570 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP3 PUSH2 0x22A3 JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220D3 0xB0 DUP1 0xE1 SWAP13 DUP9 RETURNDATACOPY MUL CALLCODE 0xC4 GAS PUSH10 0x6F8FC9FFE9B7D894958F GT TIMESTAMP 0xDA SWAP13 GASPRICE PUSH9 0x737D889A64736F6C63 NUMBER STOP ADDMOD AND STOP CALLER ", + "sourceMap": "632:6620:30:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2658:1096;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6770:115;;;;;;;;;;-1:-1:-1;6770:115:30;;;;;:::i;:::-;6830:7;6856:13;;;;;;;;;;:22;;;-1:-1:-1;;;;;6856:22:30;;6770:115;;;;-1:-1:-1;;;;;4439:32:34;;;4421:51;;4409:2;4394:18;6770:115:30;4275:203:34;1166:46:30;;;;;;;;;;-1:-1:-1;1166:46:30;;;;-1:-1:-1;;;;;1166:46:30;;;6530:110;;;;;;;;;;-1:-1:-1;6530:110:30;;;;;:::i;:::-;;:::i;1080:48::-;;;;;;;;;;-1:-1:-1;1080:48:30;;;;;:::i;:::-;;:::i;:::-;;;5327:25:34;;;5315:2;5300:18;1080:48:30;5181:177:34;4161:214:2;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;6646:114:30:-;;;;;;;;;;-1:-1:-1;6646:114:30;;;;;:::i;:::-;6704:10;6733:13;;;;;;;;;;:20;;;-1:-1:-1;;;6733:20:30;;;;;6646:114;;;;;;;;:::i;4886:584::-;;;;;;;;;;-1:-1:-1;4886:584:30;;;;;:::i;:::-;;:::i;6398:126::-;;;;;;;;;;-1:-1:-1;6398:126:30;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;3930:783:30:-;;;;;;;;;;-1:-1:-1;3930:783:30;;;;;:::i;:::-;;:::i;5619:773::-;;;;;;;;;;-1:-1:-1;5619:773:30;;;;;:::i;:::-;;:::i;1033:41::-;;;;;;;;;;-1:-1:-1;1033:41:30;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;2441:144:0:-;;;;;;;;;;-1:-1:-1;1313:22:0;2570:8;-1:-1:-1;;;;;2570:8:0;2441:144;;1819:58:2;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;1644:291:30:-;;;;;;;;;;-1:-1:-1;1644:291:30;;;;;:::i;:::-;;:::i;3405:215:0:-;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;2658:1096:30:-;2768:15;;:::i;:::-;2829:13;;:37;;-1:-1:-1;;;2829:37:30;;;;;5327:25:34;;;2795:31:30;;-1:-1:-1;;;;;2829:13:30;;:25;;5300:18:34;;2829:37:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2829:37:30;;;;;;;;;;;;:::i;:::-;2884:15;;2795:71;;-1:-1:-1;;;;;;2884:29:30;2876:67;;;;-1:-1:-1;;;2876:67:30;;11345:2:34;2876:67:30;;;11327:21:34;11384:2;11364:18;;;11357:30;11423:27;11403:18;;;11396:55;11468:18;;2876:67:30;;;;;;;;;2966:21;;;;-1:-1:-1;;;;;2966:35:30;2962:328;;3043:9;3025:8;:14;;;:27;3017:53;;;;-1:-1:-1;;;3017:53:30;;11699:2:34;3017:53:30;;;11681:21:34;11738:2;11718:18;;;11711:30;-1:-1:-1;;;11757:18:34;;;11750:43;11810:18;;3017:53:30;11497:337:34;3017:53:30;2962:328;;;3109:9;:14;3101:67;;;;-1:-1:-1;;;3101:67:30;;12041:2:34;3101:67:30;;;12023:21:34;12080:2;12060:18;;;12053:30;12119:34;12099:18;;;12092:62;-1:-1:-1;;;12170:18:34;;;12163:38;12218:19;;3101:67:30;11839:404:34;3101:67:30;3182:97;3214:8;:21;;;3237:10;3257:4;3264:8;:14;;;3182:31;:97::i;:::-;3330:10;;3300:21;3324:17;;;;;;;;;;3351:20;;;3381:11;;;:20;3395:6;3381:11;:20;:::i;:::-;-1:-1:-1;3411:11:30;;;;:24;;3425:10;-1:-1:-1;;;;;;3411:24:30;;;;;;;3445:15;;;:28;;;3499:15;;3483:13;;;:31;;;;;-1:-1:-1;;;;;3483:31:30;;;;;;;-1:-1:-1;3524:23:30;;;-1:-1:-1;3524:23:30;;;;;;;3553:10;;3524:40;;;;;;;;;;;;;;;;3574:33;;-1:-1:-1;;;;3574:33:30;-1:-1:-1;;;;3574:33:30;;;;-1:-1:-1;3646:15:30;;3663:10;;3675:19;;;;3622:81;;-1:-1:-1;;;;;3622:81:30;;;;3634:10;;3622:81;;;;3696:6;;3622:81;:::i;:::-;;;;;;;;3714:10;:12;;;:10;:12;;;:::i;:::-;;;;;;3743:4;3736:11;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3736:11:30;;;-1:-1:-1;;3736:11:30;;;;-1:-1:-1;;;;;3736:11:30;;;;;;;;;;;-1:-1:-1;;;3736:11:30;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3736:11:30;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3736:11:30;;;-1:-1:-1;;3736:11:30;;;;;;;;;;;;;;-1:-1:-1;;;2658:1096:30;;;;;:::o;6530:110::-;6586:15;;:::i;:::-;6620:5;:13;;;;;;;;;;;;6613:20;;;;;;;;;;;;;;;;;6620:13;;6613:20;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6613:20:30;;;-1:-1:-1;;6613:20:30;;;;-1:-1:-1;;;;;6613:20:30;;;;;;;;;;;-1:-1:-1;;;6613:20:30;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;6613:20:30;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6613:20:30;;;-1:-1:-1;;6613:20:30;;;;;;;;;;;;;;6530:110;-1:-1:-1;;6530:110:30:o;1080:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;4886:584:30:-;1291:5;:13;;;;;;;;;;:20;;;:13;;-1:-1:-1;;;;;1291:20:30;1277:10;:34;1269:73;;;;-1:-1:-1;;;1269:73:30;;15634:2:34;1269:73:30;;;15616:21:34;15673:2;15653:18;;;15646:30;15712:28;15692:18;;;15685:56;15758:18;;1269:73:30;15432:350:34;1269:73:30;4976:21:::1;5000:13:::0;;;::::1;::::0;;;;;;5047:20:::1;5032:11:::0;;::::1;::::0;-1:-1:-1;;;5032:11:30;::::1;;;:35;::::0;::::1;;;;;;:::i;:::-;;5024:69;;;::::0;-1:-1:-1;;;5024:69:30;;15989:2:34;5024:69:30::1;::::0;::::1;15971:21:34::0;16028:2;16008:18;;;16001:30;-1:-1:-1;;;16047:18:34;;;16040:51;16108:18;;5024:69:30::1;15787:345:34::0;5024:69:30::1;5111:11;::::0;::::1;::::0;::::1;;:16:::0;5103:52:::1;;;::::0;-1:-1:-1;;;5103:52:30;;16339:2:34;5103:52:30::1;::::0;::::1;16321:21:34::0;16378:2;16358:18;;;16351:30;16417:25;16397:18;;;16390:53;16460:18;;5103:52:30::1;16137:347:34::0;5103:52:30::1;5198:3;5188:6;:13;;;;5165:73;;;::::0;-1:-1:-1;;;5165:73:30;;16691:2:34;5165:73:30::1;::::0;::::1;16673:21:34::0;;;16710:18;;;16703:30;16769:34;16749:18;;;16742:62;16821:18;;5165:73:30::1;16489:356:34::0;5165:73:30::1;5257:11;::::0;::::1;:20:::0;;-1:-1:-1;;5257:20:30::1;;::::0;::::1;;::::0;;5321:13:::1;::::0;5347:15:::1;::::0;;::::1;::::0;5321:42:::1;::::0;-1:-1:-1;;;5321:42:30;;;;::::1;5327:25:34::0;-1:-1:-1;;;;;;;5321:13:30::1;::::0;:25:::1;::::0;5300:18:34;;5321:42:30::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;5321:42:30::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;5374:13;::::0;5398:15;;5374:48:::1;::::0;-1:-1:-1;;;5374:48:30;;-1:-1:-1;;;;;17040:32:34;;;5374:48:30::1;::::0;::::1;17022:51:34::0;17121:4;17109:17;;17089:18;;;17082:45;5398:15:30;;-1:-1:-1;5374:13:30::1;::::0;:23:::1;::::0;16995:18:34;;5374:48:30::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;5438:25:30::1;::::0;17499:4:34;17487:17;;17469:36;;5448:6:30;;5438:25:::1;::::0;17457:2:34;17442:18;5438:25:30::1;;;;;;;4966:504;;4886:584:::0;;;:::o;6398:126::-;-1:-1:-1;;;;;6498:19:30;;;;;;:11;:19;;;;;;;;;6491:26;;;;;;;;;;;;;;;;;6463:16;;6491:26;;;6498:19;6491:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6398:126;;;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;3930:783:30:-;4009:21;4033:13;;;;;;;;;;4078;;;;-1:-1:-1;;;;;4078:13:30;4064:10;:27;4056:54;;;;-1:-1:-1;;;4056:54:30;;17718:2:34;4056:54:30;;;17700:21:34;17757:2;17737:18;;;17730:30;-1:-1:-1;;;17776:18:34;;;17769:44;17830:18;;4056:54:30;17516:338:34;4056:54:30;4143:19;4128:11;;;;-1:-1:-1;;;4128:11:30;;;;:34;;;;;;;;:::i;:::-;;4120:66;;;;-1:-1:-1;;;4120:66:30;;18061:2:34;4120:66:30;;;18043:21:34;18100:2;18080:18;;;18073:30;-1:-1:-1;;;18119:18:34;;;18112:49;18178:18;;4120:66:30;17859:343:34;4120:66:30;4211:20;4197:11;;:34;;-1:-1:-1;;;;4197:34:30;-1:-1:-1;;;4197:34:30;;;4241:11;;;:20;4255:6;4241:11;:20;:::i;:::-;-1:-1:-1;4305:13:30;;4331:15;;;;;4305:42;;-1:-1:-1;;;4305:42:30;;;;;5327:25:34;4271:31:30;;-1:-1:-1;;;;;4305:13:30;;:25;;5300:18:34;;4305:42:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4305:42:30;;;;;;;;;;;;:::i;:::-;4370:21;;;;4271:76;;-1:-1:-1;;;;;;4370:35:30;4366:235;;4452:11;;;;4465:14;;;;4421:59;;-1:-1:-1;;;;;4452:11:30;;4421:30;:59::i;:::-;4366:235;;;4539:21;;;;4562:11;;;;4575:14;;;;4511:79;;4539:21;-1:-1:-1;;;;;4562:11:30;;4511:27;:79::i;:::-;4650:11;;;;4624:38;;4642:6;;4624:38;;;;-1:-1:-1;;;4650:11:30;;;;;4624:38;:::i;:::-;;;;;;;;4691:6;4677:29;4699:6;4677:29;;;;;;:::i;:::-;;;;;;;;3999:714;;3930:783;;:::o;5619:773::-;1291:5;:13;;;;;;;;;;:20;;;:13;;-1:-1:-1;;;;;1291:20:30;1277:10;:34;1269:73;;;;-1:-1:-1;;;1269:73:30;;15634:2:34;1269:73:30;;;15616:21:34;15673:2;15653:18;;;15646:30;15712:28;15692:18;;;15685:56;15758:18;;1269:73:30;15432:350:34;1269:73:30;5697:21:::1;5721:13:::0;;;::::1;::::0;;;;;;5767:20:::1;5752:11:::0;;::::1;::::0;-1:-1:-1;;;5752:11:30;::::1;;;:35;::::0;::::1;;;;;;:::i;:::-;;;:73;;;;-1:-1:-1::0;5806:19:30::1;5791:11;::::0;::::1;::::0;-1:-1:-1;;;5791:11:30;::::1;;;:34;::::0;::::1;;;;;;:::i;:::-;;;5752:73;5744:109;;;::::0;-1:-1:-1;;;5744:109:30;;18409:2:34;5744:109:30::1;::::0;::::1;18391:21:34::0;18448:2;18428:18;;;18421:30;18487:25;18467:18;;;18460:53;18530:18;;5744:109:30::1;18207:347:34::0;5744:109:30::1;5872:11;::::0;::::1;:33:::0;;-1:-1:-1;;;;;;;5872:33:30;;::::1;;::::0;;5886:19:::1;5949:13:::0;5975:15:::1;::::0;;::::1;::::0;5949:42:::1;::::0;-1:-1:-1;;;5949:42:30;;;;::::1;5327:25:34::0;-1:-1:-1;;;;;;;5949:13:30::1;::::0;:25:::1;::::0;5300:18:34;;5949:42:30::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;5949:42:30::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6058:21;::::0;::::1;::::0;5915:76;;-1:-1:-1;;;;;;6058:35:30::1;6054:235;;6140:11;::::0;::::1;::::0;6153:14:::1;::::0;::::1;::::0;6109:59:::1;::::0;-1:-1:-1;;;;;6140:11:30::1;::::0;6109:30:::1;:59::i;:::-;6054:235;;;6227:21;::::0;::::1;::::0;6250:11:::1;::::0;::::1;::::0;6263:14:::1;::::0;::::1;::::0;6199:79:::1;::::0;6227:21;-1:-1:-1;;;;;6250:11:30::1;::::0;6199:27:::1;:79::i;:::-;6338:11;::::0;::::1;::::0;6312:38:::1;::::0;6330:6;;6312:38:::1;::::0;::::1;::::0;-1:-1:-1;;;6338:11:30;::::1;;;::::0;6312:38:::1;:::i;:::-;;;;;;;;6365:20;::::0;6378:6;;6365:20:::1;::::0;;;::::1;5687:705;;5619:773:::0;;:::o;1033:41::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1033:41:30;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1033:41:30;;;;-1:-1:-1;;;1033:41:30;;;;;;-1:-1:-1;1033:41:30;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1033:41:30;;;;;;;-1:-1:-1;;1033:41:30;;;:::o;1644:291::-;4158:30:1;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:1;-1:-1:-1;;;4302:15:1;;;4301:16;;4348:14;;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;:16;;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;1782:26:30::1;1797:10;1782:14;:26::i;:::-;1818:24;:22;:24::i;:::-;1861:10;:27:::0;;;1898:13:::1;:30:::0;;-1:-1:-1;;;;;;1898:30:30::1;-1:-1:-1::0;;;;;1898:30:30;::::1;;::::0;;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;18712:50:34;;5140:14:1;;18700:2:34;18685:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;1644:291:30;;:::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;4421:51:34::0;4394:18;;3534:31:0::1;4275:203:34::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;1081:486:33:-;1345:51;;;-1:-1:-1;;;;;19031:15:34;;;1345:51:33;;;19013:34:34;19083:15;;;19063:18;;;19056:43;19115:18;;;;19108:34;;;1345:51:33;;;;;;;;;;18948:18:34;;;;1345:51:33;;;;;;;-1:-1:-1;;;;;1345:51:33;-1:-1:-1;;;1345:51:33;;;1334:63;;-1:-1:-1;;;;1334:10:33;;;;:63;;1345:51;1334:63;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1298:99;;;;1428:7;:57;;;;-1:-1:-1;1440:11:33;;:16;;:44;;;1471:4;1460:24;;;;;;;;;;;;:::i;:::-;1407:153;;;;-1:-1:-1;;;1407:153:33;;19854:2:34;1407:153:33;;;19836:21:34;19893:2;19873:18;;;19866:30;19932:34;19912:18;;;19905:62;-1:-1:-1;;;19983:18:34;;;19976:47;20040:19;;1407:153:33;19652:413:34;1407:153:33;1210:357;;1081:486;;;;:::o;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:11;-1:-1:-1;;;;;1519:53:11;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;7074:84:30;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;4439:32:34;;6493:60:2;;;4421:51:34;4394:18;;6493:60:2;4275:203:34;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;5327:25:34;;;5300:18;;6292:34:2;5181:177:34;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;:::-;6184:235;6032:538;;:::o;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;2658:162:0;966:10:3;2717:7:0;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144;2717:7;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;4421:51:34;4394:18;;2763:40:0;4275:203:34;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;1573:214:33:-;1685:12;;;1645;1685;;;;;;;;;-1:-1:-1;;;;;1663:7:33;;;1678:5;;1663:35;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1644:54;;;1716:7;1708:72;;;;-1:-1:-1;;;1708:72:33;;20461:2:34;1708:72:33;;;20443:21:34;20500:2;20480:18;;;20473:30;20539:34;20519:18;;;20512:62;-1:-1:-1;;;20590:18:34;;;20583:50;20650:19;;1708:72:33;20259:416:34;637:438:33;863:45;;;-1:-1:-1;;;;;20872:32:34;;;863:45:33;;;20854:51:34;20921:18;;;;20914:34;;;863:45:33;;;;;;;;;;20827:18:34;;;;863:45:33;;;;;;;-1:-1:-1;;;;;863:45:33;-1:-1:-1;;;863:45:33;;;852:57;;-1:-1:-1;;;;852:10:33;;;;:57;;863:45;852:57;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;816:93;;;;940:7;:57;;;;-1:-1:-1;952:11:33;;:16;;:44;;;983:4;972:24;;;;;;;;;;;;:::i;:::-;919:149;;;;-1:-1:-1;;;919:149:33;;21161:2:34;919:149:33;;;21143:21:34;21200:2;21180:18;;;21173:30;21239:34;21219:18;;;21212:62;-1:-1:-1;;;21290:18:34;;;21283:43;21343:19;;919:149:33;20959:409:34;919:149:33;740:335;;637:438;;;:::o;9071:205:1:-;9129:30;;3147:66;9186:27;8819:122;1847:127:0;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;2264:344:11:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:11;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7082:141:1:-;7149:17;:15;:17::i;:::-;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;1671:281:11:-;1748:17;-1:-1:-1;;;;;1748:29:11;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:11;;-1:-1:-1;;;;;4439:32:34;;1805:47:11;;;4421:51:34;4394:18;;1805:47:11;4275:203:34;1744:119:11;-1:-1:-1;;;;;;;;;;;1872:73:11;;-1:-1:-1;;;;;;1872:73:11;-1:-1:-1;;;;;1872:73:11;;;;;;;;;;1671:281::o;3916:253:20:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:20;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:20:o;6113:122:11:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:11;;;;;;;;;;;8485:120:1;8535:4;8558:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8558:40:1;;;;;;-1:-1:-1;8485:120:1:o;4437:582:20:-;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:20;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:20;;-1:-1:-1;;;;;4439:32:34;;4933:24:20;;;4421:51:34;4394:18;;4933:24:20;4275:203:34;4853:119:20;-1:-1:-1;4992:10:20;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:20;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:127:34:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:253;218:2;212:9;260:4;248:17;;295:18;280:34;;316:22;;;277:62;274:88;;;342:18;;:::i;:::-;378:2;371:22;146:253;:::o;404:275::-;475:2;469:9;540:2;521:13;;-1:-1:-1;;517:27:34;505:40;;575:18;560:34;;596:22;;;557:62;554:88;;;622:18;;:::i;:::-;658:2;651:22;404:275;;-1:-1:-1;404:275:34:o;684:187::-;733:4;766:18;758:6;755:30;752:56;;;788:18;;:::i;:::-;-1:-1:-1;854:2:34;833:15;-1:-1:-1;;829:29:34;860:4;825:40;;684:187::o;876:338::-;941:5;970:53;986:36;1015:6;986:36;:::i;:::-;970:53;:::i;:::-;961:62;;1046:6;1039:5;1032:21;1086:3;1077:6;1072:3;1068:16;1065:25;1062:45;;;1103:1;1100;1093:12;1062:45;1152:6;1147:3;1140:4;1133:5;1129:16;1116:43;1206:1;1199:4;1190:6;1183:5;1179:18;1175:29;1168:40;876:338;;;;;:::o;1219:222::-;1262:5;1315:3;1308:4;1300:6;1296:17;1292:27;1282:55;;1333:1;1330;1323:12;1282:55;1355:80;1431:3;1422:6;1409:20;1402:4;1394:6;1390:17;1355:80;:::i;1446:390::-;1524:6;1532;1585:2;1573:9;1564:7;1560:23;1556:32;1553:52;;;1601:1;1598;1591:12;1553:52;1641:9;1628:23;1674:18;1666:6;1663:30;1660:50;;;1706:1;1703;1696:12;1660:50;1729;1771:7;1762:6;1751:9;1747:22;1729:50;:::i;:::-;1719:60;1826:2;1811:18;;;;1798:32;;-1:-1:-1;;;;1446:390:34:o;1841:250::-;1926:1;1936:113;1950:6;1947:1;1944:13;1936:113;;;2026:11;;;2020:18;2007:11;;;2000:39;1972:2;1965:10;1936:113;;;-1:-1:-1;;2083:1:34;2065:16;;2058:27;1841:250::o;2096:271::-;2138:3;2176:5;2170:12;2203:6;2198:3;2191:19;2219:76;2288:6;2281:4;2276:3;2272:14;2265:4;2258:5;2254:16;2219:76;:::i;:::-;2349:2;2328:15;-1:-1:-1;;2324:29:34;2315:39;;;;2356:4;2311:50;;2096:271;-1:-1:-1;;2096:271:34:o;2481:127::-;2542:10;2537:3;2533:20;2530:1;2523:31;2573:4;2570:1;2563:15;2597:4;2594:1;2587:15;2613:238;2695:1;2688:5;2685:12;2675:143;;2740:10;2735:3;2731:20;2728:1;2721:31;2775:4;2772:1;2765:15;2803:4;2800:1;2793:15;2675:143;2827:18;;2613:238::o;2936:1149::-;3117:2;3106:9;3099:21;3162:6;3156:13;3151:2;3140:9;3136:18;3129:41;3080:4;3217:2;3209:6;3205:15;3199:22;3240:6;3282:2;3277;3266:9;3262:18;3255:30;3308:52;3355:3;3344:9;3340:19;3326:12;3308:52;:::i;:::-;3294:66;;3441:1;3437;3432:3;3428:11;3424:19;3418:2;3410:6;3406:15;3400:22;3396:48;3391:2;3380:9;3376:18;3369:76;3494:2;3486:6;3482:15;3476:22;3507:63;3565:3;3554:9;3550:19;3534:14;3507:63;:::i;:::-;-1:-1:-1;3619:3:34;3607:16;;3601:23;-1:-1:-1;;;;;2438:31:34;;3683:3;3668:19;;2426:44;3633:55;3743:3;3735:6;3731:16;3725:23;3719:3;3708:9;3704:19;3697:52;3798:3;3790:6;3786:16;3780:23;3872:2;3868:7;3856:9;3848:6;3844:22;3840:36;3834:3;3823:9;3819:19;3812:65;3900:41;3934:6;3918:14;3900:41;:::i;:::-;3886:55;;;3990:3;3982:6;3978:16;3972:23;4004:52;4052:2;4041:9;4037:18;4021:14;2923:4;2912:16;2900:29;;2856:75;4004:52;-1:-1:-1;4073:6:34;;2936:1149;-1:-1:-1;;;;2936:1149:34:o;4090:180::-;4149:6;4202:2;4190:9;4181:7;4177:23;4173:32;4170:52;;;4218:1;4215;4208:12;4170:52;-1:-1:-1;4241:23:34;;4090:180;-1:-1:-1;4090:180:34:o;4725:131::-;-1:-1:-1;;;;;4800:31:34;;4790:42;;4780:70;;4846:1;4843;4836:12;4861:315;4929:6;4937;4990:2;4978:9;4969:7;4965:23;4961:32;4958:52;;;5006:1;5003;4996:12;4958:52;5045:9;5032:23;5064:31;5089:5;5064:31;:::i;:::-;5114:5;5166:2;5151:18;;;;5138:32;;-1:-1:-1;;;4861:315:34:o;5363:585::-;5440:6;5448;5501:2;5489:9;5480:7;5476:23;5472:32;5469:52;;;5517:1;5514;5507:12;5469:52;5556:9;5543:23;5575:31;5600:5;5575:31;:::i;:::-;5625:5;-1:-1:-1;5681:2:34;5666:18;;5653:32;5708:18;5697:30;;5694:50;;;5740:1;5737;5730:12;5694:50;5763:22;;5816:4;5808:13;;5804:27;-1:-1:-1;5794:55:34;;5845:1;5842;5835:12;5794:55;5868:74;5934:7;5929:2;5916:16;5911:2;5907;5903:11;5868:74;:::i;:::-;5858:84;;;5363:585;;;;;:::o;6135:210::-;6282:2;6267:18;;6294:45;6271:9;6321:6;6294:45;:::i;6350:337::-;6416:6;6424;6477:2;6465:9;6456:7;6452:23;6448:32;6445:52;;;6493:1;6490;6483:12;6445:52;6529:9;6516:23;6506:33;;6589:2;6578:9;6574:18;6561:32;6633:4;6626:5;6622:16;6615:5;6612:27;6602:55;;6653:1;6650;6643:12;6602:55;6676:5;6666:15;;;6350:337;;;;;:::o;6692:247::-;6751:6;6804:2;6792:9;6783:7;6779:23;6775:32;6772:52;;;6820:1;6817;6810:12;6772:52;6859:9;6846:23;6878:31;6903:5;6878:31;:::i;6944:632::-;7115:2;7167:21;;;7237:13;;7140:18;;;7259:22;;;7086:4;;7115:2;7338:15;;;;7312:2;7297:18;;;7086:4;7381:169;7395:6;7392:1;7389:13;7381:169;;;7456:13;;7444:26;;7525:15;;;;7490:12;;;;7417:1;7410:9;7381:169;;;-1:-1:-1;7567:3:34;;6944:632;-1:-1:-1;;;;;;6944:632:34:o;7581:390::-;7659:6;7667;7720:2;7708:9;7699:7;7695:23;7691:32;7688:52;;;7736:1;7733;7726:12;7688:52;7772:9;7759:23;7749:33;;7833:2;7822:9;7818:18;7805:32;7860:18;7852:6;7849:30;7846:50;;;7892:1;7889;7882:12;7846:50;7915;7957:7;7948:6;7937:9;7933:22;7915:50;:::i;7976:931::-;8313:4;8342:3;8372:6;8361:9;8354:25;8415:2;8410;8399:9;8395:18;8388:30;8441:45;8482:2;8471:9;8467:18;8459:6;8441:45;:::i;:::-;-1:-1:-1;;;;;8560:15:34;;;8555:2;8540:18;;8533:43;8427:59;;-1:-1:-1;8585:54:34;8635:2;8620:18;;8612:6;8585:54;:::i;:::-;8676:15;;8670:3;8655:19;;8648:44;8723:3;8708:19;;8701:35;;;8773:22;;;8767:3;8752:19;;8745:51;8813:33;8777:6;8831;8813:33;:::i;:::-;8805:41;;;8895:4;8887:6;8883:17;8877:3;8866:9;8862:19;8855:46;7976:931;;;;;;;;;;;:::o;8912:220::-;9061:2;9050:9;9043:21;9024:4;9081:45;9122:2;9111:9;9107:18;9099:6;9081:45;:::i;9137:349::-;9239:6;9247;9300:2;9288:9;9279:7;9275:23;9271:32;9268:52;;;9316:1;9313;9306:12;9268:52;9352:9;9339:23;9329:33;;9412:2;9401:9;9397:18;9384:32;9425:31;9450:5;9425:31;:::i;9491:138::-;9570:13;;9592:31;9570:13;9592:31;:::i;:::-;9491:138;;;:::o;9634:164::-;9710:13;;9759;;9752:21;9742:32;;9732:60;;9788:1;9785;9778:12;9803:1335;9906:6;9937:2;9980;9968:9;9959:7;9955:23;9951:32;9948:52;;;9996:1;9993;9986:12;9948:52;10029:9;10023:16;10058:18;10099:2;10091:6;10088:14;10085:34;;;10115:1;10112;10105:12;10085:34;10138:22;;;;10194:4;10176:16;;;10172:27;10169:47;;;10212:1;10209;10202:12;10169:47;10238:22;;:::i;:::-;10290:2;10284:9;10302:33;10327:7;10302:33;:::i;:::-;10344:22;;10397:11;;;10391:18;10421:16;;;10418:36;;;10450:1;10447;10440:12;10418:36;10473:17;;;-1:-1:-1;10521:4:34;10513:13;;10509:27;-1:-1:-1;10499:55:34;;10550:1;10547;10540:12;10499:55;10579:2;10573:9;10604:49;10620:32;10649:2;10620:32;:::i;10604:49::-;10676:2;10669:5;10662:17;10716:7;10711:2;10706;10702;10698:11;10694:20;10691:33;10688:53;;;10737:1;10734;10727:12;10688:53;10750:67;10814:2;10809;10802:5;10798:14;10793:2;10789;10785:11;10750:67;:::i;:::-;10833:14;;;10826:29;-1:-1:-1;10901:2:34;10893:11;;;10887:18;10871:14;;;10864:42;10938;10976:2;10968:11;;10938:42;:::i;:::-;10933:2;10926:5;10922:14;10915:66;11028:3;11024:2;11020:12;11014:19;11008:3;11001:5;10997:15;10990:44;11067:40;11102:3;11098:2;11094:12;11067:40;:::i;:::-;11061:3;11050:15;;11043:65;11054:5;9803:1335;-1:-1:-1;;;;;;9803:1335:34:o;12248:380::-;12327:1;12323:12;;;;12370;;;12391:61;;12445:4;12437:6;12433:17;12423:27;;12391:61;12498:2;12490:6;12487:14;12467:18;12464:38;12461:161;;12544:10;12539:3;12535:20;12532:1;12525:31;12579:4;12576:1;12569:15;12607:4;12604:1;12597:15;12461:161;;12248:380;;;:::o;12759:543::-;12861:2;12856:3;12853:11;12850:446;;;12897:1;12921:5;12918:1;12911:16;12965:4;12962:1;12952:18;13035:2;13023:10;13019:19;13016:1;13012:27;13006:4;13002:38;13071:4;13059:10;13056:20;13053:47;;;-1:-1:-1;13094:4:34;13053:47;13149:2;13144:3;13140:12;13137:1;13133:20;13127:4;13123:31;13113:41;;13204:82;13222:2;13215:5;13212:13;13204:82;;;13267:17;;;13248:1;13237:13;13204:82;;13478:1345;13604:3;13598:10;13631:18;13623:6;13620:30;13617:56;;;13653:18;;:::i;:::-;13682:97;13772:6;13732:38;13764:4;13758:11;13732:38;:::i;:::-;13726:4;13682:97;:::i;:::-;13834:4;;13891:2;13880:14;;13908:1;13903:663;;;;14610:1;14627:6;14624:89;;;-1:-1:-1;14679:19:34;;;14673:26;14624:89;-1:-1:-1;;13435:1:34;13431:11;;;13427:24;13423:29;13413:40;13459:1;13455:11;;;13410:57;14726:81;;13873:944;;13903:663;12706:1;12699:14;;;12743:4;12730:18;;-1:-1:-1;;13939:20:34;;;14057:236;14071:7;14068:1;14065:14;14057:236;;;14160:19;;;14154:26;14139:42;;14252:27;;;;14220:1;14208:14;;;;14087:19;;14057:236;;;14061:3;14321:6;14312:7;14309:19;14306:201;;;14382:19;;;14376:26;-1:-1:-1;;14465:1:34;14461:14;;;14477:3;14457:24;14453:37;14449:42;14434:58;14419:74;;14306:201;-1:-1:-1;;;;;14553:1:34;14537:14;;;14533:22;14520:36;;-1:-1:-1;13478:1345:34:o;14828:362::-;15033:6;15022:9;15015:25;15076:6;15071:2;15060:9;15056:18;15049:34;15119:2;15114;15103:9;15099:18;15092:30;14996:4;15139:45;15180:2;15169:9;15165:18;15157:6;15139:45;:::i;15195:232::-;15234:3;15255:17;;;15252:140;;15314:10;15309:3;15305:20;15302:1;15295:31;15349:4;15346:1;15339:15;15377:4;15374:1;15367:15;15252:140;-1:-1:-1;15419:1:34;15408:13;;15195:232::o;17138:184::-;17208:6;17261:2;17249:9;17240:7;17236:23;17232:32;17229:52;;;17277:1;17274;17267:12;17229:52;-1:-1:-1;17300:16:34;;17138:184;-1:-1:-1;17138:184:34:o;19153:287::-;19282:3;19320:6;19314:13;19336:66;19395:6;19390:3;19383:4;19375:6;19371:17;19336:66;:::i;:::-;19418:16;;;;;19153:287;-1:-1:-1;;19153:287:34:o;19445:202::-;19512:6;19565:2;19553:9;19544:7;19540:23;19536:32;19533:52;;;19581:1;19578;19571:12;19533:52;19604:37;19631:9;19604:37;:::i" }, "methodIdentifiers": { "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", @@ -150816,19 +149826,19 @@ "upgradeToAndCall(address,bytes)": "4f1ef286" } }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"indexed\":false,\"internalType\":\"struct IProposalStruct.ServiceProposal\",\"name\":\"proposal\",\"type\":\"tuple\"}],\"name\":\"ProposalApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"TaskAssigned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"TaskCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"}],\"name\":\"TaskCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"}],\"name\":\"TaskCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"name\":\"TaskRated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"TaskStatusChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"agentRegistry\",\"outputs\":[{\"internalType\":\"contract AgentsRegistryUpgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"cancelTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"}],\"name\":\"completeTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"createTask\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"internalType\":\"struct TaskRegistryUpgradeable.TaskData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getAssignee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getStatus\",\"outputs\":[{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getTask\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"internalType\":\"struct TaskRegistryUpgradeable.TaskData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"}],\"name\":\"getTasksByIssuer\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_initialTaskId\",\"type\":\"uint256\"},{\"internalType\":\"contract AgentsRegistryUpgradeable\",\"name\":\"_agentRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"issuerTasks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"name\":\"rateTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tasks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"cancelTask(uint256)\":{\"details\":\"Cancels a task that is in ASSIGNED status and refunds the payment.\",\"params\":{\"taskId\":\"The ID of the task to cancel.\"}},\"completeTask(uint256,string)\":{\"details\":\"Completes a task with the given result.\",\"params\":{\"result\":\"The result or output of the completed task.\",\"taskId\":\"The ID of the task.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"createTask(string,uint256)\":{\"details\":\"Creates a new task with the given prompt and task type.\",\"params\":{\"prompt\":\"The description or prompt of the task.\"},\"returns\":{\"_0\":\"taskId The ID of the newly created task.\"}},\"initialize(uint256,address)\":{\"details\":\"Initializes the contract\",\"params\":{\"_agentRegistry\":\"The address of the agent registry\",\"_initialTaskId\":\"The starting task ID\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"rateTask(uint256,uint8)\":{\"details\":\"Rated a completed task, called by the task issuer\",\"params\":{\"rating\":\"task rating from 0 to 100.\",\"taskId\":\"The ID of the task.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"TaskRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the tasks issued for the agent service providers.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/TaskRegistryUpgradeable.sol\":\"TaskRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xb25a4f11fa80c702bf5cd85adec90e6f6f507f32f4a8e6f5dbc31e8c10029486\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6917f8a323e7811f041aecd4d9fd6e92455a6fba38a797ac6f6e208c7912b79d\",\"dweb:/ipfs/QmShuYv55wYHGi4EFkDB8QfF7ZCHoKk2efyz3AWY1ExSq7\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0xc42facb5094f2f35f066a7155bda23545e39a3156faef3ddc00185544443ba7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d3b36282ab029b46bd082619a308a2ea11c309967b9425b7b7a6eb0b0c1c3196\",\"dweb:/ipfs/QmP2YVfDB2FoREax3vJu7QhDnyYRMw52WPrCD4vdT2kuDA\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0x8decfa54cec979c824b044b8128cd91d713f72c71fd7dfa54974624d8c949898\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://271f914261a19d87117a777e0924ada545c16191ef9b00cc40b0134fc14ebc70\",\"dweb:/ipfs/QmdvVNWHGHQrGGPonZJs5NuzTevTjZRM2zayKrDJf7WBA2\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0xc59a78b07b44b2cf2e8ab4175fca91e8eca1eee2df7357b8d2a8833e5ea1f64c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5aa4f07e65444784c29cd7bfcc2341b34381e4e5b5da9f0c5bd00d7f430e66fa\",\"dweb:/ipfs/QmWRMh4Q9DpaU9GvsiXmDdoNYMyyece9if7hnfLz7uqzWM\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xee5c1f59c302ac75878ec65de4d8d72024bc894a9153ceeea188a1a4f101efda\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc3c7395807331fdc4943184c3673d5f4a6bf3a75a63d2a72c67848ad7865235\",\"dweb:/ipfs/QmThXzp6LaMLY5azq1gGebt7Ev2FDvB5jexhadYgzbs96P\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/TaskRegistryUpgradeable.sol\":{\"keccak256\":\"0x8c98c70f875182d2dbe2a48f876c5cb2a1390a870f141da866bbddb942b85412\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c14e11e8c0f847a45a2a51883331be3d7f6a19a2acf07155348573bb1691641\",\"dweb:/ipfs/QmZB7g57f3qv8Hj3WwssBhMVjPyf9wcQt5zs1WzNYC8Hvd\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]},\"contracts/lib/TransferHelper.sol\":{\"keccak256\":\"0x65e08c88e7925dc1d5c0f7e774896f11af45bca8067ceeaa35ff4c93128c62c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd6919f03addec5eb18403934c51848d7e4f71f44359d429755cc82155d3e072\",\"dweb:/ipfs/QmeNazpowCEm8Q54cSoHPtvF5wofLnrAwVh4g71G4oVZ1w\"]}},\"version\":1}", + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"indexed\":false,\"internalType\":\"struct IProposalStruct.ServiceProposal\",\"name\":\"proposal\",\"type\":\"tuple\"}],\"name\":\"ProposalApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"TaskAssigned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"TaskCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"}],\"name\":\"TaskCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"}],\"name\":\"TaskCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"name\":\"TaskRated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"TaskStatusChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"agentRegistry\",\"outputs\":[{\"internalType\":\"contract AgentsRegistryUpgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"cancelTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"}],\"name\":\"completeTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"createTask\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"internalType\":\"struct TaskRegistryUpgradeable.TaskData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getAssignee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getStatus\",\"outputs\":[{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getTask\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"internalType\":\"struct TaskRegistryUpgradeable.TaskData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"}],\"name\":\"getTasksByIssuer\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_initialTaskId\",\"type\":\"uint256\"},{\"internalType\":\"contract AgentsRegistryUpgradeable\",\"name\":\"_agentRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"issuerTasks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"name\":\"rateTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tasks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"cancelTask(uint256)\":{\"details\":\"Cancels a task that is in ASSIGNED status and refunds the payment.\",\"params\":{\"taskId\":\"The ID of the task to cancel.\"}},\"completeTask(uint256,string)\":{\"details\":\"Completes a task with the given result.\",\"params\":{\"result\":\"The result or output of the completed task.\",\"taskId\":\"The ID of the task.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"createTask(string,uint256)\":{\"details\":\"Creates a new task with the given prompt and task type.\",\"params\":{\"prompt\":\"The description or prompt of the task.\"},\"returns\":{\"_0\":\"taskId The ID of the newly created task.\"}},\"initialize(uint256,address)\":{\"details\":\"Initializes the contract\",\"params\":{\"_agentRegistry\":\"The address of the agent registry\",\"_initialTaskId\":\"The starting task ID\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"rateTask(uint256,uint8)\":{\"details\":\"Rated a completed task, called by the task issuer\",\"params\":{\"rating\":\"task rating from 0 to 100.\",\"taskId\":\"The ID of the task.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"TaskRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the tasks issued for the agent service providers.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/TaskRegistryUpgradeable.sol\":\"TaskRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xe5149f631a8e1a7a69acb078fe71de57ee8cceafd8fbd853f7e06608123c76a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31c481c3cc50228da8d41963f7c84a3d1c29a5ef31e6fee38857a7cdbe4e884e\",\"dweb:/ipfs/QmYFgcoeARWkTwEks7Vie9ezcFmHssGYAqxDfo5TnUkdBc\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/TaskRegistryUpgradeable.sol\":{\"keccak256\":\"0x8c98c70f875182d2dbe2a48f876c5cb2a1390a870f141da866bbddb942b85412\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c14e11e8c0f847a45a2a51883331be3d7f6a19a2acf07155348573bb1691641\",\"dweb:/ipfs/QmZB7g57f3qv8Hj3WwssBhMVjPyf9wcQt5zs1WzNYC8Hvd\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]},\"contracts/lib/TransferHelper.sol\":{\"keccak256\":\"0x65e08c88e7925dc1d5c0f7e774896f11af45bca8067ceeaa35ff4c93128c62c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd6919f03addec5eb18403934c51848d7e4f71f44359d429755cc82155d3e072\",\"dweb:/ipfs/QmeNazpowCEm8Q54cSoHPtvF5wofLnrAwVh4g71G4oVZ1w\"]}},\"version\":1}", "storageLayout": { "storage": [ { - "astId": 4660, + "astId": 4661, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "tasks", "offset": 0, "slot": "0", - "type": "t_mapping(t_uint256,t_struct(TaskData)4655_storage)" + "type": "t_mapping(t_uint256,t_struct(TaskData)4656_storage)" }, { - "astId": 4665, + "astId": 4666, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "issuerTasks", "offset": 0, @@ -150836,7 +149846,7 @@ "type": "t_mapping(t_address,t_array(t_uint256)dyn_storage)" }, { - "astId": 4667, + "astId": 4668, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "nextTaskId", "offset": 0, @@ -150844,15 +149854,15 @@ "type": "t_uint256" }, { - "astId": 4670, + "astId": 4671, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "agentRegistry", "offset": 0, "slot": "3", - "type": "t_contract(AgentsRegistryUpgradeable)4016" + "type": "t_contract(AgentsRegistryUpgradeable)4017" }, { - "astId": 5242, + "astId": 5243, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "__gap", "offset": 0, @@ -150878,12 +149888,12 @@ "label": "uint256[]", "numberOfBytes": "32" }, - "t_contract(AgentsRegistryUpgradeable)4016": { + "t_contract(AgentsRegistryUpgradeable)4017": { "encoding": "inplace", "label": "contract AgentsRegistryUpgradeable", "numberOfBytes": "20" }, - "t_enum(TaskStatus)4637": { + "t_enum(TaskStatus)4638": { "encoding": "inplace", "label": "enum TaskRegistryUpgradeable.TaskStatus", "numberOfBytes": "1" @@ -150895,24 +149905,24 @@ "numberOfBytes": "32", "value": "t_array(t_uint256)dyn_storage" }, - "t_mapping(t_uint256,t_struct(TaskData)4655_storage)": { + "t_mapping(t_uint256,t_struct(TaskData)4656_storage)": { "encoding": "mapping", "key": "t_uint256", "label": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData)", "numberOfBytes": "32", - "value": "t_struct(TaskData)4655_storage" + "value": "t_struct(TaskData)4656_storage" }, "t_string_storage": { "encoding": "bytes", "label": "string", "numberOfBytes": "32" }, - "t_struct(TaskData)4655_storage": { + "t_struct(TaskData)4656_storage": { "encoding": "inplace", "label": "struct TaskRegistryUpgradeable.TaskData", "members": [ { - "astId": 4639, + "astId": 4640, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "id", "offset": 0, @@ -150920,7 +149930,7 @@ "type": "t_uint256" }, { - "astId": 4641, + "astId": 4642, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "prompt", "offset": 0, @@ -150928,7 +149938,7 @@ "type": "t_string_storage" }, { - "astId": 4643, + "astId": 4644, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "issuer", "offset": 0, @@ -150936,15 +149946,15 @@ "type": "t_address" }, { - "astId": 4646, + "astId": 4647, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "status", "offset": 20, "slot": "2", - "type": "t_enum(TaskStatus)4637" + "type": "t_enum(TaskStatus)4638" }, { - "astId": 4648, + "astId": 4649, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "assignee", "offset": 0, @@ -150952,7 +149962,7 @@ "type": "t_address" }, { - "astId": 4650, + "astId": 4651, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "proposalId", "offset": 0, @@ -150960,7 +149970,7 @@ "type": "t_uint256" }, { - "astId": 4652, + "astId": 4653, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "result", "offset": 0, @@ -150968,7 +149978,7 @@ "type": "t_string_storage" }, { - "astId": 4654, + "astId": 4655, "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", "label": "rating", "offset": 0, @@ -150992,111 +150002,6 @@ } } }, - "contracts/interfaces/IAgent.sol": { - "IAgent": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "address", - "name": "agent", - "type": "address" - }, - { - "indexed": false, - "internalType": "uint256", - "name": "newReputation", - "type": "uint256" - } - ], - "name": "ReputationUpdated", - "type": "event" - }, - { - "inputs": [], - "name": "getReputation", - "outputs": [ - { - "internalType": "uint256", - "name": "", - "type": "uint256" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getSkills", - "outputs": [ - { - "components": [ - { - "internalType": "string", - "name": "name", - "type": "string" - }, - { - "internalType": "uint256", - "name": "level", - "type": "uint256" - } - ], - "internalType": "struct IAgent.Skill[]", - "name": "", - "type": "tuple[]" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { - "internalType": "uint256", - "name": "_reputation", - "type": "uint256" - } - ], - "name": "updateReputation", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "getReputation()": "ffe6a18e", - "getSkills()": "fdd76bb3", - "updateReputation(uint256)": "f43970f3" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newReputation\",\"type\":\"uint256\"}],\"name\":\"ReputationUpdated\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"getReputation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSkills\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"level\",\"type\":\"uint256\"}],\"internalType\":\"struct IAgent.Skill[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_reputation\",\"type\":\"uint256\"}],\"name\":\"updateReputation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IAgent.sol\":\"IAgent\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IAgent.sol\":{\"keccak256\":\"0xadaff7e04cddb50f6027a94b38444c9f99744894725d9726ec5a859901d6c562\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b90d278721fa47b11983627a7c461310ae55a2923f8b6e70103971f9210e274b\",\"dweb:/ipfs/QmXkpVmndBCsxrHrKT9wmfP5mmAf3keLDLp3YSxEJkq9x8\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - } - } - }, "contracts/interfaces/IAgentRegistryV1.sol": { "IAgentRegistryV1": { "abi": [ @@ -151286,153 +150191,6 @@ } } }, - "contracts/interfaces/ITask.sol": { - "ITask": { - "abi": [ - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "taskId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "address", - "name": "assignee", - "type": "address" - } - ], - "name": "TaskAssigned", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "taskId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "bool", - "name": "success", - "type": "bool" - } - ], - "name": "TaskExecuted", - "type": "event" - }, - { - "anonymous": false, - "inputs": [ - { - "indexed": true, - "internalType": "uint256", - "name": "taskId", - "type": "uint256" - }, - { - "indexed": false, - "internalType": "enum ITask.TaskStatus", - "name": "status", - "type": "uint8" - } - ], - "name": "TaskStatusChanged", - "type": "event" - }, - { - "inputs": [ - { - "internalType": "bytes", - "name": "data", - "type": "bytes" - }, - { - "internalType": "address", - "name": "target", - "type": "address" - }, - { - "internalType": "uint256", - "name": "value", - "type": "uint256" - } - ], - "name": "execute", - "outputs": [ - { - "internalType": "bool", - "name": "", - "type": "bool" - } - ], - "stateMutability": "nonpayable", - "type": "function" - }, - { - "inputs": [], - "name": "getAssignee", - "outputs": [ - { - "internalType": "address", - "name": "", - "type": "address" - } - ], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "getStatus", - "outputs": [ - { - "internalType": "enum ITask.TaskStatus", - "name": "", - "type": "uint8" - } - ], - "stateMutability": "view", - "type": "function" - } - ], - "evm": { - "bytecode": { - "functionDebugData": {}, - "generatedSources": [], - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "deployedBytecode": { - "functionDebugData": {}, - "generatedSources": [], - "immutableReferences": {}, - "linkReferences": {}, - "object": "", - "opcodes": "", - "sourceMap": "" - }, - "methodIdentifiers": { - "execute(bytes,address,uint256)": "ef17a55e", - "getAssignee()": "aa92e29f", - "getStatus()": "4e69d560" - } - }, - "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"}],\"name\":\"TaskAssigned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"name\":\"TaskExecuted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum ITask.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"TaskStatusChanged\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"execute\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAssignee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getStatus\",\"outputs\":[{\"internalType\":\"enum ITask.TaskStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/ITask.sol\":\"ITask\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/ITask.sol\":{\"keccak256\":\"0x68d4e254ecbc2f10745b8833e4bf15e0aac74e1dd5cfe99c9eeb57e76aeefcde\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a5f2db58c42eeff50b937dc29c671d4355c667bd5dcc5438203e63cd57ae3bc\",\"dweb:/ipfs/QmRzFjBeTBEuFHdpTR1Cz9SkEA6PCpSbnH4kiHvAnCn92e\"]}},\"version\":1}", - "storageLayout": { - "storage": [], - "types": null - } - } - }, "contracts/lib/TransferHelper.sol": { "TransferHelper": { "abi": [], @@ -151443,7 +150201,7 @@ "linkReferences": {}, "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220450e0bacf752a69ec1e5916059d28cac6b160b59c9f75ce0aa6f20649e87099b64736f6c63430008160033", "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASLIMIT 0xE SIGNEXTEND 0xAC 0xF7 MSTORE 0xA6 SWAP15 0xC1 0xE5 SWAP2 PUSH1 0x59 0xD2 DUP13 0xAC PUSH12 0x160B59C9F75CE0AA6F20649E DUP8 MULMOD SWAP12 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", - "sourceMap": "168:1621:35:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;168:1621:35;;;;;;;;;;;;;;;;;" + "sourceMap": "168:1621:33:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;168:1621:33;;;;;;;;;;;;;;;;;" }, "deployedBytecode": { "functionDebugData": {}, @@ -151452,7 +150210,7 @@ "linkReferences": {}, "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220450e0bacf752a69ec1e5916059d28cac6b160b59c9f75ce0aa6f20649e87099b64736f6c63430008160033", "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASLIMIT 0xE SIGNEXTEND 0xAC 0xF7 MSTORE 0xA6 SWAP15 0xC1 0xE5 SWAP2 PUSH1 0x59 0xD2 DUP13 0xAC PUSH12 0x160B59C9F75CE0AA6F20649E DUP8 MULMOD SWAP12 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", - "sourceMap": "168:1621:35:-:0;;;;;;;;" + "sourceMap": "168:1621:33:-:0;;;;;;;;" }, "methodIdentifiers": {} }, diff --git a/packages/contracts/ignition/deployments/chain-84532/build-info/fab9518c2cef19300334ce4b9b347f6b.json b/packages/contracts/ignition/deployments/chain-84532/build-info/fab9518c2cef19300334ce4b9b347f6b.json new file mode 100644 index 0000000..e642155 --- /dev/null +++ b/packages/contracts/ignition/deployments/chain-84532/build-info/fab9518c2cef19300334ce4b9b347f6b.json @@ -0,0 +1,98399 @@ +{ + "id": "fab9518c2cef19300334ce4b9b347f6b", + "_format": "hh-sol-build-info-1", + "solcVersion": "0.8.22", + "solcLongVersion": "0.8.22+commit.4fc1097e", + "input": { + "language": "Solidity", + "sources": { + "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)\n\npragma solidity ^0.8.20;\n\nimport {ContextUpgradeable} from \"../utils/ContextUpgradeable.sol\";\nimport {Initializable} from \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * The initial owner is set to the address provided by the deployer. This can\n * later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract OwnableUpgradeable is Initializable, ContextUpgradeable {\n /// @custom:storage-location erc7201:openzeppelin.storage.Ownable\n struct OwnableStorage {\n address _owner;\n }\n\n // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.Ownable\")) - 1)) & ~bytes32(uint256(0xff))\n bytes32 private constant OwnableStorageLocation = 0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300;\n\n function _getOwnableStorage() private pure returns (OwnableStorage storage $) {\n assembly {\n $.slot := OwnableStorageLocation\n }\n }\n\n /**\n * @dev The caller account is not authorized to perform an operation.\n */\n error OwnableUnauthorizedAccount(address account);\n\n /**\n * @dev The owner is not a valid owner account. (eg. `address(0)`)\n */\n error OwnableInvalidOwner(address owner);\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the address provided by the deployer as the initial owner.\n */\n function __Ownable_init(address initialOwner) internal onlyInitializing {\n __Ownable_init_unchained(initialOwner);\n }\n\n function __Ownable_init_unchained(address initialOwner) internal onlyInitializing {\n if (initialOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(initialOwner);\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n _checkOwner();\n _;\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n OwnableStorage storage $ = _getOwnableStorage();\n return $._owner;\n }\n\n /**\n * @dev Throws if the sender is not the owner.\n */\n function _checkOwner() internal view virtual {\n if (owner() != _msgSender()) {\n revert OwnableUnauthorizedAccount(_msgSender());\n }\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby disabling any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n if (newOwner == address(0)) {\n revert OwnableInvalidOwner(address(0));\n }\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n OwnableStorage storage $ = _getOwnableStorage();\n address oldOwner = $._owner;\n $._owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n" + }, + "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (proxy/utils/Initializable.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @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 *\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 *\n * For example:\n *\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 *\n * contract MyTokenV2 is MyToken, ERC20PermitUpgradeable {\n * function initializeV2() reinitializer(2) public {\n * __ERC20Permit_init(\"MyToken\");\n * }\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 *\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 *\n * [CAUTION]\n * ====\n * Avoid leaving a contract uninitialized.\n *\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 *\n * [.hljs-theme-light.nopadding]\n * ```\n * /// @custom:oz-upgrades-unsafe-allow constructor\n * constructor() {\n * _disableInitializers();\n * }\n * ```\n * ====\n */\nabstract contract Initializable {\n /**\n * @dev Storage of the initializable contract.\n *\n * It's implemented on a custom ERC-7201 namespace to reduce the risk of storage collisions\n * when using with upgradeable contracts.\n *\n * @custom:storage-location erc7201:openzeppelin.storage.Initializable\n */\n struct InitializableStorage {\n /**\n * @dev Indicates that the contract has been initialized.\n */\n uint64 _initialized;\n /**\n * @dev Indicates that the contract is in the process of being initialized.\n */\n bool _initializing;\n }\n\n // keccak256(abi.encode(uint256(keccak256(\"openzeppelin.storage.Initializable\")) - 1)) & ~bytes32(uint256(0xff))\n bytes32 private constant INITIALIZABLE_STORAGE = 0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00;\n\n /**\n * @dev The contract is already initialized.\n */\n error InvalidInitialization();\n\n /**\n * @dev The contract is not initializing.\n */\n error NotInitializing();\n\n /**\n * @dev Triggered when the contract has been initialized or reinitialized.\n */\n event Initialized(uint64 version);\n\n /**\n * @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 *\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 *\n * Emits an {Initialized} event.\n */\n modifier initializer() {\n // solhint-disable-next-line var-name-mixedcase\n InitializableStorage storage $ = _getInitializableStorage();\n\n // Cache values to avoid duplicated sloads\n bool isTopLevelCall = !$._initializing;\n uint64 initialized = $._initialized;\n\n // Allowed calls:\n // - initialSetup: the contract is not in the initializing state and no previous version was\n // initialized\n // - construction: the contract is initialized at version 1 (no reinitialization) and the\n // current contract is just being deployed\n bool initialSetup = initialized == 0 && isTopLevelCall;\n bool construction = initialized == 1 && address(this).code.length == 0;\n\n if (!initialSetup && !construction) {\n revert InvalidInitialization();\n }\n $._initialized = 1;\n if (isTopLevelCall) {\n $._initializing = true;\n }\n _;\n if (isTopLevelCall) {\n $._initializing = false;\n emit Initialized(1);\n }\n }\n\n /**\n * @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 *\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 *\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 *\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 *\n * WARNING: Setting the version to 2**64 - 1 will prevent any future reinitialization.\n *\n * Emits an {Initialized} event.\n */\n modifier reinitializer(uint64 version) {\n // solhint-disable-next-line var-name-mixedcase\n InitializableStorage storage $ = _getInitializableStorage();\n\n if ($._initializing || $._initialized >= version) {\n revert InvalidInitialization();\n }\n $._initialized = version;\n $._initializing = true;\n _;\n $._initializing = false;\n emit Initialized(version);\n }\n\n /**\n * @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.\n */\n modifier onlyInitializing() {\n _checkInitializing();\n _;\n }\n\n /**\n * @dev Reverts if the contract is not in an initializing state. See {onlyInitializing}.\n */\n function _checkInitializing() internal view virtual {\n if (!_isInitializing()) {\n revert NotInitializing();\n }\n }\n\n /**\n * @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 *\n * Emits an {Initialized} event the first time it is successfully executed.\n */\n function _disableInitializers() internal virtual {\n // solhint-disable-next-line var-name-mixedcase\n InitializableStorage storage $ = _getInitializableStorage();\n\n if ($._initializing) {\n revert InvalidInitialization();\n }\n if ($._initialized != type(uint64).max) {\n $._initialized = type(uint64).max;\n emit Initialized(type(uint64).max);\n }\n }\n\n /**\n * @dev Returns the highest version that has been initialized. See {reinitializer}.\n */\n function _getInitializedVersion() internal view returns (uint64) {\n return _getInitializableStorage()._initialized;\n }\n\n /**\n * @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}.\n */\n function _isInitializing() internal view returns (bool) {\n return _getInitializableStorage()._initializing;\n }\n\n /**\n * @dev Pointer to storage slot. Allows integrators to override it with a custom storage location.\n *\n * NOTE: Consider following the ERC-7201 formula to derive storage locations.\n */\n function _initializableStorageSlot() internal pure virtual returns (bytes32) {\n return INITIALIZABLE_STORAGE;\n }\n\n /**\n * @dev Returns a pointer to the storage namespace.\n */\n // solhint-disable-next-line var-name-mixedcase\n function _getInitializableStorage() private pure returns (InitializableStorage storage $) {\n bytes32 slot = _initializableStorageSlot();\n assembly {\n $.slot := slot\n }\n }\n}\n" + }, + "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.3.0) (proxy/utils/UUPSUpgradeable.sol)\n\npragma solidity ^0.8.22;\n\nimport {IERC1822Proxiable} from \"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\";\nimport {ERC1967Utils} from \"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\";\nimport {Initializable} from \"./Initializable.sol\";\n\n/**\n * @dev An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an\n * {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy.\n *\n * A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is\n * reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing\n * `UUPSUpgradeable` with a custom implementation of upgrades.\n *\n * The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism.\n */\nabstract contract UUPSUpgradeable is Initializable, IERC1822Proxiable {\n /// @custom:oz-upgrades-unsafe-allow state-variable-immutable\n address private immutable __self = address(this);\n\n /**\n * @dev The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)`\n * and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called,\n * while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string.\n * If the getter returns `\"5.0.0\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must\n * be the empty byte string if no function should be called, making it impossible to invoke the `receive` function\n * during an upgrade.\n */\n string public constant UPGRADE_INTERFACE_VERSION = \"5.0.0\";\n\n /**\n * @dev The call is from an unauthorized context.\n */\n error UUPSUnauthorizedCallContext();\n\n /**\n * @dev The storage `slot` is unsupported as a UUID.\n */\n error UUPSUnsupportedProxiableUUID(bytes32 slot);\n\n /**\n * @dev Check that the execution is being performed through a delegatecall call and that the execution context is\n * a proxy contract with an implementation (as defined in ERC-1967) pointing to self. This should only be the case\n * for UUPS and transparent proxies that are using the current contract as their implementation. Execution of a\n * function through ERC-1167 minimal proxies (clones) would not normally pass this test, but is not guaranteed to\n * fail.\n */\n modifier onlyProxy() {\n _checkProxy();\n _;\n }\n\n /**\n * @dev Check that the execution is not being performed through a delegate call. This allows a function to be\n * callable on the implementing contract but not through proxies.\n */\n modifier notDelegated() {\n _checkNotDelegated();\n _;\n }\n\n function __UUPSUpgradeable_init() internal onlyInitializing {\n }\n\n function __UUPSUpgradeable_init_unchained() internal onlyInitializing {\n }\n /**\n * @dev Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the\n * implementation. It is used to validate the implementation's compatibility when performing an upgrade.\n *\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n * function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\n */\n function proxiableUUID() external view virtual notDelegated returns (bytes32) {\n return ERC1967Utils.IMPLEMENTATION_SLOT;\n }\n\n /**\n * @dev Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call\n * encoded in `data`.\n *\n * Calls {_authorizeUpgrade}.\n *\n * Emits an {Upgraded} event.\n *\n * @custom:oz-upgrades-unsafe-allow-reachable delegatecall\n */\n function upgradeToAndCall(address newImplementation, bytes memory data) public payable virtual onlyProxy {\n _authorizeUpgrade(newImplementation);\n _upgradeToAndCallUUPS(newImplementation, data);\n }\n\n /**\n * @dev Reverts if the execution is not performed via delegatecall or the execution\n * context is not of a proxy with an ERC-1967 compliant implementation pointing to self.\n */\n function _checkProxy() internal view virtual {\n if (\n address(this) == __self || // Must be called through delegatecall\n ERC1967Utils.getImplementation() != __self // Must be called through an active proxy\n ) {\n revert UUPSUnauthorizedCallContext();\n }\n }\n\n /**\n * @dev Reverts if the execution is performed via delegatecall.\n * See {notDelegated}.\n */\n function _checkNotDelegated() internal view virtual {\n if (address(this) != __self) {\n // Must not be called through delegatecall\n revert UUPSUnauthorizedCallContext();\n }\n }\n\n /**\n * @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract. Called by\n * {upgradeToAndCall}.\n *\n * Normally, this function will use an xref:access.adoc[access control] modifier such as {Ownable-onlyOwner}.\n *\n * ```solidity\n * function _authorizeUpgrade(address) internal onlyOwner {}\n * ```\n */\n function _authorizeUpgrade(address newImplementation) internal virtual;\n\n /**\n * @dev Performs an implementation upgrade with a security check for UUPS proxies, and additional setup call.\n *\n * As a security check, {proxiableUUID} is invoked in the new implementation, and the return value\n * is expected to be the implementation slot in ERC-1967.\n *\n * Emits an {IERC1967-Upgraded} event.\n */\n function _upgradeToAndCallUUPS(address newImplementation, bytes memory data) private {\n try IERC1822Proxiable(newImplementation).proxiableUUID() returns (bytes32 slot) {\n if (slot != ERC1967Utils.IMPLEMENTATION_SLOT) {\n revert UUPSUnsupportedProxiableUUID(slot);\n }\n ERC1967Utils.upgradeToAndCall(newImplementation, data);\n } catch {\n // The implementation is not UUPS\n revert ERC1967Utils.ERC1967InvalidImplementation(newImplementation);\n }\n }\n}\n" + }, + "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)\n\npragma solidity ^0.8.20;\nimport {Initializable} from \"../proxy/utils/Initializable.sol\";\n\n/**\n * @dev Provides information about the current execution context, including the\n * sender of the transaction and its data. While these are generally available\n * via msg.sender and msg.data, they should not be accessed in such a direct\n * manner, since when dealing with meta-transactions the account sending and\n * paying for execution may not be the actual sender (as far as an application\n * is concerned).\n *\n * This contract is only required for intermediate, library-like contracts.\n */\nabstract contract ContextUpgradeable is Initializable {\n function __Context_init() internal onlyInitializing {\n }\n\n function __Context_init_unchained() internal onlyInitializing {\n }\n function _msgSender() internal view virtual returns (address) {\n return msg.sender;\n }\n\n function _msgData() internal view virtual returns (bytes calldata) {\n return msg.data;\n }\n\n function _contextSuffixLength() internal view virtual returns (uint256) {\n return 0;\n }\n}\n" + }, + "@openzeppelin/contracts/interfaces/draft-IERC1822.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/draft-IERC1822.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n * proxy whose upgrades are fully controlled by the current implementation.\n */\ninterface IERC1822Proxiable {\n /**\n * @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n * address.\n *\n * IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n * bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n * function revert if invoked through a proxy.\n */\n function proxiableUUID() external view returns (bytes32);\n}\n" + }, + "@openzeppelin/contracts/interfaces/IERC1967.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (interfaces/IERC1967.sol)\n\npragma solidity >=0.4.11;\n\n/**\n * @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.\n */\ninterface IERC1967 {\n /**\n * @dev Emitted when the implementation is upgraded.\n */\n event Upgraded(address indexed implementation);\n\n /**\n * @dev Emitted when the admin account has changed.\n */\n event AdminChanged(address previousAdmin, address newAdmin);\n\n /**\n * @dev Emitted when the beacon is changed.\n */\n event BeaconUpgraded(address indexed beacon);\n}\n" + }, + "@openzeppelin/contracts/proxy/beacon/IBeacon.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (proxy/beacon/IBeacon.sol)\n\npragma solidity >=0.4.16;\n\n/**\n * @dev This is the interface that {BeaconProxy} expects of its beacon.\n */\ninterface IBeacon {\n /**\n * @dev Must return an address that can be used as a delegate call target.\n *\n * {UpgradeableBeacon} will check that this address is a contract.\n */\n function implementation() external view returns (address);\n}\n" + }, + "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (proxy/ERC1967/ERC1967Utils.sol)\n\npragma solidity ^0.8.21;\n\nimport {IBeacon} from \"../beacon/IBeacon.sol\";\nimport {IERC1967} from \"../../interfaces/IERC1967.sol\";\nimport {Address} from \"../../utils/Address.sol\";\nimport {StorageSlot} from \"../../utils/StorageSlot.sol\";\n\n/**\n * @dev This library provides getters and event emitting update functions for\n * https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.\n */\nlibrary ERC1967Utils {\n /**\n * @dev Storage slot with the address of the current implementation.\n * This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n\n /**\n * @dev The `implementation` of the proxy is invalid.\n */\n error ERC1967InvalidImplementation(address implementation);\n\n /**\n * @dev The `admin` of the proxy is invalid.\n */\n error ERC1967InvalidAdmin(address admin);\n\n /**\n * @dev The `beacon` of the proxy is invalid.\n */\n error ERC1967InvalidBeacon(address beacon);\n\n /**\n * @dev An upgrade function sees `msg.value > 0` that may be lost.\n */\n error ERC1967NonPayable();\n\n /**\n * @dev Returns the current implementation address.\n */\n function getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the ERC-1967 implementation slot.\n */\n function _setImplementation(address newImplementation) private {\n if (newImplementation.code.length == 0) {\n revert ERC1967InvalidImplementation(newImplementation);\n }\n StorageSlot.getAddressSlot(IMPLEMENTATION_SLOT).value = newImplementation;\n }\n\n /**\n * @dev Performs implementation upgrade with additional setup call if data is nonempty.\n * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n * to avoid stuck value in the contract.\n *\n * Emits an {IERC1967-Upgraded} event.\n */\n function upgradeToAndCall(address newImplementation, bytes memory data) internal {\n _setImplementation(newImplementation);\n emit IERC1967.Upgraded(newImplementation);\n\n if (data.length > 0) {\n Address.functionDelegateCall(newImplementation, data);\n } else {\n _checkNonPayable();\n }\n }\n\n /**\n * @dev Storage slot with the admin of the contract.\n * This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103;\n\n /**\n * @dev Returns the current admin.\n *\n * TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n * the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`\n */\n function getAdmin() internal view returns (address) {\n return StorageSlot.getAddressSlot(ADMIN_SLOT).value;\n }\n\n /**\n * @dev Stores a new address in the ERC-1967 admin slot.\n */\n function _setAdmin(address newAdmin) private {\n if (newAdmin == address(0)) {\n revert ERC1967InvalidAdmin(address(0));\n }\n StorageSlot.getAddressSlot(ADMIN_SLOT).value = newAdmin;\n }\n\n /**\n * @dev Changes the admin of the proxy.\n *\n * Emits an {IERC1967-AdminChanged} event.\n */\n function changeAdmin(address newAdmin) internal {\n emit IERC1967.AdminChanged(getAdmin(), newAdmin);\n _setAdmin(newAdmin);\n }\n\n /**\n * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n * This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1.\n */\n // solhint-disable-next-line private-vars-leading-underscore\n bytes32 internal constant BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50;\n\n /**\n * @dev Returns the current beacon.\n */\n function getBeacon() internal view returns (address) {\n return StorageSlot.getAddressSlot(BEACON_SLOT).value;\n }\n\n /**\n * @dev Stores a new beacon in the ERC-1967 beacon slot.\n */\n function _setBeacon(address newBeacon) private {\n if (newBeacon.code.length == 0) {\n revert ERC1967InvalidBeacon(newBeacon);\n }\n\n StorageSlot.getAddressSlot(BEACON_SLOT).value = newBeacon;\n\n address beaconImplementation = IBeacon(newBeacon).implementation();\n if (beaconImplementation.code.length == 0) {\n revert ERC1967InvalidImplementation(beaconImplementation);\n }\n }\n\n /**\n * @dev Change the beacon and trigger a setup call if data is nonempty.\n * This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n * to avoid stuck value in the contract.\n *\n * Emits an {IERC1967-BeaconUpgraded} event.\n *\n * CAUTION: Invoking this function has no effect on an instance of {BeaconProxy} since v5, since\n * it uses an immutable beacon without looking at the value of the ERC-1967 beacon slot for\n * efficiency.\n */\n function upgradeBeaconToAndCall(address newBeacon, bytes memory data) internal {\n _setBeacon(newBeacon);\n emit IERC1967.BeaconUpgraded(newBeacon);\n\n if (data.length > 0) {\n Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data);\n } else {\n _checkNonPayable();\n }\n }\n\n /**\n * @dev Reverts if `msg.value` is not zero. It can be used to avoid `msg.value` stuck in the contract\n * if an upgrade doesn't perform an initialization call.\n */\n function _checkNonPayable() private {\n if (msg.value > 0) {\n revert ERC1967NonPayable();\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/Address.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.4.0) (utils/Address.sol)\n\npragma solidity ^0.8.20;\n\nimport {Errors} from \"./Errors.sol\";\n\n/**\n * @dev Collection of functions related to the address type\n */\nlibrary Address {\n /**\n * @dev There's no code at `target` (it is not a contract).\n */\n error AddressEmptyCode(address target);\n\n /**\n * @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n * `recipient`, forwarding all available gas and reverting on errors.\n *\n * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n * of certain opcodes, possibly making contracts go over the 2300 gas limit\n * imposed by `transfer`, making them unable to receive funds via\n * `transfer`. {sendValue} removes this limitation.\n *\n * https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n *\n * IMPORTANT: because control is transferred to `recipient`, care must be\n * taken to not create reentrancy vulnerabilities. Consider using\n * {ReentrancyGuard} or the\n * https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern].\n */\n function sendValue(address payable recipient, uint256 amount) internal {\n if (address(this).balance < amount) {\n revert Errors.InsufficientBalance(address(this).balance, amount);\n }\n\n (bool success, bytes memory returndata) = recipient.call{value: amount}(\"\");\n if (!success) {\n _revert(returndata);\n }\n }\n\n /**\n * @dev Performs a Solidity function call using a low level `call`. A\n * plain `call` is an unsafe replacement for a function call: use this\n * function instead.\n *\n * If `target` reverts with a revert reason or custom error, it is bubbled\n * up by this function (like regular Solidity function calls). However, if\n * the call reverted with no returned reason, this function reverts with a\n * {Errors.FailedCall} error.\n *\n * Returns the raw returned data. To convert to the expected return value,\n * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n *\n * Requirements:\n *\n * - `target` must be a contract.\n * - calling `target` with `data` must not revert.\n */\n function functionCall(address target, bytes memory data) internal returns (bytes memory) {\n return functionCallWithValue(target, data, 0);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but also transferring `value` wei to `target`.\n *\n * Requirements:\n *\n * - the calling contract must have an ETH balance of at least `value`.\n * - the called Solidity function must be `payable`.\n */\n function functionCallWithValue(address target, bytes memory data, uint256 value) internal returns (bytes memory) {\n if (address(this).balance < value) {\n revert Errors.InsufficientBalance(address(this).balance, value);\n }\n (bool success, bytes memory returndata) = target.call{value: value}(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a static call.\n */\n function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) {\n (bool success, bytes memory returndata) = target.staticcall(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n * but performing a delegate call.\n */\n function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) {\n (bool success, bytes memory returndata) = target.delegatecall(data);\n return verifyCallResultFromTarget(target, success, returndata);\n }\n\n /**\n * @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target\n * was not a contract or bubbling up the revert reason (falling back to {Errors.FailedCall}) in case\n * of an unsuccessful call.\n */\n function verifyCallResultFromTarget(\n address target,\n bool success,\n bytes memory returndata\n ) internal view returns (bytes memory) {\n if (!success) {\n _revert(returndata);\n } else {\n // only check if target is a contract if the call was successful and the return data is empty\n // otherwise we already know that it was a contract\n if (returndata.length == 0 && target.code.length == 0) {\n revert AddressEmptyCode(target);\n }\n return returndata;\n }\n }\n\n /**\n * @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the\n * revert reason or with a default {Errors.FailedCall} error.\n */\n function verifyCallResult(bool success, bytes memory returndata) internal pure returns (bytes memory) {\n if (!success) {\n _revert(returndata);\n } else {\n return returndata;\n }\n }\n\n /**\n * @dev Reverts with returndata if present. Otherwise reverts with {Errors.FailedCall}.\n */\n function _revert(bytes memory returndata) private pure {\n // Look for revert reason and bubble it up if present\n if (returndata.length > 0) {\n // The easiest way to bubble the revert reason is using memory via assembly\n assembly (\"memory-safe\") {\n revert(add(returndata, 0x20), mload(returndata))\n }\n } else {\n revert Errors.FailedCall();\n }\n }\n}\n" + }, + "@openzeppelin/contracts/utils/Errors.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/Errors.sol)\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Collection of common custom errors used in multiple contracts\n *\n * IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library.\n * It is recommended to avoid relying on the error API for critical functionality.\n *\n * _Available since v5.1._\n */\nlibrary Errors {\n /**\n * @dev The ETH balance of the account is not enough to perform the operation.\n */\n error InsufficientBalance(uint256 balance, uint256 needed);\n\n /**\n * @dev A call to an address target failed. The target may have reverted.\n */\n error FailedCall();\n\n /**\n * @dev The deployment failed.\n */\n error FailedDeployment();\n\n /**\n * @dev A necessary precompile is missing.\n */\n error MissingPrecompile(address);\n}\n" + }, + "@openzeppelin/contracts/utils/StorageSlot.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v5.1.0) (utils/StorageSlot.sol)\n// This file was procedurally generated from scripts/generate/templates/StorageSlot.js.\n\npragma solidity ^0.8.20;\n\n/**\n * @dev Library for reading and writing primitive types to specific storage slots.\n *\n * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n * This library helps with reading and writing to such slots without the need for inline assembly.\n *\n * The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n *\n * Example usage to set ERC-1967 implementation slot:\n * ```solidity\n * contract ERC1967 {\n * // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.\n * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n *\n * function _getImplementation() internal view returns (address) {\n * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n * }\n *\n * function _setImplementation(address newImplementation) internal {\n * require(newImplementation.code.length > 0);\n * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n * }\n * }\n * ```\n *\n * TIP: Consider using this library along with {SlotDerivation}.\n */\nlibrary StorageSlot {\n struct AddressSlot {\n address value;\n }\n\n struct BooleanSlot {\n bool value;\n }\n\n struct Bytes32Slot {\n bytes32 value;\n }\n\n struct Uint256Slot {\n uint256 value;\n }\n\n struct Int256Slot {\n int256 value;\n }\n\n struct StringSlot {\n string value;\n }\n\n struct BytesSlot {\n bytes value;\n }\n\n /**\n * @dev Returns an `AddressSlot` with member `value` located at `slot`.\n */\n function getAddressSlot(bytes32 slot) internal pure returns (AddressSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `BooleanSlot` with member `value` located at `slot`.\n */\n function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Bytes32Slot` with member `value` located at `slot`.\n */\n function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Uint256Slot` with member `value` located at `slot`.\n */\n function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `Int256Slot` with member `value` located at `slot`.\n */\n function getInt256Slot(bytes32 slot) internal pure returns (Int256Slot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns a `StringSlot` with member `value` located at `slot`.\n */\n function getStringSlot(bytes32 slot) internal pure returns (StringSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `StringSlot` representation of the string storage pointer `store`.\n */\n function getStringSlot(string storage store) internal pure returns (StringSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := store.slot\n }\n }\n\n /**\n * @dev Returns a `BytesSlot` with member `value` located at `slot`.\n */\n function getBytesSlot(bytes32 slot) internal pure returns (BytesSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := slot\n }\n }\n\n /**\n * @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`.\n */\n function getBytesSlot(bytes storage store) internal pure returns (BytesSlot storage r) {\n assembly (\"memory-safe\") {\n r.slot := store.slot\n }\n }\n}\n" + }, + "contracts/AgentsRegistryUpgradeable.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.22;\n\nimport \"./ServiceRegistryUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport \"./interfaces/IProposalStruct.sol\";\nimport \"./interfaces/IAgentRegistryV1.sol\";\n\n// Interface for V1 ServiceRegistry compatibility\ninterface IServiceRegistryV1 {\n struct Service {\n string name;\n string category;\n string description;\n bool isActive;\n }\n \n function getService(string memory serviceName) external view returns (Service memory);\n}\n\n/**\n * @title AgentsRegistryUpgradeable\n * @author leonprou\n * @notice A smart contract that stores information about the agents, and the services proposals provided by the agents.\n * @dev Upgradeable version using UUPS proxy pattern\n */\ncontract AgentsRegistryUpgradeable is Initializable, OwnableUpgradeable, UUPSUpgradeable, IProposalStruct {\n struct AgentData {\n string name;\n string agentUri;\n address owner;\n address agent;\n uint256 reputation;\n uint256 totalRatings;\n }\n\n IAgentRegistryV1 public agentRegistryV1;\n ServiceRegistryUpgradeable public serviceRegistry;\n address public taskRegistry;\n\n mapping(address => AgentData) public agents;\n mapping(uint256 => ServiceProposal) public proposals;\n uint256 public nextProposalId;\n\n modifier onlyAgentOwner(address agent) {\n require(\n agents[agent].owner == msg.sender,\n \"Not the owner of the agent\"\n );\n _;\n }\n\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n _disableInitializers();\n }\n\n /**\n * @dev Initializes the contract\n * @param _agentRegistryV1 The address of the V1 agent registry for migration\n * @param _serviceRegistry The address of the service registry\n */\n function initialize(\n IAgentRegistryV1 _agentRegistryV1,\n ServiceRegistryUpgradeable _serviceRegistry\n ) public initializer {\n __Ownable_init(msg.sender);\n __UUPSUpgradeable_init();\n \n agentRegistryV1 = _agentRegistryV1;\n serviceRegistry = _serviceRegistry;\n nextProposalId = 1;\n }\n\n event AgentRegistered(\n address indexed agent,\n address indexed owner,\n string name,\n string agentUri\n );\n event ReputationUpdated(address indexed agent, uint256 newReputation);\n\n event ProposalAdded(\n address indexed agent,\n uint256 proposalId,\n string name,\n uint256 price,\n address tokenAddress\n );\n event ProposalRemoved(address indexed agent, uint256 proposalId);\n\n event ProposalUpdated(\n address indexed agent,\n uint256 proposalId,\n uint256 price,\n address tokenAddress\n );\n event AgentDataUpdated(\n address indexed agent,\n string name,\n string agentUri\n );\n\n event AgentRemoved(\n address indexed agent,\n address indexed owner\n );\n\n /**\n * @dev Sets the address of the TaskRegistry contract.\n * @param _taskRegistry The address of the TaskRegistry contract.\n */\n function setTaskRegistry(address _taskRegistry) external onlyOwner {\n require(_taskRegistry != address(0), \"Invalid address\");\n taskRegistry = _taskRegistry;\n }\n\n /**\n * @dev Sets the address of the ServiceRegistry contract.\n * @param _serviceRegistry The address of the ServiceRegistry contract.\n */\n function setServiceRegistry(address _serviceRegistry) external onlyOwner {\n require(_serviceRegistry != address(0), \"Invalid address\");\n serviceRegistry = ServiceRegistryUpgradeable(_serviceRegistry);\n }\n\n /**\n * @dev Registers a new agent with the given details.\n * @param name The name of the agent.\n * @param agentUri The URI pointing to the agent's metadata.\n * @param agent The address of the agent.\n *\n * Requirements:\n *\n * - The agent must not already be registered.\n * - The caller will be set as the owner of the agent.\n *\n * Emits an {AgentRegistered} event.\n */\n function registerAgent(\n address agent,\n string memory name,\n string memory agentUri\n ) external {\n require(agents[agent].agent == address(0), \"Agent already registered\");\n\n _createAgent(agent, name, agentUri, msg.sender, 0);\n }\n\n /**\n * @dev Registers a new agent with the given details and the proposal.\n * @param name The name of the agent.\n * @param agentUri The URI pointing to the agent's metadata.\n * @param agent The address of the agent.\n * @param serviceName The name of the service.\n * @param servicePrice The price of the service.\n *\n * Requirements:\n *\n * - The agent must not already be registered.\n * - The caller will be set as the owner of the agent.\n *\n * Emits an {AgentRegistered} event.\n */\n function registerAgentWithService(\n address agent,\n string memory name,\n string memory agentUri,\n string memory serviceName,\n uint256 servicePrice,\n address tokenAddress\n ) external {\n require(agents[agent].agent == address(0), \"Agent already registered\");\n require(\n serviceRegistry.isServiceRegistered(serviceName),\n \"Service not registered\"\n );\n\n _createAgent(agent, name, agentUri, msg.sender, 0);\n\n _createProposal(agent, serviceName, servicePrice, tokenAddress);\n }\n\n /**\n * @dev Adds a new proposal for an agent.\n * @param agent The address of the agent.\n * @param serviceName The name of the service.\n * @param servicePrice The price of the service.\n *\n * Requirements:\n *\n * - The caller must be the owner of the agent.\n * - The agent must be registered.\n * - The service must be registered.\n *\n * Emits a {ProposalAdded} event.\n */\n function addProposal(\n address agent,\n string memory serviceName,\n uint256 servicePrice,\n address tokenAddress\n ) public onlyAgentOwner(agent) {\n require(\n serviceRegistry.isServiceRegistered(serviceName),\n \"Service not registered\"\n );\n\n _createProposal(agent, serviceName, servicePrice, tokenAddress);\n }\n\n /**\n * @dev Removes a proposal for an agent.\n * @param agent The address of the agent.\n * @param proposalId The ID of the proposal to remove.\n * @return true if the proposal was removed successfully, false otherwise.\n *\n * Requirements:\n *\n * - The caller must be the owner of the agent.\n * - The agent must be registered.\n * - The proposal must exist.\n *\n * Emits a {ProposalRemoved} event.\n */\n function removeProposal(\n address agent,\n uint256 proposalId\n ) external onlyAgentOwner(agent) returns (bool) {\n require(\n proposals[proposalId].issuer == agent,\n \"ServiceProposal not found\"\n );\n\n delete proposals[proposalId];\n\n emit ProposalRemoved(agent, proposalId);\n\n return true;\n }\n\n /**\n * @dev Migrates an agent.\n * @param agent The address of the agent.\n */\n function migrateAgent(address agent) external {\n require(agents[agent].agent == address(0), \"Agent already registered\");\n\n IAgentRegistryV1.AgentData memory v1AgentData = IAgentRegistryV1(agentRegistryV1).getAgentData(agent);\n\n require(\n msg.sender == v1AgentData.owner || msg.sender == owner(),\n \"Not owner or agent owner\"\n );\n\n _createAgent(agent, v1AgentData.name, v1AgentData.agentUri, v1AgentData.owner, v1AgentData.reputation);\n\n _migrateAgentProposals(agent);\n }\n\n function addRating(\n address agent,\n uint256 _rating\n ) public returns (uint256) {\n require(msg.sender == taskRegistry, \"Not the TaskRegistry contract\");\n require(\n _rating >= 0 && _rating <= 100,\n \"Rating must be between 0 and 100\"\n );\n agents[agent].totalRatings += 1;\n agents[agent].reputation =\n (agents[agent].reputation *\n (agents[agent].totalRatings - 1) +\n _rating) /\n agents[agent].totalRatings;\n emit ReputationUpdated(agent, agents[agent].reputation);\n\n return agents[agent].reputation;\n }\n\n function getReputation(address agent) external view returns (uint256) {\n return agents[agent].reputation;\n }\n\n /**\n * @dev Returns the data of an agent.\n * @param _agent The address of the agent.\n * @return AgentData The data of the agent.\n */\n function getAgentData(\n address _agent\n ) external view returns (AgentData memory) {\n AgentData storage data = agents[_agent];\n return data;\n }\n\n function getProposal(\n uint256 proposalId\n ) external view returns (ServiceProposal memory) {\n return proposals[proposalId];\n }\n\n /**\n * @dev Sets the data of an existing agent.\n * @param agent The address of the agent to update.\n * @param name The new name of the agent.\n * @param agentUri The new URI pointing to the agent's metadata.\n *\n * Requirements:\n *\n * - The caller must be the owner of the agent.\n * - The agent must be registered.\n *\n * Emits an {AgentDataUpdated} event.\n */\n function setAgentData(\n address agent,\n string memory name,\n string memory agentUri\n ) external onlyAgentOwner(agent) {\n require(agents[agent].agent != address(0), \"Agent not registered\");\n \n agents[agent].name = name;\n agents[agent].agentUri = agentUri;\n \n emit AgentDataUpdated(agent, name, agentUri);\n }\n\n /**\n * @dev Removes an existing agent and removes all associated proposals.\n * @param agent The address of the agent to remove.\n *\n * Requirements:\n *\n * - The caller must be the owner of the agent.\n * - The agent must be registered.\n *\n * Emits an {AgentRemoved} event and {ProposalRemoved} events for each removed proposal.\n */\n function removeAgent(address agent) external onlyAgentOwner(agent) {\n require(agents[agent].agent != address(0), \"Agent not registered\");\n \n address agentOwner = agents[agent].owner;\n \n // Remove all active proposals for this agent\n _removeAllAgentProposals(agent);\n \n // Clear agent data\n delete agents[agent];\n \n emit AgentRemoved(agent, agentOwner);\n }\n\n function _createAgent(\n address agent,\n string memory name,\n string memory agentUri,\n address owner,\n uint256 reputation\n ) private {\n AgentData storage agentData = agents[agent];\n agentData.name = name;\n agentData.agentUri = agentUri;\n agentData.owner = owner;\n agentData.agent = agent;\n agentData.reputation = reputation;\n\n emit AgentRegistered(agent, owner, name, agentUri);\n }\n\n function _createProposal(\n address agent,\n string memory serviceName,\n uint256 servicePrice,\n address tokenAddress\n ) private {\n ServiceProposal memory newProposal = ServiceProposal(\n agent,\n serviceName,\n servicePrice,\n tokenAddress,\n nextProposalId,\n true\n );\n\n proposals[nextProposalId] = newProposal;\n\n emit ProposalAdded(agent, nextProposalId, serviceName, servicePrice, tokenAddress);\n\n nextProposalId++;\n }\n\n function _ensureServiceRegistered(string memory serviceName) private {\n if (!serviceRegistry.isServiceRegistered(serviceName)) {\n address serviceRegistryV1Addr = IAgentRegistryV1(agentRegistryV1)\n .serviceRegistry();\n\n IServiceRegistryV1 serviceRegistryV1 = IServiceRegistryV1(\n serviceRegistryV1Addr\n );\n\n IServiceRegistryV1.Service memory service = serviceRegistryV1\n .getService(serviceName);\n\n serviceRegistry.registerService(\n service.name,\n service.category,\n service.description\n );\n }\n }\n\n function _migrateAgentProposals(address agent) private {\n uint256 numProposalsRegistered = IAgentRegistryV1(agentRegistryV1)\n .nextProposalId();\n\n for (uint256 i = 0; i < numProposalsRegistered; i++) {\n IAgentRegistryV1.Proposal memory proposal = IAgentRegistryV1(\n agentRegistryV1\n ).getProposal(i);\n\n if (proposal.issuer != agent || !proposal.isActive) {\n continue;\n }\n\n _ensureServiceRegistered(proposal.serviceName);\n\n _createProposal(agent, proposal.serviceName, proposal.price, address(0));\n }\n }\n\n /**\n * @dev Internal function to remove all proposals associated with an agent.\n * @param agent The address of the agent whose proposals should be removed.\n */\n function _removeAllAgentProposals(address agent) private {\n // Iterate through all proposals to find and remove agent's proposals\n for (uint256 i = 1; i < nextProposalId; i++) {\n if (proposals[i].issuer == agent && proposals[i].isActive) {\n delete proposals[i];\n emit ProposalRemoved(agent, i);\n }\n }\n }\n\n /**\n * @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract.\n * @param newImplementation Address of the new implementation\n */\n function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}\n\n /**\n * @dev Storage gap for future upgrades\n */\n uint256[50] private __gap;\n} " + }, + "contracts/interfaces/IAgentRegistryV1.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\ninterface IAgentRegistryV1 {\n struct AgentData {\n string name;\n string agentUri;\n address owner;\n address agent;\n uint256 reputation;\n uint256 totalRatings;\n }\n \n struct Proposal {\n address issuer;\n string serviceName;\n uint256 price;\n uint256 proposalId;\n bool isActive;\n }\n\n function getAgentData(address _agent) external view returns (AgentData memory);\n\n function getProposal(uint256 _proposalId) external view returns (Proposal memory);\n\n function nextProposalId() external view returns (uint256);\n\n function serviceRegistry() external view returns (address);\n}\n" + }, + "contracts/interfaces/IProposalStruct.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\ninterface IProposalStruct {\n struct ServiceProposal {\n address issuer;\n string serviceName;\n uint256 price;\n address tokenAddress;\n uint256 proposalId;\n bool isActive;\n }\n}" + }, + "contracts/lib/TransferHelper.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.20;\n\n// helper methods for interacting with ERC20 tokens and sending ETH that do not consistently return true/false\nlibrary TransferHelper {\n function safeApprove(\n address token,\n address to,\n uint256 value\n ) internal {\n // bytes4(keccak256(bytes('approve(address,uint256)')));\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x095ea7b3, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n 'TransferHelper::safeApprove: approve failed'\n );\n }\n\n function safeTransfer(\n address token,\n address to,\n uint256 value\n ) internal {\n // bytes4(keccak256(bytes('transfer(address,uint256)')));\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0xa9059cbb, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n 'TransferHelper::safeTransfer: transfer failed'\n );\n }\n\n function safeTransferFrom(\n address token,\n address from,\n address to,\n uint256 value\n ) internal {\n // bytes4(keccak256(bytes('transferFrom(address,address,uint256)')));\n (bool success, bytes memory data) = token.call(abi.encodeWithSelector(0x23b872dd, from, to, value));\n require(\n success && (data.length == 0 || abi.decode(data, (bool))),\n 'TransferHelper::transferFrom: transferFrom failed'\n );\n }\n\n function safeTransferETH(address to, uint256 value) internal {\n (bool success, ) = to.call{value: value}(new bytes(0));\n require(success, 'TransferHelper::safeTransferETH: ETH transfer failed');\n }\n}" + }, + "contracts/ServiceRegistryUpgradeable.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.22;\n\nimport \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\n\n/**\n * @title ServiceRegistryUpgradeable\n * @author leonprou\n * @notice A smart contract that stores information about the services provided by agents.\n * @dev Upgradeable version using UUPS proxy pattern\n */\ncontract ServiceRegistryUpgradeable is Initializable, OwnableUpgradeable, UUPSUpgradeable {\n struct Service {\n string name;\n string category;\n string description;\n }\n\n mapping(string => Service) public services;\n uint256 public serviceCount;\n\n event ServiceRegistered(string name, string category, string description);\n event ServiceUpdated(string name, string category, string description);\n\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n _disableInitializers();\n }\n\n /**\n * @dev Initializes the contract\n */\n function initialize() public initializer {\n __Ownable_init(msg.sender);\n __UUPSUpgradeable_init();\n serviceCount = 0;\n }\n\n /**\n * @dev Registers a new service with the given name and price.\n * @param name The name of the service.\n * @return The ID of the registered service.\n */\n function registerService(string memory name, string memory category, string memory description) external returns (Service memory) {\n require(!this.isServiceRegistered(name), \"Service already registered\");\n\n Service memory service = Service({\n name: name,\n category: category,\n description: description\n });\n\n services[name] = service;\n\n emit ServiceRegistered(name, category, description);\n\n serviceCount++;\n return service;\n }\n\n /**\n * @dev Retrieves the details of a service.\n * @param name The name of the service to retrieve.\n * @return The details of the service.\n */\n function getService(string memory name) external view returns (Service memory) {\n return services[name];\n }\n\n function isServiceRegistered(string memory name) external view returns (bool) {\n require(bytes(name).length > 0, \"Invalid service name\");\n\n return bytes(services[name].name).length > 0;\n }\n\n function updateService(string memory name, string memory category, string memory description) external onlyOwner {\n require(this.isServiceRegistered(name), \"Service not registered\");\n\n services[name] = Service({\n name: name,\n category: category,\n description: description\n });\n\n emit ServiceUpdated(name, category, description);\n }\n\n /**\n * @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract.\n * @param newImplementation Address of the new implementation\n */\n function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}\n\n /**\n * @dev Storage gap for future upgrades\n */\n uint256[50] private __gap;\n} " + }, + "contracts/TaskRegistryUpgradeable.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.22;\n\nimport \"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\";\nimport \"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\";\nimport \"./interfaces/IProposalStruct.sol\";\nimport \"./AgentsRegistryUpgradeable.sol\";\nimport \"./lib/TransferHelper.sol\";\n\n/**\n * @title TaskRegistryUpgradeable\n * @author leonprou\n * @notice A smart contract that stores information about the tasks issued for the agent service providers.\n * @dev Upgradeable version using UUPS proxy pattern\n */\ncontract TaskRegistryUpgradeable is Initializable, OwnableUpgradeable, UUPSUpgradeable, IProposalStruct {\n\n enum TaskStatus { CREATED, ASSIGNED, COMPLETED, CANCELED }\n\n struct TaskData {\n uint256 id;\n string prompt;\n address issuer;\n TaskStatus status;\n address assignee;\n uint256 proposalId;\n string result;\n uint8 rating;\n }\n \n mapping(uint256 => TaskData) public tasks;\n mapping(address => uint256[]) public issuerTasks;\n uint256 private nextTaskId;\n AgentsRegistryUpgradeable public agentRegistry;\n\n modifier onlyTaskIssuer(uint256 taskId) {\n require(msg.sender == tasks[taskId].issuer, \"Not the issuer of the task\");\n _;\n }\n\n /// @custom:oz-upgrades-unsafe-allow constructor\n constructor() {\n _disableInitializers();\n }\n\n /**\n * @dev Initializes the contract\n * @param _initialTaskId The starting task ID\n * @param _agentRegistry The address of the agent registry\n */\n function initialize(\n uint256 _initialTaskId, \n AgentsRegistryUpgradeable _agentRegistry\n ) public initializer {\n __Ownable_init(msg.sender);\n __UUPSUpgradeable_init();\n \n nextTaskId = _initialTaskId;\n agentRegistry = _agentRegistry;\n }\n \n event TaskCreated(address indexed issuer, address indexed assignee, uint256 taskId, uint256 proposalId, string prompt);\n event TaskStatusChanged(uint256 indexed taskId, TaskStatus status);\n event TaskAssigned(uint256 indexed taskId, address indexed agent);\n event TaskCanceled(uint256 indexed taskId);\n event ProposalApproved(uint256 indexed taskId, ServiceProposal proposal);\n event TaskCompleted(uint256 indexed taskId, string result);\n event TaskRated(uint256 indexed taskId, uint8 rating);\n\n /**\n * @dev Creates a new task with the given prompt and task type.\n * @param prompt The description or prompt of the task.\n * @return taskId The ID of the newly created task.\n */\n function createTask(\n string memory prompt,\n uint256 proposalId\n ) external payable returns (TaskData memory) {\n ServiceProposal memory proposal = agentRegistry.getProposal(proposalId);\n require(proposal.issuer != address(0), \"ServiceProposal not found\");\n \n if (proposal.tokenAddress == address(0)) {\n require(proposal.price == msg.value, \"Invalid price\");\n } else {\n require(msg.value == 0, \"No ETH should be sent for ERC20 payments\");\n TransferHelper.safeTransferFrom(proposal.tokenAddress, msg.sender, address(this), proposal.price);\n }\n\n TaskData storage task = tasks[nextTaskId];\n task.id = nextTaskId;\n task.prompt = prompt;\n task.issuer = msg.sender;\n task.proposalId = proposalId;\n task.assignee = proposal.issuer;\n issuerTasks[msg.sender].push(nextTaskId);\n task.status = TaskStatus.ASSIGNED;\n emit TaskCreated(msg.sender, proposal.issuer, nextTaskId, proposal.proposalId, prompt);\n\n nextTaskId++;\n return task;\n }\n\n /**\n * @dev Completes a task with the given result.\n * @param taskId The ID of the task.\n * @param result The result or output of the completed task.\n */\n function completeTask(uint256 taskId, string memory result) external {\n TaskData storage task = tasks[taskId];\n require(msg.sender == task.assignee, \"Not authorized\");\n require(task.status == TaskStatus.ASSIGNED, \"Invalid task status\");\n\n task.status = TaskStatus.COMPLETED;\n task.result = result;\n ServiceProposal memory proposal = agentRegistry.getProposal(task.proposalId);\n \n if (proposal.tokenAddress == address(0)) {\n TransferHelper.safeTransferETH(task.issuer, proposal.price);\n } else {\n TransferHelper.safeTransfer(proposal.tokenAddress, task.issuer, proposal.price);\n }\n \n emit TaskStatusChanged(taskId, task.status);\n emit TaskCompleted(taskId, result);\n }\n\n /**\n * @dev Rated a completed task, called by the task issuer\n * @param taskId The ID of the task.\n * @param rating task rating from 0 to 100.\n */ \n function rateTask(uint256 taskId, uint8 rating) onlyTaskIssuer(taskId) external {\n TaskData storage task = tasks[taskId];\n\n require(task.status == TaskStatus.COMPLETED, \"Task is not completed\");\n require(task.rating == 0, \"Task got rating already\");\n require(rating >= 0 && rating <= 100, \"Rating must be between 0 and 100\");\n \n task.rating = rating;\n ServiceProposal memory proposal = agentRegistry.getProposal(task.proposalId);\n\n agentRegistry.addRating(proposal.issuer, rating);\n\n emit TaskRated(taskId, rating);\n }\n\n /**\n * @dev Cancels a task that is in ASSIGNED status and refunds the payment.\n * @param taskId The ID of the task to cancel.\n */\n function cancelTask(uint256 taskId) external onlyTaskIssuer(taskId) {\n TaskData storage task = tasks[taskId];\n require(task.status != TaskStatus.COMPLETED && task.status != TaskStatus.CANCELED, \"Task cannot be canceled\");\n \n task.status = TaskStatus.CANCELED;\n ServiceProposal memory proposal = agentRegistry.getProposal(task.proposalId);\n \n // Refund the payment to the issuer\n if (proposal.tokenAddress == address(0)) {\n TransferHelper.safeTransferETH(task.issuer, proposal.price);\n } else {\n TransferHelper.safeTransfer(proposal.tokenAddress, task.issuer, proposal.price);\n }\n \n emit TaskStatusChanged(taskId, task.status);\n emit TaskCanceled(taskId);\n }\n\n function getTasksByIssuer(address issuer) external view returns (uint256[] memory) {\n return issuerTasks[issuer];\n }\n\n function getTask(uint256 taskId) external view returns (TaskData memory) {\n return tasks[taskId];\n }\n\n function getStatus(uint256 taskId) external view returns (TaskStatus) {\n return tasks[taskId].status;\n }\n \n function getAssignee(uint256 taskId) external view returns (address) {\n return tasks[taskId].assignee;\n }\n\n /**\n * @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract.\n * @param newImplementation Address of the new implementation\n */\n function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}\n\n /**\n * @dev Storage gap for future upgrades\n */\n uint256[50] private __gap;\n} " + } + }, + "settings": { + "optimizer": { + "enabled": true, + "runs": 200 + }, + "evmVersion": "paris", + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata", + "storageLayout" + ], + "": [ + "ast" + ] + } + } + } + }, + "output": { + "sources": { + "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "exportedSymbols": { + "ContextUpgradeable": [ + 690 + ], + "Initializable": [ + 462 + ], + "OwnableUpgradeable": [ + 194 + ] + }, + "id": 195, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "102:24:0" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol", + "file": "../utils/ContextUpgradeable.sol", + "id": 3, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 195, + "sourceUnit": 691, + "src": "128:67:0", + "symbolAliases": [ + { + "foreign": { + "id": 2, + "name": "ContextUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 690, + "src": "136:18:0", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "../proxy/utils/Initializable.sol", + "id": 5, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 195, + "sourceUnit": 463, + "src": "196:63:0", + "symbolAliases": [ + { + "foreign": { + "id": 4, + "name": "Initializable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 462, + "src": "204:13:0", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 7, + "name": "Initializable", + "nameLocations": [ + "789:13:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 462, + "src": "789:13:0" + }, + "id": 8, + "nodeType": "InheritanceSpecifier", + "src": "789:13:0" + }, + { + "baseName": { + "id": 9, + "name": "ContextUpgradeable", + "nameLocations": [ + "804:18:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 690, + "src": "804:18:0" + }, + "id": 10, + "nodeType": "InheritanceSpecifier", + "src": "804:18:0" + } + ], + "canonicalName": "OwnableUpgradeable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 6, + "nodeType": "StructuredDocumentation", + "src": "261:487:0", + "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n The initial owner is set to the address provided by the deployer. This can\n later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." + }, + "fullyImplemented": true, + "id": 194, + "linearizedBaseContracts": [ + 194, + 690, + 462 + ], + "name": "OwnableUpgradeable", + "nameLocation": "767:18:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "OwnableUpgradeable.OwnableStorage", + "documentation": { + "id": 11, + "nodeType": "StructuredDocumentation", + "src": "829:65:0", + "text": "@custom:storage-location erc7201:openzeppelin.storage.Ownable" + }, + "id": 14, + "members": [ + { + "constant": false, + "id": 13, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "939:6:0", + "nodeType": "VariableDeclaration", + "scope": 14, + "src": "931:14:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 12, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "931:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "name": "OwnableStorage", + "nameLocation": "906:14:0", + "nodeType": "StructDefinition", + "scope": 194, + "src": "899:53:0", + "visibility": "public" + }, + { + "constant": true, + "id": 17, + "mutability": "constant", + "name": "OwnableStorageLocation", + "nameLocation": "1094:22:0", + "nodeType": "VariableDeclaration", + "scope": 194, + "src": "1069:116:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 15, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1069:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "307839303136643039643732643430666461653266643863656163366236323334633737303632313466643339633163643165363039613035323863313939333030", + "id": 16, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1119:66:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_65173360639460082030725920392146925864023520599682862633725751242436743107328_by_1", + "typeString": "int_const 6517...(69 digits omitted)...7328" + }, + "value": "0x9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300" + }, + "visibility": "private" + }, + { + "body": { + "id": 24, + "nodeType": "Block", + "src": "1270:81:0", + "statements": [ + { + "AST": { + "nativeSrc": "1289:56:0", + "nodeType": "YulBlock", + "src": "1289:56:0", + "statements": [ + { + "nativeSrc": "1303:32:0", + "nodeType": "YulAssignment", + "src": "1303:32:0", + "value": { + "name": "OwnableStorageLocation", + "nativeSrc": "1313:22:0", + "nodeType": "YulIdentifier", + "src": "1313:22:0" + }, + "variableNames": [ + { + "name": "$.slot", + "nativeSrc": "1303:6:0", + "nodeType": "YulIdentifier", + "src": "1303:6:0" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 21, + "isOffset": false, + "isSlot": true, + "src": "1303:6:0", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 17, + "isOffset": false, + "isSlot": false, + "src": "1313:22:0", + "valueSize": 1 + } + ], + "id": 23, + "nodeType": "InlineAssembly", + "src": "1280:65:0" + } + ] + }, + "id": 25, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getOwnableStorage", + "nameLocation": "1201:18:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 18, + "nodeType": "ParameterList", + "parameters": [], + "src": "1219:2:0" + }, + "returnParameters": { + "id": 22, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 21, + "mutability": "mutable", + "name": "$", + "nameLocation": "1267:1:0", + "nodeType": "VariableDeclaration", + "scope": 25, + "src": "1244:24:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OwnableStorage_$14_storage_ptr", + "typeString": "struct OwnableUpgradeable.OwnableStorage" + }, + "typeName": { + "id": 20, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 19, + "name": "OwnableStorage", + "nameLocations": [ + "1244:14:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 14, + "src": "1244:14:0" + }, + "referencedDeclaration": 14, + "src": "1244:14:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OwnableStorage_$14_storage_ptr", + "typeString": "struct OwnableUpgradeable.OwnableStorage" + } + }, + "visibility": "internal" + } + ], + "src": "1243:26:0" + }, + "scope": 194, + "src": "1192:159:0", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + }, + { + "documentation": { + "id": 26, + "nodeType": "StructuredDocumentation", + "src": "1357:85:0", + "text": " @dev The caller account is not authorized to perform an operation." + }, + "errorSelector": "118cdaa7", + "id": 30, + "name": "OwnableUnauthorizedAccount", + "nameLocation": "1453:26:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 29, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 28, + "mutability": "mutable", + "name": "account", + "nameLocation": "1488:7:0", + "nodeType": "VariableDeclaration", + "scope": 30, + "src": "1480:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 27, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1480:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1479:17:0" + }, + "src": "1447:50:0" + }, + { + "documentation": { + "id": 31, + "nodeType": "StructuredDocumentation", + "src": "1503:82:0", + "text": " @dev The owner is not a valid owner account. (eg. `address(0)`)" + }, + "errorSelector": "1e4fbdf7", + "id": 35, + "name": "OwnableInvalidOwner", + "nameLocation": "1596:19:0", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 34, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 33, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1624:5:0", + "nodeType": "VariableDeclaration", + "scope": 35, + "src": "1616:13:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 32, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1616:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1615:15:0" + }, + "src": "1590:41:0" + }, + { + "anonymous": false, + "eventSelector": "8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0", + "id": 41, + "name": "OwnershipTransferred", + "nameLocation": "1643:20:0", + "nodeType": "EventDefinition", + "parameters": { + "id": 40, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 37, + "indexed": true, + "mutability": "mutable", + "name": "previousOwner", + "nameLocation": "1680:13:0", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "1664:29:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 36, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1664:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 39, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "1711:8:0", + "nodeType": "VariableDeclaration", + "scope": 41, + "src": "1695:24:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 38, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1695:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1663:57:0" + }, + "src": "1637:84:0" + }, + { + "body": { + "id": 53, + "nodeType": "Block", + "src": "1919:55:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 50, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 44, + "src": "1954:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 49, + "name": "__Ownable_init_unchained", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "1929:24:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 51, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1929:38:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 52, + "nodeType": "ExpressionStatement", + "src": "1929:38:0" + } + ] + }, + "documentation": { + "id": 42, + "nodeType": "StructuredDocumentation", + "src": "1727:115:0", + "text": " @dev Initializes the contract setting the address provided by the deployer as the initial owner." + }, + "id": 54, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 47, + "kind": "modifierInvocation", + "modifierName": { + "id": 46, + "name": "onlyInitializing", + "nameLocations": [ + "1902:16:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 357, + "src": "1902:16:0" + }, + "nodeType": "ModifierInvocation", + "src": "1902:16:0" + } + ], + "name": "__Ownable_init", + "nameLocation": "1856:14:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 45, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 44, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "1879:12:0", + "nodeType": "VariableDeclaration", + "scope": 54, + "src": "1871:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 43, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1871:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1870:22:0" + }, + "returnParameters": { + "id": 48, + "nodeType": "ParameterList", + "parameters": [], + "src": "1919:0:0" + }, + "scope": 194, + "src": "1847:127:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 80, + "nodeType": "Block", + "src": "2062:153:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 66, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 61, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56, + "src": "2076:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 64, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2100:1:0", + "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": 63, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2092:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 62, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2092:7:0", + "typeDescriptions": {} + } + }, + "id": 65, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2092:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2076:26:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 75, + "nodeType": "IfStatement", + "src": "2072:95:0", + "trueBody": { + "id": 74, + "nodeType": "Block", + "src": "2104:63:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 70, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2153:1:0", + "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": 69, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2145:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 68, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2145:7:0", + "typeDescriptions": {} + } + }, + "id": 71, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2145:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 67, + "name": "OwnableInvalidOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "2125:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 72, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2125:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 73, + "nodeType": "RevertStatement", + "src": "2118:38:0" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 77, + "name": "initialOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 56, + "src": "2195:12:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 76, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 193, + "src": "2176:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 78, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2176:32:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 79, + "nodeType": "ExpressionStatement", + "src": "2176:32:0" + } + ] + }, + "id": 81, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 59, + "kind": "modifierInvocation", + "modifierName": { + "id": 58, + "name": "onlyInitializing", + "nameLocations": [ + "2045:16:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 357, + "src": "2045:16:0" + }, + "nodeType": "ModifierInvocation", + "src": "2045:16:0" + } + ], + "name": "__Ownable_init_unchained", + "nameLocation": "1989:24:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 57, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 56, + "mutability": "mutable", + "name": "initialOwner", + "nameLocation": "2022:12:0", + "nodeType": "VariableDeclaration", + "scope": 81, + "src": "2014:20:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 55, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2014:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2013:22:0" + }, + "returnParameters": { + "id": 60, + "nodeType": "ParameterList", + "parameters": [], + "src": "2062:0:0" + }, + "scope": 194, + "src": "1980:235:0", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 88, + "nodeType": "Block", + "src": "2324:41:0", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 84, + "name": "_checkOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 122, + "src": "2334:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 85, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2334:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 86, + "nodeType": "ExpressionStatement", + "src": "2334:13:0" + }, + { + "id": 87, + "nodeType": "PlaceholderStatement", + "src": "2357:1:0" + } + ] + }, + "documentation": { + "id": 82, + "nodeType": "StructuredDocumentation", + "src": "2221:77:0", + "text": " @dev Throws if called by any account other than the owner." + }, + "id": 89, + "name": "onlyOwner", + "nameLocation": "2312:9:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 83, + "nodeType": "ParameterList", + "parameters": [], + "src": "2321:2:0" + }, + "src": "2303:62:0", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 104, + "nodeType": "Block", + "src": "2496:89:0", + "statements": [ + { + "assignments": [ + 97 + ], + "declarations": [ + { + "constant": false, + "id": 97, + "mutability": "mutable", + "name": "$", + "nameLocation": "2529:1:0", + "nodeType": "VariableDeclaration", + "scope": 104, + "src": "2506:24:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OwnableStorage_$14_storage_ptr", + "typeString": "struct OwnableUpgradeable.OwnableStorage" + }, + "typeName": { + "id": 96, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 95, + "name": "OwnableStorage", + "nameLocations": [ + "2506:14:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 14, + "src": "2506:14:0" + }, + "referencedDeclaration": 14, + "src": "2506:14:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OwnableStorage_$14_storage_ptr", + "typeString": "struct OwnableUpgradeable.OwnableStorage" + } + }, + "visibility": "internal" + } + ], + "id": 100, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 98, + "name": "_getOwnableStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "2533:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_OwnableStorage_$14_storage_ptr_$", + "typeString": "function () pure returns (struct OwnableUpgradeable.OwnableStorage storage pointer)" + } + }, + "id": 99, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2533:20:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OwnableStorage_$14_storage_ptr", + "typeString": "struct OwnableUpgradeable.OwnableStorage storage pointer" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2506:47:0" + }, + { + "expression": { + "expression": { + "id": 101, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 97, + "src": "2570:1:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OwnableStorage_$14_storage_ptr", + "typeString": "struct OwnableUpgradeable.OwnableStorage storage pointer" + } + }, + "id": 102, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2572:6:0", + "memberName": "_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 13, + "src": "2570:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 94, + "id": 103, + "nodeType": "Return", + "src": "2563:15:0" + } + ] + }, + "documentation": { + "id": 90, + "nodeType": "StructuredDocumentation", + "src": "2371:65:0", + "text": " @dev Returns the address of the current owner." + }, + "functionSelector": "8da5cb5b", + "id": 105, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "2450:5:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 91, + "nodeType": "ParameterList", + "parameters": [], + "src": "2455:2:0" + }, + "returnParameters": { + "id": 94, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 93, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 105, + "src": "2487:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 92, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2487:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2486:9:0" + }, + "scope": 194, + "src": "2441:144:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 121, + "nodeType": "Block", + "src": "2703:117:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 109, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "2717:5:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2717:7:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 111, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 672, + "src": "2728:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2728:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2717:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 120, + "nodeType": "IfStatement", + "src": "2713:101:0", + "trueBody": { + "id": 119, + "nodeType": "Block", + "src": "2742:72:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 115, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 672, + "src": "2790:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2790:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 114, + "name": "OwnableUnauthorizedAccount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "2763:26:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2763:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 118, + "nodeType": "RevertStatement", + "src": "2756:47:0" + } + ] + } + } + ] + }, + "documentation": { + "id": 106, + "nodeType": "StructuredDocumentation", + "src": "2591:62:0", + "text": " @dev Throws if the sender is not the owner." + }, + "id": 122, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkOwner", + "nameLocation": "2667:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 107, + "nodeType": "ParameterList", + "parameters": [], + "src": "2678:2:0" + }, + "returnParameters": { + "id": 108, + "nodeType": "ParameterList", + "parameters": [], + "src": "2703:0:0" + }, + "scope": 194, + "src": "2658:162:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 135, + "nodeType": "Block", + "src": "3209:47:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3246:1:0", + "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": 130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3238:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 129, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3238:7:0", + "typeDescriptions": {} + } + }, + "id": 132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3238:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 128, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 193, + "src": "3219:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3219:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 134, + "nodeType": "ExpressionStatement", + "src": "3219:30:0" + } + ] + }, + "documentation": { + "id": 123, + "nodeType": "StructuredDocumentation", + "src": "2826:324:0", + "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby disabling any functionality that is only available to the owner." + }, + "functionSelector": "715018a6", + "id": 136, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 126, + "kind": "modifierInvocation", + "modifierName": { + "id": 125, + "name": "onlyOwner", + "nameLocations": [ + "3199:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 89, + "src": "3199:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "3199:9:0" + } + ], + "name": "renounceOwnership", + "nameLocation": "3164:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 124, + "nodeType": "ParameterList", + "parameters": [], + "src": "3181:2:0" + }, + "returnParameters": { + "id": 127, + "nodeType": "ParameterList", + "parameters": [], + "src": "3209:0:0" + }, + "scope": 194, + "src": "3155:101:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 163, + "nodeType": "Block", + "src": "3475:145:0", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 144, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "3489:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3509:1:0", + "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": 146, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3501:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 145, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3501:7:0", + "typeDescriptions": {} + } + }, + "id": 148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3501:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3489:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 158, + "nodeType": "IfStatement", + "src": "3485:91:0", + "trueBody": { + "id": 157, + "nodeType": "Block", + "src": "3513:63:0", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3562:1:0", + "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": 152, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3554:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 151, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3554:7:0", + "typeDescriptions": {} + } + }, + "id": 154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3554:10:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 150, + "name": "OwnableInvalidOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 35, + "src": "3534:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3534:31:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 156, + "nodeType": "RevertStatement", + "src": "3527:38:0" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 160, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "3604:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 159, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 193, + "src": "3585:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3585:28:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 162, + "nodeType": "ExpressionStatement", + "src": "3585:28:0" + } + ] + }, + "documentation": { + "id": 137, + "nodeType": "StructuredDocumentation", + "src": "3262:138:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." + }, + "functionSelector": "f2fde38b", + "id": 164, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 142, + "kind": "modifierInvocation", + "modifierName": { + "id": 141, + "name": "onlyOwner", + "nameLocations": [ + "3465:9:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 89, + "src": "3465:9:0" + }, + "nodeType": "ModifierInvocation", + "src": "3465:9:0" + } + ], + "name": "transferOwnership", + "nameLocation": "3414:17:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 140, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 139, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "3440:8:0", + "nodeType": "VariableDeclaration", + "scope": 164, + "src": "3432:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 138, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3432:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3431:18:0" + }, + "returnParameters": { + "id": 143, + "nodeType": "ParameterList", + "parameters": [], + "src": "3475:0:0" + }, + "scope": 194, + "src": "3405:215:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 192, + "nodeType": "Block", + "src": "3837:185:0", + "statements": [ + { + "assignments": [ + 172 + ], + "declarations": [ + { + "constant": false, + "id": 172, + "mutability": "mutable", + "name": "$", + "nameLocation": "3870:1:0", + "nodeType": "VariableDeclaration", + "scope": 192, + "src": "3847:24:0", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OwnableStorage_$14_storage_ptr", + "typeString": "struct OwnableUpgradeable.OwnableStorage" + }, + "typeName": { + "id": 171, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 170, + "name": "OwnableStorage", + "nameLocations": [ + "3847:14:0" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 14, + "src": "3847:14:0" + }, + "referencedDeclaration": 14, + "src": "3847:14:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OwnableStorage_$14_storage_ptr", + "typeString": "struct OwnableUpgradeable.OwnableStorage" + } + }, + "visibility": "internal" + } + ], + "id": 175, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 173, + "name": "_getOwnableStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 25, + "src": "3874:18:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_OwnableStorage_$14_storage_ptr_$", + "typeString": "function () pure returns (struct OwnableUpgradeable.OwnableStorage storage pointer)" + } + }, + "id": 174, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3874:20:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_OwnableStorage_$14_storage_ptr", + "typeString": "struct OwnableUpgradeable.OwnableStorage storage pointer" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3847:47:0" + }, + { + "assignments": [ + 177 + ], + "declarations": [ + { + "constant": false, + "id": 177, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "3912:8:0", + "nodeType": "VariableDeclaration", + "scope": 192, + "src": "3904:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 176, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3904:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 180, + "initialValue": { + "expression": { + "id": 178, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "3923:1:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OwnableStorage_$14_storage_ptr", + "typeString": "struct OwnableUpgradeable.OwnableStorage storage pointer" + } + }, + "id": 179, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3925:6:0", + "memberName": "_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 13, + "src": "3923:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3904:27:0" + }, + { + "expression": { + "id": 185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 181, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 172, + "src": "3941:1:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_OwnableStorage_$14_storage_ptr", + "typeString": "struct OwnableUpgradeable.OwnableStorage storage pointer" + } + }, + "id": 183, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3943:6:0", + "memberName": "_owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 13, + "src": "3941:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 184, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 167, + "src": "3952:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3941:19:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 186, + "nodeType": "ExpressionStatement", + "src": "3941:19:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 188, + "name": "oldOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 177, + "src": "3996:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 189, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 167, + "src": "4006:8:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 187, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 41, + "src": "3975:20:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3975:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 191, + "nodeType": "EmitStatement", + "src": "3970:45:0" + } + ] + }, + "documentation": { + "id": 165, + "nodeType": "StructuredDocumentation", + "src": "3626:143:0", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." + }, + "id": 193, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nameLocation": "3783:18:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 168, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 167, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "3810:8:0", + "nodeType": "VariableDeclaration", + "scope": 193, + "src": "3802:16:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 166, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3802:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3801:18:0" + }, + "returnParameters": { + "id": 169, + "nodeType": "ParameterList", + "parameters": [], + "src": "3837:0:0" + }, + "scope": 194, + "src": "3774:248:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 195, + "src": "749:3275:0", + "usedErrors": [ + 30, + 35, + 211, + 214 + ], + "usedEvents": [ + 41, + 219 + ] + } + ], + "src": "102:3923:0" + }, + "id": 0 + }, + "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "exportedSymbols": { + "Initializable": [ + 462 + ] + }, + "id": 463, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 196, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "113:24:1" + }, + { + "abstract": true, + "baseContracts": [], + "canonicalName": "Initializable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 197, + "nodeType": "StructuredDocumentation", + "src": "139:2209:1", + "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": 462, + "linearizedBaseContracts": [ + 462 + ], + "name": "Initializable", + "nameLocation": "2367:13:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Initializable.InitializableStorage", + "documentation": { + "id": 198, + "nodeType": "StructuredDocumentation", + "src": "2387:293:1", + "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": 205, + "members": [ + { + "constant": false, + "id": 201, + "mutability": "mutable", + "name": "_initialized", + "nameLocation": "2820:12:1", + "nodeType": "VariableDeclaration", + "scope": 205, + "src": "2813:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 200, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "2813:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 204, + "mutability": "mutable", + "name": "_initializing", + "nameLocation": "2955:13:1", + "nodeType": "VariableDeclaration", + "scope": 205, + "src": "2950:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 203, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2950:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "InitializableStorage", + "nameLocation": "2692:20:1", + "nodeType": "StructDefinition", + "scope": 462, + "src": "2685:290:1", + "visibility": "public" + }, + { + "constant": true, + "id": 208, + "mutability": "constant", + "name": "INITIALIZABLE_STORAGE", + "nameLocation": "3123:21:1", + "nodeType": "VariableDeclaration", + "scope": 462, + "src": "3098:115:1", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 206, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3098:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "307866306335376531363834306466303430663135303838646332663831666533393163333932336265633733653233613936363265666339633232396336613030", + "id": 207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3147:66:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_108904022758810753673719992590105913556127789646572562039383141376366747609600_by_1", + "typeString": "int_const 1089...(70 digits omitted)...9600" + }, + "value": "0xf0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00" + }, + "visibility": "private" + }, + { + "documentation": { + "id": 209, + "nodeType": "StructuredDocumentation", + "src": "3220:60:1", + "text": " @dev The contract is already initialized." + }, + "errorSelector": "f92ee8a9", + "id": 211, + "name": "InvalidInitialization", + "nameLocation": "3291:21:1", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 210, + "nodeType": "ParameterList", + "parameters": [], + "src": "3312:2:1" + }, + "src": "3285:30:1" + }, + { + "documentation": { + "id": 212, + "nodeType": "StructuredDocumentation", + "src": "3321:57:1", + "text": " @dev The contract is not initializing." + }, + "errorSelector": "d7e6bcf8", + "id": 214, + "name": "NotInitializing", + "nameLocation": "3389:15:1", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 213, + "nodeType": "ParameterList", + "parameters": [], + "src": "3404:2:1" + }, + "src": "3383:24:1" + }, + { + "anonymous": false, + "documentation": { + "id": 215, + "nodeType": "StructuredDocumentation", + "src": "3413:90:1", + "text": " @dev Triggered when the contract has been initialized or reinitialized." + }, + "eventSelector": "c7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2", + "id": 219, + "name": "Initialized", + "nameLocation": "3514:11:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 217, + "indexed": false, + "mutability": "mutable", + "name": "version", + "nameLocation": "3533:7:1", + "nodeType": "VariableDeclaration", + "scope": 219, + "src": "3526:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 216, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "3526:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "3525:16:1" + }, + "src": "3508:34:1" + }, + { + "body": { + "id": 301, + "nodeType": "Block", + "src": "4092:1079:1", + "statements": [ + { + "assignments": [ + 224 + ], + "declarations": [ + { + "constant": false, + "id": 224, + "mutability": "mutable", + "name": "$", + "nameLocation": "4187:1:1", + "nodeType": "VariableDeclaration", + "scope": 301, + "src": "4158:30:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage" + }, + "typeName": { + "id": 223, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 222, + "name": "InitializableStorage", + "nameLocations": [ + "4158:20:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "4158:20:1" + }, + "referencedDeclaration": 205, + "src": "4158:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage" + } + }, + "visibility": "internal" + } + ], + "id": 227, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 225, + "name": "_getInitializableStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 461, + "src": "4191:24:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$205_storage_ptr_$", + "typeString": "function () pure returns (struct Initializable.InitializableStorage storage pointer)" + } + }, + "id": 226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4191:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4158:59:1" + }, + { + "assignments": [ + 229 + ], + "declarations": [ + { + "constant": false, + "id": 229, + "mutability": "mutable", + "name": "isTopLevelCall", + "nameLocation": "4284:14:1", + "nodeType": "VariableDeclaration", + "scope": 301, + "src": "4279:19:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 228, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4279:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 233, + "initialValue": { + "id": 232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4301:16:1", + "subExpression": { + "expression": { + "id": 230, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 224, + "src": "4302:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 231, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4304:13:1", + "memberName": "_initializing", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "4302:15:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4279:38:1" + }, + { + "assignments": [ + 235 + ], + "declarations": [ + { + "constant": false, + "id": 235, + "mutability": "mutable", + "name": "initialized", + "nameLocation": "4334:11:1", + "nodeType": "VariableDeclaration", + "scope": 301, + "src": "4327:18:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 234, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "4327:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "id": 238, + "initialValue": { + "expression": { + "id": 236, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 224, + "src": "4348:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 237, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4350:12:1", + "memberName": "_initialized", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "4348:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4327:35:1" + }, + { + "assignments": [ + 240 + ], + "declarations": [ + { + "constant": false, + "id": 240, + "mutability": "mutable", + "name": "initialSetup", + "nameLocation": "4709:12:1", + "nodeType": "VariableDeclaration", + "scope": 301, + "src": "4704:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 239, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4704:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 246, + "initialValue": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 245, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 241, + "name": "initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "4724:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 242, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4739:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4724:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "id": 244, + "name": "isTopLevelCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 229, + "src": "4744:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4724:34:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4704:54:1" + }, + { + "assignments": [ + 248 + ], + "declarations": [ + { + "constant": false, + "id": 248, + "mutability": "mutable", + "name": "construction", + "nameLocation": "4773:12:1", + "nodeType": "VariableDeclaration", + "scope": 301, + "src": "4768:17:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 247, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4768:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 261, + "initialValue": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 249, + "name": "initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 235, + "src": "4788:11:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "31", + "id": 250, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4803:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4788:16:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "arguments": [ + { + "id": 254, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4816:4:1", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Initializable_$462", + "typeString": "contract Initializable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Initializable_$462", + "typeString": "contract Initializable" + } + ], + "id": 253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4808:7:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 252, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4808:7:1", + "typeDescriptions": {} + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4808:13:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4822:4:1", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4808:18:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4827:6:1", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4808:25:1", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4837:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4808:30:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4788:50:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4768:70:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 266, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4853:13:1", + "subExpression": { + "id": 262, + "name": "initialSetup", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 240, + "src": "4854:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "id": 265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4870:13:1", + "subExpression": { + "id": 264, + "name": "construction", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 248, + "src": "4871:12:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4853:30:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 271, + "nodeType": "IfStatement", + "src": "4849:91:1", + "trueBody": { + "id": 270, + "nodeType": "Block", + "src": "4885:55:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 267, + "name": "InvalidInitialization", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "4906:21:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 268, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4906:23:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 269, + "nodeType": "RevertStatement", + "src": "4899:30:1" + } + ] + } + }, + { + "expression": { + "id": 276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 272, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 224, + "src": "4949:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 274, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4951:12:1", + "memberName": "_initialized", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "4949:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31", + "id": 275, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4966:1:1", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "4949:18:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 277, + "nodeType": "ExpressionStatement", + "src": "4949:18:1" + }, + { + "condition": { + "id": 278, + "name": "isTopLevelCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 229, + "src": "4981:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 286, + "nodeType": "IfStatement", + "src": "4977:67:1", + "trueBody": { + "id": 285, + "nodeType": "Block", + "src": "4997:47:1", + "statements": [ + { + "expression": { + "id": 283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 279, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 224, + "src": "5011:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 281, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "5013:13:1", + "memberName": "_initializing", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "5011:15:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5029:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5011:22:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 284, + "nodeType": "ExpressionStatement", + "src": "5011:22:1" + } + ] + } + }, + { + "id": 287, + "nodeType": "PlaceholderStatement", + "src": "5053:1:1" + }, + { + "condition": { + "id": 288, + "name": "isTopLevelCall", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 229, + "src": "5068:14:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 300, + "nodeType": "IfStatement", + "src": "5064:101:1", + "trueBody": { + "id": 299, + "nodeType": "Block", + "src": "5084:81:1", + "statements": [ + { + "expression": { + "id": 293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 289, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 224, + "src": "5098:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "5100:13:1", + "memberName": "_initializing", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "5098:15:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5116:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "5098:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 294, + "nodeType": "ExpressionStatement", + "src": "5098:23:1" + }, + { + "eventCall": { + "arguments": [ + { + "hexValue": "31", + "id": 296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5152:1:1", + "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": 295, + "name": "Initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "5140:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", + "typeString": "function (uint64)" + } + }, + "id": 297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5140:14:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 298, + "nodeType": "EmitStatement", + "src": "5135:19:1" + } + ] + } + } + ] + }, + "documentation": { + "id": 220, + "nodeType": "StructuredDocumentation", + "src": "3548:516:1", + "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": 302, + "name": "initializer", + "nameLocation": "4078:11:1", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 221, + "nodeType": "ParameterList", + "parameters": [], + "src": "4089:2:1" + }, + "src": "4069:1102:1", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 348, + "nodeType": "Block", + "src": "6289:392:1", + "statements": [ + { + "assignments": [ + 309 + ], + "declarations": [ + { + "constant": false, + "id": 309, + "mutability": "mutable", + "name": "$", + "nameLocation": "6384:1:1", + "nodeType": "VariableDeclaration", + "scope": 348, + "src": "6355:30:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage" + }, + "typeName": { + "id": 308, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 307, + "name": "InitializableStorage", + "nameLocations": [ + "6355:20:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "6355:20:1" + }, + "referencedDeclaration": 205, + "src": "6355:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage" + } + }, + "visibility": "internal" + } + ], + "id": 312, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 310, + "name": "_getInitializableStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 461, + "src": "6388:24:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$205_storage_ptr_$", + "typeString": "function () pure returns (struct Initializable.InitializableStorage storage pointer)" + } + }, + "id": 311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6388:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6355:59:1" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 313, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "6429:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 314, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6431:13:1", + "memberName": "_initializing", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "6429:15:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 318, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 315, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "6448:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 316, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6450:12:1", + "memberName": "_initialized", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "6448:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 317, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "6466:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "6448:25:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6429:44:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 324, + "nodeType": "IfStatement", + "src": "6425:105:1", + "trueBody": { + "id": 323, + "nodeType": "Block", + "src": "6475:55:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 320, + "name": "InvalidInitialization", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "6496:21:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6496:23:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 322, + "nodeType": "RevertStatement", + "src": "6489:30:1" + } + ] + } + }, + { + "expression": { + "id": 329, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 325, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "6539:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 327, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "6541:12:1", + "memberName": "_initialized", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "6539:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 328, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "6556:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "6539:24:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 330, + "nodeType": "ExpressionStatement", + "src": "6539:24:1" + }, + { + "expression": { + "id": 335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 331, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "6573:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 333, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "6575:13:1", + "memberName": "_initializing", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "6573:15:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 334, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6591:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6573:22:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 336, + "nodeType": "ExpressionStatement", + "src": "6573:22:1" + }, + { + "id": 337, + "nodeType": "PlaceholderStatement", + "src": "6605:1:1" + }, + { + "expression": { + "id": 342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 338, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 309, + "src": "6616:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 340, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "6618:13:1", + "memberName": "_initializing", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "6616:15:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 341, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6634:5:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "6616:23:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 343, + "nodeType": "ExpressionStatement", + "src": "6616:23:1" + }, + { + "eventCall": { + "arguments": [ + { + "id": 345, + "name": "version", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 305, + "src": "6666:7:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 344, + "name": "Initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "6654:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", + "typeString": "function (uint64)" + } + }, + "id": 346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6654:20:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 347, + "nodeType": "EmitStatement", + "src": "6649:25:1" + } + ] + }, + "documentation": { + "id": 303, + "nodeType": "StructuredDocumentation", + "src": "5177:1068:1", + "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": 349, + "name": "reinitializer", + "nameLocation": "6259:13:1", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 306, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 305, + "mutability": "mutable", + "name": "version", + "nameLocation": "6280:7:1", + "nodeType": "VariableDeclaration", + "scope": 349, + "src": "6273:14:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 304, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "6273:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "6272:16:1" + }, + "src": "6250:431:1", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 356, + "nodeType": "Block", + "src": "6919:48:1", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 352, + "name": "_checkInitializing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 370, + "src": "6929:18:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6929:20:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 354, + "nodeType": "ExpressionStatement", + "src": "6929:20:1" + }, + { + "id": 355, + "nodeType": "PlaceholderStatement", + "src": "6959:1:1" + } + ] + }, + "documentation": { + "id": 350, + "nodeType": "StructuredDocumentation", + "src": "6687:199:1", + "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": 357, + "name": "onlyInitializing", + "nameLocation": "6900:16:1", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 351, + "nodeType": "ParameterList", + "parameters": [], + "src": "6916:2:1" + }, + "src": "6891:76:1", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 369, + "nodeType": "Block", + "src": "7134:89:1", + "statements": [ + { + "condition": { + "id": 363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "7148:18:1", + "subExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 361, + "name": "_isInitializing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 438, + "src": "7149:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", + "typeString": "function () view returns (bool)" + } + }, + "id": 362, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7149:17:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 368, + "nodeType": "IfStatement", + "src": "7144:73:1", + "trueBody": { + "id": 367, + "nodeType": "Block", + "src": "7168:49:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 364, + "name": "NotInitializing", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 214, + "src": "7189:15:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 365, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7189:17:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 366, + "nodeType": "RevertStatement", + "src": "7182:24:1" + } + ] + } + } + ] + }, + "documentation": { + "id": 358, + "nodeType": "StructuredDocumentation", + "src": "6973:104:1", + "text": " @dev Reverts if the contract is not in an initializing state. See {onlyInitializing}." + }, + "id": 370, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkInitializing", + "nameLocation": "7091:18:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 359, + "nodeType": "ParameterList", + "parameters": [], + "src": "7109:2:1" + }, + "returnParameters": { + "id": 360, + "nodeType": "ParameterList", + "parameters": [], + "src": "7134:0:1" + }, + "scope": 462, + "src": "7082:141:1", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 415, + "nodeType": "Block", + "src": "7758:373:1", + "statements": [ + { + "assignments": [ + 376 + ], + "declarations": [ + { + "constant": false, + "id": 376, + "mutability": "mutable", + "name": "$", + "nameLocation": "7853:1:1", + "nodeType": "VariableDeclaration", + "scope": 415, + "src": "7824:30:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage" + }, + "typeName": { + "id": 375, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 374, + "name": "InitializableStorage", + "nameLocations": [ + "7824:20:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "7824:20:1" + }, + "referencedDeclaration": 205, + "src": "7824:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage" + } + }, + "visibility": "internal" + } + ], + "id": 379, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 377, + "name": "_getInitializableStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 461, + "src": "7857:24:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$205_storage_ptr_$", + "typeString": "function () pure returns (struct Initializable.InitializableStorage storage pointer)" + } + }, + "id": 378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7857:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7824:59:1" + }, + { + "condition": { + "expression": { + "id": 380, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 376, + "src": "7898:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 381, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7900:13:1", + "memberName": "_initializing", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "7898:15:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 386, + "nodeType": "IfStatement", + "src": "7894:76:1", + "trueBody": { + "id": 385, + "nodeType": "Block", + "src": "7915:55:1", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 382, + "name": "InvalidInitialization", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 211, + "src": "7936:21:1", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7936:23:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 384, + "nodeType": "RevertStatement", + "src": "7929:30:1" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "id": 394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 387, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 376, + "src": "7983:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 388, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7985:12:1", + "memberName": "_initialized", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "7983:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 391, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8006:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 390, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "8006:6:1", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + } + ], + "id": 389, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "8001:4:1", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 392, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8001:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint64", + "typeString": "type(uint64)" + } + }, + "id": 393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8014:3:1", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "8001:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "7983:34:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 414, + "nodeType": "IfStatement", + "src": "7979:146:1", + "trueBody": { + "id": 413, + "nodeType": "Block", + "src": "8019:106:1", + "statements": [ + { + "expression": { + "id": 403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 395, + "name": "$", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 376, + "src": "8033:1:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 397, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8035:12:1", + "memberName": "_initialized", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "8033:14:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "arguments": [ + { + "id": 400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8055:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 399, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "8055:6:1", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + } + ], + "id": 398, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "8050:4:1", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8050:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint64", + "typeString": "type(uint64)" + } + }, + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8063:3:1", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "8050:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "src": "8033:33:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "id": 404, + "nodeType": "ExpressionStatement", + "src": "8033:33:1" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "arguments": [ + { + "id": 408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8102:6:1", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + }, + "typeName": { + "id": 407, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "8102:6:1", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint64_$", + "typeString": "type(uint64)" + } + ], + "id": 406, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "8097:4:1", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8097:12:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint64", + "typeString": "type(uint64)" + } + }, + "id": 410, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "8110:3:1", + "memberName": "max", + "nodeType": "MemberAccess", + "src": "8097:16:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + ], + "id": 405, + "name": "Initialized", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "8085:11:1", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint64_$returns$__$", + "typeString": "function (uint64)" + } + }, + "id": 411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8085:29:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 412, + "nodeType": "EmitStatement", + "src": "8080:34:1" + } + ] + } + } + ] + }, + "documentation": { + "id": 371, + "nodeType": "StructuredDocumentation", + "src": "7229:475:1", + "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": 416, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_disableInitializers", + "nameLocation": "7718:20:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 372, + "nodeType": "ParameterList", + "parameters": [], + "src": "7738:2:1" + }, + "returnParameters": { + "id": 373, + "nodeType": "ParameterList", + "parameters": [], + "src": "7758:0:1" + }, + "scope": 462, + "src": "7709:422:1", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 426, + "nodeType": "Block", + "src": "8306:63:1", + "statements": [ + { + "expression": { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 422, + "name": "_getInitializableStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 461, + "src": "8323:24:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$205_storage_ptr_$", + "typeString": "function () pure returns (struct Initializable.InitializableStorage storage pointer)" + } + }, + "id": 423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8323:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 424, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8350:12:1", + "memberName": "_initialized", + "nodeType": "MemberAccess", + "referencedDeclaration": 201, + "src": "8323:39:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "functionReturnParameters": 421, + "id": 425, + "nodeType": "Return", + "src": "8316:46:1" + } + ] + }, + "documentation": { + "id": 417, + "nodeType": "StructuredDocumentation", + "src": "8137:99:1", + "text": " @dev Returns the highest version that has been initialized. See {reinitializer}." + }, + "id": 427, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getInitializedVersion", + "nameLocation": "8250:22:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 418, + "nodeType": "ParameterList", + "parameters": [], + "src": "8272:2:1" + }, + "returnParameters": { + "id": 421, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 420, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 427, + "src": "8298:6:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + }, + "typeName": { + "id": 419, + "name": "uint64", + "nodeType": "ElementaryTypeName", + "src": "8298:6:1", + "typeDescriptions": { + "typeIdentifier": "t_uint64", + "typeString": "uint64" + } + }, + "visibility": "internal" + } + ], + "src": "8297:8:1" + }, + "scope": 462, + "src": "8241:128:1", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 437, + "nodeType": "Block", + "src": "8541:64:1", + "statements": [ + { + "expression": { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 433, + "name": "_getInitializableStorage", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 461, + "src": "8558:24:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_struct$_InitializableStorage_$205_storage_ptr_$", + "typeString": "function () pure returns (struct Initializable.InitializableStorage storage pointer)" + } + }, + "id": 434, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8558:26:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage storage pointer" + } + }, + "id": 435, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8585:13:1", + "memberName": "_initializing", + "nodeType": "MemberAccess", + "referencedDeclaration": 204, + "src": "8558:40:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 432, + "id": 436, + "nodeType": "Return", + "src": "8551:47:1" + } + ] + }, + "documentation": { + "id": 428, + "nodeType": "StructuredDocumentation", + "src": "8375:105:1", + "text": " @dev Returns `true` if the contract is currently initializing. See {onlyInitializing}." + }, + "id": 438, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_isInitializing", + "nameLocation": "8494:15:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 429, + "nodeType": "ParameterList", + "parameters": [], + "src": "8509:2:1" + }, + "returnParameters": { + "id": 432, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 431, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 438, + "src": "8535:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 430, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8535:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8534:6:1" + }, + "scope": 462, + "src": "8485:120:1", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 446, + "nodeType": "Block", + "src": "8896:45:1", + "statements": [ + { + "expression": { + "id": 444, + "name": "INITIALIZABLE_STORAGE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 208, + "src": "8913:21:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 443, + "id": 445, + "nodeType": "Return", + "src": "8906:28:1" + } + ] + }, + "documentation": { + "id": 439, + "nodeType": "StructuredDocumentation", + "src": "8611:203:1", + "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": 447, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_initializableStorageSlot", + "nameLocation": "8828:25:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 440, + "nodeType": "ParameterList", + "parameters": [], + "src": "8853:2:1" + }, + "returnParameters": { + "id": 443, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 442, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 447, + "src": "8887:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 441, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "8887:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "8886:9:1" + }, + "scope": 462, + "src": "8819:122:1", + "stateMutability": "pure", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 460, + "nodeType": "Block", + "src": "9161:115:1", + "statements": [ + { + "assignments": [ + 455 + ], + "declarations": [ + { + "constant": false, + "id": 455, + "mutability": "mutable", + "name": "slot", + "nameLocation": "9179:4:1", + "nodeType": "VariableDeclaration", + "scope": 460, + "src": "9171:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 454, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "9171:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 458, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 456, + "name": "_initializableStorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 447, + "src": "9186:25:1", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$__$returns$_t_bytes32_$", + "typeString": "function () pure returns (bytes32)" + } + }, + "id": 457, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9186:27:1", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9171:42:1" + }, + { + "AST": { + "nativeSrc": "9232:38:1", + "nodeType": "YulBlock", + "src": "9232:38:1", + "statements": [ + { + "nativeSrc": "9246:14:1", + "nodeType": "YulAssignment", + "src": "9246:14:1", + "value": { + "name": "slot", + "nativeSrc": "9256:4:1", + "nodeType": "YulIdentifier", + "src": "9256:4:1" + }, + "variableNames": [ + { + "name": "$.slot", + "nativeSrc": "9246:6:1", + "nodeType": "YulIdentifier", + "src": "9246:6:1" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 452, + "isOffset": false, + "isSlot": true, + "src": "9246:6:1", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 455, + "isOffset": false, + "isSlot": false, + "src": "9256:4:1", + "valueSize": 1 + } + ], + "id": 459, + "nodeType": "InlineAssembly", + "src": "9223:47:1" + } + ] + }, + "documentation": { + "id": 448, + "nodeType": "StructuredDocumentation", + "src": "8947:67:1", + "text": " @dev Returns a pointer to the storage namespace." + }, + "id": 461, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_getInitializableStorage", + "nameLocation": "9080:24:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 449, + "nodeType": "ParameterList", + "parameters": [], + "src": "9104:2:1" + }, + "returnParameters": { + "id": 453, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 452, + "mutability": "mutable", + "name": "$", + "nameLocation": "9158:1:1", + "nodeType": "VariableDeclaration", + "scope": 461, + "src": "9129:30:1", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage" + }, + "typeName": { + "id": 451, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 450, + "name": "InitializableStorage", + "nameLocations": [ + "9129:20:1" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 205, + "src": "9129:20:1" + }, + "referencedDeclaration": 205, + "src": "9129:20:1", + "typeDescriptions": { + "typeIdentifier": "t_struct$_InitializableStorage_$205_storage_ptr", + "typeString": "struct Initializable.InitializableStorage" + } + }, + "visibility": "internal" + } + ], + "src": "9128:32:1" + }, + "scope": 462, + "src": "9071:205:1", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 463, + "src": "2349:6929:1", + "usedErrors": [ + 211, + 214 + ], + "usedEvents": [ + 219 + ] + } + ], + "src": "113:9166:1" + }, + "id": 1 + }, + "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "exportedSymbols": { + "ERC1967Utils": [ + 1015 + ], + "IERC1822Proxiable": [ + 721 + ], + "Initializable": [ + 462 + ], + "UUPSUpgradeable": [ + 644 + ] + }, + "id": 645, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 464, + "literals": [ + "solidity", + "^", + "0.8", + ".22" + ], + "nodeType": "PragmaDirective", + "src": "115:24:2" + }, + { + "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC1822.sol", + "file": "@openzeppelin/contracts/interfaces/draft-IERC1822.sol", + "id": 466, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 645, + "sourceUnit": 722, + "src": "141:88:2", + "symbolAliases": [ + { + "foreign": { + "id": 465, + "name": "IERC1822Proxiable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 721, + "src": "149:17:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol", + "file": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol", + "id": 468, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 645, + "sourceUnit": 1016, + "src": "230:84:2", + "symbolAliases": [ + { + "foreign": { + "id": 467, + "name": "ERC1967Utils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1015, + "src": "238:12:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "./Initializable.sol", + "id": 470, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 645, + "sourceUnit": 463, + "src": "315:50:2", + "symbolAliases": [ + { + "foreign": { + "id": 469, + "name": "Initializable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 462, + "src": "323:13:2", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 472, + "name": "Initializable", + "nameLocations": [ + "1023:13:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 462, + "src": "1023:13:2" + }, + "id": 473, + "nodeType": "InheritanceSpecifier", + "src": "1023:13:2" + }, + { + "baseName": { + "id": 474, + "name": "IERC1822Proxiable", + "nameLocations": [ + "1038:17:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 721, + "src": "1038:17:2" + }, + "id": 475, + "nodeType": "InheritanceSpecifier", + "src": "1038:17:2" + } + ], + "canonicalName": "UUPSUpgradeable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 471, + "nodeType": "StructuredDocumentation", + "src": "367:618:2", + "text": " @dev An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an\n {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy.\n A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is\n reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing\n `UUPSUpgradeable` with a custom implementation of upgrades.\n The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism." + }, + "fullyImplemented": false, + "id": 644, + "linearizedBaseContracts": [ + 644, + 721, + 462 + ], + "name": "UUPSUpgradeable", + "nameLocation": "1004:15:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "documentation": { + "id": 476, + "nodeType": "StructuredDocumentation", + "src": "1062:61:2", + "text": "@custom:oz-upgrades-unsafe-allow state-variable-immutable" + }, + "id": 482, + "mutability": "immutable", + "name": "__self", + "nameLocation": "1154:6:2", + "nodeType": "VariableDeclaration", + "scope": 644, + "src": "1128:48:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 477, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1128:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "arguments": [ + { + "id": 480, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1171:4:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_UUPSUpgradeable_$644", + "typeString": "contract UUPSUpgradeable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_UUPSUpgradeable_$644", + "typeString": "contract UUPSUpgradeable" + } + ], + "id": 479, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1163:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 478, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1163:7:2", + "typeDescriptions": {} + } + }, + "id": 481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1163:13:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "constant": true, + "documentation": { + "id": 483, + "nodeType": "StructuredDocumentation", + "src": "1183:631:2", + "text": " @dev The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)`\n and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called,\n while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string.\n If the getter returns `\"5.0.0\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must\n be the empty byte string if no function should be called, making it impossible to invoke the `receive` function\n during an upgrade." + }, + "functionSelector": "ad3cb1cc", + "id": 486, + "mutability": "constant", + "name": "UPGRADE_INTERFACE_VERSION", + "nameLocation": "1842:25:2", + "nodeType": "VariableDeclaration", + "scope": 644, + "src": "1819:58:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 484, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1819:6:2", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "value": { + "hexValue": "352e302e30", + "id": 485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1870:7:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2ade050ecfcf8ae20ae1d10a23573f9d7e0bad85e74a2cf8338a65401e64558c", + "typeString": "literal_string \"5.0.0\"" + }, + "value": "5.0.0" + }, + "visibility": "public" + }, + { + "documentation": { + "id": 487, + "nodeType": "StructuredDocumentation", + "src": "1884:65:2", + "text": " @dev The call is from an unauthorized context." + }, + "errorSelector": "e07c8dba", + "id": 489, + "name": "UUPSUnauthorizedCallContext", + "nameLocation": "1960:27:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 488, + "nodeType": "ParameterList", + "parameters": [], + "src": "1987:2:2" + }, + "src": "1954:36:2" + }, + { + "documentation": { + "id": 490, + "nodeType": "StructuredDocumentation", + "src": "1996:68:2", + "text": " @dev The storage `slot` is unsupported as a UUID." + }, + "errorSelector": "aa1d49a4", + "id": 494, + "name": "UUPSUnsupportedProxiableUUID", + "nameLocation": "2075:28:2", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 493, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 492, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2112:4:2", + "nodeType": "VariableDeclaration", + "scope": 494, + "src": "2104:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 491, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2104:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2103:14:2" + }, + "src": "2069:49:2" + }, + { + "body": { + "id": 501, + "nodeType": "Block", + "src": "2645:41:2", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 497, + "name": "_checkProxy", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 576, + "src": "2655:11:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2655:13:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 499, + "nodeType": "ExpressionStatement", + "src": "2655:13:2" + }, + { + "id": 500, + "nodeType": "PlaceholderStatement", + "src": "2678:1:2" + } + ] + }, + "documentation": { + "id": 495, + "nodeType": "StructuredDocumentation", + "src": "2124:495:2", + "text": " @dev Check that the execution is being performed through a delegatecall call and that the execution context is\n a proxy contract with an implementation (as defined in ERC-1967) pointing to self. This should only be the case\n for UUPS and transparent proxies that are using the current contract as their implementation. Execution of a\n function through ERC-1167 minimal proxies (clones) would not normally pass this test, but is not guaranteed to\n fail." + }, + "id": 502, + "name": "onlyProxy", + "nameLocation": "2633:9:2", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 496, + "nodeType": "ParameterList", + "parameters": [], + "src": "2642:2:2" + }, + "src": "2624:62:2", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 509, + "nodeType": "Block", + "src": "2916:48:2", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 505, + "name": "_checkNotDelegated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 592, + "src": "2926:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$__$", + "typeString": "function () view" + } + }, + "id": 506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2926:20:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 507, + "nodeType": "ExpressionStatement", + "src": "2926:20:2" + }, + { + "id": 508, + "nodeType": "PlaceholderStatement", + "src": "2956:1:2" + } + ] + }, + "documentation": { + "id": 503, + "nodeType": "StructuredDocumentation", + "src": "2692:195:2", + "text": " @dev Check that the execution is not being performed through a delegate call. This allows a function to be\n callable on the implementing contract but not through proxies." + }, + "id": 510, + "name": "notDelegated", + "nameLocation": "2901:12:2", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 504, + "nodeType": "ParameterList", + "parameters": [], + "src": "2913:2:2" + }, + "src": "2892:72:2", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 515, + "nodeType": "Block", + "src": "3030:7:2", + "statements": [] + }, + "id": 516, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 513, + "kind": "modifierInvocation", + "modifierName": { + "id": 512, + "name": "onlyInitializing", + "nameLocations": [ + "3013:16:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 357, + "src": "3013:16:2" + }, + "nodeType": "ModifierInvocation", + "src": "3013:16:2" + } + ], + "name": "__UUPSUpgradeable_init", + "nameLocation": "2979:22:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 511, + "nodeType": "ParameterList", + "parameters": [], + "src": "3001:2:2" + }, + "returnParameters": { + "id": 514, + "nodeType": "ParameterList", + "parameters": [], + "src": "3030:0:2" + }, + "scope": 644, + "src": "2970:67:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 521, + "nodeType": "Block", + "src": "3113:7:2", + "statements": [] + }, + "id": 522, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 519, + "kind": "modifierInvocation", + "modifierName": { + "id": 518, + "name": "onlyInitializing", + "nameLocations": [ + "3096:16:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 357, + "src": "3096:16:2" + }, + "nodeType": "ModifierInvocation", + "src": "3096:16:2" + } + ], + "name": "__UUPSUpgradeable_init_unchained", + "nameLocation": "3052:32:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 517, + "nodeType": "ParameterList", + "parameters": [], + "src": "3084:2:2" + }, + "returnParameters": { + "id": 520, + "nodeType": "ParameterList", + "parameters": [], + "src": "3113:0:2" + }, + "scope": 644, + "src": "3043:77:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 720 + ], + "body": { + "id": 533, + "nodeType": "Block", + "src": "3786:56:2", + "statements": [ + { + "expression": { + "expression": { + "id": 530, + "name": "ERC1967Utils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1015, + "src": "3803:12:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1015_$", + "typeString": "type(library ERC1967Utils)" + } + }, + "id": 531, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3816:19:2", + "memberName": "IMPLEMENTATION_SLOT", + "nodeType": "MemberAccess", + "referencedDeclaration": 736, + "src": "3803:32:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 529, + "id": 532, + "nodeType": "Return", + "src": "3796:39:2" + } + ] + }, + "documentation": { + "id": 523, + "nodeType": "StructuredDocumentation", + "src": "3125:578:2", + "text": " @dev Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the\n implementation. It is used to validate the implementation's compatibility when performing an upgrade.\n IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier." + }, + "functionSelector": "52d1902d", + "id": 534, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 526, + "kind": "modifierInvocation", + "modifierName": { + "id": 525, + "name": "notDelegated", + "nameLocations": [ + "3755:12:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 510, + "src": "3755:12:2" + }, + "nodeType": "ModifierInvocation", + "src": "3755:12:2" + } + ], + "name": "proxiableUUID", + "nameLocation": "3717:13:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 524, + "nodeType": "ParameterList", + "parameters": [], + "src": "3730:2:2" + }, + "returnParameters": { + "id": 529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 528, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 534, + "src": "3777:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 527, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3777:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3776:9:2" + }, + "scope": 644, + "src": "3708:134:2", + "stateMutability": "view", + "virtual": true, + "visibility": "external" + }, + { + "body": { + "id": 553, + "nodeType": "Block", + "src": "4266:109:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 545, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 537, + "src": "4294:17:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 544, + "name": "_authorizeUpgrade", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 598, + "src": "4276:17:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4276:36:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 547, + "nodeType": "ExpressionStatement", + "src": "4276:36:2" + }, + { + "expression": { + "arguments": [ + { + "id": 549, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 537, + "src": "4344:17:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 550, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 539, + "src": "4363:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 548, + "name": "_upgradeToAndCallUUPS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 643, + "src": "4322:21:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,bytes memory)" + } + }, + "id": 551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4322:46:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 552, + "nodeType": "ExpressionStatement", + "src": "4322:46:2" + } + ] + }, + "documentation": { + "id": 535, + "nodeType": "StructuredDocumentation", + "src": "3848:308:2", + "text": " @dev Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call\n encoded in `data`.\n Calls {_authorizeUpgrade}.\n Emits an {Upgraded} event.\n @custom:oz-upgrades-unsafe-allow-reachable delegatecall" + }, + "functionSelector": "4f1ef286", + "id": 554, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 542, + "kind": "modifierInvocation", + "modifierName": { + "id": 541, + "name": "onlyProxy", + "nameLocations": [ + "4256:9:2" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 502, + "src": "4256:9:2" + }, + "nodeType": "ModifierInvocation", + "src": "4256:9:2" + } + ], + "name": "upgradeToAndCall", + "nameLocation": "4170:16:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 537, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "4195:17:2", + "nodeType": "VariableDeclaration", + "scope": 554, + "src": "4187:25:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 536, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4187:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 539, + "mutability": "mutable", + "name": "data", + "nameLocation": "4227:4:2", + "nodeType": "VariableDeclaration", + "scope": 554, + "src": "4214:17:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 538, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4214:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4186:46:2" + }, + "returnParameters": { + "id": 543, + "nodeType": "ParameterList", + "parameters": [], + "src": "4266:0:2" + }, + "scope": 644, + "src": "4161:214:2", + "stateMutability": "payable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 575, + "nodeType": "Block", + "src": "4623:267:2", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 560, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "4658:4:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_UUPSUpgradeable_$644", + "typeString": "contract UUPSUpgradeable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_UUPSUpgradeable_$644", + "typeString": "contract UUPSUpgradeable" + } + ], + "id": 559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4650:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 558, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4650:7:2", + "typeDescriptions": {} + } + }, + "id": 561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4650:13:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 562, + "name": "__self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 482, + "src": "4667:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4650:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 568, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 564, + "name": "ERC1967Utils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1015, + "src": "4728:12:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1015_$", + "typeString": "type(library ERC1967Utils)" + } + }, + "id": 565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4741:17:2", + "memberName": "getImplementation", + "nodeType": "MemberAccess", + "referencedDeclaration": 767, + "src": "4728:30:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4728:32:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 567, + "name": "__self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 482, + "src": "4764:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4728:42:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4650:120:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 574, + "nodeType": "IfStatement", + "src": "4633:251:2", + "trueBody": { + "id": 573, + "nodeType": "Block", + "src": "4823:61:2", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 570, + "name": "UUPSUnauthorizedCallContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 489, + "src": "4844:27:2", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4844:29:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 572, + "nodeType": "RevertStatement", + "src": "4837:36:2" + } + ] + } + } + ] + }, + "documentation": { + "id": 555, + "nodeType": "StructuredDocumentation", + "src": "4381:192:2", + "text": " @dev Reverts if the execution is not performed via delegatecall or the execution\n context is not of a proxy with an ERC-1967 compliant implementation pointing to self." + }, + "id": 576, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkProxy", + "nameLocation": "4587:11:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 556, + "nodeType": "ParameterList", + "parameters": [], + "src": "4598:2:2" + }, + "returnParameters": { + "id": 557, + "nodeType": "ParameterList", + "parameters": [], + "src": "4623:0:2" + }, + "scope": 644, + "src": "4578:312:2", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 591, + "nodeType": "Block", + "src": "5059:161:2", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [ + { + "id": 582, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "5081:4:2", + "typeDescriptions": { + "typeIdentifier": "t_contract$_UUPSUpgradeable_$644", + "typeString": "contract UUPSUpgradeable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_UUPSUpgradeable_$644", + "typeString": "contract UUPSUpgradeable" + } + ], + "id": 581, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5073:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5073:7:2", + "typeDescriptions": {} + } + }, + "id": 583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5073:13:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 584, + "name": "__self", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 482, + "src": "5090:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5073:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 590, + "nodeType": "IfStatement", + "src": "5069:145:2", + "trueBody": { + "id": 589, + "nodeType": "Block", + "src": "5098:116:2", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 586, + "name": "UUPSUnauthorizedCallContext", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 489, + "src": "5174:27:2", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5174:29:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 588, + "nodeType": "RevertStatement", + "src": "5167:36:2" + } + ] + } + } + ] + }, + "documentation": { + "id": 577, + "nodeType": "StructuredDocumentation", + "src": "4896:106:2", + "text": " @dev Reverts if the execution is performed via delegatecall.\n See {notDelegated}." + }, + "id": 592, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkNotDelegated", + "nameLocation": "5016:18:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 578, + "nodeType": "ParameterList", + "parameters": [], + "src": "5034:2:2" + }, + "returnParameters": { + "id": 579, + "nodeType": "ParameterList", + "parameters": [], + "src": "5059:0:2" + }, + "scope": 644, + "src": "5007:213:2", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "documentation": { + "id": 593, + "nodeType": "StructuredDocumentation", + "src": "5226:372:2", + "text": " @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract. Called by\n {upgradeToAndCall}.\n Normally, this function will use an xref:access.adoc[access control] modifier such as {Ownable-onlyOwner}.\n ```solidity\n function _authorizeUpgrade(address) internal onlyOwner {}\n ```" + }, + "id": 598, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "_authorizeUpgrade", + "nameLocation": "5612:17:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 596, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 595, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "5638:17:2", + "nodeType": "VariableDeclaration", + "scope": 598, + "src": "5630:25:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 594, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5630:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5629:27:2" + }, + "returnParameters": { + "id": 597, + "nodeType": "ParameterList", + "parameters": [], + "src": "5673:0:2" + }, + "scope": 644, + "src": "5603:71:2", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 642, + "nodeType": "Block", + "src": "6117:453:2", + "statements": [ + { + "clauses": [ + { + "block": { + "id": 631, + "nodeType": "Block", + "src": "6207:212:2", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "id": 617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 614, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 612, + "src": "6225:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 615, + "name": "ERC1967Utils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1015, + "src": "6233:12:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1015_$", + "typeString": "type(library ERC1967Utils)" + } + }, + "id": 616, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "6246:19:2", + "memberName": "IMPLEMENTATION_SLOT", + "nodeType": "MemberAccess", + "referencedDeclaration": 736, + "src": "6233:32:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6225:40:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 623, + "nodeType": "IfStatement", + "src": "6221:120:2", + "trueBody": { + "id": 622, + "nodeType": "Block", + "src": "6267:74:2", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 619, + "name": "slot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 612, + "src": "6321:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 618, + "name": "UUPSUnsupportedProxiableUUID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 494, + "src": "6292:28:2", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) pure" + } + }, + "id": 620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6292:34:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 621, + "nodeType": "RevertStatement", + "src": "6285:41:2" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "id": 627, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "6384:17:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 628, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 603, + "src": "6403:4:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 624, + "name": "ERC1967Utils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1015, + "src": "6354:12:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1015_$", + "typeString": "type(library ERC1967Utils)" + } + }, + "id": 626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6367:16:2", + "memberName": "upgradeToAndCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 830, + "src": "6354:29:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (address,bytes memory)" + } + }, + "id": 629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6354:54:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 630, + "nodeType": "ExpressionStatement", + "src": "6354:54:2" + } + ] + }, + "errorName": "", + "id": 632, + "nodeType": "TryCatchClause", + "parameters": { + "id": 613, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 612, + "mutability": "mutable", + "name": "slot", + "nameLocation": "6201:4:2", + "nodeType": "VariableDeclaration", + "scope": 632, + "src": "6193:12:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 611, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6193:7:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6192:14:2" + }, + "src": "6184:235:2" + }, + { + "block": { + "id": 639, + "nodeType": "Block", + "src": "6426:138:2", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 636, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "6535:17:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 633, + "name": "ERC1967Utils", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1015, + "src": "6493:12:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ERC1967Utils_$1015_$", + "typeString": "type(library ERC1967Utils)" + } + }, + "id": 635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6506:28:2", + "memberName": "ERC1967InvalidImplementation", + "nodeType": "MemberAccess", + "referencedDeclaration": 741, + "src": "6493:41:2", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 637, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6493:60:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 638, + "nodeType": "RevertStatement", + "src": "6486:67:2" + } + ] + }, + "errorName": "", + "id": 640, + "nodeType": "TryCatchClause", + "src": "6420:144:2" + } + ], + "externalCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 607, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 601, + "src": "6149:17:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 606, + "name": "IERC1822Proxiable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 721, + "src": "6131:17:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1822Proxiable_$721_$", + "typeString": "type(contract IERC1822Proxiable)" + } + }, + "id": 608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6131:36:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC1822Proxiable_$721", + "typeString": "contract IERC1822Proxiable" + } + }, + "id": 609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6168:13:2", + "memberName": "proxiableUUID", + "nodeType": "MemberAccess", + "referencedDeclaration": 720, + "src": "6131:50:2", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_bytes32_$", + "typeString": "function () view external returns (bytes32)" + } + }, + "id": 610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6131:52:2", + "tryCall": true, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 641, + "nodeType": "TryStatement", + "src": "6127:437:2" + } + ] + }, + "documentation": { + "id": 599, + "nodeType": "StructuredDocumentation", + "src": "5680:347:2", + "text": " @dev Performs an implementation upgrade with a security check for UUPS proxies, and additional setup call.\n As a security check, {proxiableUUID} is invoked in the new implementation, and the return value\n is expected to be the implementation slot in ERC-1967.\n Emits an {IERC1967-Upgraded} event." + }, + "id": 643, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_upgradeToAndCallUUPS", + "nameLocation": "6041:21:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 604, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 601, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "6071:17:2", + "nodeType": "VariableDeclaration", + "scope": 643, + "src": "6063:25:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 600, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6063:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 603, + "mutability": "mutable", + "name": "data", + "nameLocation": "6103:4:2", + "nodeType": "VariableDeclaration", + "scope": 643, + "src": "6090:17:2", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 602, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "6090:5:2", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "6062:46:2" + }, + "returnParameters": { + "id": 605, + "nodeType": "ParameterList", + "parameters": [], + "src": "6117:0:2" + }, + "scope": 644, + "src": "6032:538:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + } + ], + "scope": 645, + "src": "986:5586:2", + "usedErrors": [ + 211, + 214, + 489, + 494, + 741, + 754, + 1035, + 1298 + ], + "usedEvents": [ + 219, + 698 + ] + } + ], + "src": "115:6458:2" + }, + "id": 2 + }, + "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol", + "exportedSymbols": { + "ContextUpgradeable": [ + 690 + ], + "Initializable": [ + 462 + ] + }, + "id": 691, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 646, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "101:24:3" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "../proxy/utils/Initializable.sol", + "id": 648, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 691, + "sourceUnit": 463, + "src": "126:63:3", + "symbolAliases": [ + { + "foreign": { + "id": 647, + "name": "Initializable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 462, + "src": "134:13:3", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 650, + "name": "Initializable", + "nameLocations": [ + "728:13:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 462, + "src": "728:13:3" + }, + "id": 651, + "nodeType": "InheritanceSpecifier", + "src": "728:13:3" + } + ], + "canonicalName": "ContextUpgradeable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 649, + "nodeType": "StructuredDocumentation", + "src": "191:496:3", + "text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts." + }, + "fullyImplemented": true, + "id": 690, + "linearizedBaseContracts": [ + 690, + 462 + ], + "name": "ContextUpgradeable", + "nameLocation": "706:18:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 656, + "nodeType": "Block", + "src": "800:7:3", + "statements": [] + }, + "id": 657, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 654, + "kind": "modifierInvocation", + "modifierName": { + "id": 653, + "name": "onlyInitializing", + "nameLocations": [ + "783:16:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 357, + "src": "783:16:3" + }, + "nodeType": "ModifierInvocation", + "src": "783:16:3" + } + ], + "name": "__Context_init", + "nameLocation": "757:14:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 652, + "nodeType": "ParameterList", + "parameters": [], + "src": "771:2:3" + }, + "returnParameters": { + "id": 655, + "nodeType": "ParameterList", + "parameters": [], + "src": "800:0:3" + }, + "scope": 690, + "src": "748:59:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 662, + "nodeType": "Block", + "src": "875:7:3", + "statements": [] + }, + "id": 663, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 660, + "kind": "modifierInvocation", + "modifierName": { + "id": 659, + "name": "onlyInitializing", + "nameLocations": [ + "858:16:3" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 357, + "src": "858:16:3" + }, + "nodeType": "ModifierInvocation", + "src": "858:16:3" + } + ], + "name": "__Context_init_unchained", + "nameLocation": "822:24:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 658, + "nodeType": "ParameterList", + "parameters": [], + "src": "846:2:3" + }, + "returnParameters": { + "id": 661, + "nodeType": "ParameterList", + "parameters": [], + "src": "875:0:3" + }, + "scope": 690, + "src": "813:69:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 671, + "nodeType": "Block", + "src": "949:34:3", + "statements": [ + { + "expression": { + "expression": { + "id": 668, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "966:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "970:6:3", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "966:10:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 667, + "id": 670, + "nodeType": "Return", + "src": "959:17:3" + } + ] + }, + "id": 672, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nameLocation": "896:10:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 664, + "nodeType": "ParameterList", + "parameters": [], + "src": "906:2:3" + }, + "returnParameters": { + "id": 667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 666, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 672, + "src": "940:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 665, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "940:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "939:9:3" + }, + "scope": 690, + "src": "887:96:3", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 680, + "nodeType": "Block", + "src": "1056:32:3", + "statements": [ + { + "expression": { + "expression": { + "id": 677, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1073:3:3", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1077:4:3", + "memberName": "data", + "nodeType": "MemberAccess", + "src": "1073:8:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 676, + "id": 679, + "nodeType": "Return", + "src": "1066:15:3" + } + ] + }, + "id": 681, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nameLocation": "998:8:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 673, + "nodeType": "ParameterList", + "parameters": [], + "src": "1006:2:3" + }, + "returnParameters": { + "id": 676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 675, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 681, + "src": "1040:14:3", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 674, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1040:5:3", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1039:16:3" + }, + "scope": 690, + "src": "989:99:3", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 688, + "nodeType": "Block", + "src": "1166:25:3", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 686, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1183:1:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "functionReturnParameters": 685, + "id": 687, + "nodeType": "Return", + "src": "1176:8:3" + } + ] + }, + "id": 689, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_contextSuffixLength", + "nameLocation": "1103:20:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 682, + "nodeType": "ParameterList", + "parameters": [], + "src": "1123:2:3" + }, + "returnParameters": { + "id": 685, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 684, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 689, + "src": "1157:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 683, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1157:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1156:9:3" + }, + "scope": 690, + "src": "1094:97:3", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 691, + "src": "688:505:3", + "usedErrors": [ + 211, + 214 + ], + "usedEvents": [ + 219 + ] + } + ], + "src": "101:1093:3" + }, + "id": 3 + }, + "@openzeppelin/contracts/interfaces/IERC1967.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/interfaces/IERC1967.sol", + "exportedSymbols": { + "IERC1967": [ + 711 + ] + }, + "id": 712, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 692, + "literals": [ + "solidity", + ">=", + "0.4", + ".11" + ], + "nodeType": "PragmaDirective", + "src": "107:25:4" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC1967", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 693, + "nodeType": "StructuredDocumentation", + "src": "134:101:4", + "text": " @dev ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC." + }, + "fullyImplemented": true, + "id": 711, + "linearizedBaseContracts": [ + 711 + ], + "name": "IERC1967", + "nameLocation": "246:8:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 694, + "nodeType": "StructuredDocumentation", + "src": "261:68:4", + "text": " @dev Emitted when the implementation is upgraded." + }, + "eventSelector": "bc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b", + "id": 698, + "name": "Upgraded", + "nameLocation": "340:8:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 697, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 696, + "indexed": true, + "mutability": "mutable", + "name": "implementation", + "nameLocation": "365:14:4", + "nodeType": "VariableDeclaration", + "scope": 698, + "src": "349:30:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 695, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "349:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "348:32:4" + }, + "src": "334:47:4" + }, + { + "anonymous": false, + "documentation": { + "id": 699, + "nodeType": "StructuredDocumentation", + "src": "387:67:4", + "text": " @dev Emitted when the admin account has changed." + }, + "eventSelector": "7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f", + "id": 705, + "name": "AdminChanged", + "nameLocation": "465:12:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 704, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 701, + "indexed": false, + "mutability": "mutable", + "name": "previousAdmin", + "nameLocation": "486:13:4", + "nodeType": "VariableDeclaration", + "scope": 705, + "src": "478:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 700, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "478:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 703, + "indexed": false, + "mutability": "mutable", + "name": "newAdmin", + "nameLocation": "509:8:4", + "nodeType": "VariableDeclaration", + "scope": 705, + "src": "501:16:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 702, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "501:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "477:41:4" + }, + "src": "459:60:4" + }, + { + "anonymous": false, + "documentation": { + "id": 706, + "nodeType": "StructuredDocumentation", + "src": "525:59:4", + "text": " @dev Emitted when the beacon is changed." + }, + "eventSelector": "1cf3b03a6cf19fa2baba4df148e9dcabedea7f8a5c07840e207e5c089be95d3e", + "id": 710, + "name": "BeaconUpgraded", + "nameLocation": "595:14:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 708, + "indexed": true, + "mutability": "mutable", + "name": "beacon", + "nameLocation": "626:6:4", + "nodeType": "VariableDeclaration", + "scope": 710, + "src": "610:22:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 707, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "610:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "609:24:4" + }, + "src": "589:45:4" + } + ], + "scope": 712, + "src": "236:400:4", + "usedErrors": [], + "usedEvents": [ + 698, + 705, + 710 + ] + } + ], + "src": "107:530:4" + }, + "id": 4 + }, + "@openzeppelin/contracts/interfaces/draft-IERC1822.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/interfaces/draft-IERC1822.sol", + "exportedSymbols": { + "IERC1822Proxiable": [ + 721 + ] + }, + "id": 722, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 713, + "literals": [ + "solidity", + ">=", + "0.4", + ".16" + ], + "nodeType": "PragmaDirective", + "src": "113:25:5" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IERC1822Proxiable", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 714, + "nodeType": "StructuredDocumentation", + "src": "140:204:5", + "text": " @dev ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified\n proxy whose upgrades are fully controlled by the current implementation." + }, + "fullyImplemented": false, + "id": 721, + "linearizedBaseContracts": [ + 721 + ], + "name": "IERC1822Proxiable", + "nameLocation": "355:17:5", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 715, + "nodeType": "StructuredDocumentation", + "src": "379:438:5", + "text": " @dev Returns the storage slot that the proxiable contract assumes is being used to store the implementation\n address.\n IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks\n bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this\n function revert if invoked through a proxy." + }, + "functionSelector": "52d1902d", + "id": 720, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "proxiableUUID", + "nameLocation": "831:13:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 716, + "nodeType": "ParameterList", + "parameters": [], + "src": "844:2:5" + }, + "returnParameters": { + "id": 719, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 718, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 720, + "src": "870:7:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 717, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "870:7:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "869:9:5" + }, + "scope": 721, + "src": "822:57:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 722, + "src": "345:536:5", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "113:769:5" + }, + "id": 5 + }, + "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol", + "exportedSymbols": { + "Address": [ + 1285 + ], + "ERC1967Utils": [ + 1015 + ], + "IBeacon": [ + 1025 + ], + "IERC1967": [ + 711 + ], + "StorageSlot": [ + 1431 + ] + }, + "id": 1016, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 723, + "literals": [ + "solidity", + "^", + "0.8", + ".21" + ], + "nodeType": "PragmaDirective", + "src": "114:24:6" + }, + { + "absolutePath": "@openzeppelin/contracts/proxy/beacon/IBeacon.sol", + "file": "../beacon/IBeacon.sol", + "id": 725, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1016, + "sourceUnit": 1026, + "src": "140:46:6", + "symbolAliases": [ + { + "foreign": { + "id": 724, + "name": "IBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1025, + "src": "148:7:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/interfaces/IERC1967.sol", + "file": "../../interfaces/IERC1967.sol", + "id": 727, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1016, + "sourceUnit": 712, + "src": "187:55:6", + "symbolAliases": [ + { + "foreign": { + "id": 726, + "name": "IERC1967", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 711, + "src": "195:8:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Address.sol", + "file": "../../utils/Address.sol", + "id": 729, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1016, + "sourceUnit": 1286, + "src": "243:48:6", + "symbolAliases": [ + { + "foreign": { + "id": 728, + "name": "Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1285, + "src": "251:7:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/StorageSlot.sol", + "file": "../../utils/StorageSlot.sol", + "id": 731, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1016, + "sourceUnit": 1432, + "src": "292:56:6", + "symbolAliases": [ + { + "foreign": { + "id": 730, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "300:11:6", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "ERC1967Utils", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 732, + "nodeType": "StructuredDocumentation", + "src": "350:145:6", + "text": " @dev This library provides getters and event emitting update functions for\n https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots." + }, + "fullyImplemented": true, + "id": 1015, + "linearizedBaseContracts": [ + 1015 + ], + "name": "ERC1967Utils", + "nameLocation": "504:12:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "documentation": { + "id": 733, + "nodeType": "StructuredDocumentation", + "src": "523:170:6", + "text": " @dev Storage slot with the address of the current implementation.\n This is the keccak-256 hash of \"eip1967.proxy.implementation\" subtracted by 1." + }, + "id": 736, + "mutability": "constant", + "name": "IMPLEMENTATION_SLOT", + "nameLocation": "789:19:6", + "nodeType": "VariableDeclaration", + "scope": 1015, + "src": "763:114:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 734, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "763:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "307833363038393461313362613161333231303636376338323834393264623938646361336532303736636333373335613932306133636135303564333832626263", + "id": 735, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "811:66:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_24440054405305269366569402256811496959409073762505157381672968839269610695612_by_1", + "typeString": "int_const 2444...(69 digits omitted)...5612" + }, + "value": "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" + }, + "visibility": "internal" + }, + { + "documentation": { + "id": 737, + "nodeType": "StructuredDocumentation", + "src": "884:69:6", + "text": " @dev The `implementation` of the proxy is invalid." + }, + "errorSelector": "4c9c8ce3", + "id": 741, + "name": "ERC1967InvalidImplementation", + "nameLocation": "964:28:6", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 740, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 739, + "mutability": "mutable", + "name": "implementation", + "nameLocation": "1001:14:6", + "nodeType": "VariableDeclaration", + "scope": 741, + "src": "993:22:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 738, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "993:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "992:24:6" + }, + "src": "958:59:6" + }, + { + "documentation": { + "id": 742, + "nodeType": "StructuredDocumentation", + "src": "1023:60:6", + "text": " @dev The `admin` of the proxy is invalid." + }, + "errorSelector": "62e77ba2", + "id": 746, + "name": "ERC1967InvalidAdmin", + "nameLocation": "1094:19:6", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 744, + "mutability": "mutable", + "name": "admin", + "nameLocation": "1122:5:6", + "nodeType": "VariableDeclaration", + "scope": 746, + "src": "1114:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 743, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1114:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1113:15:6" + }, + "src": "1088:41:6" + }, + { + "documentation": { + "id": 747, + "nodeType": "StructuredDocumentation", + "src": "1135:61:6", + "text": " @dev The `beacon` of the proxy is invalid." + }, + "errorSelector": "64ced0ec", + "id": 751, + "name": "ERC1967InvalidBeacon", + "nameLocation": "1207:20:6", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 750, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 749, + "mutability": "mutable", + "name": "beacon", + "nameLocation": "1236:6:6", + "nodeType": "VariableDeclaration", + "scope": 751, + "src": "1228:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 748, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1228:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1227:16:6" + }, + "src": "1201:43:6" + }, + { + "documentation": { + "id": 752, + "nodeType": "StructuredDocumentation", + "src": "1250:82:6", + "text": " @dev An upgrade function sees `msg.value > 0` that may be lost." + }, + "errorSelector": "b398979f", + "id": 754, + "name": "ERC1967NonPayable", + "nameLocation": "1343:17:6", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 753, + "nodeType": "ParameterList", + "parameters": [], + "src": "1360:2:6" + }, + "src": "1337:26:6" + }, + { + "body": { + "id": 766, + "nodeType": "Block", + "src": "1502:77:6", + "statements": [ + { + "expression": { + "expression": { + "arguments": [ + { + "id": 762, + "name": "IMPLEMENTATION_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 736, + "src": "1546:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 760, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "1519:11:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1431_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1531:14:6", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1342, + "src": "1519:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$1313_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 763, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1519:47:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1313_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "id": 764, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1567:5:6", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1312, + "src": "1519:53:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 759, + "id": 765, + "nodeType": "Return", + "src": "1512:60:6" + } + ] + }, + "documentation": { + "id": 755, + "nodeType": "StructuredDocumentation", + "src": "1369:67:6", + "text": " @dev Returns the current implementation address." + }, + "id": 767, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getImplementation", + "nameLocation": "1450:17:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 756, + "nodeType": "ParameterList", + "parameters": [], + "src": "1467:2:6" + }, + "returnParameters": { + "id": 759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 758, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 767, + "src": "1493:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1493:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1492:9:6" + }, + "scope": 1015, + "src": "1441:138:6", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 793, + "nodeType": "Block", + "src": "1734:218:6", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 773, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "1748:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1766:4:6", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "1748:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1771:6:6", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1748:29:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1781:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1748:34:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 783, + "nodeType": "IfStatement", + "src": "1744:119:6", + "trueBody": { + "id": 782, + "nodeType": "Block", + "src": "1784:79:6", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 779, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "1834:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 778, + "name": "ERC1967InvalidImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 741, + "src": "1805:28:6", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1805:47:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 781, + "nodeType": "RevertStatement", + "src": "1798:54:6" + } + ] + } + }, + { + "expression": { + "id": 791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "arguments": [ + { + "id": 787, + "name": "IMPLEMENTATION_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 736, + "src": "1899:19:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 784, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "1872:11:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1431_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1884:14:6", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1342, + "src": "1872:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$1313_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 788, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1872:47:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1313_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "id": 789, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "1920:5:6", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1312, + "src": "1872:53:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 790, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 770, + "src": "1928:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1872:73:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 792, + "nodeType": "ExpressionStatement", + "src": "1872:73:6" + } + ] + }, + "documentation": { + "id": 768, + "nodeType": "StructuredDocumentation", + "src": "1585:81:6", + "text": " @dev Stores a new address in the ERC-1967 implementation slot." + }, + "id": 794, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setImplementation", + "nameLocation": "1680:18:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 771, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 770, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "1707:17:6", + "nodeType": "VariableDeclaration", + "scope": 794, + "src": "1699:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1699:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1698:27:6" + }, + "returnParameters": { + "id": 772, + "nodeType": "ParameterList", + "parameters": [], + "src": "1734:0:6" + }, + "scope": 1015, + "src": "1671:281:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 829, + "nodeType": "Block", + "src": "2345:263:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 803, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 797, + "src": "2374:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 802, + "name": "_setImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 794, + "src": "2355:18:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2355:37:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 805, + "nodeType": "ExpressionStatement", + "src": "2355:37:6" + }, + { + "eventCall": { + "arguments": [ + { + "id": 809, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 797, + "src": "2425:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 806, + "name": "IERC1967", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 711, + "src": "2407:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1967_$711_$", + "typeString": "type(contract IERC1967)" + } + }, + "id": 808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2416:8:6", + "memberName": "Upgraded", + "nodeType": "MemberAccess", + "referencedDeclaration": 698, + "src": "2407:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 810, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2407:36:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 811, + "nodeType": "EmitStatement", + "src": "2402:41:6" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 812, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 799, + "src": "2458:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2463:6:6", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2458:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 814, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2472:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2458:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 827, + "nodeType": "Block", + "src": "2559:43:6", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 824, + "name": "_checkNonPayable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1014, + "src": "2573:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 825, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2573:18:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 826, + "nodeType": "ExpressionStatement", + "src": "2573:18:6" + } + ] + }, + "id": 828, + "nodeType": "IfStatement", + "src": "2454:148:6", + "trueBody": { + "id": 823, + "nodeType": "Block", + "src": "2475:78:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 819, + "name": "newImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 797, + "src": "2518:17:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 820, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 799, + "src": "2537:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 816, + "name": "Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1285, + "src": "2489:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Address_$1285_$", + "typeString": "type(library Address)" + } + }, + "id": 818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2497:20:6", + "memberName": "functionDelegateCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 1202, + "src": "2489:28:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory) returns (bytes memory)" + } + }, + "id": 821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2489:53:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 822, + "nodeType": "ExpressionStatement", + "src": "2489:53:6" + } + ] + } + } + ] + }, + "documentation": { + "id": 795, + "nodeType": "StructuredDocumentation", + "src": "1958:301:6", + "text": " @dev Performs implementation upgrade with additional setup call if data is nonempty.\n This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n to avoid stuck value in the contract.\n Emits an {IERC1967-Upgraded} event." + }, + "id": 830, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "upgradeToAndCall", + "nameLocation": "2273:16:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 800, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 797, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "2298:17:6", + "nodeType": "VariableDeclaration", + "scope": 830, + "src": "2290:25:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 796, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2290:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 799, + "mutability": "mutable", + "name": "data", + "nameLocation": "2330:4:6", + "nodeType": "VariableDeclaration", + "scope": 830, + "src": "2317:17:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 798, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2317:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2289:46:6" + }, + "returnParameters": { + "id": 801, + "nodeType": "ParameterList", + "parameters": [], + "src": "2345:0:6" + }, + "scope": 1015, + "src": "2264:344:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 831, + "nodeType": "StructuredDocumentation", + "src": "2614:145:6", + "text": " @dev Storage slot with the admin of the contract.\n This is the keccak-256 hash of \"eip1967.proxy.admin\" subtracted by 1." + }, + "id": 834, + "mutability": "constant", + "name": "ADMIN_SLOT", + "nameLocation": "2855:10:6", + "nodeType": "VariableDeclaration", + "scope": 1015, + "src": "2829:105:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 832, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2829:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "307862353331323736383461353638623331373361653133623966386136303136653234336536336236653865653131373864366137313738353062356436313033", + "id": 833, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2868:66:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_81955473079516046949633743016697847541294818689821282749996681496272635257091_by_1", + "typeString": "int_const 8195...(69 digits omitted)...7091" + }, + "value": "0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103" + }, + "visibility": "internal" + }, + { + "body": { + "id": 846, + "nodeType": "Block", + "src": "3339:68:6", + "statements": [ + { + "expression": { + "expression": { + "arguments": [ + { + "id": 842, + "name": "ADMIN_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 834, + "src": "3383:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 840, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "3356:11:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1431_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3368:14:6", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1342, + "src": "3356:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$1313_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3356:38:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1313_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "id": 844, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3395:5:6", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1312, + "src": "3356:44:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 839, + "id": 845, + "nodeType": "Return", + "src": "3349:51:6" + } + ] + }, + "documentation": { + "id": 835, + "nodeType": "StructuredDocumentation", + "src": "2941:341:6", + "text": " @dev Returns the current admin.\n TIP: To get this value clients can read directly from the storage slot shown below (specified by ERC-1967) using\n the https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.\n `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`" + }, + "id": 847, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAdmin", + "nameLocation": "3296:8:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 836, + "nodeType": "ParameterList", + "parameters": [], + "src": "3304:2:6" + }, + "returnParameters": { + "id": 839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 838, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 847, + "src": "3330:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3330:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3329:9:6" + }, + "scope": 1015, + "src": "3287:120:6", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 877, + "nodeType": "Block", + "src": "3535:172:6", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 853, + "name": "newAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 850, + "src": "3549:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3569:1:6", + "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": 855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3561:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 854, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3561:7:6", + "typeDescriptions": {} + } + }, + "id": 857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3561:10:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3549:22:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 867, + "nodeType": "IfStatement", + "src": "3545:91:6", + "trueBody": { + "id": 866, + "nodeType": "Block", + "src": "3573:63:6", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 862, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3622:1:6", + "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": 861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3614:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 860, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3614:7:6", + "typeDescriptions": {} + } + }, + "id": 863, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3614:10:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 859, + "name": "ERC1967InvalidAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 746, + "src": "3594:19:6", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3594:31:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 865, + "nodeType": "RevertStatement", + "src": "3587:38:6" + } + ] + } + }, + { + "expression": { + "id": 875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "arguments": [ + { + "id": 871, + "name": "ADMIN_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 834, + "src": "3672:10:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 868, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "3645:11:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1431_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3657:14:6", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1342, + "src": "3645:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$1313_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3645:38:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1313_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "id": 873, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3684:5:6", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1312, + "src": "3645:44:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 874, + "name": "newAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 850, + "src": "3692:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3645:55:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 876, + "nodeType": "ExpressionStatement", + "src": "3645:55:6" + } + ] + }, + "documentation": { + "id": 848, + "nodeType": "StructuredDocumentation", + "src": "3413:72:6", + "text": " @dev Stores a new address in the ERC-1967 admin slot." + }, + "id": 878, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setAdmin", + "nameLocation": "3499:9:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 850, + "mutability": "mutable", + "name": "newAdmin", + "nameLocation": "3517:8:6", + "nodeType": "VariableDeclaration", + "scope": 878, + "src": "3509:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 849, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3509:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3508:18:6" + }, + "returnParameters": { + "id": 852, + "nodeType": "ParameterList", + "parameters": [], + "src": "3535:0:6" + }, + "scope": 1015, + "src": "3490:217:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 896, + "nodeType": "Block", + "src": "3875:94:6", + "statements": [ + { + "eventCall": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 887, + "name": "getAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 847, + "src": "3912:8:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3912:10:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 889, + "name": "newAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 881, + "src": "3924:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 884, + "name": "IERC1967", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 711, + "src": "3890:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1967_$711_$", + "typeString": "type(contract IERC1967)" + } + }, + "id": 886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3899:12:6", + "memberName": "AdminChanged", + "nodeType": "MemberAccess", + "referencedDeclaration": 705, + "src": "3890:21:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 890, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3890:43:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 891, + "nodeType": "EmitStatement", + "src": "3885:48:6" + }, + { + "expression": { + "arguments": [ + { + "id": 893, + "name": "newAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 881, + "src": "3953:8:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 892, + "name": "_setAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 878, + "src": "3943:9:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 894, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3943:19:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 895, + "nodeType": "ExpressionStatement", + "src": "3943:19:6" + } + ] + }, + "documentation": { + "id": 879, + "nodeType": "StructuredDocumentation", + "src": "3713:109:6", + "text": " @dev Changes the admin of the proxy.\n Emits an {IERC1967-AdminChanged} event." + }, + "id": 897, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "changeAdmin", + "nameLocation": "3836:11:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 881, + "mutability": "mutable", + "name": "newAdmin", + "nameLocation": "3856:8:6", + "nodeType": "VariableDeclaration", + "scope": 897, + "src": "3848:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 880, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3848:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3847:18:6" + }, + "returnParameters": { + "id": 883, + "nodeType": "ParameterList", + "parameters": [], + "src": "3875:0:6" + }, + "scope": 1015, + "src": "3827:142:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "constant": true, + "documentation": { + "id": 898, + "nodeType": "StructuredDocumentation", + "src": "3975:201:6", + "text": " @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy.\n This is the keccak-256 hash of \"eip1967.proxy.beacon\" subtracted by 1." + }, + "id": 901, + "mutability": "constant", + "name": "BEACON_SLOT", + "nameLocation": "4272:11:6", + "nodeType": "VariableDeclaration", + "scope": 1015, + "src": "4246:106:6", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 899, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4246:7:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "307861336630616437346535343233616562666438306433656634333436353738333335613961373261656165653539666636636233353832623335313333643530", + "id": 900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4286:66:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_74152234768234802001998023604048924213078445070507226371336425913862612794704_by_1", + "typeString": "int_const 7415...(69 digits omitted)...4704" + }, + "value": "0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50" + }, + "visibility": "internal" + }, + { + "body": { + "id": 913, + "nodeType": "Block", + "src": "4468:69:6", + "statements": [ + { + "expression": { + "expression": { + "arguments": [ + { + "id": 909, + "name": "BEACON_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 901, + "src": "4512:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 907, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "4485:11:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1431_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4497:14:6", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1342, + "src": "4485:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$1313_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 910, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4485:39:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1313_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "id": 911, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4525:5:6", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1312, + "src": "4485:45:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 906, + "id": 912, + "nodeType": "Return", + "src": "4478:52:6" + } + ] + }, + "documentation": { + "id": 902, + "nodeType": "StructuredDocumentation", + "src": "4359:51:6", + "text": " @dev Returns the current beacon." + }, + "id": 914, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBeacon", + "nameLocation": "4424:9:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 903, + "nodeType": "ParameterList", + "parameters": [], + "src": "4433:2:6" + }, + "returnParameters": { + "id": 906, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 905, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 914, + "src": "4459:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 904, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4459:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4458:9:6" + }, + "scope": 1015, + "src": "4415:122:6", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 959, + "nodeType": "Block", + "src": "4667:390:6", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 920, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 917, + "src": "4681:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4691:4:6", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4681:14:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4696:6:6", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4681:21:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4706:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4681:26:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 930, + "nodeType": "IfStatement", + "src": "4677:95:6", + "trueBody": { + "id": 929, + "nodeType": "Block", + "src": "4709:63:6", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 926, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 917, + "src": "4751:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 925, + "name": "ERC1967InvalidBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 751, + "src": "4730:20:6", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4730:31:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 928, + "nodeType": "RevertStatement", + "src": "4723:38:6" + } + ] + } + }, + { + "expression": { + "id": 938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "arguments": [ + { + "id": 934, + "name": "BEACON_SLOT", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 901, + "src": "4809:11:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 931, + "name": "StorageSlot", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1431, + "src": "4782:11:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_StorageSlot_$1431_$", + "typeString": "type(library StorageSlot)" + } + }, + "id": 933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4794:14:6", + "memberName": "getAddressSlot", + "nodeType": "MemberAccess", + "referencedDeclaration": 1342, + "src": "4782:26:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes32_$returns$_t_struct$_AddressSlot_$1313_storage_ptr_$", + "typeString": "function (bytes32) pure returns (struct StorageSlot.AddressSlot storage pointer)" + } + }, + "id": 935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4782:39:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1313_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot storage pointer" + } + }, + "id": 936, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4822:5:6", + "memberName": "value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1312, + "src": "4782:45:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 937, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 917, + "src": "4830:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4782:57:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 939, + "nodeType": "ExpressionStatement", + "src": "4782:57:6" + }, + { + "assignments": [ + 941 + ], + "declarations": [ + { + "constant": false, + "id": 941, + "mutability": "mutable", + "name": "beaconImplementation", + "nameLocation": "4858:20:6", + "nodeType": "VariableDeclaration", + "scope": 959, + "src": "4850:28:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 940, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4850:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 947, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 943, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 917, + "src": "4889:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 942, + "name": "IBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1025, + "src": "4881:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IBeacon_$1025_$", + "typeString": "type(contract IBeacon)" + } + }, + "id": 944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4881:18:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IBeacon_$1025", + "typeString": "contract IBeacon" + } + }, + "id": 945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4900:14:6", + "memberName": "implementation", + "nodeType": "MemberAccess", + "referencedDeclaration": 1024, + "src": "4881:33:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 946, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4881:35:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4850:66:6" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 948, + "name": "beaconImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 941, + "src": "4930:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4951:4:6", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4930:25:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4956:6:6", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4930:32:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 951, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4966:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4930:37:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 958, + "nodeType": "IfStatement", + "src": "4926:125:6", + "trueBody": { + "id": 957, + "nodeType": "Block", + "src": "4969:82:6", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 954, + "name": "beaconImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 941, + "src": "5019:20:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 953, + "name": "ERC1967InvalidImplementation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 741, + "src": "4990:28:6", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4990:50:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 956, + "nodeType": "RevertStatement", + "src": "4983:57:6" + } + ] + } + } + ] + }, + "documentation": { + "id": 915, + "nodeType": "StructuredDocumentation", + "src": "4543:72:6", + "text": " @dev Stores a new beacon in the ERC-1967 beacon slot." + }, + "id": 960, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setBeacon", + "nameLocation": "4629:10:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 918, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 917, + "mutability": "mutable", + "name": "newBeacon", + "nameLocation": "4648:9:6", + "nodeType": "VariableDeclaration", + "scope": 960, + "src": "4640:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 916, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4640:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4639:19:6" + }, + "returnParameters": { + "id": 919, + "nodeType": "ParameterList", + "parameters": [], + "src": "4667:0:6" + }, + "scope": 1015, + "src": "4620:437:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 999, + "nodeType": "Block", + "src": "5661:263:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 969, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "5682:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 968, + "name": "_setBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 960, + "src": "5671:10:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5671:21:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 971, + "nodeType": "ExpressionStatement", + "src": "5671:21:6" + }, + { + "eventCall": { + "arguments": [ + { + "id": 975, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "5731:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 972, + "name": "IERC1967", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 711, + "src": "5707:8:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC1967_$711_$", + "typeString": "type(contract IERC1967)" + } + }, + "id": 974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5716:14:6", + "memberName": "BeaconUpgraded", + "nodeType": "MemberAccess", + "referencedDeclaration": 710, + "src": "5707:23:6", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5707:34:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 977, + "nodeType": "EmitStatement", + "src": "5702:39:6" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 978, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 965, + "src": "5756:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5761:6:6", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5756:11:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5770:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5756:15:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 997, + "nodeType": "Block", + "src": "5875:43:6", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 994, + "name": "_checkNonPayable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1014, + "src": "5889:16:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5889:18:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 996, + "nodeType": "ExpressionStatement", + "src": "5889:18:6" + } + ] + }, + "id": 998, + "nodeType": "IfStatement", + "src": "5752:166:6", + "trueBody": { + "id": 993, + "nodeType": "Block", + "src": "5773:96:6", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 986, + "name": "newBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "5824:9:6", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 985, + "name": "IBeacon", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1025, + "src": "5816:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IBeacon_$1025_$", + "typeString": "type(contract IBeacon)" + } + }, + "id": 987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5816:18:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IBeacon_$1025", + "typeString": "contract IBeacon" + } + }, + "id": 988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5835:14:6", + "memberName": "implementation", + "nodeType": "MemberAccess", + "referencedDeclaration": 1024, + "src": "5816:33:6", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5816:35:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 990, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 965, + "src": "5853:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 982, + "name": "Address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1285, + "src": "5787:7:6", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Address_$1285_$", + "typeString": "type(library Address)" + } + }, + "id": 984, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5795:20:6", + "memberName": "functionDelegateCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 1202, + "src": "5787:28:6", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory) returns (bytes memory)" + } + }, + "id": 991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5787:71:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 992, + "nodeType": "ExpressionStatement", + "src": "5787:71:6" + } + ] + } + } + ] + }, + "documentation": { + "id": 961, + "nodeType": "StructuredDocumentation", + "src": "5063:514:6", + "text": " @dev Change the beacon and trigger a setup call if data is nonempty.\n This function is payable only if the setup call is performed, otherwise `msg.value` is rejected\n to avoid stuck value in the contract.\n Emits an {IERC1967-BeaconUpgraded} event.\n CAUTION: Invoking this function has no effect on an instance of {BeaconProxy} since v5, since\n it uses an immutable beacon without looking at the value of the ERC-1967 beacon slot for\n efficiency." + }, + "id": 1000, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "upgradeBeaconToAndCall", + "nameLocation": "5591:22:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 963, + "mutability": "mutable", + "name": "newBeacon", + "nameLocation": "5622:9:6", + "nodeType": "VariableDeclaration", + "scope": 1000, + "src": "5614:17:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 962, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5614:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 965, + "mutability": "mutable", + "name": "data", + "nameLocation": "5646:4:6", + "nodeType": "VariableDeclaration", + "scope": 1000, + "src": "5633:17:6", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 964, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5633:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5613:38:6" + }, + "returnParameters": { + "id": 967, + "nodeType": "ParameterList", + "parameters": [], + "src": "5661:0:6" + }, + "scope": 1015, + "src": "5582:342:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1013, + "nodeType": "Block", + "src": "6149:86:6", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1007, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1004, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "6163:3:6", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6167:5:6", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "6163:9:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6175:1:6", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "6163:13:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1012, + "nodeType": "IfStatement", + "src": "6159:70:6", + "trueBody": { + "id": 1011, + "nodeType": "Block", + "src": "6178:51:6", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1008, + "name": "ERC1967NonPayable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 754, + "src": "6199:17:6", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6199:19:6", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1010, + "nodeType": "RevertStatement", + "src": "6192:26:6" + } + ] + } + } + ] + }, + "documentation": { + "id": 1001, + "nodeType": "StructuredDocumentation", + "src": "5930:178:6", + "text": " @dev Reverts if `msg.value` is not zero. It can be used to avoid `msg.value` stuck in the contract\n if an upgrade doesn't perform an initialization call." + }, + "id": 1014, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkNonPayable", + "nameLocation": "6122:16:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1002, + "nodeType": "ParameterList", + "parameters": [], + "src": "6138:2:6" + }, + "returnParameters": { + "id": 1003, + "nodeType": "ParameterList", + "parameters": [], + "src": "6149:0:6" + }, + "scope": 1015, + "src": "6113:122:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + } + ], + "scope": 1016, + "src": "496:5741:6", + "usedErrors": [ + 741, + 746, + 751, + 754 + ], + "usedEvents": [] + } + ], + "src": "114:6124:6" + }, + "id": 6 + }, + "@openzeppelin/contracts/proxy/beacon/IBeacon.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/proxy/beacon/IBeacon.sol", + "exportedSymbols": { + "IBeacon": [ + 1025 + ] + }, + "id": 1026, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1017, + "literals": [ + "solidity", + ">=", + "0.4", + ".16" + ], + "nodeType": "PragmaDirective", + "src": "108:25:7" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IBeacon", + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1018, + "nodeType": "StructuredDocumentation", + "src": "135:79:7", + "text": " @dev This is the interface that {BeaconProxy} expects of its beacon." + }, + "fullyImplemented": false, + "id": 1025, + "linearizedBaseContracts": [ + 1025 + ], + "name": "IBeacon", + "nameLocation": "225:7:7", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1019, + "nodeType": "StructuredDocumentation", + "src": "239:168:7", + "text": " @dev Must return an address that can be used as a delegate call target.\n {UpgradeableBeacon} will check that this address is a contract." + }, + "functionSelector": "5c60da1b", + "id": 1024, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "implementation", + "nameLocation": "421:14:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1020, + "nodeType": "ParameterList", + "parameters": [], + "src": "435:2:7" + }, + "returnParameters": { + "id": 1023, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1022, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1024, + "src": "461:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1021, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "461:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "460:9:7" + }, + "scope": 1025, + "src": "412:58:7", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1026, + "src": "215:257:7", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "108:365:7" + }, + "id": 7 + }, + "@openzeppelin/contracts/utils/Address.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Address.sol", + "exportedSymbols": { + "Address": [ + 1285 + ], + "Errors": [ + 1307 + ] + }, + "id": 1286, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1027, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "101:24:8" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Errors.sol", + "file": "./Errors.sol", + "id": 1029, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1286, + "sourceUnit": 1308, + "src": "127:36:8", + "symbolAliases": [ + { + "foreign": { + "id": 1028, + "name": "Errors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1307, + "src": "135:6:8", + "typeDescriptions": {} + }, + "nameLocation": "-1:-1:-1" + } + ], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Address", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1030, + "nodeType": "StructuredDocumentation", + "src": "165:67:8", + "text": " @dev Collection of functions related to the address type" + }, + "fullyImplemented": true, + "id": 1285, + "linearizedBaseContracts": [ + 1285 + ], + "name": "Address", + "nameLocation": "241:7:8", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1031, + "nodeType": "StructuredDocumentation", + "src": "255:75:8", + "text": " @dev There's no code at `target` (it is not a contract)." + }, + "errorSelector": "9996b315", + "id": 1035, + "name": "AddressEmptyCode", + "nameLocation": "341:16:8", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1034, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1033, + "mutability": "mutable", + "name": "target", + "nameLocation": "366:6:8", + "nodeType": "VariableDeclaration", + "scope": 1035, + "src": "358:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1032, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "358:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "357:16:8" + }, + "src": "335:39:8" + }, + { + "body": { + "id": 1082, + "nodeType": "Block", + "src": "1361:294:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1049, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 1045, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1383:4:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$1285", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$1285", + "typeString": "library Address" + } + ], + "id": 1044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1375:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1043, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1375:7:8", + "typeDescriptions": {} + } + }, + "id": 1046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1375:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1389:7:8", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "1375:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1048, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "1399:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1375:30:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1062, + "nodeType": "IfStatement", + "src": "1371:125:8", + "trueBody": { + "id": 1061, + "nodeType": "Block", + "src": "1407:89:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "arguments": [ + { + "id": 1055, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1463:4:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$1285", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$1285", + "typeString": "library Address" + } + ], + "id": 1054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1455:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1053, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1455:7:8", + "typeDescriptions": {} + } + }, + "id": 1056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1455:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1469:7:8", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "1455:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1058, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "1478:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1050, + "name": "Errors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1307, + "src": "1428:6:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Errors_$1307_$", + "typeString": "type(library Errors)" + } + }, + "id": 1052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1435:19:8", + "memberName": "InsufficientBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1295, + "src": "1428:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 1059, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1428:57:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1060, + "nodeType": "RevertStatement", + "src": "1421:64:8" + } + ] + } + }, + { + "assignments": [ + 1064, + 1066 + ], + "declarations": [ + { + "constant": false, + "id": 1064, + "mutability": "mutable", + "name": "success", + "nameLocation": "1512:7:8", + "nodeType": "VariableDeclaration", + "scope": 1082, + "src": "1507:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1063, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1507:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1066, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "1534:10:8", + "nodeType": "VariableDeclaration", + "scope": 1082, + "src": "1521:23:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1065, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1521:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1073, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 1071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1578:2:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + }, + "value": "" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "typeString": "literal_string \"\"" + } + ], + "expression": { + "id": 1067, + "name": "recipient", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1038, + "src": "1548:9:8", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "id": 1068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1558:4:8", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "1548:14:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 1069, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1040, + "src": "1570:6:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "1548:29:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1548:33:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1506:75:8" + }, + { + "condition": { + "id": 1075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1595:8:8", + "subExpression": { + "id": 1074, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1064, + "src": "1596:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1081, + "nodeType": "IfStatement", + "src": "1591:58:8", + "trueBody": { + "id": 1080, + "nodeType": "Block", + "src": "1605:44:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1077, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1066, + "src": "1627:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1076, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1284, + "src": "1619:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) pure" + } + }, + "id": 1078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1619:19:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1079, + "nodeType": "ExpressionStatement", + "src": "1619:19:8" + } + ] + } + } + ] + }, + "documentation": { + "id": 1036, + "nodeType": "StructuredDocumentation", + "src": "380:905:8", + "text": " @dev Replacement for Solidity's `transfer`: sends `amount` wei to\n `recipient`, forwarding all available gas and reverting on errors.\n https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost\n of certain opcodes, possibly making contracts go over the 2300 gas limit\n imposed by `transfer`, making them unable to receive funds via\n `transfer`. {sendValue} removes this limitation.\n https://consensys.net/diligence/blog/2019/09/stop-using-soliditys-transfer-now/[Learn more].\n IMPORTANT: because control is transferred to `recipient`, care must be\n taken to not create reentrancy vulnerabilities. Consider using\n {ReentrancyGuard} or the\n https://solidity.readthedocs.io/en/v0.8.20/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]." + }, + "id": 1083, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "sendValue", + "nameLocation": "1299:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1041, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1038, + "mutability": "mutable", + "name": "recipient", + "nameLocation": "1325:9:8", + "nodeType": "VariableDeclaration", + "scope": 1083, + "src": "1309:25:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + }, + "typeName": { + "id": 1037, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1309:15:8", + "stateMutability": "payable", + "typeDescriptions": { + "typeIdentifier": "t_address_payable", + "typeString": "address payable" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1040, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1344:6:8", + "nodeType": "VariableDeclaration", + "scope": 1083, + "src": "1336:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1039, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1336:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1308:43:8" + }, + "returnParameters": { + "id": 1042, + "nodeType": "ParameterList", + "parameters": [], + "src": "1361:0:8" + }, + "scope": 1285, + "src": "1290:365:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1099, + "nodeType": "Block", + "src": "2589:62:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1094, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1086, + "src": "2628:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1095, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1088, + "src": "2636:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "hexValue": "30", + "id": 1096, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2642:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1093, + "name": "functionCallWithValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1150, + "src": "2606:21:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_bytes_memory_ptr_$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bytes memory,uint256) returns (bytes memory)" + } + }, + "id": 1097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2606:38:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1092, + "id": 1098, + "nodeType": "Return", + "src": "2599:45:8" + } + ] + }, + "documentation": { + "id": 1084, + "nodeType": "StructuredDocumentation", + "src": "1661:834:8", + "text": " @dev Performs a Solidity function call using a low level `call`. A\n plain `call` is an unsafe replacement for a function call: use this\n function instead.\n If `target` reverts with a revert reason or custom error, it is bubbled\n up by this function (like regular Solidity function calls). However, if\n the call reverted with no returned reason, this function reverts with a\n {Errors.FailedCall} error.\n Returns the raw returned data. To convert to the expected return value,\n use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`].\n Requirements:\n - `target` must be a contract.\n - calling `target` with `data` must not revert." + }, + "id": 1100, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCall", + "nameLocation": "2509:12:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1089, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1086, + "mutability": "mutable", + "name": "target", + "nameLocation": "2530:6:8", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "2522:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1085, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2522:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1088, + "mutability": "mutable", + "name": "data", + "nameLocation": "2551:4:8", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "2538:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1087, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2538:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2521:35:8" + }, + "returnParameters": { + "id": 1092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1091, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1100, + "src": "2575:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1090, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2575:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "2574:14:8" + }, + "scope": 1285, + "src": "2500:151:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1149, + "nodeType": "Block", + "src": "3088:294:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 1114, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "3110:4:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$1285", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$1285", + "typeString": "library Address" + } + ], + "id": 1113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3102:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3102:7:8", + "typeDescriptions": {} + } + }, + "id": 1115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3102:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3116:7:8", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "3102:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 1117, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1107, + "src": "3126:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3102:29:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1131, + "nodeType": "IfStatement", + "src": "3098:123:8", + "trueBody": { + "id": 1130, + "nodeType": "Block", + "src": "3133:88:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "expression": { + "arguments": [ + { + "id": 1124, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "3189:4:8", + "typeDescriptions": { + "typeIdentifier": "t_contract$_Address_$1285", + "typeString": "library Address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Address_$1285", + "typeString": "library Address" + } + ], + "id": 1123, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3181:7:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1122, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3181:7:8", + "typeDescriptions": {} + } + }, + "id": 1125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3181:13:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3195:7:8", + "memberName": "balance", + "nodeType": "MemberAccess", + "src": "3181:21:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1127, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1107, + "src": "3204:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 1119, + "name": "Errors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1307, + "src": "3154:6:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Errors_$1307_$", + "typeString": "type(library Errors)" + } + }, + "id": 1121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3161:19:8", + "memberName": "InsufficientBalance", + "nodeType": "MemberAccess", + "referencedDeclaration": 1295, + "src": "3154:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_uint256_$_t_uint256_$returns$__$", + "typeString": "function (uint256,uint256) pure" + } + }, + "id": 1128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3154:56:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1129, + "nodeType": "RevertStatement", + "src": "3147:63:8" + } + ] + } + }, + { + "assignments": [ + 1133, + 1135 + ], + "declarations": [ + { + "constant": false, + "id": 1133, + "mutability": "mutable", + "name": "success", + "nameLocation": "3236:7:8", + "nodeType": "VariableDeclaration", + "scope": 1149, + "src": "3231:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1132, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3231:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1135, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "3258:10:8", + "nodeType": "VariableDeclaration", + "scope": 1149, + "src": "3245:23:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1134, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3245:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1142, + "initialValue": { + "arguments": [ + { + "id": 1140, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1105, + "src": "3298:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 1136, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1103, + "src": "3272:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3279:4:8", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "3272:11:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 1138, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1107, + "src": "3291:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "3272:25:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 1141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3272:31:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3230:73:8" + }, + { + "expression": { + "arguments": [ + { + "id": 1144, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1103, + "src": "3347:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1145, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1133, + "src": "3355:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 1146, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1135, + "src": "3364:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1143, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1242, + "src": "3320:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory) view returns (bytes memory)" + } + }, + "id": 1147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3320:55:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1111, + "id": 1148, + "nodeType": "Return", + "src": "3313:62:8" + } + ] + }, + "documentation": { + "id": 1101, + "nodeType": "StructuredDocumentation", + "src": "2657:313:8", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but also transferring `value` wei to `target`.\n Requirements:\n - the calling contract must have an ETH balance of at least `value`.\n - the called Solidity function must be `payable`." + }, + "id": 1150, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionCallWithValue", + "nameLocation": "2984:21:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1108, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1103, + "mutability": "mutable", + "name": "target", + "nameLocation": "3014:6:8", + "nodeType": "VariableDeclaration", + "scope": 1150, + "src": "3006:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1102, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3006:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1105, + "mutability": "mutable", + "name": "data", + "nameLocation": "3035:4:8", + "nodeType": "VariableDeclaration", + "scope": 1150, + "src": "3022:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1104, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3022:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1107, + "mutability": "mutable", + "name": "value", + "nameLocation": "3049:5:8", + "nodeType": "VariableDeclaration", + "scope": 1150, + "src": "3041:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1106, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3041:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3005:50:8" + }, + "returnParameters": { + "id": 1111, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1110, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1150, + "src": "3074:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1109, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3074:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3073:14:8" + }, + "scope": 1285, + "src": "2975:407:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1175, + "nodeType": "Block", + "src": "3621:154:8", + "statements": [ + { + "assignments": [ + 1161, + 1163 + ], + "declarations": [ + { + "constant": false, + "id": 1161, + "mutability": "mutable", + "name": "success", + "nameLocation": "3637:7:8", + "nodeType": "VariableDeclaration", + "scope": 1175, + "src": "3632:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1160, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3632:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1163, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "3659:10:8", + "nodeType": "VariableDeclaration", + "scope": 1175, + "src": "3646:23:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1162, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3646:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1168, + "initialValue": { + "arguments": [ + { + "id": 1166, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1155, + "src": "3691:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 1164, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1153, + "src": "3673:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3680:10:8", + "memberName": "staticcall", + "nodeType": "MemberAccess", + "src": "3673:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_barestaticcall_view$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) view returns (bool,bytes memory)" + } + }, + "id": 1167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3673:23:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3631:65:8" + }, + { + "expression": { + "arguments": [ + { + "id": 1170, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1153, + "src": "3740:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1171, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1161, + "src": "3748:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 1172, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1163, + "src": "3757:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1169, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1242, + "src": "3713:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory) view returns (bytes memory)" + } + }, + "id": 1173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3713:55:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1159, + "id": 1174, + "nodeType": "Return", + "src": "3706:62:8" + } + ] + }, + "documentation": { + "id": 1151, + "nodeType": "StructuredDocumentation", + "src": "3388:128:8", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a static call." + }, + "id": 1176, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionStaticCall", + "nameLocation": "3530:18:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1156, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1153, + "mutability": "mutable", + "name": "target", + "nameLocation": "3557:6:8", + "nodeType": "VariableDeclaration", + "scope": 1176, + "src": "3549:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1152, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3549:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1155, + "mutability": "mutable", + "name": "data", + "nameLocation": "3578:4:8", + "nodeType": "VariableDeclaration", + "scope": 1176, + "src": "3565:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1154, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3565:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3548:35:8" + }, + "returnParameters": { + "id": 1159, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1158, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1176, + "src": "3607:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1157, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3607:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3606:14:8" + }, + "scope": 1285, + "src": "3521:254:8", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1201, + "nodeType": "Block", + "src": "4013:156:8", + "statements": [ + { + "assignments": [ + 1187, + 1189 + ], + "declarations": [ + { + "constant": false, + "id": 1187, + "mutability": "mutable", + "name": "success", + "nameLocation": "4029:7:8", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "4024:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1186, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4024:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1189, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "4051:10:8", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "4038:23:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1188, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4038:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1194, + "initialValue": { + "arguments": [ + { + "id": 1192, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1181, + "src": "4085:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 1190, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1179, + "src": "4065:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4072:12:8", + "memberName": "delegatecall", + "nodeType": "MemberAccess", + "src": "4065:19:8", + "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": 1193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4065:25:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4023:67:8" + }, + { + "expression": { + "arguments": [ + { + "id": 1196, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1179, + "src": "4134:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1197, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1187, + "src": "4142:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 1198, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1189, + "src": "4151:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1195, + "name": "verifyCallResultFromTarget", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1242, + "src": "4107:26:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_bool_$_t_bytes_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (address,bool,bytes memory) view returns (bytes memory)" + } + }, + "id": 1199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4107:55:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1185, + "id": 1200, + "nodeType": "Return", + "src": "4100:62:8" + } + ] + }, + "documentation": { + "id": 1177, + "nodeType": "StructuredDocumentation", + "src": "3781:130:8", + "text": " @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`],\n but performing a delegate call." + }, + "id": 1202, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "functionDelegateCall", + "nameLocation": "3925:20:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1179, + "mutability": "mutable", + "name": "target", + "nameLocation": "3954:6:8", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3946:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1178, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3946:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1181, + "mutability": "mutable", + "name": "data", + "nameLocation": "3975:4:8", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3962:17:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1180, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3962:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3945:35:8" + }, + "returnParameters": { + "id": 1185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1184, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1202, + "src": "3999:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1183, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "3999:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "3998:14:8" + }, + "scope": 1285, + "src": "3916:253:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1241, + "nodeType": "Block", + "src": "4595:424:8", + "statements": [ + { + "condition": { + "id": 1215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "4609:8:8", + "subExpression": { + "id": 1214, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "4610:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1239, + "nodeType": "Block", + "src": "4669:344:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1224, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1221, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "4857:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1222, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4868:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4857:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4878:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4857:22:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "expression": { + "id": 1225, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1205, + "src": "4883:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4890:4:8", + "memberName": "code", + "nodeType": "MemberAccess", + "src": "4883:11:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4895:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "4883:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4905:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "4883:23:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "4857:49:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1236, + "nodeType": "IfStatement", + "src": "4853:119:8", + "trueBody": { + "id": 1235, + "nodeType": "Block", + "src": "4908:64:8", + "statements": [ + { + "errorCall": { + "arguments": [ + { + "id": 1232, + "name": "target", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1205, + "src": "4950:6:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1231, + "name": "AddressEmptyCode", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1035, + "src": "4933:16:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$_t_address_$returns$__$", + "typeString": "function (address) pure" + } + }, + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4933:24:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1234, + "nodeType": "RevertStatement", + "src": "4926:31:8" + } + ] + } + }, + { + "expression": { + "id": 1237, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "4992:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1213, + "id": 1238, + "nodeType": "Return", + "src": "4985:17:8" + } + ] + }, + "id": 1240, + "nodeType": "IfStatement", + "src": "4605:408:8", + "trueBody": { + "id": 1220, + "nodeType": "Block", + "src": "4619:44:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1217, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1209, + "src": "4641:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1216, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1284, + "src": "4633:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) pure" + } + }, + "id": 1218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4633:19:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1219, + "nodeType": "ExpressionStatement", + "src": "4633:19:8" + } + ] + } + } + ] + }, + "documentation": { + "id": 1203, + "nodeType": "StructuredDocumentation", + "src": "4175:257:8", + "text": " @dev Tool to verify that a low level call to smart-contract was successful, and reverts if the target\n was not a contract or bubbling up the revert reason (falling back to {Errors.FailedCall}) in case\n of an unsuccessful call." + }, + "id": 1242, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResultFromTarget", + "nameLocation": "4446:26:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1210, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1205, + "mutability": "mutable", + "name": "target", + "nameLocation": "4490:6:8", + "nodeType": "VariableDeclaration", + "scope": 1242, + "src": "4482:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1204, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4482:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1207, + "mutability": "mutable", + "name": "success", + "nameLocation": "4511:7:8", + "nodeType": "VariableDeclaration", + "scope": 1242, + "src": "4506:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1206, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4506:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1209, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "4541:10:8", + "nodeType": "VariableDeclaration", + "scope": 1242, + "src": "4528:23:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1208, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4528:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4472:85:8" + }, + "returnParameters": { + "id": 1213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1212, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1242, + "src": "4581:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1211, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4581:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4580:14:8" + }, + "scope": 1285, + "src": "4437:582:8", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1263, + "nodeType": "Block", + "src": "5323:122:8", + "statements": [ + { + "condition": { + "id": 1253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "5337:8:8", + "subExpression": { + "id": 1252, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "5338:7:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1261, + "nodeType": "Block", + "src": "5397:42:8", + "statements": [ + { + "expression": { + "id": 1259, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "5418:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "functionReturnParameters": 1251, + "id": 1260, + "nodeType": "Return", + "src": "5411:17:8" + } + ] + }, + "id": 1262, + "nodeType": "IfStatement", + "src": "5333:106:8", + "trueBody": { + "id": 1258, + "nodeType": "Block", + "src": "5347:44:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1255, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1247, + "src": "5369:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1254, + "name": "_revert", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1284, + "src": "5361:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) pure" + } + }, + "id": 1256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5361:19:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1257, + "nodeType": "ExpressionStatement", + "src": "5361:19:8" + } + ] + } + } + ] + }, + "documentation": { + "id": 1243, + "nodeType": "StructuredDocumentation", + "src": "5025:191:8", + "text": " @dev Tool to verify that a low level call was successful, and reverts if it wasn't, either by bubbling the\n revert reason or with a default {Errors.FailedCall} error." + }, + "id": 1264, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "verifyCallResult", + "nameLocation": "5230:16:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1248, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1245, + "mutability": "mutable", + "name": "success", + "nameLocation": "5252:7:8", + "nodeType": "VariableDeclaration", + "scope": 1264, + "src": "5247:12:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1244, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5247:4:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1247, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "5274:10:8", + "nodeType": "VariableDeclaration", + "scope": 1264, + "src": "5261:23:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1246, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5261:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5246:39:8" + }, + "returnParameters": { + "id": 1251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1250, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1264, + "src": "5309:12:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1249, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5309:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5308:14:8" + }, + "scope": 1285, + "src": "5221:224:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1283, + "nodeType": "Block", + "src": "5614:379:8", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1270, + "name": "returndata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1267, + "src": "5690:10:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5701:6:8", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "5690:17:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5710:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5690:21:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1281, + "nodeType": "Block", + "src": "5936:51:8", + "statements": [ + { + "errorCall": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1276, + "name": "Errors", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1307, + "src": "5957:6:8", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Errors_$1307_$", + "typeString": "type(library Errors)" + } + }, + "id": 1278, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5964:10:8", + "memberName": "FailedCall", + "nodeType": "MemberAccess", + "referencedDeclaration": 1298, + "src": "5957:17:8", + "typeDescriptions": { + "typeIdentifier": "t_function_error_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1279, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5957:19:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1280, + "nodeType": "RevertStatement", + "src": "5950:26:8" + } + ] + }, + "id": 1282, + "nodeType": "IfStatement", + "src": "5686:301:8", + "trueBody": { + "id": 1275, + "nodeType": "Block", + "src": "5713:217:8", + "statements": [ + { + "AST": { + "nativeSrc": "5840:80:8", + "nodeType": "YulBlock", + "src": "5840:80:8", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "returndata", + "nativeSrc": "5869:10:8", + "nodeType": "YulIdentifier", + "src": "5869:10:8" + }, + { + "kind": "number", + "nativeSrc": "5881:4:8", + "nodeType": "YulLiteral", + "src": "5881:4:8", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5865:3:8", + "nodeType": "YulIdentifier", + "src": "5865:3:8" + }, + "nativeSrc": "5865:21:8", + "nodeType": "YulFunctionCall", + "src": "5865:21:8" + }, + { + "arguments": [ + { + "name": "returndata", + "nativeSrc": "5894:10:8", + "nodeType": "YulIdentifier", + "src": "5894:10:8" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "5888:5:8", + "nodeType": "YulIdentifier", + "src": "5888:5:8" + }, + "nativeSrc": "5888:17:8", + "nodeType": "YulFunctionCall", + "src": "5888:17:8" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5858:6:8", + "nodeType": "YulIdentifier", + "src": "5858:6:8" + }, + "nativeSrc": "5858:48:8", + "nodeType": "YulFunctionCall", + "src": "5858:48:8" + }, + "nativeSrc": "5858:48:8", + "nodeType": "YulExpressionStatement", + "src": "5858:48:8" + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1267, + "isOffset": false, + "isSlot": false, + "src": "5869:10:8", + "valueSize": 1 + }, + { + "declaration": 1267, + "isOffset": false, + "isSlot": false, + "src": "5894:10:8", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1274, + "nodeType": "InlineAssembly", + "src": "5815:105:8" + } + ] + } + } + ] + }, + "documentation": { + "id": 1265, + "nodeType": "StructuredDocumentation", + "src": "5451:103:8", + "text": " @dev Reverts with returndata if present. Otherwise reverts with {Errors.FailedCall}." + }, + "id": 1284, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_revert", + "nameLocation": "5568:7:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1267, + "mutability": "mutable", + "name": "returndata", + "nameLocation": "5589:10:8", + "nodeType": "VariableDeclaration", + "scope": 1284, + "src": "5576:23:8", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1266, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "5576:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "5575:25:8" + }, + "returnParameters": { + "id": 1269, + "nodeType": "ParameterList", + "parameters": [], + "src": "5614:0:8" + }, + "scope": 1285, + "src": "5559:434:8", + "stateMutability": "pure", + "virtual": false, + "visibility": "private" + } + ], + "scope": 1286, + "src": "233:5762:8", + "usedErrors": [ + 1035 + ], + "usedEvents": [] + } + ], + "src": "101:5895:8" + }, + "id": 8 + }, + "@openzeppelin/contracts/utils/Errors.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Errors.sol", + "exportedSymbols": { + "Errors": [ + 1307 + ] + }, + "id": 1308, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1287, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "100:24:9" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "Errors", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1288, + "nodeType": "StructuredDocumentation", + "src": "126:284:9", + "text": " @dev Collection of common custom errors used in multiple contracts\n IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library.\n It is recommended to avoid relying on the error API for critical functionality.\n _Available since v5.1._" + }, + "fullyImplemented": true, + "id": 1307, + "linearizedBaseContracts": [ + 1307 + ], + "name": "Errors", + "nameLocation": "419:6:9", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1289, + "nodeType": "StructuredDocumentation", + "src": "432:94:9", + "text": " @dev The ETH balance of the account is not enough to perform the operation." + }, + "errorSelector": "cf479181", + "id": 1295, + "name": "InsufficientBalance", + "nameLocation": "537:19:9", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1294, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1291, + "mutability": "mutable", + "name": "balance", + "nameLocation": "565:7:9", + "nodeType": "VariableDeclaration", + "scope": 1295, + "src": "557:15:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1290, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "557:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1293, + "mutability": "mutable", + "name": "needed", + "nameLocation": "582:6:9", + "nodeType": "VariableDeclaration", + "scope": 1295, + "src": "574:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1292, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "574:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "556:33:9" + }, + "src": "531:59:9" + }, + { + "documentation": { + "id": 1296, + "nodeType": "StructuredDocumentation", + "src": "596:89:9", + "text": " @dev A call to an address target failed. The target may have reverted." + }, + "errorSelector": "d6bda275", + "id": 1298, + "name": "FailedCall", + "nameLocation": "696:10:9", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1297, + "nodeType": "ParameterList", + "parameters": [], + "src": "706:2:9" + }, + "src": "690:19:9" + }, + { + "documentation": { + "id": 1299, + "nodeType": "StructuredDocumentation", + "src": "715:46:9", + "text": " @dev The deployment failed." + }, + "errorSelector": "b06ebf3d", + "id": 1301, + "name": "FailedDeployment", + "nameLocation": "772:16:9", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1300, + "nodeType": "ParameterList", + "parameters": [], + "src": "788:2:9" + }, + "src": "766:25:9" + }, + { + "documentation": { + "id": 1302, + "nodeType": "StructuredDocumentation", + "src": "797:58:9", + "text": " @dev A necessary precompile is missing." + }, + "errorSelector": "42b01bce", + "id": 1306, + "name": "MissingPrecompile", + "nameLocation": "866:17:9", + "nodeType": "ErrorDefinition", + "parameters": { + "id": 1305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1304, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "884:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1303, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "884:7:9", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "883:9:9" + }, + "src": "860:33:9" + } + ], + "scope": 1308, + "src": "411:484:9", + "usedErrors": [ + 1295, + 1298, + 1301, + 1306 + ], + "usedEvents": [] + } + ], + "src": "100:796:9" + }, + "id": 9 + }, + "@openzeppelin/contracts/utils/StorageSlot.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/StorageSlot.sol", + "exportedSymbols": { + "StorageSlot": [ + 1431 + ] + }, + "id": 1432, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1309, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "193:24:10" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "StorageSlot", + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1310, + "nodeType": "StructuredDocumentation", + "src": "219:1187:10", + "text": " @dev Library for reading and writing primitive types to specific storage slots.\n Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts.\n This library helps with reading and writing to such slots without the need for inline assembly.\n The functions in this library return Slot structs that contain a `value` member that can be used to read or write.\n Example usage to set ERC-1967 implementation slot:\n ```solidity\n contract ERC1967 {\n // Define the slot. Alternatively, use the SlotDerivation library to derive the slot.\n bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc;\n function _getImplementation() internal view returns (address) {\n return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value;\n }\n function _setImplementation(address newImplementation) internal {\n require(newImplementation.code.length > 0);\n StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation;\n }\n }\n ```\n TIP: Consider using this library along with {SlotDerivation}." + }, + "fullyImplemented": true, + "id": 1431, + "linearizedBaseContracts": [ + 1431 + ], + "name": "StorageSlot", + "nameLocation": "1415:11:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "StorageSlot.AddressSlot", + "id": 1313, + "members": [ + { + "constant": false, + "id": 1312, + "mutability": "mutable", + "name": "value", + "nameLocation": "1470:5:10", + "nodeType": "VariableDeclaration", + "scope": 1313, + "src": "1462:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1311, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1462:7:10", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "name": "AddressSlot", + "nameLocation": "1440:11:10", + "nodeType": "StructDefinition", + "scope": 1431, + "src": "1433:49:10", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.BooleanSlot", + "id": 1316, + "members": [ + { + "constant": false, + "id": 1315, + "mutability": "mutable", + "name": "value", + "nameLocation": "1522:5:10", + "nodeType": "VariableDeclaration", + "scope": 1316, + "src": "1517:10:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1314, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1517:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "BooleanSlot", + "nameLocation": "1495:11:10", + "nodeType": "StructDefinition", + "scope": 1431, + "src": "1488:46:10", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.Bytes32Slot", + "id": 1319, + "members": [ + { + "constant": false, + "id": 1318, + "mutability": "mutable", + "name": "value", + "nameLocation": "1577:5:10", + "nodeType": "VariableDeclaration", + "scope": 1319, + "src": "1569:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1317, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1569:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "name": "Bytes32Slot", + "nameLocation": "1547:11:10", + "nodeType": "StructDefinition", + "scope": 1431, + "src": "1540:49:10", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.Uint256Slot", + "id": 1322, + "members": [ + { + "constant": false, + "id": 1321, + "mutability": "mutable", + "name": "value", + "nameLocation": "1632:5:10", + "nodeType": "VariableDeclaration", + "scope": 1322, + "src": "1624:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1320, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1624:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "Uint256Slot", + "nameLocation": "1602:11:10", + "nodeType": "StructDefinition", + "scope": 1431, + "src": "1595:49:10", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.Int256Slot", + "id": 1325, + "members": [ + { + "constant": false, + "id": 1324, + "mutability": "mutable", + "name": "value", + "nameLocation": "1685:5:10", + "nodeType": "VariableDeclaration", + "scope": 1325, + "src": "1678:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1323, + "name": "int256", + "nodeType": "ElementaryTypeName", + "src": "1678:6:10", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "name": "Int256Slot", + "nameLocation": "1657:10:10", + "nodeType": "StructDefinition", + "scope": 1431, + "src": "1650:47:10", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.StringSlot", + "id": 1328, + "members": [ + { + "constant": false, + "id": 1327, + "mutability": "mutable", + "name": "value", + "nameLocation": "1738:5:10", + "nodeType": "VariableDeclaration", + "scope": 1328, + "src": "1731:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1326, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1731:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "StringSlot", + "nameLocation": "1710:10:10", + "nodeType": "StructDefinition", + "scope": 1431, + "src": "1703:47:10", + "visibility": "public" + }, + { + "canonicalName": "StorageSlot.BytesSlot", + "id": 1331, + "members": [ + { + "constant": false, + "id": 1330, + "mutability": "mutable", + "name": "value", + "nameLocation": "1789:5:10", + "nodeType": "VariableDeclaration", + "scope": 1331, + "src": "1783:11:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1329, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1783:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "name": "BytesSlot", + "nameLocation": "1763:9:10", + "nodeType": "StructDefinition", + "scope": 1431, + "src": "1756:45:10", + "visibility": "public" + }, + { + "body": { + "id": 1341, + "nodeType": "Block", + "src": "1983:79:10", + "statements": [ + { + "AST": { + "nativeSrc": "2018:38:10", + "nodeType": "YulBlock", + "src": "2018:38:10", + "statements": [ + { + "nativeSrc": "2032:14:10", + "nodeType": "YulAssignment", + "src": "2032:14:10", + "value": { + "name": "slot", + "nativeSrc": "2042:4:10", + "nodeType": "YulIdentifier", + "src": "2042:4:10" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "2032:6:10", + "nodeType": "YulIdentifier", + "src": "2032:6:10" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1338, + "isOffset": false, + "isSlot": true, + "src": "2032:6:10", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1334, + "isOffset": false, + "isSlot": false, + "src": "2042:4:10", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1340, + "nodeType": "InlineAssembly", + "src": "1993:63:10" + } + ] + }, + "documentation": { + "id": 1332, + "nodeType": "StructuredDocumentation", + "src": "1807:87:10", + "text": " @dev Returns an `AddressSlot` with member `value` located at `slot`." + }, + "id": 1342, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAddressSlot", + "nameLocation": "1908:14:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1335, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1334, + "mutability": "mutable", + "name": "slot", + "nameLocation": "1931:4:10", + "nodeType": "VariableDeclaration", + "scope": 1342, + "src": "1923:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1333, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1923:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1922:14:10" + }, + "returnParameters": { + "id": 1339, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1338, + "mutability": "mutable", + "name": "r", + "nameLocation": "1980:1:10", + "nodeType": "VariableDeclaration", + "scope": 1342, + "src": "1960:21:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1313_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot" + }, + "typeName": { + "id": 1337, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1336, + "name": "AddressSlot", + "nameLocations": [ + "1960:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1313, + "src": "1960:11:10" + }, + "referencedDeclaration": 1313, + "src": "1960:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AddressSlot_$1313_storage_ptr", + "typeString": "struct StorageSlot.AddressSlot" + } + }, + "visibility": "internal" + } + ], + "src": "1959:23:10" + }, + "scope": 1431, + "src": "1899:163:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1352, + "nodeType": "Block", + "src": "2243:79:10", + "statements": [ + { + "AST": { + "nativeSrc": "2278:38:10", + "nodeType": "YulBlock", + "src": "2278:38:10", + "statements": [ + { + "nativeSrc": "2292:14:10", + "nodeType": "YulAssignment", + "src": "2292:14:10", + "value": { + "name": "slot", + "nativeSrc": "2302:4:10", + "nodeType": "YulIdentifier", + "src": "2302:4:10" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "2292:6:10", + "nodeType": "YulIdentifier", + "src": "2292:6:10" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1349, + "isOffset": false, + "isSlot": true, + "src": "2292:6:10", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1345, + "isOffset": false, + "isSlot": false, + "src": "2302:4:10", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1351, + "nodeType": "InlineAssembly", + "src": "2253:63:10" + } + ] + }, + "documentation": { + "id": 1343, + "nodeType": "StructuredDocumentation", + "src": "2068:86:10", + "text": " @dev Returns a `BooleanSlot` with member `value` located at `slot`." + }, + "id": 1353, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBooleanSlot", + "nameLocation": "2168:14:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1345, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2191:4:10", + "nodeType": "VariableDeclaration", + "scope": 1353, + "src": "2183:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1344, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2183:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2182:14:10" + }, + "returnParameters": { + "id": 1350, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1349, + "mutability": "mutable", + "name": "r", + "nameLocation": "2240:1:10", + "nodeType": "VariableDeclaration", + "scope": 1353, + "src": "2220:21:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BooleanSlot_$1316_storage_ptr", + "typeString": "struct StorageSlot.BooleanSlot" + }, + "typeName": { + "id": 1348, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1347, + "name": "BooleanSlot", + "nameLocations": [ + "2220:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1316, + "src": "2220:11:10" + }, + "referencedDeclaration": 1316, + "src": "2220:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BooleanSlot_$1316_storage_ptr", + "typeString": "struct StorageSlot.BooleanSlot" + } + }, + "visibility": "internal" + } + ], + "src": "2219:23:10" + }, + "scope": 1431, + "src": "2159:163:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1363, + "nodeType": "Block", + "src": "2503:79:10", + "statements": [ + { + "AST": { + "nativeSrc": "2538:38:10", + "nodeType": "YulBlock", + "src": "2538:38:10", + "statements": [ + { + "nativeSrc": "2552:14:10", + "nodeType": "YulAssignment", + "src": "2552:14:10", + "value": { + "name": "slot", + "nativeSrc": "2562:4:10", + "nodeType": "YulIdentifier", + "src": "2562:4:10" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "2552:6:10", + "nodeType": "YulIdentifier", + "src": "2552:6:10" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1360, + "isOffset": false, + "isSlot": true, + "src": "2552:6:10", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1356, + "isOffset": false, + "isSlot": false, + "src": "2562:4:10", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1362, + "nodeType": "InlineAssembly", + "src": "2513:63:10" + } + ] + }, + "documentation": { + "id": 1354, + "nodeType": "StructuredDocumentation", + "src": "2328:86:10", + "text": " @dev Returns a `Bytes32Slot` with member `value` located at `slot`." + }, + "id": 1364, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBytes32Slot", + "nameLocation": "2428:14:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1356, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2451:4:10", + "nodeType": "VariableDeclaration", + "scope": 1364, + "src": "2443:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1355, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2443:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2442:14:10" + }, + "returnParameters": { + "id": 1361, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1360, + "mutability": "mutable", + "name": "r", + "nameLocation": "2500:1:10", + "nodeType": "VariableDeclaration", + "scope": 1364, + "src": "2480:21:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Slot_$1319_storage_ptr", + "typeString": "struct StorageSlot.Bytes32Slot" + }, + "typeName": { + "id": 1359, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1358, + "name": "Bytes32Slot", + "nameLocations": [ + "2480:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1319, + "src": "2480:11:10" + }, + "referencedDeclaration": 1319, + "src": "2480:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Bytes32Slot_$1319_storage_ptr", + "typeString": "struct StorageSlot.Bytes32Slot" + } + }, + "visibility": "internal" + } + ], + "src": "2479:23:10" + }, + "scope": 1431, + "src": "2419:163:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1374, + "nodeType": "Block", + "src": "2763:79:10", + "statements": [ + { + "AST": { + "nativeSrc": "2798:38:10", + "nodeType": "YulBlock", + "src": "2798:38:10", + "statements": [ + { + "nativeSrc": "2812:14:10", + "nodeType": "YulAssignment", + "src": "2812:14:10", + "value": { + "name": "slot", + "nativeSrc": "2822:4:10", + "nodeType": "YulIdentifier", + "src": "2822:4:10" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "2812:6:10", + "nodeType": "YulIdentifier", + "src": "2812:6:10" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1371, + "isOffset": false, + "isSlot": true, + "src": "2812:6:10", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1367, + "isOffset": false, + "isSlot": false, + "src": "2822:4:10", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1373, + "nodeType": "InlineAssembly", + "src": "2773:63:10" + } + ] + }, + "documentation": { + "id": 1365, + "nodeType": "StructuredDocumentation", + "src": "2588:86:10", + "text": " @dev Returns a `Uint256Slot` with member `value` located at `slot`." + }, + "id": 1375, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getUint256Slot", + "nameLocation": "2688:14:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1367, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2711:4:10", + "nodeType": "VariableDeclaration", + "scope": 1375, + "src": "2703:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1366, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2703:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2702:14:10" + }, + "returnParameters": { + "id": 1372, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1371, + "mutability": "mutable", + "name": "r", + "nameLocation": "2760:1:10", + "nodeType": "VariableDeclaration", + "scope": 1375, + "src": "2740:21:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$1322_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot" + }, + "typeName": { + "id": 1370, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1369, + "name": "Uint256Slot", + "nameLocations": [ + "2740:11:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1322, + "src": "2740:11:10" + }, + "referencedDeclaration": 1322, + "src": "2740:11:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Uint256Slot_$1322_storage_ptr", + "typeString": "struct StorageSlot.Uint256Slot" + } + }, + "visibility": "internal" + } + ], + "src": "2739:23:10" + }, + "scope": 1431, + "src": "2679:163:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1385, + "nodeType": "Block", + "src": "3020:79:10", + "statements": [ + { + "AST": { + "nativeSrc": "3055:38:10", + "nodeType": "YulBlock", + "src": "3055:38:10", + "statements": [ + { + "nativeSrc": "3069:14:10", + "nodeType": "YulAssignment", + "src": "3069:14:10", + "value": { + "name": "slot", + "nativeSrc": "3079:4:10", + "nodeType": "YulIdentifier", + "src": "3079:4:10" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "3069:6:10", + "nodeType": "YulIdentifier", + "src": "3069:6:10" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1382, + "isOffset": false, + "isSlot": true, + "src": "3069:6:10", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1378, + "isOffset": false, + "isSlot": false, + "src": "3079:4:10", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1384, + "nodeType": "InlineAssembly", + "src": "3030:63:10" + } + ] + }, + "documentation": { + "id": 1376, + "nodeType": "StructuredDocumentation", + "src": "2848:85:10", + "text": " @dev Returns a `Int256Slot` with member `value` located at `slot`." + }, + "id": 1386, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getInt256Slot", + "nameLocation": "2947:13:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1378, + "mutability": "mutable", + "name": "slot", + "nameLocation": "2969:4:10", + "nodeType": "VariableDeclaration", + "scope": 1386, + "src": "2961:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1377, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2961:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2960:14:10" + }, + "returnParameters": { + "id": 1383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1382, + "mutability": "mutable", + "name": "r", + "nameLocation": "3017:1:10", + "nodeType": "VariableDeclaration", + "scope": 1386, + "src": "2998:20:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Int256Slot_$1325_storage_ptr", + "typeString": "struct StorageSlot.Int256Slot" + }, + "typeName": { + "id": 1381, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1380, + "name": "Int256Slot", + "nameLocations": [ + "2998:10:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1325, + "src": "2998:10:10" + }, + "referencedDeclaration": 1325, + "src": "2998:10:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Int256Slot_$1325_storage_ptr", + "typeString": "struct StorageSlot.Int256Slot" + } + }, + "visibility": "internal" + } + ], + "src": "2997:22:10" + }, + "scope": 1431, + "src": "2938:161:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1396, + "nodeType": "Block", + "src": "3277:79:10", + "statements": [ + { + "AST": { + "nativeSrc": "3312:38:10", + "nodeType": "YulBlock", + "src": "3312:38:10", + "statements": [ + { + "nativeSrc": "3326:14:10", + "nodeType": "YulAssignment", + "src": "3326:14:10", + "value": { + "name": "slot", + "nativeSrc": "3336:4:10", + "nodeType": "YulIdentifier", + "src": "3336:4:10" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "3326:6:10", + "nodeType": "YulIdentifier", + "src": "3326:6:10" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1393, + "isOffset": false, + "isSlot": true, + "src": "3326:6:10", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1389, + "isOffset": false, + "isSlot": false, + "src": "3336:4:10", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1395, + "nodeType": "InlineAssembly", + "src": "3287:63:10" + } + ] + }, + "documentation": { + "id": 1387, + "nodeType": "StructuredDocumentation", + "src": "3105:85:10", + "text": " @dev Returns a `StringSlot` with member `value` located at `slot`." + }, + "id": 1397, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStringSlot", + "nameLocation": "3204:13:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1389, + "mutability": "mutable", + "name": "slot", + "nameLocation": "3226:4:10", + "nodeType": "VariableDeclaration", + "scope": 1397, + "src": "3218:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1388, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3218:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3217:14:10" + }, + "returnParameters": { + "id": 1394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1393, + "mutability": "mutable", + "name": "r", + "nameLocation": "3274:1:10", + "nodeType": "VariableDeclaration", + "scope": 1397, + "src": "3255:20:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StringSlot_$1328_storage_ptr", + "typeString": "struct StorageSlot.StringSlot" + }, + "typeName": { + "id": 1392, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1391, + "name": "StringSlot", + "nameLocations": [ + "3255:10:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1328, + "src": "3255:10:10" + }, + "referencedDeclaration": 1328, + "src": "3255:10:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StringSlot_$1328_storage_ptr", + "typeString": "struct StorageSlot.StringSlot" + } + }, + "visibility": "internal" + } + ], + "src": "3254:22:10" + }, + "scope": 1431, + "src": "3195:161:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1407, + "nodeType": "Block", + "src": "3558:85:10", + "statements": [ + { + "AST": { + "nativeSrc": "3593:44:10", + "nodeType": "YulBlock", + "src": "3593:44:10", + "statements": [ + { + "nativeSrc": "3607:20:10", + "nodeType": "YulAssignment", + "src": "3607:20:10", + "value": { + "name": "store.slot", + "nativeSrc": "3617:10:10", + "nodeType": "YulIdentifier", + "src": "3617:10:10" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "3607:6:10", + "nodeType": "YulIdentifier", + "src": "3607:6:10" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1404, + "isOffset": false, + "isSlot": true, + "src": "3607:6:10", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1400, + "isOffset": false, + "isSlot": true, + "src": "3617:10:10", + "suffix": "slot", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1406, + "nodeType": "InlineAssembly", + "src": "3568:69:10" + } + ] + }, + "documentation": { + "id": 1398, + "nodeType": "StructuredDocumentation", + "src": "3362:101:10", + "text": " @dev Returns an `StringSlot` representation of the string storage pointer `store`." + }, + "id": 1408, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStringSlot", + "nameLocation": "3477:13:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1401, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1400, + "mutability": "mutable", + "name": "store", + "nameLocation": "3506:5:10", + "nodeType": "VariableDeclaration", + "scope": 1408, + "src": "3491:20:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1399, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3491:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3490:22:10" + }, + "returnParameters": { + "id": 1405, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1404, + "mutability": "mutable", + "name": "r", + "nameLocation": "3555:1:10", + "nodeType": "VariableDeclaration", + "scope": 1408, + "src": "3536:20:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StringSlot_$1328_storage_ptr", + "typeString": "struct StorageSlot.StringSlot" + }, + "typeName": { + "id": 1403, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1402, + "name": "StringSlot", + "nameLocations": [ + "3536:10:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1328, + "src": "3536:10:10" + }, + "referencedDeclaration": 1328, + "src": "3536:10:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_StringSlot_$1328_storage_ptr", + "typeString": "struct StorageSlot.StringSlot" + } + }, + "visibility": "internal" + } + ], + "src": "3535:22:10" + }, + "scope": 1431, + "src": "3468:175:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1418, + "nodeType": "Block", + "src": "3818:79:10", + "statements": [ + { + "AST": { + "nativeSrc": "3853:38:10", + "nodeType": "YulBlock", + "src": "3853:38:10", + "statements": [ + { + "nativeSrc": "3867:14:10", + "nodeType": "YulAssignment", + "src": "3867:14:10", + "value": { + "name": "slot", + "nativeSrc": "3877:4:10", + "nodeType": "YulIdentifier", + "src": "3877:4:10" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "3867:6:10", + "nodeType": "YulIdentifier", + "src": "3867:6:10" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1415, + "isOffset": false, + "isSlot": true, + "src": "3867:6:10", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1411, + "isOffset": false, + "isSlot": false, + "src": "3877:4:10", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1417, + "nodeType": "InlineAssembly", + "src": "3828:63:10" + } + ] + }, + "documentation": { + "id": 1409, + "nodeType": "StructuredDocumentation", + "src": "3649:84:10", + "text": " @dev Returns a `BytesSlot` with member `value` located at `slot`." + }, + "id": 1419, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBytesSlot", + "nameLocation": "3747:12:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1412, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1411, + "mutability": "mutable", + "name": "slot", + "nameLocation": "3768:4:10", + "nodeType": "VariableDeclaration", + "scope": 1419, + "src": "3760:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1410, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3760:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "3759:14:10" + }, + "returnParameters": { + "id": 1416, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1415, + "mutability": "mutable", + "name": "r", + "nameLocation": "3815:1:10", + "nodeType": "VariableDeclaration", + "scope": 1419, + "src": "3797:19:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BytesSlot_$1331_storage_ptr", + "typeString": "struct StorageSlot.BytesSlot" + }, + "typeName": { + "id": 1414, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1413, + "name": "BytesSlot", + "nameLocations": [ + "3797:9:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1331, + "src": "3797:9:10" + }, + "referencedDeclaration": 1331, + "src": "3797:9:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BytesSlot_$1331_storage_ptr", + "typeString": "struct StorageSlot.BytesSlot" + } + }, + "visibility": "internal" + } + ], + "src": "3796:21:10" + }, + "scope": 1431, + "src": "3738:159:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1429, + "nodeType": "Block", + "src": "4094:85:10", + "statements": [ + { + "AST": { + "nativeSrc": "4129:44:10", + "nodeType": "YulBlock", + "src": "4129:44:10", + "statements": [ + { + "nativeSrc": "4143:20:10", + "nodeType": "YulAssignment", + "src": "4143:20:10", + "value": { + "name": "store.slot", + "nativeSrc": "4153:10:10", + "nodeType": "YulIdentifier", + "src": "4153:10:10" + }, + "variableNames": [ + { + "name": "r.slot", + "nativeSrc": "4143:6:10", + "nodeType": "YulIdentifier", + "src": "4143:6:10" + } + ] + } + ] + }, + "evmVersion": "paris", + "externalReferences": [ + { + "declaration": 1426, + "isOffset": false, + "isSlot": true, + "src": "4143:6:10", + "suffix": "slot", + "valueSize": 1 + }, + { + "declaration": 1422, + "isOffset": false, + "isSlot": true, + "src": "4153:10:10", + "suffix": "slot", + "valueSize": 1 + } + ], + "flags": [ + "memory-safe" + ], + "id": 1428, + "nodeType": "InlineAssembly", + "src": "4104:69:10" + } + ] + }, + "documentation": { + "id": 1420, + "nodeType": "StructuredDocumentation", + "src": "3903:99:10", + "text": " @dev Returns an `BytesSlot` representation of the bytes storage pointer `store`." + }, + "id": 1430, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getBytesSlot", + "nameLocation": "4016:12:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1422, + "mutability": "mutable", + "name": "store", + "nameLocation": "4043:5:10", + "nodeType": "VariableDeclaration", + "scope": 1430, + "src": "4029:19:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1421, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4029:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4028:21:10" + }, + "returnParameters": { + "id": 1427, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1426, + "mutability": "mutable", + "name": "r", + "nameLocation": "4091:1:10", + "nodeType": "VariableDeclaration", + "scope": 1430, + "src": "4073:19:10", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BytesSlot_$1331_storage_ptr", + "typeString": "struct StorageSlot.BytesSlot" + }, + "typeName": { + "id": 1425, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1424, + "name": "BytesSlot", + "nameLocations": [ + "4073:9:10" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1331, + "src": "4073:9:10" + }, + "referencedDeclaration": 1331, + "src": "4073:9:10", + "typeDescriptions": { + "typeIdentifier": "t_struct$_BytesSlot_$1331_storage_ptr", + "typeString": "struct StorageSlot.BytesSlot" + } + }, + "visibility": "internal" + } + ], + "src": "4072:21:10" + }, + "scope": 1431, + "src": "4007:172:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1432, + "src": "1407:2774:10", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "193:3989:10" + }, + "id": 10 + }, + "contracts/AgentsRegistryUpgradeable.sol": { + "ast": { + "absolutePath": "contracts/AgentsRegistryUpgradeable.sol", + "exportedSymbols": { + "AgentsRegistryUpgradeable": [ + 2363 + ], + "ContextUpgradeable": [ + 690 + ], + "ERC1967Utils": [ + 1015 + ], + "IAgentRegistryV1": [ + 3258 + ], + "IERC1822Proxiable": [ + 721 + ], + "IProposalStruct": [ + 3274 + ], + "IServiceRegistryV1": [ + 1457 + ], + "Initializable": [ + 462 + ], + "OwnableUpgradeable": [ + 194 + ], + "ServiceRegistryUpgradeable": [ + 2577 + ], + "UUPSUpgradeable": [ + 644 + ] + }, + "id": 2364, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1433, + "literals": [ + "solidity", + "^", + "0.8", + ".22" + ], + "nodeType": "PragmaDirective", + "src": "32:24:11" + }, + { + "absolutePath": "contracts/ServiceRegistryUpgradeable.sol", + "file": "./ServiceRegistryUpgradeable.sol", + "id": 1434, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2364, + "sourceUnit": 2578, + "src": "58:42:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "id": 1435, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2364, + "sourceUnit": 195, + "src": "101:75:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "id": 1436, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2364, + "sourceUnit": 463, + "src": "177:75:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "id": 1437, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2364, + "sourceUnit": 645, + "src": "253:77:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/interfaces/IProposalStruct.sol", + "file": "./interfaces/IProposalStruct.sol", + "id": 1438, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2364, + "sourceUnit": 3275, + "src": "331:42:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/interfaces/IAgentRegistryV1.sol", + "file": "./interfaces/IAgentRegistryV1.sol", + "id": 1439, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2364, + "sourceUnit": 3259, + "src": "374:43:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IServiceRegistryV1", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 1457, + "linearizedBaseContracts": [ + 1457 + ], + "name": "IServiceRegistryV1", + "nameLocation": "479:18:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IServiceRegistryV1.Service", + "id": 1448, + "members": [ + { + "constant": false, + "id": 1441, + "mutability": "mutable", + "name": "name", + "nameLocation": "536:4:11", + "nodeType": "VariableDeclaration", + "scope": 1448, + "src": "529:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1440, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "529:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1443, + "mutability": "mutable", + "name": "category", + "nameLocation": "557:8:11", + "nodeType": "VariableDeclaration", + "scope": 1448, + "src": "550:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1442, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "550:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1445, + "mutability": "mutable", + "name": "description", + "nameLocation": "582:11:11", + "nodeType": "VariableDeclaration", + "scope": 1448, + "src": "575:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1444, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "575:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1447, + "mutability": "mutable", + "name": "isActive", + "nameLocation": "608:8:11", + "nodeType": "VariableDeclaration", + "scope": 1448, + "src": "603:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1446, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "603:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "Service", + "nameLocation": "511:7:11", + "nodeType": "StructDefinition", + "scope": 1457, + "src": "504:119:11", + "visibility": "public" + }, + { + "functionSelector": "794758be", + "id": 1456, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getService", + "nameLocation": "642:10:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1451, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1450, + "mutability": "mutable", + "name": "serviceName", + "nameLocation": "667:11:11", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "653:25:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1449, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "653:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "652:27:11" + }, + "returnParameters": { + "id": 1455, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1454, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1456, + "src": "703:14:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$1448_memory_ptr", + "typeString": "struct IServiceRegistryV1.Service" + }, + "typeName": { + "id": 1453, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1452, + "name": "Service", + "nameLocations": [ + "703:7:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1448, + "src": "703:7:11" + }, + "referencedDeclaration": 1448, + "src": "703:7:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$1448_storage_ptr", + "typeString": "struct IServiceRegistryV1.Service" + } + }, + "visibility": "internal" + } + ], + "src": "702:16:11" + }, + "scope": 1457, + "src": "633:86:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 2364, + "src": "469:252:11", + "usedErrors": [], + "usedEvents": [] + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1459, + "name": "Initializable", + "nameLocations": [ + "999:13:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 462, + "src": "999:13:11" + }, + "id": 1460, + "nodeType": "InheritanceSpecifier", + "src": "999:13:11" + }, + { + "baseName": { + "id": 1461, + "name": "OwnableUpgradeable", + "nameLocations": [ + "1014:18:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 194, + "src": "1014:18:11" + }, + "id": 1462, + "nodeType": "InheritanceSpecifier", + "src": "1014:18:11" + }, + { + "baseName": { + "id": 1463, + "name": "UUPSUpgradeable", + "nameLocations": [ + "1034:15:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 644, + "src": "1034:15:11" + }, + "id": 1464, + "nodeType": "InheritanceSpecifier", + "src": "1034:15:11" + }, + { + "baseName": { + "id": 1465, + "name": "IProposalStruct", + "nameLocations": [ + "1051:15:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3274, + "src": "1051:15:11" + }, + "id": 1466, + "nodeType": "InheritanceSpecifier", + "src": "1051:15:11" + } + ], + "canonicalName": "AgentsRegistryUpgradeable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1458, + "nodeType": "StructuredDocumentation", + "src": "723:237:11", + "text": " @title AgentsRegistryUpgradeable\n @author leonprou\n @notice A smart contract that stores information about the agents, and the services proposals provided by the agents.\n @dev Upgradeable version using UUPS proxy pattern" + }, + "fullyImplemented": true, + "id": 2363, + "linearizedBaseContracts": [ + 2363, + 3274, + 644, + 721, + 194, + 690, + 462 + ], + "name": "AgentsRegistryUpgradeable", + "nameLocation": "970:25:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "AgentsRegistryUpgradeable.AgentData", + "id": 1479, + "members": [ + { + "constant": false, + "id": 1468, + "mutability": "mutable", + "name": "name", + "nameLocation": "1107:4:11", + "nodeType": "VariableDeclaration", + "scope": 1479, + "src": "1100:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1467, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1100:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1470, + "mutability": "mutable", + "name": "agentUri", + "nameLocation": "1128:8:11", + "nodeType": "VariableDeclaration", + "scope": 1479, + "src": "1121:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1469, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1121:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1472, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1154:5:11", + "nodeType": "VariableDeclaration", + "scope": 1479, + "src": "1146:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1471, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1146:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1474, + "mutability": "mutable", + "name": "agent", + "nameLocation": "1177:5:11", + "nodeType": "VariableDeclaration", + "scope": 1479, + "src": "1169:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1473, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1169:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1476, + "mutability": "mutable", + "name": "reputation", + "nameLocation": "1200:10:11", + "nodeType": "VariableDeclaration", + "scope": 1479, + "src": "1192:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1475, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1192:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1478, + "mutability": "mutable", + "name": "totalRatings", + "nameLocation": "1228:12:11", + "nodeType": "VariableDeclaration", + "scope": 1479, + "src": "1220:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1477, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1220:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "AgentData", + "nameLocation": "1080:9:11", + "nodeType": "StructDefinition", + "scope": 2363, + "src": "1073:174:11", + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "dca60776", + "id": 1482, + "mutability": "mutable", + "name": "agentRegistryV1", + "nameLocation": "1277:15:11", + "nodeType": "VariableDeclaration", + "scope": 2363, + "src": "1253:39:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + }, + "typeName": { + "id": 1481, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1480, + "name": "IAgentRegistryV1", + "nameLocations": [ + "1253:16:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3258, + "src": "1253:16:11" + }, + "referencedDeclaration": 3258, + "src": "1253:16:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "cbcf252a", + "id": 1485, + "mutability": "mutable", + "name": "serviceRegistry", + "nameLocation": "1332:15:11", + "nodeType": "VariableDeclaration", + "scope": 2363, + "src": "1298:49:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + }, + "typeName": { + "id": 1484, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1483, + "name": "ServiceRegistryUpgradeable", + "nameLocations": [ + "1298:26:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2577, + "src": "1298:26:11" + }, + "referencedDeclaration": 2577, + "src": "1298:26:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "9e498f16", + "id": 1487, + "mutability": "mutable", + "name": "taskRegistry", + "nameLocation": "1368:12:11", + "nodeType": "VariableDeclaration", + "scope": 2363, + "src": "1353:27:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1486, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1353:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "fd66091e", + "id": 1492, + "mutability": "mutable", + "name": "agents", + "nameLocation": "1424:6:11", + "nodeType": "VariableDeclaration", + "scope": 2363, + "src": "1387:43:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData)" + }, + "typeName": { + "id": 1491, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 1488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1395:7:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1387:29:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 1490, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1489, + "name": "AgentData", + "nameLocations": [ + "1406:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1479, + "src": "1406:9:11" + }, + "referencedDeclaration": 1479, + "src": "1406:9:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "013cf08b", + "id": 1497, + "mutability": "mutable", + "name": "proposals", + "nameLocation": "1479:9:11", + "nodeType": "VariableDeclaration", + "scope": 2363, + "src": "1436:52:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$3273_storage_$", + "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal)" + }, + "typeName": { + "id": 1496, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 1493, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1444:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1436:35:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$3273_storage_$", + "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 1495, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1494, + "name": "ServiceProposal", + "nameLocations": [ + "1455:15:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3273, + "src": "1455:15:11" + }, + "referencedDeclaration": 3273, + "src": "1455:15:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "2ab09d14", + "id": 1499, + "mutability": "mutable", + "name": "nextProposalId", + "nameLocation": "1509:14:11", + "nodeType": "VariableDeclaration", + "scope": 2363, + "src": "1494:29:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1498, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1494:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 1515, + "nodeType": "Block", + "src": "1569:134:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1510, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 1504, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "1600:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1506, + "indexExpression": { + "id": 1505, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1501, + "src": "1607:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1600:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 1507, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1614:5:11", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1472, + "src": "1600:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1508, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1623:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1627:6:11", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1623:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1600:33:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f7420746865206f776e6572206f6620746865206167656e74", + "id": 1511, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1647:28:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_333080ba9ab8738c4a0b47b5b79d2c142d573a23f488baafda66363f88786955", + "typeString": "literal_string \"Not the owner of the agent\"" + }, + "value": "Not the owner of the agent" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_333080ba9ab8738c4a0b47b5b79d2c142d573a23f488baafda66363f88786955", + "typeString": "literal_string \"Not the owner of the agent\"" + } + ], + "id": 1503, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1579:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1579:106:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1513, + "nodeType": "ExpressionStatement", + "src": "1579:106:11" + }, + { + "id": 1514, + "nodeType": "PlaceholderStatement", + "src": "1695:1:11" + } + ] + }, + "id": 1516, + "name": "onlyAgentOwner", + "nameLocation": "1539:14:11", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 1502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1501, + "mutability": "mutable", + "name": "agent", + "nameLocation": "1562:5:11", + "nodeType": "VariableDeclaration", + "scope": 1516, + "src": "1554:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1500, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1554:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1553:15:11" + }, + "src": "1530:173:11", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1523, + "nodeType": "Block", + "src": "1776:39:11", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1520, + "name": "_disableInitializers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 416, + "src": "1786:20:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1521, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1786:22:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1522, + "nodeType": "ExpressionStatement", + "src": "1786:22:11" + } + ] + }, + "documentation": { + "id": 1517, + "nodeType": "StructuredDocumentation", + "src": "1709:48:11", + "text": "@custom:oz-upgrades-unsafe-allow constructor" + }, + "id": 1524, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1518, + "nodeType": "ParameterList", + "parameters": [], + "src": "1773:2:11" + }, + "returnParameters": { + "id": 1519, + "nodeType": "ParameterList", + "parameters": [], + "src": "1776:0:11" + }, + "scope": 2363, + "src": "1762:53:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1556, + "nodeType": "Block", + "src": "2164:202:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 1537, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2189:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2193:6:11", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2189:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1536, + "name": "__Ownable_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "2174:14:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2174:26:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1540, + "nodeType": "ExpressionStatement", + "src": "2174:26:11" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1541, + "name": "__UUPSUpgradeable_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 516, + "src": "2210:22:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 1542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2210:24:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1543, + "nodeType": "ExpressionStatement", + "src": "2210:24:11" + }, + { + "expression": { + "id": 1546, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1544, + "name": "agentRegistryV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1482, + "src": "2253:15:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1545, + "name": "_agentRegistryV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1528, + "src": "2271:16:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + }, + "src": "2253:34:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + }, + "id": 1547, + "nodeType": "ExpressionStatement", + "src": "2253:34:11" + }, + { + "expression": { + "id": 1550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1548, + "name": "serviceRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "2297:15:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1549, + "name": "_serviceRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1531, + "src": "2315:16:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "src": "2297:34:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "id": 1551, + "nodeType": "ExpressionStatement", + "src": "2297:34:11" + }, + { + "expression": { + "id": 1554, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1552, + "name": "nextProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1499, + "src": "2341:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31", + "id": 1553, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2358:1:11", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "2341:18:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1555, + "nodeType": "ExpressionStatement", + "src": "2341:18:11" + } + ] + }, + "documentation": { + "id": 1525, + "nodeType": "StructuredDocumentation", + "src": "1821:197:11", + "text": " @dev Initializes the contract\n @param _agentRegistryV1 The address of the V1 agent registry for migration\n @param _serviceRegistry The address of the service registry" + }, + "functionSelector": "485cc955", + "id": 1557, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1534, + "kind": "modifierInvocation", + "modifierName": { + "id": 1533, + "name": "initializer", + "nameLocations": [ + "2152:11:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 302, + "src": "2152:11:11" + }, + "nodeType": "ModifierInvocation", + "src": "2152:11:11" + } + ], + "name": "initialize", + "nameLocation": "2032:10:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1528, + "mutability": "mutable", + "name": "_agentRegistryV1", + "nameLocation": "2069:16:11", + "nodeType": "VariableDeclaration", + "scope": 1557, + "src": "2052:33:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + }, + "typeName": { + "id": 1527, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1526, + "name": "IAgentRegistryV1", + "nameLocations": [ + "2052:16:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3258, + "src": "2052:16:11" + }, + "referencedDeclaration": 3258, + "src": "2052:16:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1531, + "mutability": "mutable", + "name": "_serviceRegistry", + "nameLocation": "2122:16:11", + "nodeType": "VariableDeclaration", + "scope": 1557, + "src": "2095:43:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + }, + "typeName": { + "id": 1530, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1529, + "name": "ServiceRegistryUpgradeable", + "nameLocations": [ + "2095:26:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2577, + "src": "2095:26:11" + }, + "referencedDeclaration": 2577, + "src": "2095:26:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "visibility": "internal" + } + ], + "src": "2042:102:11" + }, + "returnParameters": { + "id": 1535, + "nodeType": "ParameterList", + "parameters": [], + "src": "2164:0:11" + }, + "scope": 2363, + "src": "2023:343:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "anonymous": false, + "eventSelector": "2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de28", + "id": 1567, + "name": "AgentRegistered", + "nameLocation": "2378:15:11", + "nodeType": "EventDefinition", + "parameters": { + "id": 1566, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1559, + "indexed": true, + "mutability": "mutable", + "name": "agent", + "nameLocation": "2419:5:11", + "nodeType": "VariableDeclaration", + "scope": 1567, + "src": "2403:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1558, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2403:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1561, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2450:5:11", + "nodeType": "VariableDeclaration", + "scope": 1567, + "src": "2434:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1560, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2434:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1563, + "indexed": false, + "mutability": "mutable", + "name": "name", + "nameLocation": "2472:4:11", + "nodeType": "VariableDeclaration", + "scope": 1567, + "src": "2465:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1562, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2465:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1565, + "indexed": false, + "mutability": "mutable", + "name": "agentUri", + "nameLocation": "2493:8:11", + "nodeType": "VariableDeclaration", + "scope": 1567, + "src": "2486:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1564, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2486:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2393:114:11" + }, + "src": "2372:136:11" + }, + { + "anonymous": false, + "eventSelector": "fc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c821", + "id": 1573, + "name": "ReputationUpdated", + "nameLocation": "2519:17:11", + "nodeType": "EventDefinition", + "parameters": { + "id": 1572, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1569, + "indexed": true, + "mutability": "mutable", + "name": "agent", + "nameLocation": "2553:5:11", + "nodeType": "VariableDeclaration", + "scope": 1573, + "src": "2537:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1568, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2537:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1571, + "indexed": false, + "mutability": "mutable", + "name": "newReputation", + "nameLocation": "2568:13:11", + "nodeType": "VariableDeclaration", + "scope": 1573, + "src": "2560:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1570, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2560:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2536:46:11" + }, + "src": "2513:70:11" + }, + { + "anonymous": false, + "eventSelector": "a6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f", + "id": 1585, + "name": "ProposalAdded", + "nameLocation": "2595:13:11", + "nodeType": "EventDefinition", + "parameters": { + "id": 1584, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1575, + "indexed": true, + "mutability": "mutable", + "name": "agent", + "nameLocation": "2634:5:11", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "2618:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1574, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2618:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1577, + "indexed": false, + "mutability": "mutable", + "name": "proposalId", + "nameLocation": "2657:10:11", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "2649:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1576, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2649:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1579, + "indexed": false, + "mutability": "mutable", + "name": "name", + "nameLocation": "2684:4:11", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "2677:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1578, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2677:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1581, + "indexed": false, + "mutability": "mutable", + "name": "price", + "nameLocation": "2706:5:11", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "2698:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1580, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2698:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1583, + "indexed": false, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "2729:12:11", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "2721:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1582, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2721:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2608:139:11" + }, + "src": "2589:159:11" + }, + { + "anonymous": false, + "eventSelector": "45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f2", + "id": 1591, + "name": "ProposalRemoved", + "nameLocation": "2759:15:11", + "nodeType": "EventDefinition", + "parameters": { + "id": 1590, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1587, + "indexed": true, + "mutability": "mutable", + "name": "agent", + "nameLocation": "2791:5:11", + "nodeType": "VariableDeclaration", + "scope": 1591, + "src": "2775:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1586, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2775:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1589, + "indexed": false, + "mutability": "mutable", + "name": "proposalId", + "nameLocation": "2806:10:11", + "nodeType": "VariableDeclaration", + "scope": 1591, + "src": "2798:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1588, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2798:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2774:43:11" + }, + "src": "2753:65:11" + }, + { + "anonymous": false, + "eventSelector": "3cad238995a4564b6868330d8a7814231097060da0ec77540423e3f48c53c5ea", + "id": 1601, + "name": "ProposalUpdated", + "nameLocation": "2830:15:11", + "nodeType": "EventDefinition", + "parameters": { + "id": 1600, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1593, + "indexed": true, + "mutability": "mutable", + "name": "agent", + "nameLocation": "2871:5:11", + "nodeType": "VariableDeclaration", + "scope": 1601, + "src": "2855:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1592, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2855:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1595, + "indexed": false, + "mutability": "mutable", + "name": "proposalId", + "nameLocation": "2894:10:11", + "nodeType": "VariableDeclaration", + "scope": 1601, + "src": "2886:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1594, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2886:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1597, + "indexed": false, + "mutability": "mutable", + "name": "price", + "nameLocation": "2922:5:11", + "nodeType": "VariableDeclaration", + "scope": 1601, + "src": "2914:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1596, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2914:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1599, + "indexed": false, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "2945:12:11", + "nodeType": "VariableDeclaration", + "scope": 1601, + "src": "2937:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1598, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2937:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2845:118:11" + }, + "src": "2824:140:11" + }, + { + "anonymous": false, + "eventSelector": "244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b10", + "id": 1609, + "name": "AgentDataUpdated", + "nameLocation": "2975:16:11", + "nodeType": "EventDefinition", + "parameters": { + "id": 1608, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1603, + "indexed": true, + "mutability": "mutable", + "name": "agent", + "nameLocation": "3017:5:11", + "nodeType": "VariableDeclaration", + "scope": 1609, + "src": "3001:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1602, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3001:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1605, + "indexed": false, + "mutability": "mutable", + "name": "name", + "nameLocation": "3039:4:11", + "nodeType": "VariableDeclaration", + "scope": 1609, + "src": "3032:11:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1604, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3032:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1607, + "indexed": false, + "mutability": "mutable", + "name": "agentUri", + "nameLocation": "3060:8:11", + "nodeType": "VariableDeclaration", + "scope": 1609, + "src": "3053:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1606, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3053:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2991:83:11" + }, + "src": "2969:106:11" + }, + { + "anonymous": false, + "eventSelector": "4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b3", + "id": 1615, + "name": "AgentRemoved", + "nameLocation": "3087:12:11", + "nodeType": "EventDefinition", + "parameters": { + "id": 1614, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1611, + "indexed": true, + "mutability": "mutable", + "name": "agent", + "nameLocation": "3125:5:11", + "nodeType": "VariableDeclaration", + "scope": 1615, + "src": "3109:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1610, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3109:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1613, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3156:5:11", + "nodeType": "VariableDeclaration", + "scope": 1615, + "src": "3140:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1612, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3140:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3099:68:11" + }, + "src": "3081:87:11" + }, + { + "body": { + "id": 1637, + "nodeType": "Block", + "src": "3386:110:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1629, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1624, + "name": "_taskRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1618, + "src": "3404:13:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1627, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3429:1:11", + "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": 1626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3421:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1625, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3421:7:11", + "typeDescriptions": {} + } + }, + "id": 1628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3421:10:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3404:27:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c69642061646472657373", + "id": 1630, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3433:17:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", + "typeString": "literal_string \"Invalid address\"" + }, + "value": "Invalid address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", + "typeString": "literal_string \"Invalid address\"" + } + ], + "id": 1623, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3396:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3396:55:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1632, + "nodeType": "ExpressionStatement", + "src": "3396:55:11" + }, + { + "expression": { + "id": 1635, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1633, + "name": "taskRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1487, + "src": "3461:12:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1634, + "name": "_taskRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1618, + "src": "3476:13:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3461:28:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1636, + "nodeType": "ExpressionStatement", + "src": "3461:28:11" + } + ] + }, + "documentation": { + "id": 1616, + "nodeType": "StructuredDocumentation", + "src": "3174:140:11", + "text": " @dev Sets the address of the TaskRegistry contract.\n @param _taskRegistry The address of the TaskRegistry contract." + }, + "functionSelector": "b2d78069", + "id": 1638, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1621, + "kind": "modifierInvocation", + "modifierName": { + "id": 1620, + "name": "onlyOwner", + "nameLocations": [ + "3376:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 89, + "src": "3376:9:11" + }, + "nodeType": "ModifierInvocation", + "src": "3376:9:11" + } + ], + "name": "setTaskRegistry", + "nameLocation": "3328:15:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1619, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1618, + "mutability": "mutable", + "name": "_taskRegistry", + "nameLocation": "3352:13:11", + "nodeType": "VariableDeclaration", + "scope": 1638, + "src": "3344:21:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1617, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3344:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3343:23:11" + }, + "returnParameters": { + "id": 1622, + "nodeType": "ParameterList", + "parameters": [], + "src": "3386:0:11" + }, + "scope": 2363, + "src": "3319:177:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1662, + "nodeType": "Block", + "src": "3729:147:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1647, + "name": "_serviceRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1641, + "src": "3747:16:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3775:1:11", + "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": 1649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3767:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1648, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3767:7:11", + "typeDescriptions": {} + } + }, + "id": 1651, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3767:10:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3747:30:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c69642061646472657373", + "id": 1653, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3779:17:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", + "typeString": "literal_string \"Invalid address\"" + }, + "value": "Invalid address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226", + "typeString": "literal_string \"Invalid address\"" + } + ], + "id": 1646, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3739:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3739:58:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1655, + "nodeType": "ExpressionStatement", + "src": "3739:58:11" + }, + { + "expression": { + "id": 1660, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1656, + "name": "serviceRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "3807:15:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1658, + "name": "_serviceRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1641, + "src": "3852:16:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1657, + "name": "ServiceRegistryUpgradeable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2577, + "src": "3825:26:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_ServiceRegistryUpgradeable_$2577_$", + "typeString": "type(contract ServiceRegistryUpgradeable)" + } + }, + "id": 1659, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3825:44:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "src": "3807:62:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "id": 1661, + "nodeType": "ExpressionStatement", + "src": "3807:62:11" + } + ] + }, + "documentation": { + "id": 1639, + "nodeType": "StructuredDocumentation", + "src": "3502:149:11", + "text": " @dev Sets the address of the ServiceRegistry contract.\n @param _serviceRegistry The address of the ServiceRegistry contract." + }, + "functionSelector": "d7071b1f", + "id": 1663, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1644, + "kind": "modifierInvocation", + "modifierName": { + "id": 1643, + "name": "onlyOwner", + "nameLocations": [ + "3719:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 89, + "src": "3719:9:11" + }, + "nodeType": "ModifierInvocation", + "src": "3719:9:11" + } + ], + "name": "setServiceRegistry", + "nameLocation": "3665:18:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1641, + "mutability": "mutable", + "name": "_serviceRegistry", + "nameLocation": "3692:16:11", + "nodeType": "VariableDeclaration", + "scope": 1663, + "src": "3684:24:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1640, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3684:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3683:26:11" + }, + "returnParameters": { + "id": 1645, + "nodeType": "ParameterList", + "parameters": [], + "src": "3729:0:11" + }, + "scope": 2363, + "src": "3656:220:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1695, + "nodeType": "Block", + "src": "4423:148:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 1674, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "4441:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1676, + "indexExpression": { + "id": 1675, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "4448:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4441:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 1677, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4455:5:11", + "memberName": "agent", + "nodeType": "MemberAccess", + "referencedDeclaration": 1474, + "src": "4441:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4472:1:11", + "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": 1679, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4464:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1678, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4464:7:11", + "typeDescriptions": {} + } + }, + "id": 1681, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4464:10:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4441:33:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4167656e7420616c72656164792072656769737465726564", + "id": 1683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4476:26:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b", + "typeString": "literal_string \"Agent already registered\"" + }, + "value": "Agent already registered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b", + "typeString": "literal_string \"Agent already registered\"" + } + ], + "id": 1673, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4433:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4433:70:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1685, + "nodeType": "ExpressionStatement", + "src": "4433:70:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1687, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "4527:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1688, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1668, + "src": "4534:4:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 1689, + "name": "agentUri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1670, + "src": "4540:8:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 1690, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4550:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4554:6:11", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4550:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "30", + "id": 1692, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4562:1:11", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1686, + "name": "_createAgent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2149, + "src": "4514:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,string memory,string memory,address,uint256)" + } + }, + "id": 1693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4514:50:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1694, + "nodeType": "ExpressionStatement", + "src": "4514:50:11" + } + ] + }, + "documentation": { + "id": 1664, + "nodeType": "StructuredDocumentation", + "src": "3882:415:11", + "text": " @dev Registers a new agent with the given details.\n @param name The name of the agent.\n @param agentUri The URI pointing to the agent's metadata.\n @param agent The address of the agent.\n Requirements:\n - The agent must not already be registered.\n - The caller will be set as the owner of the agent.\n Emits an {AgentRegistered} event." + }, + "functionSelector": "7216fe48", + "id": 1696, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerAgent", + "nameLocation": "4311:13:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1671, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1666, + "mutability": "mutable", + "name": "agent", + "nameLocation": "4342:5:11", + "nodeType": "VariableDeclaration", + "scope": 1696, + "src": "4334:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1665, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4334:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1668, + "mutability": "mutable", + "name": "name", + "nameLocation": "4371:4:11", + "nodeType": "VariableDeclaration", + "scope": 1696, + "src": "4357:18:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1667, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4357:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1670, + "mutability": "mutable", + "name": "agentUri", + "nameLocation": "4399:8:11", + "nodeType": "VariableDeclaration", + "scope": 1696, + "src": "4385:22:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1669, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4385:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4324:89:11" + }, + "returnParameters": { + "id": 1672, + "nodeType": "ParameterList", + "parameters": [], + "src": "4423:0:11" + }, + "scope": 2363, + "src": "4302:269:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1749, + "nodeType": "Block", + "src": "5345:349:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1721, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 1713, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "5363:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1715, + "indexExpression": { + "id": 1714, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1699, + "src": "5370:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5363:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 1716, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5377:5:11", + "memberName": "agent", + "nodeType": "MemberAccess", + "referencedDeclaration": 1474, + "src": "5363:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5394:1:11", + "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": 1718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5386:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1717, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5386:7:11", + "typeDescriptions": {} + } + }, + "id": 1720, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5386:10:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5363:33:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4167656e7420616c72656164792072656769737465726564", + "id": 1722, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5398:26:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b", + "typeString": "literal_string \"Agent already registered\"" + }, + "value": "Agent already registered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b", + "typeString": "literal_string \"Agent already registered\"" + } + ], + "id": 1712, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5355:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5355:70:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1724, + "nodeType": "ExpressionStatement", + "src": "5355:70:11" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 1728, + "name": "serviceName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1705, + "src": "5492:11:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 1726, + "name": "serviceRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "5456:15:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "id": 1727, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5472:19:11", + "memberName": "isServiceRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 2525, + "src": "5456:35:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view external returns (bool)" + } + }, + "id": 1729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5456:48:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53657276696365206e6f742072656769737465726564", + "id": 1730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5518:24:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6", + "typeString": "literal_string \"Service not registered\"" + }, + "value": "Service not registered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6", + "typeString": "literal_string \"Service not registered\"" + } + ], + "id": 1725, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5435:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1731, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5435:117:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1732, + "nodeType": "ExpressionStatement", + "src": "5435:117:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1734, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1699, + "src": "5576:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1735, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1701, + "src": "5583:4:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 1736, + "name": "agentUri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1703, + "src": "5589:8:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 1737, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5599:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1738, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5603:6:11", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "5599:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "hexValue": "30", + "id": 1739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5611:1:11", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1733, + "name": "_createAgent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2149, + "src": "5563:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,string memory,string memory,address,uint256)" + } + }, + "id": 1740, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5563:50:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1741, + "nodeType": "ExpressionStatement", + "src": "5563:50:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1743, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1699, + "src": "5640:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1744, + "name": "serviceName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1705, + "src": "5647:11:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 1745, + "name": "servicePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1707, + "src": "5660:12:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1746, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1709, + "src": "5674:12:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1742, + "name": "_createProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2190, + "src": "5624:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,string memory,uint256,address)" + } + }, + "id": 1747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5624:63:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1748, + "nodeType": "ExpressionStatement", + "src": "5624:63:11" + } + ] + }, + "documentation": { + "id": 1697, + "nodeType": "StructuredDocumentation", + "src": "4577:536:11", + "text": " @dev Registers a new agent with the given details and the proposal.\n @param name The name of the agent.\n @param agentUri The URI pointing to the agent's metadata.\n @param agent The address of the agent.\n @param serviceName The name of the service.\n @param servicePrice The price of the service.\n Requirements:\n - The agent must not already be registered.\n - The caller will be set as the owner of the agent.\n Emits an {AgentRegistered} event." + }, + "functionSelector": "270baaa8", + "id": 1750, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerAgentWithService", + "nameLocation": "5127:24:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1710, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1699, + "mutability": "mutable", + "name": "agent", + "nameLocation": "5169:5:11", + "nodeType": "VariableDeclaration", + "scope": 1750, + "src": "5161:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1698, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5161:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1701, + "mutability": "mutable", + "name": "name", + "nameLocation": "5198:4:11", + "nodeType": "VariableDeclaration", + "scope": 1750, + "src": "5184:18:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1700, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5184:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1703, + "mutability": "mutable", + "name": "agentUri", + "nameLocation": "5226:8:11", + "nodeType": "VariableDeclaration", + "scope": 1750, + "src": "5212:22:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1702, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5212:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1705, + "mutability": "mutable", + "name": "serviceName", + "nameLocation": "5258:11:11", + "nodeType": "VariableDeclaration", + "scope": 1750, + "src": "5244:25:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1704, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5244:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1707, + "mutability": "mutable", + "name": "servicePrice", + "nameLocation": "5287:12:11", + "nodeType": "VariableDeclaration", + "scope": 1750, + "src": "5279:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1706, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5279:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1709, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "5317:12:11", + "nodeType": "VariableDeclaration", + "scope": 1750, + "src": "5309:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1708, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5309:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5151:184:11" + }, + "returnParameters": { + "id": 1711, + "nodeType": "ParameterList", + "parameters": [], + "src": "5345:0:11" + }, + "scope": 2363, + "src": "5118:576:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1780, + "nodeType": "Block", + "src": "6298:208:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 1768, + "name": "serviceName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "6365:11:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 1766, + "name": "serviceRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "6329:15:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "id": 1767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6345:19:11", + "memberName": "isServiceRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 2525, + "src": "6329:35:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view external returns (bool)" + } + }, + "id": 1769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6329:48:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53657276696365206e6f742072656769737465726564", + "id": 1770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6391:24:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6", + "typeString": "literal_string \"Service not registered\"" + }, + "value": "Service not registered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6", + "typeString": "literal_string \"Service not registered\"" + } + ], + "id": 1765, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6308:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6308:117:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1772, + "nodeType": "ExpressionStatement", + "src": "6308:117:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1774, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1753, + "src": "6452:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1775, + "name": "serviceName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "6459:11:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 1776, + "name": "servicePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1757, + "src": "6472:12:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1777, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1759, + "src": "6486:12:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1773, + "name": "_createProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2190, + "src": "6436:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,string memory,uint256,address)" + } + }, + "id": 1778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6436:63:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1779, + "nodeType": "ExpressionStatement", + "src": "6436:63:11" + } + ] + }, + "documentation": { + "id": 1751, + "nodeType": "StructuredDocumentation", + "src": "5700:419:11", + "text": " @dev Adds a new proposal for an agent.\n @param agent The address of the agent.\n @param serviceName The name of the service.\n @param servicePrice The price of the service.\n Requirements:\n - The caller must be the owner of the agent.\n - The agent must be registered.\n - The service must be registered.\n Emits a {ProposalAdded} event." + }, + "functionSelector": "aebfd80e", + "id": 1781, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1762, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1753, + "src": "6291:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1763, + "kind": "modifierInvocation", + "modifierName": { + "id": 1761, + "name": "onlyAgentOwner", + "nameLocations": [ + "6276:14:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1516, + "src": "6276:14:11" + }, + "nodeType": "ModifierInvocation", + "src": "6276:21:11" + } + ], + "name": "addProposal", + "nameLocation": "6133:11:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1760, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1753, + "mutability": "mutable", + "name": "agent", + "nameLocation": "6162:5:11", + "nodeType": "VariableDeclaration", + "scope": 1781, + "src": "6154:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1752, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6154:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1755, + "mutability": "mutable", + "name": "serviceName", + "nameLocation": "6191:11:11", + "nodeType": "VariableDeclaration", + "scope": 1781, + "src": "6177:25:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1754, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6177:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1757, + "mutability": "mutable", + "name": "servicePrice", + "nameLocation": "6220:12:11", + "nodeType": "VariableDeclaration", + "scope": 1781, + "src": "6212:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1756, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6212:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1759, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "6250:12:11", + "nodeType": "VariableDeclaration", + "scope": 1781, + "src": "6242:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1758, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6242:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6144:124:11" + }, + "returnParameters": { + "id": 1764, + "nodeType": "ParameterList", + "parameters": [], + "src": "6298:0:11" + }, + "scope": 2363, + "src": "6124:382:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1816, + "nodeType": "Block", + "src": "7091:237:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1800, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 1795, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1497, + "src": "7122:9:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$3273_storage_$", + "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" + } + }, + "id": 1797, + "indexExpression": { + "id": 1796, + "name": "proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1786, + "src": "7132:10:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7122:21:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage", + "typeString": "struct IProposalStruct.ServiceProposal storage ref" + } + }, + "id": 1798, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7144:6:11", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 3262, + "src": "7122:28:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1799, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1784, + "src": "7154:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7122:37:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5365727669636550726f706f73616c206e6f7420666f756e64", + "id": 1801, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7173:27:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829", + "typeString": "literal_string \"ServiceProposal not found\"" + }, + "value": "ServiceProposal not found" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829", + "typeString": "literal_string \"ServiceProposal not found\"" + } + ], + "id": 1794, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7101:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1802, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7101:109:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1803, + "nodeType": "ExpressionStatement", + "src": "7101:109:11" + }, + { + "expression": { + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "7221:28:11", + "subExpression": { + "baseExpression": { + "id": 1804, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1497, + "src": "7228:9:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$3273_storage_$", + "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" + } + }, + "id": 1806, + "indexExpression": { + "id": 1805, + "name": "proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1786, + "src": "7238:10:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7228:21:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage", + "typeString": "struct IProposalStruct.ServiceProposal storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1808, + "nodeType": "ExpressionStatement", + "src": "7221:28:11" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1810, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1784, + "src": "7281:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1811, + "name": "proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1786, + "src": "7288:10:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1809, + "name": "ProposalRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "7265:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 1812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7265:34:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1813, + "nodeType": "EmitStatement", + "src": "7260:39:11" + }, + { + "expression": { + "hexValue": "74727565", + "id": 1814, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7317:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 1793, + "id": 1815, + "nodeType": "Return", + "src": "7310:11:11" + } + ] + }, + "documentation": { + "id": 1782, + "nodeType": "StructuredDocumentation", + "src": "6512:447:11", + "text": " @dev Removes a proposal for an agent.\n @param agent The address of the agent.\n @param proposalId The ID of the proposal to remove.\n @return true if the proposal was removed successfully, false otherwise.\n Requirements:\n - The caller must be the owner of the agent.\n - The agent must be registered.\n - The proposal must exist.\n Emits a {ProposalRemoved} event." + }, + "functionSelector": "7b5c219d", + "id": 1817, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 1789, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1784, + "src": "7069:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 1790, + "kind": "modifierInvocation", + "modifierName": { + "id": 1788, + "name": "onlyAgentOwner", + "nameLocations": [ + "7054:14:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1516, + "src": "7054:14:11" + }, + "nodeType": "ModifierInvocation", + "src": "7054:21:11" + } + ], + "name": "removeProposal", + "nameLocation": "6973:14:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1787, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1784, + "mutability": "mutable", + "name": "agent", + "nameLocation": "7005:5:11", + "nodeType": "VariableDeclaration", + "scope": 1817, + "src": "6997:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1783, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6997:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1786, + "mutability": "mutable", + "name": "proposalId", + "nameLocation": "7028:10:11", + "nodeType": "VariableDeclaration", + "scope": 1817, + "src": "7020:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1785, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7020:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6987:57:11" + }, + "returnParameters": { + "id": 1793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1792, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1817, + "src": "7085:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1791, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7085:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7084:6:11" + }, + "scope": 2363, + "src": "6964:364:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1879, + "nodeType": "Block", + "src": "7473:490:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 1824, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "7491:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1826, + "indexExpression": { + "id": 1825, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1820, + "src": "7498:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7491:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 1827, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7505:5:11", + "memberName": "agent", + "nodeType": "MemberAccess", + "referencedDeclaration": 1474, + "src": "7491:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 1830, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7522:1:11", + "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": 1829, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7514:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1828, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7514:7:11", + "typeDescriptions": {} + } + }, + "id": 1831, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7514:10:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7491:33:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4167656e7420616c72656164792072656769737465726564", + "id": 1833, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7526:26:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b", + "typeString": "literal_string \"Agent already registered\"" + }, + "value": "Agent already registered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b", + "typeString": "literal_string \"Agent already registered\"" + } + ], + "id": 1823, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7483:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1834, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7483:70:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1835, + "nodeType": "ExpressionStatement", + "src": "7483:70:11" + }, + { + "assignments": [ + 1840 + ], + "declarations": [ + { + "constant": false, + "id": 1840, + "mutability": "mutable", + "name": "v1AgentData", + "nameLocation": "7598:11:11", + "nodeType": "VariableDeclaration", + "scope": 1879, + "src": "7564:45:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$3220_memory_ptr", + "typeString": "struct IAgentRegistryV1.AgentData" + }, + "typeName": { + "id": 1839, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1838, + "name": "IAgentRegistryV1.AgentData", + "nameLocations": [ + "7564:16:11", + "7581:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3220, + "src": "7564:26:11" + }, + "referencedDeclaration": 3220, + "src": "7564:26:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$3220_storage_ptr", + "typeString": "struct IAgentRegistryV1.AgentData" + } + }, + "visibility": "internal" + } + ], + "id": 1847, + "initialValue": { + "arguments": [ + { + "id": 1845, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1820, + "src": "7659:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "arguments": [ + { + "id": 1842, + "name": "agentRegistryV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1482, + "src": "7629:15:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + ], + "id": 1841, + "name": "IAgentRegistryV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3258, + "src": "7612:16:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAgentRegistryV1_$3258_$", + "typeString": "type(contract IAgentRegistryV1)" + } + }, + "id": 1843, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7612:33:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + }, + "id": 1844, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7646:12:11", + "memberName": "getAgentData", + "nodeType": "MemberAccess", + "referencedDeclaration": 3239, + "src": "7612:46:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_address_$returns$_t_struct$_AgentData_$3220_memory_ptr_$", + "typeString": "function (address) view external returns (struct IAgentRegistryV1.AgentData memory)" + } + }, + "id": 1846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7612:53:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$3220_memory_ptr", + "typeString": "struct IAgentRegistryV1.AgentData memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7564:101:11" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1859, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1849, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7697:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7701:6:11", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7697:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1851, + "name": "v1AgentData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "7711:11:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$3220_memory_ptr", + "typeString": "struct IAgentRegistryV1.AgentData memory" + } + }, + "id": 1852, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7723:5:11", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3213, + "src": "7711:17:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7697:31:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1858, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1854, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "7732:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1855, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7736:6:11", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "7732:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1856, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 105, + "src": "7746:5:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7746:7:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7732:21:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7697:56:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f74206f776e6572206f72206167656e74206f776e6572", + "id": 1860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7767:26:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50182bd41cda0e194d07720f94dca7a677e712fa34d7dd8998809213f4730ecf", + "typeString": "literal_string \"Not owner or agent owner\"" + }, + "value": "Not owner or agent owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_50182bd41cda0e194d07720f94dca7a677e712fa34d7dd8998809213f4730ecf", + "typeString": "literal_string \"Not owner or agent owner\"" + } + ], + "id": 1848, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7676:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7676:127:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1862, + "nodeType": "ExpressionStatement", + "src": "7676:127:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1864, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1820, + "src": "7827:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1865, + "name": "v1AgentData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "7834:11:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$3220_memory_ptr", + "typeString": "struct IAgentRegistryV1.AgentData memory" + } + }, + "id": 1866, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7846:4:11", + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 3209, + "src": "7834:16:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 1867, + "name": "v1AgentData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "7852:11:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$3220_memory_ptr", + "typeString": "struct IAgentRegistryV1.AgentData memory" + } + }, + "id": 1868, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7864:8:11", + "memberName": "agentUri", + "nodeType": "MemberAccess", + "referencedDeclaration": 3211, + "src": "7852:20:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 1869, + "name": "v1AgentData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "7874:11:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$3220_memory_ptr", + "typeString": "struct IAgentRegistryV1.AgentData memory" + } + }, + "id": 1870, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7886:5:11", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 3213, + "src": "7874:17:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1871, + "name": "v1AgentData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1840, + "src": "7893:11:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$3220_memory_ptr", + "typeString": "struct IAgentRegistryV1.AgentData memory" + } + }, + "id": 1872, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "7905:10:11", + "memberName": "reputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 3217, + "src": "7893:22:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1863, + "name": "_createAgent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2149, + "src": "7814:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,string memory,string memory,address,uint256)" + } + }, + "id": 1873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7814:102:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1874, + "nodeType": "ExpressionStatement", + "src": "7814:102:11" + }, + { + "expression": { + "arguments": [ + { + "id": 1876, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1820, + "src": "7950:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1875, + "name": "_migrateAgentProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2305, + "src": "7927:22:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 1877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "7927:29:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1878, + "nodeType": "ExpressionStatement", + "src": "7927:29:11" + } + ] + }, + "documentation": { + "id": 1818, + "nodeType": "StructuredDocumentation", + "src": "7334:88:11", + "text": " @dev Migrates an agent.\n @param agent The address of the agent." + }, + "functionSelector": "5c8a4839", + "id": 1880, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "migrateAgent", + "nameLocation": "7436:12:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1821, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1820, + "mutability": "mutable", + "name": "agent", + "nameLocation": "7457:5:11", + "nodeType": "VariableDeclaration", + "scope": 1880, + "src": "7449:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1819, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7449:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7448:15:11" + }, + "returnParameters": { + "id": 1822, + "nodeType": "ParameterList", + "parameters": [], + "src": "7473:0:11" + }, + "scope": 2363, + "src": "7427:536:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1954, + "nodeType": "Block", + "src": "8067:545:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1890, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "8085:3:11", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8089:6:11", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "8085:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1892, + "name": "taskRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1487, + "src": "8099:12:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8085:26:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f7420746865205461736b526567697374727920636f6e7472616374", + "id": 1894, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8113:31:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ab4f7bdcd44e35f2fe5cd34e07194c1c227455329229f7f3f1e8494de9e5c74c", + "typeString": "literal_string \"Not the TaskRegistry contract\"" + }, + "value": "Not the TaskRegistry contract" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ab4f7bdcd44e35f2fe5cd34e07194c1c227455329229f7f3f1e8494de9e5c74c", + "typeString": "literal_string \"Not the TaskRegistry contract\"" + } + ], + "id": 1889, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8077:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8077:68:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1896, + "nodeType": "ExpressionStatement", + "src": "8077:68:11" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1904, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1898, + "name": "_rating", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1884, + "src": "8176:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "30", + "id": 1899, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8187:1:11", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "8176:12:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1901, + "name": "_rating", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1884, + "src": "8192:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "313030", + "id": 1902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8203:3:11", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "8192:14:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "8176:30:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "526174696e67206d757374206265206265747765656e203020616e6420313030", + "id": 1905, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8220:34:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e", + "typeString": "literal_string \"Rating must be between 0 and 100\"" + }, + "value": "Rating must be between 0 and 100" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e", + "typeString": "literal_string \"Rating must be between 0 and 100\"" + } + ], + "id": 1897, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8155:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8155:109:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1907, + "nodeType": "ExpressionStatement", + "src": "8155:109:11" + }, + { + "expression": { + "id": 1913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1908, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "8274:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1910, + "indexExpression": { + "id": 1909, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1882, + "src": "8281:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8274:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 1911, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8288:12:11", + "memberName": "totalRatings", + "nodeType": "MemberAccess", + "referencedDeclaration": 1478, + "src": "8274:26:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 1912, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8304:1:11", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8274:31:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1914, + "nodeType": "ExpressionStatement", + "src": "8274:31:11" + }, + { + "expression": { + "id": 1939, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 1915, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "8315:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1917, + "indexExpression": { + "id": 1916, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1882, + "src": "8322:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8315:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 1918, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "8329:10:11", + "memberName": "reputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 1476, + "src": "8315:24:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 1919, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "8355:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1921, + "indexExpression": { + "id": 1920, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1882, + "src": "8362:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8355:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 1922, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8369:10:11", + "memberName": "reputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 1476, + "src": "8355:24:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 1923, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "8399:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1925, + "indexExpression": { + "id": 1924, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1882, + "src": "8406:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8399:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 1926, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8413:12:11", + "memberName": "totalRatings", + "nodeType": "MemberAccess", + "referencedDeclaration": 1478, + "src": "8399:26:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8428:1:11", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "8399:30:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1929, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8398:32:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8355:75:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 1931, + "name": "_rating", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1884, + "src": "8449:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8355:101:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 1933, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "8354:103:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "/", + "rightExpression": { + "expression": { + "baseExpression": { + "id": 1934, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "8472:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1936, + "indexExpression": { + "id": 1935, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1882, + "src": "8479:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8472:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 1937, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8486:12:11", + "memberName": "totalRatings", + "nodeType": "MemberAccess", + "referencedDeclaration": 1478, + "src": "8472:26:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8354:144:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8315:183:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1940, + "nodeType": "ExpressionStatement", + "src": "8315:183:11" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1942, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1882, + "src": "8531:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "baseExpression": { + "id": 1943, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "8538:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1945, + "indexExpression": { + "id": 1944, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1882, + "src": "8545:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8538:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 1946, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8552:10:11", + "memberName": "reputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 1476, + "src": "8538:24:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1941, + "name": "ReputationUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1573, + "src": "8513:17:11", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 1947, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "8513:50:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1948, + "nodeType": "EmitStatement", + "src": "8508:55:11" + }, + { + "expression": { + "expression": { + "baseExpression": { + "id": 1949, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "8581:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1951, + "indexExpression": { + "id": 1950, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1882, + "src": "8588:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8581:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 1952, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8595:10:11", + "memberName": "reputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 1476, + "src": "8581:24:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1888, + "id": 1953, + "nodeType": "Return", + "src": "8574:31:11" + } + ] + }, + "functionSelector": "70370a81", + "id": 1955, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "addRating", + "nameLocation": "7978:9:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1882, + "mutability": "mutable", + "name": "agent", + "nameLocation": "8005:5:11", + "nodeType": "VariableDeclaration", + "scope": 1955, + "src": "7997:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1881, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7997:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1884, + "mutability": "mutable", + "name": "_rating", + "nameLocation": "8028:7:11", + "nodeType": "VariableDeclaration", + "scope": 1955, + "src": "8020:15:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1883, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8020:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7987:54:11" + }, + "returnParameters": { + "id": 1888, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1887, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1955, + "src": "8058:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1886, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8058:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8057:9:11" + }, + "scope": 2363, + "src": "7969:643:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1967, + "nodeType": "Block", + "src": "8688:48:11", + "statements": [ + { + "expression": { + "expression": { + "baseExpression": { + "id": 1962, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "8705:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1964, + "indexExpression": { + "id": 1963, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1957, + "src": "8712:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8705:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 1965, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "8719:10:11", + "memberName": "reputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 1476, + "src": "8705:24:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1961, + "id": 1966, + "nodeType": "Return", + "src": "8698:31:11" + } + ] + }, + "functionSelector": "9c89a0e2", + "id": 1968, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getReputation", + "nameLocation": "8627:13:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1958, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1957, + "mutability": "mutable", + "name": "agent", + "nameLocation": "8649:5:11", + "nodeType": "VariableDeclaration", + "scope": 1968, + "src": "8641:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1956, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8641:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8640:15:11" + }, + "returnParameters": { + "id": 1961, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1960, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1968, + "src": "8679:7:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1959, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8679:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8678:9:11" + }, + "scope": 2363, + "src": "8618:118:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1986, + "nodeType": "Block", + "src": "8988:77:11", + "statements": [ + { + "assignments": [ + 1979 + ], + "declarations": [ + { + "constant": false, + "id": 1979, + "mutability": "mutable", + "name": "data", + "nameLocation": "9016:4:11", + "nodeType": "VariableDeclaration", + "scope": 1986, + "src": "8998:22:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData" + }, + "typeName": { + "id": 1978, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1977, + "name": "AgentData", + "nameLocations": [ + "8998:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1479, + "src": "8998:9:11" + }, + "referencedDeclaration": 1479, + "src": "8998:9:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData" + } + }, + "visibility": "internal" + } + ], + "id": 1983, + "initialValue": { + "baseExpression": { + "id": 1980, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "9023:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 1982, + "indexExpression": { + "id": 1981, + "name": "_agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "9030:6:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9023:14:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8998:39:11" + }, + { + "expression": { + "id": 1984, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1979, + "src": "9054:4:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage pointer" + } + }, + "functionReturnParameters": 1976, + "id": 1985, + "nodeType": "Return", + "src": "9047:11:11" + } + ] + }, + "documentation": { + "id": 1969, + "nodeType": "StructuredDocumentation", + "src": "8742:148:11", + "text": " @dev Returns the data of an agent.\n @param _agent The address of the agent.\n @return AgentData The data of the agent." + }, + "functionSelector": "aac9f15a", + "id": 1987, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAgentData", + "nameLocation": "8904:12:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1972, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1971, + "mutability": "mutable", + "name": "_agent", + "nameLocation": "8934:6:11", + "nodeType": "VariableDeclaration", + "scope": 1987, + "src": "8926:14:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1970, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8926:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8916:30:11" + }, + "returnParameters": { + "id": 1976, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1975, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1987, + "src": "8970:16:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_memory_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData" + }, + "typeName": { + "id": 1974, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1973, + "name": "AgentData", + "nameLocations": [ + "8970:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1479, + "src": "8970:9:11" + }, + "referencedDeclaration": 1479, + "src": "8970:9:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData" + } + }, + "visibility": "internal" + } + ], + "src": "8969:18:11" + }, + "scope": 2363, + "src": "8895:170:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 1999, + "nodeType": "Block", + "src": "9173:45:11", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1995, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1497, + "src": "9190:9:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$3273_storage_$", + "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" + } + }, + "id": 1997, + "indexExpression": { + "id": 1996, + "name": "proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1989, + "src": "9200:10:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9190:21:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage", + "typeString": "struct IProposalStruct.ServiceProposal storage ref" + } + }, + "functionReturnParameters": 1994, + "id": 1998, + "nodeType": "Return", + "src": "9183:28:11" + } + ] + }, + "functionSelector": "c7f758a8", + "id": 2000, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getProposal", + "nameLocation": "9080:11:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1989, + "mutability": "mutable", + "name": "proposalId", + "nameLocation": "9109:10:11", + "nodeType": "VariableDeclaration", + "scope": 2000, + "src": "9101:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1988, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9101:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9091:34:11" + }, + "returnParameters": { + "id": 1994, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1993, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2000, + "src": "9149:22:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + }, + "typeName": { + "id": 1992, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1991, + "name": "ServiceProposal", + "nameLocations": [ + "9149:15:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3273, + "src": "9149:15:11" + }, + "referencedDeclaration": 3273, + "src": "9149:15:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + } + }, + "visibility": "internal" + } + ], + "src": "9148:24:11" + }, + "scope": 2363, + "src": "9071:147:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2046, + "nodeType": "Block", + "src": "9776:233:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 2014, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "9794:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 2016, + "indexExpression": { + "id": 2015, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2003, + "src": "9801:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9794:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 2017, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "9808:5:11", + "memberName": "agent", + "nodeType": "MemberAccess", + "referencedDeclaration": 1474, + "src": "9794:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2020, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9825:1:11", + "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": 2019, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9817:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2018, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9817:7:11", + "typeDescriptions": {} + } + }, + "id": 2021, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9817:10:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9794:33:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4167656e74206e6f742072656769737465726564", + "id": 2023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9829:22:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6b24a63f053c9f60b33a6142346432678adff778fb93a8ecec9013d5a898e395", + "typeString": "literal_string \"Agent not registered\"" + }, + "value": "Agent not registered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6b24a63f053c9f60b33a6142346432678adff778fb93a8ecec9013d5a898e395", + "typeString": "literal_string \"Agent not registered\"" + } + ], + "id": 2013, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9786:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9786:66:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2025, + "nodeType": "ExpressionStatement", + "src": "9786:66:11" + }, + { + "expression": { + "id": 2031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 2026, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "9871:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 2028, + "indexExpression": { + "id": 2027, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2003, + "src": "9878:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9871:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 2029, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "9885:4:11", + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1468, + "src": "9871:18:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2030, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2005, + "src": "9892:4:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "9871:25:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2032, + "nodeType": "ExpressionStatement", + "src": "9871:25:11" + }, + { + "expression": { + "id": 2038, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 2033, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "9906:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 2035, + "indexExpression": { + "id": 2034, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2003, + "src": "9913:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9906:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 2036, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "9920:8:11", + "memberName": "agentUri", + "nodeType": "MemberAccess", + "referencedDeclaration": 1470, + "src": "9906:22:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2037, + "name": "agentUri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2007, + "src": "9931:8:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "9906:33:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2039, + "nodeType": "ExpressionStatement", + "src": "9906:33:11" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2041, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2003, + "src": "9980:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2042, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2005, + "src": "9987:4:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2043, + "name": "agentUri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2007, + "src": "9993:8:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2040, + "name": "AgentDataUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1609, + "src": "9963:16:11", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,string memory,string memory)" + } + }, + "id": 2044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "9963:39:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2045, + "nodeType": "EmitStatement", + "src": "9958:44:11" + } + ] + }, + "documentation": { + "id": 2001, + "nodeType": "StructuredDocumentation", + "src": "9224:405:11", + "text": " @dev Sets the data of an existing agent.\n @param agent The address of the agent to update.\n @param name The new name of the agent.\n @param agentUri The new URI pointing to the agent's metadata.\n Requirements:\n - The caller must be the owner of the agent.\n - The agent must be registered.\n Emits an {AgentDataUpdated} event." + }, + "functionSelector": "96a45139", + "id": 2047, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2010, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2003, + "src": "9769:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2011, + "kind": "modifierInvocation", + "modifierName": { + "id": 2009, + "name": "onlyAgentOwner", + "nameLocations": [ + "9754:14:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1516, + "src": "9754:14:11" + }, + "nodeType": "ModifierInvocation", + "src": "9754:21:11" + } + ], + "name": "setAgentData", + "nameLocation": "9643:12:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2008, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2003, + "mutability": "mutable", + "name": "agent", + "nameLocation": "9673:5:11", + "nodeType": "VariableDeclaration", + "scope": 2047, + "src": "9665:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2002, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9665:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2005, + "mutability": "mutable", + "name": "name", + "nameLocation": "9702:4:11", + "nodeType": "VariableDeclaration", + "scope": 2047, + "src": "9688:18:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2004, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9688:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2007, + "mutability": "mutable", + "name": "agentUri", + "nameLocation": "9730:8:11", + "nodeType": "VariableDeclaration", + "scope": 2047, + "src": "9716:22:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2006, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9716:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9655:89:11" + }, + "returnParameters": { + "id": 2012, + "nodeType": "ParameterList", + "parameters": [], + "src": "9776:0:11" + }, + "scope": 2363, + "src": "9634:375:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2090, + "nodeType": "Block", + "src": "10456:368:11", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2065, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 2057, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "10474:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 2059, + "indexExpression": { + "id": 2058, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2050, + "src": "10481:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10474:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 2060, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10488:5:11", + "memberName": "agent", + "nodeType": "MemberAccess", + "referencedDeclaration": 1474, + "src": "10474:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10505:1:11", + "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": 2062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10497:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2061, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10497:7:11", + "typeDescriptions": {} + } + }, + "id": 2064, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10497:10:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10474:33:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4167656e74206e6f742072656769737465726564", + "id": 2066, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10509:22:11", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6b24a63f053c9f60b33a6142346432678adff778fb93a8ecec9013d5a898e395", + "typeString": "literal_string \"Agent not registered\"" + }, + "value": "Agent not registered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6b24a63f053c9f60b33a6142346432678adff778fb93a8ecec9013d5a898e395", + "typeString": "literal_string \"Agent not registered\"" + } + ], + "id": 2056, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10466:7:11", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10466:66:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2068, + "nodeType": "ExpressionStatement", + "src": "10466:66:11" + }, + { + "assignments": [ + 2070 + ], + "declarations": [ + { + "constant": false, + "id": 2070, + "mutability": "mutable", + "name": "agentOwner", + "nameLocation": "10559:10:11", + "nodeType": "VariableDeclaration", + "scope": 2090, + "src": "10551:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2069, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10551:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2075, + "initialValue": { + "expression": { + "baseExpression": { + "id": 2071, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "10572:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 2073, + "indexExpression": { + "id": 2072, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2050, + "src": "10579:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10572:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "id": 2074, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "10586:5:11", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1472, + "src": "10572:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10551:40:11" + }, + { + "expression": { + "arguments": [ + { + "id": 2077, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2050, + "src": "10689:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2076, + "name": "_removeAllAgentProposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2347, + "src": "10664:24:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 2078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10664:31:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2079, + "nodeType": "ExpressionStatement", + "src": "10664:31:11" + }, + { + "expression": { + "id": 2083, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "10742:20:11", + "subExpression": { + "baseExpression": { + "id": 2080, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "10749:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 2082, + "indexExpression": { + "id": 2081, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2050, + "src": "10756:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10749:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2084, + "nodeType": "ExpressionStatement", + "src": "10742:20:11" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2086, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2050, + "src": "10799:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2087, + "name": "agentOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2070, + "src": "10806:10:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2085, + "name": "AgentRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1615, + "src": "10786:12:11", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 2088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "10786:31:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2089, + "nodeType": "EmitStatement", + "src": "10781:36:11" + } + ] + }, + "documentation": { + "id": 2048, + "nodeType": "StructuredDocumentation", + "src": "10015:369:11", + "text": " @dev Removes an existing agent and removes all associated proposals.\n @param agent The address of the agent to remove.\n Requirements:\n - The caller must be the owner of the agent.\n - The agent must be registered.\n Emits an {AgentRemoved} event and {ProposalRemoved} events for each removed proposal." + }, + "functionSelector": "97a6278e", + "id": 2091, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2053, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2050, + "src": "10449:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "id": 2054, + "kind": "modifierInvocation", + "modifierName": { + "id": 2052, + "name": "onlyAgentOwner", + "nameLocations": [ + "10434:14:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1516, + "src": "10434:14:11" + }, + "nodeType": "ModifierInvocation", + "src": "10434:21:11" + } + ], + "name": "removeAgent", + "nameLocation": "10398:11:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2051, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2050, + "mutability": "mutable", + "name": "agent", + "nameLocation": "10418:5:11", + "nodeType": "VariableDeclaration", + "scope": 2091, + "src": "10410:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2049, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10410:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "10409:15:11" + }, + "returnParameters": { + "id": 2055, + "nodeType": "ParameterList", + "parameters": [], + "src": "10456:0:11" + }, + "scope": 2363, + "src": "10389:435:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2148, + "nodeType": "Block", + "src": "11000:300:11", + "statements": [ + { + "assignments": [ + 2106 + ], + "declarations": [ + { + "constant": false, + "id": 2106, + "mutability": "mutable", + "name": "agentData", + "nameLocation": "11028:9:11", + "nodeType": "VariableDeclaration", + "scope": 2148, + "src": "11010:27:11", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData" + }, + "typeName": { + "id": 2105, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2104, + "name": "AgentData", + "nameLocations": [ + "11010:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1479, + "src": "11010:9:11" + }, + "referencedDeclaration": 1479, + "src": "11010:9:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData" + } + }, + "visibility": "internal" + } + ], + "id": 2110, + "initialValue": { + "baseExpression": { + "id": 2107, + "name": "agents", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1492, + "src": "11040:6:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_AgentData_$1479_storage_$", + "typeString": "mapping(address => struct AgentsRegistryUpgradeable.AgentData storage ref)" + } + }, + "id": 2109, + "indexExpression": { + "id": 2108, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2093, + "src": "11047:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "11040:13:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11010:43:11" + }, + { + "expression": { + "id": 2115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2111, + "name": "agentData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2106, + "src": "11063:9:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage pointer" + } + }, + "id": 2113, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11073:4:11", + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1468, + "src": "11063:14:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2114, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2095, + "src": "11080:4:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "11063:21:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2116, + "nodeType": "ExpressionStatement", + "src": "11063:21:11" + }, + { + "expression": { + "id": 2121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2117, + "name": "agentData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2106, + "src": "11094:9:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage pointer" + } + }, + "id": 2119, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11104:8:11", + "memberName": "agentUri", + "nodeType": "MemberAccess", + "referencedDeclaration": 1470, + "src": "11094:18:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2120, + "name": "agentUri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2097, + "src": "11115:8:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "11094:29:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2122, + "nodeType": "ExpressionStatement", + "src": "11094:29:11" + }, + { + "expression": { + "id": 2127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2123, + "name": "agentData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2106, + "src": "11133:9:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage pointer" + } + }, + "id": 2125, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11143:5:11", + "memberName": "owner", + "nodeType": "MemberAccess", + "referencedDeclaration": 1472, + "src": "11133:15:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2126, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2099, + "src": "11151:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11133:23:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2128, + "nodeType": "ExpressionStatement", + "src": "11133:23:11" + }, + { + "expression": { + "id": 2133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2129, + "name": "agentData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2106, + "src": "11166:9:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage pointer" + } + }, + "id": 2131, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11176:5:11", + "memberName": "agent", + "nodeType": "MemberAccess", + "referencedDeclaration": 1474, + "src": "11166:15:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2132, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2093, + "src": "11184:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "11166:23:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2134, + "nodeType": "ExpressionStatement", + "src": "11166:23:11" + }, + { + "expression": { + "id": 2139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2135, + "name": "agentData", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2106, + "src": "11199:9:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$1479_storage_ptr", + "typeString": "struct AgentsRegistryUpgradeable.AgentData storage pointer" + } + }, + "id": 2137, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "11209:10:11", + "memberName": "reputation", + "nodeType": "MemberAccess", + "referencedDeclaration": 1476, + "src": "11199:20:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2138, + "name": "reputation", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2101, + "src": "11222:10:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11199:33:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2140, + "nodeType": "ExpressionStatement", + "src": "11199:33:11" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2142, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2093, + "src": "11264:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2143, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2099, + "src": "11271:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2144, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2095, + "src": "11278:4:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2145, + "name": "agentUri", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2097, + "src": "11284:8:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2141, + "name": "AgentRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1567, + "src": "11248:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,string memory,string memory)" + } + }, + "id": 2146, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11248:45:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2147, + "nodeType": "EmitStatement", + "src": "11243:50:11" + } + ] + }, + "id": 2149, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_createAgent", + "nameLocation": "10839:12:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2102, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2093, + "mutability": "mutable", + "name": "agent", + "nameLocation": "10869:5:11", + "nodeType": "VariableDeclaration", + "scope": 2149, + "src": "10861:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2092, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10861:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2095, + "mutability": "mutable", + "name": "name", + "nameLocation": "10898:4:11", + "nodeType": "VariableDeclaration", + "scope": 2149, + "src": "10884:18:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2094, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10884:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2097, + "mutability": "mutable", + "name": "agentUri", + "nameLocation": "10926:8:11", + "nodeType": "VariableDeclaration", + "scope": 2149, + "src": "10912:22:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2096, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10912:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2099, + "mutability": "mutable", + "name": "owner", + "nameLocation": "10952:5:11", + "nodeType": "VariableDeclaration", + "scope": 2149, + "src": "10944:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10944:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2101, + "mutability": "mutable", + "name": "reputation", + "nameLocation": "10975:10:11", + "nodeType": "VariableDeclaration", + "scope": 2149, + "src": "10967:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2100, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10967:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10851:140:11" + }, + "returnParameters": { + "id": 2103, + "nodeType": "ParameterList", + "parameters": [], + "src": "11000:0:11" + }, + "scope": 2363, + "src": "10830:470:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2189, + "nodeType": "Block", + "src": "11463:391:11", + "statements": [ + { + "assignments": [ + 2162 + ], + "declarations": [ + { + "constant": false, + "id": 2162, + "mutability": "mutable", + "name": "newProposal", + "nameLocation": "11496:11:11", + "nodeType": "VariableDeclaration", + "scope": 2189, + "src": "11473:34:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + }, + "typeName": { + "id": 2161, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2160, + "name": "ServiceProposal", + "nameLocations": [ + "11473:15:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3273, + "src": "11473:15:11" + }, + "referencedDeclaration": 3273, + "src": "11473:15:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + } + }, + "visibility": "internal" + } + ], + "id": 2171, + "initialValue": { + "arguments": [ + { + "id": 2164, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2151, + "src": "11539:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2165, + "name": "serviceName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2153, + "src": "11558:11:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2166, + "name": "servicePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2155, + "src": "11583:12:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2167, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2157, + "src": "11609:12:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2168, + "name": "nextProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1499, + "src": "11635:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "74727565", + "id": 2169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11663:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2163, + "name": "ServiceProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3273, + "src": "11510:15:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_ServiceProposal_$3273_storage_ptr_$", + "typeString": "type(struct IProposalStruct.ServiceProposal storage pointer)" + } + }, + "id": 2170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11510:167:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "11473:204:11" + }, + { + "expression": { + "id": 2176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2172, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1497, + "src": "11688:9:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$3273_storage_$", + "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" + } + }, + "id": 2174, + "indexExpression": { + "id": 2173, + "name": "nextProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1499, + "src": "11698:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "11688:25:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage", + "typeString": "struct IProposalStruct.ServiceProposal storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2175, + "name": "newProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2162, + "src": "11716:11:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "src": "11688:39:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage", + "typeString": "struct IProposalStruct.ServiceProposal storage ref" + } + }, + "id": 2177, + "nodeType": "ExpressionStatement", + "src": "11688:39:11" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2179, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2151, + "src": "11757:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2180, + "name": "nextProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1499, + "src": "11764:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2181, + "name": "serviceName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2153, + "src": "11780:11:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2182, + "name": "servicePrice", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2155, + "src": "11793:12:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2183, + "name": "tokenAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2157, + "src": "11807:12:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2178, + "name": "ProposalAdded", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1585, + "src": "11743:13:11", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,uint256,string memory,uint256,address)" + } + }, + "id": 2184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11743:77:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2185, + "nodeType": "EmitStatement", + "src": "11738:82:11" + }, + { + "expression": { + "id": 2187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "11831:16:11", + "subExpression": { + "id": 2186, + "name": "nextProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1499, + "src": "11831:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2188, + "nodeType": "ExpressionStatement", + "src": "11831:16:11" + } + ] + }, + "id": 2190, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_createProposal", + "nameLocation": "11315:15:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2158, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2151, + "mutability": "mutable", + "name": "agent", + "nameLocation": "11348:5:11", + "nodeType": "VariableDeclaration", + "scope": 2190, + "src": "11340:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2150, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11340:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2153, + "mutability": "mutable", + "name": "serviceName", + "nameLocation": "11377:11:11", + "nodeType": "VariableDeclaration", + "scope": 2190, + "src": "11363:25:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2152, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11363:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2155, + "mutability": "mutable", + "name": "servicePrice", + "nameLocation": "11406:12:11", + "nodeType": "VariableDeclaration", + "scope": 2190, + "src": "11398:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2154, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11398:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2157, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "11436:12:11", + "nodeType": "VariableDeclaration", + "scope": 2190, + "src": "11428:20:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11428:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "11330:124:11" + }, + "returnParameters": { + "id": 2159, + "nodeType": "ParameterList", + "parameters": [], + "src": "11463:0:11" + }, + "scope": 2363, + "src": "11306:548:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2238, + "nodeType": "Block", + "src": "11929:599:11", + "statements": [ + { + "condition": { + "id": 2199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "11943:49:11", + "subExpression": { + "arguments": [ + { + "id": 2197, + "name": "serviceName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2192, + "src": "11980:11:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 2195, + "name": "serviceRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "11944:15:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "id": 2196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "11960:19:11", + "memberName": "isServiceRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 2525, + "src": "11944:35:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view external returns (bool)" + } + }, + "id": 2198, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "11944:48:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2237, + "nodeType": "IfStatement", + "src": "11939:583:11", + "trueBody": { + "id": 2236, + "nodeType": "Block", + "src": "11994:528:11", + "statements": [ + { + "assignments": [ + 2201 + ], + "declarations": [ + { + "constant": false, + "id": 2201, + "mutability": "mutable", + "name": "serviceRegistryV1Addr", + "nameLocation": "12016:21:11", + "nodeType": "VariableDeclaration", + "scope": 2236, + "src": "12008:29:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2200, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12008:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2207, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 2203, + "name": "agentRegistryV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1482, + "src": "12057:15:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + ], + "id": 2202, + "name": "IAgentRegistryV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3258, + "src": "12040:16:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAgentRegistryV1_$3258_$", + "typeString": "type(contract IAgentRegistryV1)" + } + }, + "id": 2204, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12040:33:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + }, + "id": 2205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12091:15:11", + "memberName": "serviceRegistry", + "nodeType": "MemberAccess", + "referencedDeclaration": 3257, + "src": "12040:66:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_address_$", + "typeString": "function () view external returns (address)" + } + }, + "id": 2206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12040:68:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12008:100:11" + }, + { + "assignments": [ + 2210 + ], + "declarations": [ + { + "constant": false, + "id": 2210, + "mutability": "mutable", + "name": "serviceRegistryV1", + "nameLocation": "12142:17:11", + "nodeType": "VariableDeclaration", + "scope": 2236, + "src": "12123:36:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IServiceRegistryV1_$1457", + "typeString": "contract IServiceRegistryV1" + }, + "typeName": { + "id": 2209, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2208, + "name": "IServiceRegistryV1", + "nameLocations": [ + "12123:18:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1457, + "src": "12123:18:11" + }, + "referencedDeclaration": 1457, + "src": "12123:18:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IServiceRegistryV1_$1457", + "typeString": "contract IServiceRegistryV1" + } + }, + "visibility": "internal" + } + ], + "id": 2214, + "initialValue": { + "arguments": [ + { + "id": 2212, + "name": "serviceRegistryV1Addr", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2201, + "src": "12198:21:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2211, + "name": "IServiceRegistryV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1457, + "src": "12162:18:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IServiceRegistryV1_$1457_$", + "typeString": "type(contract IServiceRegistryV1)" + } + }, + "id": 2213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12162:71:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IServiceRegistryV1_$1457", + "typeString": "contract IServiceRegistryV1" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12123:110:11" + }, + { + "assignments": [ + 2219 + ], + "declarations": [ + { + "constant": false, + "id": 2219, + "mutability": "mutable", + "name": "service", + "nameLocation": "12282:7:11", + "nodeType": "VariableDeclaration", + "scope": 2236, + "src": "12248:41:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$1448_memory_ptr", + "typeString": "struct IServiceRegistryV1.Service" + }, + "typeName": { + "id": 2218, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2217, + "name": "IServiceRegistryV1.Service", + "nameLocations": [ + "12248:18:11", + "12267:7:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 1448, + "src": "12248:26:11" + }, + "referencedDeclaration": 1448, + "src": "12248:26:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$1448_storage_ptr", + "typeString": "struct IServiceRegistryV1.Service" + } + }, + "visibility": "internal" + } + ], + "id": 2224, + "initialValue": { + "arguments": [ + { + "id": 2222, + "name": "serviceName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2192, + "src": "12338:11:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 2220, + "name": "serviceRegistryV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2210, + "src": "12292:17:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IServiceRegistryV1_$1457", + "typeString": "contract IServiceRegistryV1" + } + }, + "id": 2221, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12327:10:11", + "memberName": "getService", + "nodeType": "MemberAccess", + "referencedDeclaration": 1456, + "src": "12292:45:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_struct$_Service_$1448_memory_ptr_$", + "typeString": "function (string memory) view external returns (struct IServiceRegistryV1.Service memory)" + } + }, + "id": 2223, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12292:58:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$1448_memory_ptr", + "typeString": "struct IServiceRegistryV1.Service memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12248:102:11" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 2228, + "name": "service", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2219, + "src": "12414:7:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$1448_memory_ptr", + "typeString": "struct IServiceRegistryV1.Service memory" + } + }, + "id": 2229, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12422:4:11", + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1441, + "src": "12414:12:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 2230, + "name": "service", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2219, + "src": "12444:7:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$1448_memory_ptr", + "typeString": "struct IServiceRegistryV1.Service memory" + } + }, + "id": 2231, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12452:8:11", + "memberName": "category", + "nodeType": "MemberAccess", + "referencedDeclaration": 1443, + "src": "12444:16:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 2232, + "name": "service", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2219, + "src": "12478:7:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$1448_memory_ptr", + "typeString": "struct IServiceRegistryV1.Service memory" + } + }, + "id": 2233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12486:11:11", + "memberName": "description", + "nodeType": "MemberAccess", + "referencedDeclaration": 1445, + "src": "12478:19:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 2225, + "name": "serviceRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1485, + "src": "12365:15:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "id": 2227, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12381:15:11", + "memberName": "registerService", + "nodeType": "MemberAccess", + "referencedDeclaration": 2481, + "src": "12365:31:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$_t_struct$_Service_$2382_memory_ptr_$", + "typeString": "function (string memory,string memory,string memory) external returns (struct ServiceRegistryUpgradeable.Service memory)" + } + }, + "id": 2234, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12365:146:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_memory_ptr", + "typeString": "struct ServiceRegistryUpgradeable.Service memory" + } + }, + "id": 2235, + "nodeType": "ExpressionStatement", + "src": "12365:146:11" + } + ] + } + } + ] + }, + "id": 2239, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_ensureServiceRegistered", + "nameLocation": "11869:24:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2192, + "mutability": "mutable", + "name": "serviceName", + "nameLocation": "11908:11:11", + "nodeType": "VariableDeclaration", + "scope": 2239, + "src": "11894:25:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2191, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11894:6:11", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "11893:27:11" + }, + "returnParameters": { + "id": 2194, + "nodeType": "ParameterList", + "parameters": [], + "src": "11929:0:11" + }, + "scope": 2363, + "src": "11860:668:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2304, + "nodeType": "Block", + "src": "12589:578:11", + "statements": [ + { + "assignments": [ + 2245 + ], + "declarations": [ + { + "constant": false, + "id": 2245, + "mutability": "mutable", + "name": "numProposalsRegistered", + "nameLocation": "12607:22:11", + "nodeType": "VariableDeclaration", + "scope": 2304, + "src": "12599:30:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2244, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12599:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2251, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 2247, + "name": "agentRegistryV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1482, + "src": "12649:15:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + ], + "id": 2246, + "name": "IAgentRegistryV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3258, + "src": "12632:16:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAgentRegistryV1_$3258_$", + "typeString": "type(contract IAgentRegistryV1)" + } + }, + "id": 2248, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12632:33:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + }, + "id": 2249, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12679:14:11", + "memberName": "nextProposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 3252, + "src": "12632:61:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 2250, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12632:63:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12599:96:11" + }, + { + "body": { + "id": 2302, + "nodeType": "Block", + "src": "12759:402:11", + "statements": [ + { + "assignments": [ + 2266 + ], + "declarations": [ + { + "constant": false, + "id": 2266, + "mutability": "mutable", + "name": "proposal", + "nameLocation": "12806:8:11", + "nodeType": "VariableDeclaration", + "scope": 2302, + "src": "12773:41:11", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$3231_memory_ptr", + "typeString": "struct IAgentRegistryV1.Proposal" + }, + "typeName": { + "id": 2265, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2264, + "name": "IAgentRegistryV1.Proposal", + "nameLocations": [ + "12773:16:11", + "12790:8:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3231, + "src": "12773:25:11" + }, + "referencedDeclaration": 3231, + "src": "12773:25:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$3231_storage_ptr", + "typeString": "struct IAgentRegistryV1.Proposal" + } + }, + "visibility": "internal" + } + ], + "id": 2273, + "initialValue": { + "arguments": [ + { + "id": 2271, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2253, + "src": "12893:1:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "arguments": [ + { + "id": 2268, + "name": "agentRegistryV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1482, + "src": "12851:15:11", + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + ], + "id": 2267, + "name": "IAgentRegistryV1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3258, + "src": "12817:16:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAgentRegistryV1_$3258_$", + "typeString": "type(contract IAgentRegistryV1)" + } + }, + "id": 2269, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12817:63:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IAgentRegistryV1_$3258", + "typeString": "contract IAgentRegistryV1" + } + }, + "id": 2270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12881:11:11", + "memberName": "getProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 3247, + "src": "12817:75:11", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_Proposal_$3231_memory_ptr_$", + "typeString": "function (uint256) view external returns (struct IAgentRegistryV1.Proposal memory)" + } + }, + "id": 2272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "12817:78:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$3231_memory_ptr", + "typeString": "struct IAgentRegistryV1.Proposal memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "12773:122:11" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2281, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2274, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "12914:8:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$3231_memory_ptr", + "typeString": "struct IAgentRegistryV1.Proposal memory" + } + }, + "id": 2275, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12923:6:11", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 3222, + "src": "12914:15:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "id": 2276, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "12933:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "12914:24:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "id": 2280, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "12942:18:11", + "subExpression": { + "expression": { + "id": 2278, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "12943:8:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$3231_memory_ptr", + "typeString": "struct IAgentRegistryV1.Proposal memory" + } + }, + "id": 2279, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "12952:8:11", + "memberName": "isActive", + "nodeType": "MemberAccess", + "referencedDeclaration": 3230, + "src": "12943:17:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "12914:46:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2284, + "nodeType": "IfStatement", + "src": "12910:93:11", + "trueBody": { + "id": 2283, + "nodeType": "Block", + "src": "12962:41:11", + "statements": [ + { + "id": 2282, + "nodeType": "Continue", + "src": "12980:8:11" + } + ] + } + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 2286, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "13042:8:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$3231_memory_ptr", + "typeString": "struct IAgentRegistryV1.Proposal memory" + } + }, + "id": 2287, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13051:11:11", + "memberName": "serviceName", + "nodeType": "MemberAccess", + "referencedDeclaration": 3224, + "src": "13042:20:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2285, + "name": "_ensureServiceRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2239, + "src": "13017:24:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory)" + } + }, + "id": 2288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13017:46:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2289, + "nodeType": "ExpressionStatement", + "src": "13017:46:11" + }, + { + "expression": { + "arguments": [ + { + "id": 2291, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2241, + "src": "13094:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2292, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "13101:8:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$3231_memory_ptr", + "typeString": "struct IAgentRegistryV1.Proposal memory" + } + }, + "id": 2293, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13110:11:11", + "memberName": "serviceName", + "nodeType": "MemberAccess", + "referencedDeclaration": 3224, + "src": "13101:20:11", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "expression": { + "id": 2294, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "13123:8:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$3231_memory_ptr", + "typeString": "struct IAgentRegistryV1.Proposal memory" + } + }, + "id": 2295, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13132:5:11", + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 3226, + "src": "13123:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 2298, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13147:1:11", + "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": 2297, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "13139:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2296, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13139:7:11", + "typeDescriptions": {} + } + }, + "id": 2299, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13139:10:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2290, + "name": "_createProposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2190, + "src": "13078:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_string_memory_ptr_$_t_uint256_$_t_address_$returns$__$", + "typeString": "function (address,string memory,uint256,address)" + } + }, + "id": 2300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13078:72:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2301, + "nodeType": "ExpressionStatement", + "src": "13078:72:11" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2258, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2256, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2253, + "src": "12726:1:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2257, + "name": "numProposalsRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2245, + "src": "12730:22:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "12726:26:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2303, + "initializationExpression": { + "assignments": [ + 2253 + ], + "declarations": [ + { + "constant": false, + "id": 2253, + "mutability": "mutable", + "name": "i", + "nameLocation": "12719:1:11", + "nodeType": "VariableDeclaration", + "scope": 2303, + "src": "12711:9:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2252, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12711:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2255, + "initialValue": { + "hexValue": "30", + "id": 2254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12723:1:11", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "12711:13:11" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 2260, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "12754:3:11", + "subExpression": { + "id": 2259, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2253, + "src": "12754:1:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2261, + "nodeType": "ExpressionStatement", + "src": "12754:3:11" + }, + "nodeType": "ForStatement", + "src": "12706:455:11" + } + ] + }, + "id": 2305, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_migrateAgentProposals", + "nameLocation": "12543:22:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2241, + "mutability": "mutable", + "name": "agent", + "nameLocation": "12574:5:11", + "nodeType": "VariableDeclaration", + "scope": 2305, + "src": "12566:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12566:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12565:15:11" + }, + "returnParameters": { + "id": 2243, + "nodeType": "ParameterList", + "parameters": [], + "src": "12589:0:11" + }, + "scope": 2363, + "src": "12534:633:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2346, + "nodeType": "Block", + "src": "13406:322:11", + "statements": [ + { + "body": { + "id": 2344, + "nodeType": "Block", + "src": "13539:183:11", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 2321, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1497, + "src": "13557:9:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$3273_storage_$", + "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" + } + }, + "id": 2323, + "indexExpression": { + "id": 2322, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2312, + "src": "13567:1:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13557:12:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage", + "typeString": "struct IProposalStruct.ServiceProposal storage ref" + } + }, + "id": 2324, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13570:6:11", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 3262, + "src": "13557:19:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 2325, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2308, + "src": "13580:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "13557:28:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "expression": { + "baseExpression": { + "id": 2327, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1497, + "src": "13589:9:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$3273_storage_$", + "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" + } + }, + "id": 2329, + "indexExpression": { + "id": 2328, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2312, + "src": "13599:1:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "13589:12:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage", + "typeString": "struct IProposalStruct.ServiceProposal storage ref" + } + }, + "id": 2330, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "13602:8:11", + "memberName": "isActive", + "nodeType": "MemberAccess", + "referencedDeclaration": 3272, + "src": "13589:21:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "13557:53:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2343, + "nodeType": "IfStatement", + "src": "13553:159:11", + "trueBody": { + "id": 2342, + "nodeType": "Block", + "src": "13612:100:11", + "statements": [ + { + "expression": { + "id": 2335, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "13630:19:11", + "subExpression": { + "baseExpression": { + "id": 2332, + "name": "proposals", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1497, + "src": "13637:9:11", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_ServiceProposal_$3273_storage_$", + "typeString": "mapping(uint256 => struct IProposalStruct.ServiceProposal storage ref)" + } + }, + "id": 2334, + "indexExpression": { + "id": 2333, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2312, + "src": "13647:1:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "13637:12:11", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage", + "typeString": "struct IProposalStruct.ServiceProposal storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2336, + "nodeType": "ExpressionStatement", + "src": "13630:19:11" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2338, + "name": "agent", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2308, + "src": "13688:5:11", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2339, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2312, + "src": "13695:1:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2337, + "name": "ProposalRemoved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1591, + "src": "13672:15:11", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "13672:25:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2341, + "nodeType": "EmitStatement", + "src": "13667:30:11" + } + ] + } + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2317, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2315, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2312, + "src": "13514:1:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "<", + "rightExpression": { + "id": 2316, + "name": "nextProposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1499, + "src": "13518:14:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "13514:18:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2345, + "initializationExpression": { + "assignments": [ + 2312 + ], + "declarations": [ + { + "constant": false, + "id": 2312, + "mutability": "mutable", + "name": "i", + "nameLocation": "13507:1:11", + "nodeType": "VariableDeclaration", + "scope": 2345, + "src": "13499:9:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2311, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "13499:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2314, + "initialValue": { + "hexValue": "31", + "id": 2313, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13511:1:11", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "nodeType": "VariableDeclarationStatement", + "src": "13499:13:11" + }, + "isSimpleCounterLoop": true, + "loopExpression": { + "expression": { + "id": 2319, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "13534:3:11", + "subExpression": { + "id": 2318, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2312, + "src": "13534:1:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2320, + "nodeType": "ExpressionStatement", + "src": "13534:3:11" + }, + "nodeType": "ForStatement", + "src": "13494:228:11" + } + ] + }, + "documentation": { + "id": 2306, + "nodeType": "StructuredDocumentation", + "src": "13173:171:11", + "text": " @dev Internal function to remove all proposals associated with an agent.\n @param agent The address of the agent whose proposals should be removed." + }, + "id": 2347, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_removeAllAgentProposals", + "nameLocation": "13358:24:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2309, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2308, + "mutability": "mutable", + "name": "agent", + "nameLocation": "13391:5:11", + "nodeType": "VariableDeclaration", + "scope": 2347, + "src": "13383:13:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2307, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13383:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "13382:15:11" + }, + "returnParameters": { + "id": 2310, + "nodeType": "ParameterList", + "parameters": [], + "src": "13406:0:11" + }, + "scope": 2363, + "src": "13349:379:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "private" + }, + { + "baseFunctions": [ + 598 + ], + "body": { + "id": 2356, + "nodeType": "Block", + "src": "13999:2:11", + "statements": [] + }, + "documentation": { + "id": 2348, + "nodeType": "StructuredDocumentation", + "src": "13734:178:11", + "text": " @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract.\n @param newImplementation Address of the new implementation" + }, + "id": 2357, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2354, + "kind": "modifierInvocation", + "modifierName": { + "id": 2353, + "name": "onlyOwner", + "nameLocations": [ + "13989:9:11" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 89, + "src": "13989:9:11" + }, + "nodeType": "ModifierInvocation", + "src": "13989:9:11" + } + ], + "name": "_authorizeUpgrade", + "nameLocation": "13926:17:11", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2352, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "13980:8:11" + }, + "parameters": { + "id": 2351, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2350, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "13952:17:11", + "nodeType": "VariableDeclaration", + "scope": 2357, + "src": "13944:25:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2349, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13944:7:11", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "13943:27:11" + }, + "returnParameters": { + "id": 2355, + "nodeType": "ParameterList", + "parameters": [], + "src": "13999:0:11" + }, + "scope": 2363, + "src": "13917:84:11", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "constant": false, + "documentation": { + "id": 2358, + "nodeType": "StructuredDocumentation", + "src": "14007:55:11", + "text": " @dev Storage gap for future upgrades" + }, + "id": 2362, + "mutability": "mutable", + "name": "__gap", + "nameLocation": "14087:5:11", + "nodeType": "VariableDeclaration", + "scope": 2363, + "src": "14067:25:11", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$50_storage", + "typeString": "uint256[50]" + }, + "typeName": { + "baseType": { + "id": 2359, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "14067:7:11", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2361, + "length": { + "hexValue": "3530", + "id": 2360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14075:2:11", + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "nodeType": "ArrayTypeName", + "src": "14067:11:11", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$50_storage_ptr", + "typeString": "uint256[50]" + } + }, + "visibility": "private" + } + ], + "scope": 2364, + "src": "961:13134:11", + "usedErrors": [ + 30, + 35, + 211, + 214, + 489, + 494, + 741, + 754, + 1035, + 1298 + ], + "usedEvents": [ + 41, + 219, + 698, + 1567, + 1573, + 1585, + 1591, + 1601, + 1609, + 1615 + ] + } + ], + "src": "32:14064:11" + }, + "id": 11 + }, + "contracts/ServiceRegistryUpgradeable.sol": { + "ast": { + "absolutePath": "contracts/ServiceRegistryUpgradeable.sol", + "exportedSymbols": { + "ContextUpgradeable": [ + 690 + ], + "ERC1967Utils": [ + 1015 + ], + "IERC1822Proxiable": [ + 721 + ], + "Initializable": [ + 462 + ], + "OwnableUpgradeable": [ + 194 + ], + "ServiceRegistryUpgradeable": [ + 2577 + ], + "UUPSUpgradeable": [ + 644 + ] + }, + "id": 2578, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2365, + "literals": [ + "solidity", + "^", + "0.8", + ".22" + ], + "nodeType": "PragmaDirective", + "src": "32:24:12" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "id": 2366, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2578, + "sourceUnit": 195, + "src": "58:75:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "id": 2367, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2578, + "sourceUnit": 463, + "src": "134:75:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "id": 2368, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2578, + "sourceUnit": 645, + "src": "210:77:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2370, + "name": "Initializable", + "nameLocations": [ + "537:13:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 462, + "src": "537:13:12" + }, + "id": 2371, + "nodeType": "InheritanceSpecifier", + "src": "537:13:12" + }, + { + "baseName": { + "id": 2372, + "name": "OwnableUpgradeable", + "nameLocations": [ + "552:18:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 194, + "src": "552:18:12" + }, + "id": 2373, + "nodeType": "InheritanceSpecifier", + "src": "552:18:12" + }, + { + "baseName": { + "id": 2374, + "name": "UUPSUpgradeable", + "nameLocations": [ + "572:15:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 644, + "src": "572:15:12" + }, + "id": 2375, + "nodeType": "InheritanceSpecifier", + "src": "572:15:12" + } + ], + "canonicalName": "ServiceRegistryUpgradeable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2369, + "nodeType": "StructuredDocumentation", + "src": "289:208:12", + "text": " @title ServiceRegistryUpgradeable\n @author leonprou\n @notice A smart contract that stores information about the services provided by agents.\n @dev Upgradeable version using UUPS proxy pattern" + }, + "fullyImplemented": true, + "id": 2577, + "linearizedBaseContracts": [ + 2577, + 644, + 721, + 194, + 690, + 462 + ], + "name": "ServiceRegistryUpgradeable", + "nameLocation": "507:26:12", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "ServiceRegistryUpgradeable.Service", + "id": 2382, + "members": [ + { + "constant": false, + "id": 2377, + "mutability": "mutable", + "name": "name", + "nameLocation": "626:4:12", + "nodeType": "VariableDeclaration", + "scope": 2382, + "src": "619:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2376, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "619:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2379, + "mutability": "mutable", + "name": "category", + "nameLocation": "647:8:12", + "nodeType": "VariableDeclaration", + "scope": 2382, + "src": "640:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2378, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "640:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2381, + "mutability": "mutable", + "name": "description", + "nameLocation": "672:11:12", + "nodeType": "VariableDeclaration", + "scope": 2382, + "src": "665:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2380, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "665:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "Service", + "nameLocation": "601:7:12", + "nodeType": "StructDefinition", + "scope": 2577, + "src": "594:96:12", + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "3017ba09", + "id": 2387, + "mutability": "mutable", + "name": "services", + "nameLocation": "730:8:12", + "nodeType": "VariableDeclaration", + "scope": 2577, + "src": "696:42:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$2382_storage_$", + "typeString": "mapping(string => struct ServiceRegistryUpgradeable.Service)" + }, + "typeName": { + "id": 2386, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 2383, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "704:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "nodeType": "Mapping", + "src": "696:26:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$2382_storage_$", + "typeString": "mapping(string => struct ServiceRegistryUpgradeable.Service)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 2385, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2384, + "name": "Service", + "nameLocations": [ + "714:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2382, + "src": "714:7:12" + }, + "referencedDeclaration": 2382, + "src": "714:7:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_storage_ptr", + "typeString": "struct ServiceRegistryUpgradeable.Service" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "06237526", + "id": 2389, + "mutability": "mutable", + "name": "serviceCount", + "nameLocation": "759:12:12", + "nodeType": "VariableDeclaration", + "scope": 2577, + "src": "744:27:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2388, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "744:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "public" + }, + { + "anonymous": false, + "eventSelector": "c182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486", + "id": 2397, + "name": "ServiceRegistered", + "nameLocation": "784:17:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 2396, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2391, + "indexed": false, + "mutability": "mutable", + "name": "name", + "nameLocation": "809:4:12", + "nodeType": "VariableDeclaration", + "scope": 2397, + "src": "802:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2390, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "802:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2393, + "indexed": false, + "mutability": "mutable", + "name": "category", + "nameLocation": "822:8:12", + "nodeType": "VariableDeclaration", + "scope": 2397, + "src": "815:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2392, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "815:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2395, + "indexed": false, + "mutability": "mutable", + "name": "description", + "nameLocation": "839:11:12", + "nodeType": "VariableDeclaration", + "scope": 2397, + "src": "832:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2394, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "832:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "801:50:12" + }, + "src": "778:74:12" + }, + { + "anonymous": false, + "eventSelector": "4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d", + "id": 2405, + "name": "ServiceUpdated", + "nameLocation": "863:14:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 2404, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2399, + "indexed": false, + "mutability": "mutable", + "name": "name", + "nameLocation": "885:4:12", + "nodeType": "VariableDeclaration", + "scope": 2405, + "src": "878:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2398, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "878:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2401, + "indexed": false, + "mutability": "mutable", + "name": "category", + "nameLocation": "898:8:12", + "nodeType": "VariableDeclaration", + "scope": 2405, + "src": "891:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2400, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "891:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2403, + "indexed": false, + "mutability": "mutable", + "name": "description", + "nameLocation": "915:11:12", + "nodeType": "VariableDeclaration", + "scope": 2405, + "src": "908:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2402, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "908:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "877:50:12" + }, + "src": "857:71:12" + }, + { + "body": { + "id": 2412, + "nodeType": "Block", + "src": "1001:39:12", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2409, + "name": "_disableInitializers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 416, + "src": "1011:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1011:22:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2411, + "nodeType": "ExpressionStatement", + "src": "1011:22:12" + } + ] + }, + "documentation": { + "id": 2406, + "nodeType": "StructuredDocumentation", + "src": "934:48:12", + "text": "@custom:oz-upgrades-unsafe-allow constructor" + }, + "id": 2413, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2407, + "nodeType": "ParameterList", + "parameters": [], + "src": "998:2:12" + }, + "returnParameters": { + "id": 2408, + "nodeType": "ParameterList", + "parameters": [], + "src": "1001:0:12" + }, + "scope": 2577, + "src": "987:53:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2431, + "nodeType": "Block", + "src": "1140:103:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 2420, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1165:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1169:6:12", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1165:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2419, + "name": "__Ownable_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "1150:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 2422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1150:26:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2423, + "nodeType": "ExpressionStatement", + "src": "1150:26:12" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2424, + "name": "__UUPSUpgradeable_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 516, + "src": "1186:22:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1186:24:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2426, + "nodeType": "ExpressionStatement", + "src": "1186:24:12" + }, + { + "expression": { + "id": 2429, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2427, + "name": "serviceCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2389, + "src": "1220:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 2428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1235:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1220:16:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2430, + "nodeType": "ExpressionStatement", + "src": "1220:16:12" + } + ] + }, + "documentation": { + "id": 2414, + "nodeType": "StructuredDocumentation", + "src": "1046:48:12", + "text": " @dev Initializes the contract" + }, + "functionSelector": "8129fc1c", + "id": 2432, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2417, + "kind": "modifierInvocation", + "modifierName": { + "id": 2416, + "name": "initializer", + "nameLocations": [ + "1128:11:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 302, + "src": "1128:11:12" + }, + "nodeType": "ModifierInvocation", + "src": "1128:11:12" + } + ], + "name": "initialize", + "nameLocation": "1108:10:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2415, + "nodeType": "ParameterList", + "parameters": [], + "src": "1118:2:12" + }, + "returnParameters": { + "id": 2418, + "nodeType": "ParameterList", + "parameters": [], + "src": "1140:0:12" + }, + "scope": 2577, + "src": "1099:144:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2480, + "nodeType": "Block", + "src": "1555:382:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "1573:31:12", + "subExpression": { + "arguments": [ + { + "id": 2448, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "1599:4:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 2446, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "1574:4:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "id": 2447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1579:19:12", + "memberName": "isServiceRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 2525, + "src": "1574:24:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view external returns (bool)" + } + }, + "id": 2449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1574:30:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5365727669636520616c72656164792072656769737465726564", + "id": 2451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1606:28:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ac2c61739514b5f463c314c2780e64fc7747cb6b4d2c3e9147a35ee5c42aeefa", + "typeString": "literal_string \"Service already registered\"" + }, + "value": "Service already registered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_ac2c61739514b5f463c314c2780e64fc7747cb6b4d2c3e9147a35ee5c42aeefa", + "typeString": "literal_string \"Service already registered\"" + } + ], + "id": 2445, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1565:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1565:70:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2453, + "nodeType": "ExpressionStatement", + "src": "1565:70:12" + }, + { + "assignments": [ + 2456 + ], + "declarations": [ + { + "constant": false, + "id": 2456, + "mutability": "mutable", + "name": "service", + "nameLocation": "1661:7:12", + "nodeType": "VariableDeclaration", + "scope": 2480, + "src": "1646:22:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_memory_ptr", + "typeString": "struct ServiceRegistryUpgradeable.Service" + }, + "typeName": { + "id": 2455, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2454, + "name": "Service", + "nameLocations": [ + "1646:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2382, + "src": "1646:7:12" + }, + "referencedDeclaration": 2382, + "src": "1646:7:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_storage_ptr", + "typeString": "struct ServiceRegistryUpgradeable.Service" + } + }, + "visibility": "internal" + } + ], + "id": 2462, + "initialValue": { + "arguments": [ + { + "id": 2458, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "1699:4:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2459, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "1727:8:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2460, + "name": "description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2439, + "src": "1762:11:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2457, + "name": "Service", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2382, + "src": "1671:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Service_$2382_storage_ptr_$", + "typeString": "type(struct ServiceRegistryUpgradeable.Service storage pointer)" + } + }, + "id": 2461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "1693:4:12", + "1717:8:12", + "1749:11:12" + ], + "names": [ + "name", + "category", + "description" + ], + "nodeType": "FunctionCall", + "src": "1671:113:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_memory_ptr", + "typeString": "struct ServiceRegistryUpgradeable.Service memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1646:138:12" + }, + { + "expression": { + "id": 2467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2463, + "name": "services", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2387, + "src": "1795:8:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$2382_storage_$", + "typeString": "mapping(string memory => struct ServiceRegistryUpgradeable.Service storage ref)" + } + }, + "id": 2465, + "indexExpression": { + "id": 2464, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "1804:4:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1795:14:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_storage", + "typeString": "struct ServiceRegistryUpgradeable.Service storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2466, + "name": "service", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2456, + "src": "1812:7:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_memory_ptr", + "typeString": "struct ServiceRegistryUpgradeable.Service memory" + } + }, + "src": "1795:24:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_storage", + "typeString": "struct ServiceRegistryUpgradeable.Service storage ref" + } + }, + "id": 2468, + "nodeType": "ExpressionStatement", + "src": "1795:24:12" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2470, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2435, + "src": "1853:4:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2471, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2437, + "src": "1859:8:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2472, + "name": "description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2439, + "src": "1869:11:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2469, + "name": "ServiceRegistered", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2397, + "src": "1835:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory,string memory)" + } + }, + "id": 2473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1835:46:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2474, + "nodeType": "EmitStatement", + "src": "1830:51:12" + }, + { + "expression": { + "id": 2476, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1892:14:12", + "subExpression": { + "id": 2475, + "name": "serviceCount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2389, + "src": "1892:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2477, + "nodeType": "ExpressionStatement", + "src": "1892:14:12" + }, + { + "expression": { + "id": 2478, + "name": "service", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2456, + "src": "1923:7:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_memory_ptr", + "typeString": "struct ServiceRegistryUpgradeable.Service memory" + } + }, + "functionReturnParameters": 2444, + "id": 2479, + "nodeType": "Return", + "src": "1916:14:12" + } + ] + }, + "documentation": { + "id": 2433, + "nodeType": "StructuredDocumentation", + "src": "1249:171:12", + "text": " @dev Registers a new service with the given name and price.\n @param name The name of the service.\n @return The ID of the registered service." + }, + "functionSelector": "ef57d884", + "id": 2481, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "registerService", + "nameLocation": "1434:15:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2440, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2435, + "mutability": "mutable", + "name": "name", + "nameLocation": "1464:4:12", + "nodeType": "VariableDeclaration", + "scope": 2481, + "src": "1450:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2434, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1450:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2437, + "mutability": "mutable", + "name": "category", + "nameLocation": "1484:8:12", + "nodeType": "VariableDeclaration", + "scope": 2481, + "src": "1470:22:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2436, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1470:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2439, + "mutability": "mutable", + "name": "description", + "nameLocation": "1508:11:12", + "nodeType": "VariableDeclaration", + "scope": 2481, + "src": "1494:25:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2438, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1494:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1449:71:12" + }, + "returnParameters": { + "id": 2444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2443, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2481, + "src": "1539:14:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_memory_ptr", + "typeString": "struct ServiceRegistryUpgradeable.Service" + }, + "typeName": { + "id": 2442, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2441, + "name": "Service", + "nameLocations": [ + "1539:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2382, + "src": "1539:7:12" + }, + "referencedDeclaration": 2382, + "src": "1539:7:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_storage_ptr", + "typeString": "struct ServiceRegistryUpgradeable.Service" + } + }, + "visibility": "internal" + } + ], + "src": "1538:16:12" + }, + "scope": 2577, + "src": "1425:512:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2494, + "nodeType": "Block", + "src": "2185:38:12", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 2490, + "name": "services", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2387, + "src": "2202:8:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$2382_storage_$", + "typeString": "mapping(string memory => struct ServiceRegistryUpgradeable.Service storage ref)" + } + }, + "id": 2492, + "indexExpression": { + "id": 2491, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2484, + "src": "2211:4:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2202:14:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_storage", + "typeString": "struct ServiceRegistryUpgradeable.Service storage ref" + } + }, + "functionReturnParameters": 2489, + "id": 2493, + "nodeType": "Return", + "src": "2195:21:12" + } + ] + }, + "documentation": { + "id": 2482, + "nodeType": "StructuredDocumentation", + "src": "1943:158:12", + "text": " @dev Retrieves the details of a service.\n @param name The name of the service to retrieve.\n @return The details of the service." + }, + "functionSelector": "794758be", + "id": 2495, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getService", + "nameLocation": "2115:10:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2485, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2484, + "mutability": "mutable", + "name": "name", + "nameLocation": "2140:4:12", + "nodeType": "VariableDeclaration", + "scope": 2495, + "src": "2126:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2483, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2126:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2125:20:12" + }, + "returnParameters": { + "id": 2489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2488, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2495, + "src": "2169:14:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_memory_ptr", + "typeString": "struct ServiceRegistryUpgradeable.Service" + }, + "typeName": { + "id": 2487, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2486, + "name": "Service", + "nameLocations": [ + "2169:7:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2382, + "src": "2169:7:12" + }, + "referencedDeclaration": 2382, + "src": "2169:7:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_storage_ptr", + "typeString": "struct ServiceRegistryUpgradeable.Service" + } + }, + "visibility": "internal" + } + ], + "src": "2168:16:12" + }, + "scope": 2577, + "src": "2106:117:12", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2524, + "nodeType": "Block", + "src": "2307:127:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "id": 2505, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2497, + "src": "2331:4:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2504, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2325:5:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 2503, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2325:5:12", + "typeDescriptions": {} + } + }, + "id": 2506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2325:11:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2337:6:12", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2325:18:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2346:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2325:22:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c69642073657276696365206e616d65", + "id": 2510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2349:22:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b193a272406cc908bf089bbfd62bbee3e6f0f99dfc3103f9a3b8b4618c96abfe", + "typeString": "literal_string \"Invalid service name\"" + }, + "value": "Invalid service name" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b193a272406cc908bf089bbfd62bbee3e6f0f99dfc3103f9a3b8b4618c96abfe", + "typeString": "literal_string \"Invalid service name\"" + } + ], + "id": 2502, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2317:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2511, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2317:55:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2512, + "nodeType": "ExpressionStatement", + "src": "2317:55:12" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2522, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "arguments": [ + { + "expression": { + "baseExpression": { + "id": 2515, + "name": "services", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2387, + "src": "2396:8:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$2382_storage_$", + "typeString": "mapping(string memory => struct ServiceRegistryUpgradeable.Service storage ref)" + } + }, + "id": 2517, + "indexExpression": { + "id": 2516, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2497, + "src": "2405:4:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2396:14:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_storage", + "typeString": "struct ServiceRegistryUpgradeable.Service storage ref" + } + }, + "id": 2518, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2411:4:12", + "memberName": "name", + "nodeType": "MemberAccess", + "referencedDeclaration": 2377, + "src": "2396:19:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + ], + "id": 2514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2390:5:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes_storage_ptr_$", + "typeString": "type(bytes storage pointer)" + }, + "typeName": { + "id": 2513, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "2390:5:12", + "typeDescriptions": {} + } + }, + "id": 2519, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2390:26:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes storage pointer" + } + }, + "id": 2520, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2417:6:12", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "2390:33:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 2521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2426:1:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "2390:37:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2501, + "id": 2523, + "nodeType": "Return", + "src": "2383:44:12" + } + ] + }, + "functionSelector": "b405166b", + "id": 2525, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "isServiceRegistered", + "nameLocation": "2238:19:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2498, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2497, + "mutability": "mutable", + "name": "name", + "nameLocation": "2272:4:12", + "nodeType": "VariableDeclaration", + "scope": 2525, + "src": "2258:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2496, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2258:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2257:20:12" + }, + "returnParameters": { + "id": 2501, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2500, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2525, + "src": "2301:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2499, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2301:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2300:6:12" + }, + "scope": 2577, + "src": "2229:205:12", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2560, + "nodeType": "Block", + "src": "2553:282:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "id": 2539, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2527, + "src": "2596:4:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 2537, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "2571:4:12", + "typeDescriptions": { + "typeIdentifier": "t_contract$_ServiceRegistryUpgradeable_$2577", + "typeString": "contract ServiceRegistryUpgradeable" + } + }, + "id": 2538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2576:19:12", + "memberName": "isServiceRegistered", + "nodeType": "MemberAccess", + "referencedDeclaration": 2525, + "src": "2571:24:12", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_string_memory_ptr_$returns$_t_bool_$", + "typeString": "function (string memory) view external returns (bool)" + } + }, + "id": 2540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2571:30:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "53657276696365206e6f742072656769737465726564", + "id": 2541, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2603:24:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6", + "typeString": "literal_string \"Service not registered\"" + }, + "value": "Service not registered" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6", + "typeString": "literal_string \"Service not registered\"" + } + ], + "id": 2536, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2563:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2542, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2563:65:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2543, + "nodeType": "ExpressionStatement", + "src": "2563:65:12" + }, + { + "expression": { + "id": 2552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2544, + "name": "services", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2387, + "src": "2639:8:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_struct$_Service_$2382_storage_$", + "typeString": "mapping(string memory => struct ServiceRegistryUpgradeable.Service storage ref)" + } + }, + "id": 2546, + "indexExpression": { + "id": 2545, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2527, + "src": "2648:4:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2639:14:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_storage", + "typeString": "struct ServiceRegistryUpgradeable.Service storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2548, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2527, + "src": "2684:4:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2549, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2529, + "src": "2712:8:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2550, + "name": "description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2531, + "src": "2747:11:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2547, + "name": "Service", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2382, + "src": "2656:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Service_$2382_storage_ptr_$", + "typeString": "type(struct ServiceRegistryUpgradeable.Service storage pointer)" + } + }, + "id": 2551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "nameLocations": [ + "2678:4:12", + "2702:8:12", + "2734:11:12" + ], + "names": [ + "name", + "category", + "description" + ], + "nodeType": "FunctionCall", + "src": "2656:113:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_memory_ptr", + "typeString": "struct ServiceRegistryUpgradeable.Service memory" + } + }, + "src": "2639:130:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Service_$2382_storage", + "typeString": "struct ServiceRegistryUpgradeable.Service storage ref" + } + }, + "id": 2553, + "nodeType": "ExpressionStatement", + "src": "2639:130:12" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2555, + "name": "name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2527, + "src": "2800:4:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2556, + "name": "category", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2529, + "src": "2806:8:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2557, + "name": "description", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2531, + "src": "2816:11:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2554, + "name": "ServiceUpdated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2405, + "src": "2785:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_string_memory_ptr_$_t_string_memory_ptr_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory,string memory,string memory)" + } + }, + "id": 2558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2785:43:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2559, + "nodeType": "EmitStatement", + "src": "2780:48:12" + } + ] + }, + "functionSelector": "7f3ed719", + "id": 2561, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2534, + "kind": "modifierInvocation", + "modifierName": { + "id": 2533, + "name": "onlyOwner", + "nameLocations": [ + "2543:9:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 89, + "src": "2543:9:12" + }, + "nodeType": "ModifierInvocation", + "src": "2543:9:12" + } + ], + "name": "updateService", + "nameLocation": "2449:13:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2527, + "mutability": "mutable", + "name": "name", + "nameLocation": "2477:4:12", + "nodeType": "VariableDeclaration", + "scope": 2561, + "src": "2463:18:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2526, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2463:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2529, + "mutability": "mutable", + "name": "category", + "nameLocation": "2497:8:12", + "nodeType": "VariableDeclaration", + "scope": 2561, + "src": "2483:22:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2528, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2483:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2531, + "mutability": "mutable", + "name": "description", + "nameLocation": "2521:11:12", + "nodeType": "VariableDeclaration", + "scope": 2561, + "src": "2507:25:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2530, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2507:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2462:71:12" + }, + "returnParameters": { + "id": 2535, + "nodeType": "ParameterList", + "parameters": [], + "src": "2553:0:12" + }, + "scope": 2577, + "src": "2440:395:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 598 + ], + "body": { + "id": 2570, + "nodeType": "Block", + "src": "3106:2:12", + "statements": [] + }, + "documentation": { + "id": 2562, + "nodeType": "StructuredDocumentation", + "src": "2841:178:12", + "text": " @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract.\n @param newImplementation Address of the new implementation" + }, + "id": 2571, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2568, + "kind": "modifierInvocation", + "modifierName": { + "id": 2567, + "name": "onlyOwner", + "nameLocations": [ + "3096:9:12" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 89, + "src": "3096:9:12" + }, + "nodeType": "ModifierInvocation", + "src": "3096:9:12" + } + ], + "name": "_authorizeUpgrade", + "nameLocation": "3033:17:12", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 2566, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3087:8:12" + }, + "parameters": { + "id": 2565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2564, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "3059:17:12", + "nodeType": "VariableDeclaration", + "scope": 2571, + "src": "3051:25:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2563, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3051:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3050:27:12" + }, + "returnParameters": { + "id": 2569, + "nodeType": "ParameterList", + "parameters": [], + "src": "3106:0:12" + }, + "scope": 2577, + "src": "3024:84:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "constant": false, + "documentation": { + "id": 2572, + "nodeType": "StructuredDocumentation", + "src": "3114:55:12", + "text": " @dev Storage gap for future upgrades" + }, + "id": 2576, + "mutability": "mutable", + "name": "__gap", + "nameLocation": "3194:5:12", + "nodeType": "VariableDeclaration", + "scope": 2577, + "src": "3174:25:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$50_storage", + "typeString": "uint256[50]" + }, + "typeName": { + "baseType": { + "id": 2573, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3174:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2575, + "length": { + "hexValue": "3530", + "id": 2574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3182:2:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "nodeType": "ArrayTypeName", + "src": "3174:11:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$50_storage_ptr", + "typeString": "uint256[50]" + } + }, + "visibility": "private" + } + ], + "scope": 2578, + "src": "498:2704:12", + "usedErrors": [ + 30, + 35, + 211, + 214, + 489, + 494, + 741, + 754, + 1035, + 1298 + ], + "usedEvents": [ + 41, + 219, + 698, + 2397, + 2405 + ] + } + ], + "src": "32:3171:12" + }, + "id": 12 + }, + "contracts/TaskRegistryUpgradeable.sol": { + "ast": { + "absolutePath": "contracts/TaskRegistryUpgradeable.sol", + "exportedSymbols": { + "AgentsRegistryUpgradeable": [ + 2363 + ], + "ContextUpgradeable": [ + 690 + ], + "ERC1967Utils": [ + 1015 + ], + "IAgentRegistryV1": [ + 3258 + ], + "IERC1822Proxiable": [ + 721 + ], + "IProposalStruct": [ + 3274 + ], + "IServiceRegistryV1": [ + 1457 + ], + "Initializable": [ + 462 + ], + "OwnableUpgradeable": [ + 194 + ], + "ServiceRegistryUpgradeable": [ + 2577 + ], + "TaskRegistryUpgradeable": [ + 3205 + ], + "TransferHelper": [ + 3434 + ], + "UUPSUpgradeable": [ + 644 + ] + }, + "id": 3206, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2579, + "literals": [ + "solidity", + "^", + "0.8", + ".22" + ], + "nodeType": "PragmaDirective", + "src": "32:24:13" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol", + "id": 2580, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3206, + "sourceUnit": 195, + "src": "58:75:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol", + "id": 2581, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3206, + "sourceUnit": 463, + "src": "134:75:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "file": "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol", + "id": 2582, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3206, + "sourceUnit": 645, + "src": "210:77:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/interfaces/IProposalStruct.sol", + "file": "./interfaces/IProposalStruct.sol", + "id": 2583, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3206, + "sourceUnit": 3275, + "src": "288:42:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/AgentsRegistryUpgradeable.sol", + "file": "./AgentsRegistryUpgradeable.sol", + "id": 2584, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3206, + "sourceUnit": 2364, + "src": "331:41:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/lib/TransferHelper.sol", + "file": "./lib/TransferHelper.sol", + "id": 2585, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 3206, + "sourceUnit": 3435, + "src": "373:34:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2587, + "name": "Initializable", + "nameLocations": [ + "668:13:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 462, + "src": "668:13:13" + }, + "id": 2588, + "nodeType": "InheritanceSpecifier", + "src": "668:13:13" + }, + { + "baseName": { + "id": 2589, + "name": "OwnableUpgradeable", + "nameLocations": [ + "683:18:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 194, + "src": "683:18:13" + }, + "id": 2590, + "nodeType": "InheritanceSpecifier", + "src": "683:18:13" + }, + { + "baseName": { + "id": 2591, + "name": "UUPSUpgradeable", + "nameLocations": [ + "703:15:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 644, + "src": "703:15:13" + }, + "id": 2592, + "nodeType": "InheritanceSpecifier", + "src": "703:15:13" + }, + { + "baseName": { + "id": 2593, + "name": "IProposalStruct", + "nameLocations": [ + "720:15:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3274, + "src": "720:15:13" + }, + "id": 2594, + "nodeType": "InheritanceSpecifier", + "src": "720:15:13" + } + ], + "canonicalName": "TaskRegistryUpgradeable", + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 2586, + "nodeType": "StructuredDocumentation", + "src": "409:222:13", + "text": " @title TaskRegistryUpgradeable\n @author leonprou\n @notice A smart contract that stores information about the tasks issued for the agent service providers.\n @dev Upgradeable version using UUPS proxy pattern" + }, + "fullyImplemented": true, + "id": 3205, + "linearizedBaseContracts": [ + 3205, + 3274, + 644, + 721, + 194, + 690, + 462 + ], + "name": "TaskRegistryUpgradeable", + "nameLocation": "641:23:13", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "TaskRegistryUpgradeable.TaskStatus", + "id": 2599, + "members": [ + { + "id": 2595, + "name": "CREATED", + "nameLocation": "761:7:13", + "nodeType": "EnumValue", + "src": "761:7:13" + }, + { + "id": 2596, + "name": "ASSIGNED", + "nameLocation": "770:8:13", + "nodeType": "EnumValue", + "src": "770:8:13" + }, + { + "id": 2597, + "name": "COMPLETED", + "nameLocation": "780:9:13", + "nodeType": "EnumValue", + "src": "780:9:13" + }, + { + "id": 2598, + "name": "CANCELED", + "nameLocation": "791:8:13", + "nodeType": "EnumValue", + "src": "791:8:13" + } + ], + "name": "TaskStatus", + "nameLocation": "748:10:13", + "nodeType": "EnumDefinition", + "src": "743:58:13" + }, + { + "canonicalName": "TaskRegistryUpgradeable.TaskData", + "id": 2617, + "members": [ + { + "constant": false, + "id": 2601, + "mutability": "mutable", + "name": "id", + "nameLocation": "841:2:13", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "833:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2600, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "833:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2603, + "mutability": "mutable", + "name": "prompt", + "nameLocation": "860:6:13", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "853:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2602, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "853:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2605, + "mutability": "mutable", + "name": "issuer", + "nameLocation": "884:6:13", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "876:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2604, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "876:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2608, + "mutability": "mutable", + "name": "status", + "nameLocation": "911:6:13", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "900:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + }, + "typeName": { + "id": 2607, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2606, + "name": "TaskStatus", + "nameLocations": [ + "900:10:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2599, + "src": "900:10:13" + }, + "referencedDeclaration": 2599, + "src": "900:10:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2610, + "mutability": "mutable", + "name": "assignee", + "nameLocation": "935:8:13", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "927:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2609, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "927:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2612, + "mutability": "mutable", + "name": "proposalId", + "nameLocation": "961:10:13", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "953:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2611, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "953:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2614, + "mutability": "mutable", + "name": "result", + "nameLocation": "988:6:13", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "981:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2613, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "981:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2616, + "mutability": "mutable", + "name": "rating", + "nameLocation": "1010:6:13", + "nodeType": "VariableDeclaration", + "scope": 2617, + "src": "1004:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 2615, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "1004:5:13", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "name": "TaskData", + "nameLocation": "814:8:13", + "nodeType": "StructDefinition", + "scope": 3205, + "src": "807:216:13", + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "8d977672", + "id": 2622, + "mutability": "mutable", + "name": "tasks", + "nameLocation": "1069:5:13", + "nodeType": "VariableDeclaration", + "scope": 3205, + "src": "1033:41:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$2617_storage_$", + "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData)" + }, + "typeName": { + "id": 2621, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 2618, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1041:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Mapping", + "src": "1033:28:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$2617_storage_$", + "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData)" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "id": 2620, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2619, + "name": "TaskData", + "nameLocations": [ + "1052:8:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2617, + "src": "1052:8:13" + }, + "referencedDeclaration": 2617, + "src": "1052:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "2a2b3a9d", + "id": 2627, + "mutability": "mutable", + "name": "issuerTasks", + "nameLocation": "1117:11:13", + "nodeType": "VariableDeclaration", + "scope": 3205, + "src": "1080:48:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", + "typeString": "mapping(address => uint256[])" + }, + "typeName": { + "id": 2626, + "keyName": "", + "keyNameLocation": "-1:-1:-1", + "keyType": { + "id": 2623, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1088:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1080:29:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", + "typeString": "mapping(address => uint256[])" + }, + "valueName": "", + "valueNameLocation": "-1:-1:-1", + "valueType": { + "baseType": { + "id": 2624, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1099:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2625, + "nodeType": "ArrayTypeName", + "src": "1099:9:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 2629, + "mutability": "mutable", + "name": "nextTaskId", + "nameLocation": "1150:10:13", + "nodeType": "VariableDeclaration", + "scope": 3205, + "src": "1134:26:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2628, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1134:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "functionSelector": "0d1cfcae", + "id": 2632, + "mutability": "mutable", + "name": "agentRegistry", + "nameLocation": "1199:13:13", + "nodeType": "VariableDeclaration", + "scope": 3205, + "src": "1166:46:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$2363", + "typeString": "contract AgentsRegistryUpgradeable" + }, + "typeName": { + "id": 2631, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2630, + "name": "AgentsRegistryUpgradeable", + "nameLocations": [ + "1166:25:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2363, + "src": "1166:25:13" + }, + "referencedDeclaration": 2363, + "src": "1166:25:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$2363", + "typeString": "contract AgentsRegistryUpgradeable" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 2648, + "nodeType": "Block", + "src": "1259:101:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2637, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1277:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2638, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1281:6:13", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1277:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "baseExpression": { + "id": 2639, + "name": "tasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2622, + "src": "1291:5:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$2617_storage_$", + "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" + } + }, + "id": 2641, + "indexExpression": { + "id": 2640, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2634, + "src": "1297:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1291:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" + } + }, + "id": 2642, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1305:6:13", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2605, + "src": "1291:20:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1277:34:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f742074686520697373756572206f6620746865207461736b", + "id": 2644, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1313:28:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8b01433edf8e1c1ecc76c5925a92e74cb9845acafce91ff571223021d8950f7c", + "typeString": "literal_string \"Not the issuer of the task\"" + }, + "value": "Not the issuer of the task" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8b01433edf8e1c1ecc76c5925a92e74cb9845acafce91ff571223021d8950f7c", + "typeString": "literal_string \"Not the issuer of the task\"" + } + ], + "id": 2636, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1269:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1269:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2646, + "nodeType": "ExpressionStatement", + "src": "1269:73:13" + }, + { + "id": 2647, + "nodeType": "PlaceholderStatement", + "src": "1352:1:13" + } + ] + }, + "id": 2649, + "name": "onlyTaskIssuer", + "nameLocation": "1228:14:13", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 2635, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2634, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "1251:6:13", + "nodeType": "VariableDeclaration", + "scope": 2649, + "src": "1243:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2633, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1243:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1242:16:13" + }, + "src": "1219:141:13", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2656, + "nodeType": "Block", + "src": "1433:39:13", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2653, + "name": "_disableInitializers", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 416, + "src": "1443:20:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1443:22:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2655, + "nodeType": "ExpressionStatement", + "src": "1443:22:13" + } + ] + }, + "documentation": { + "id": 2650, + "nodeType": "StructuredDocumentation", + "src": "1366:48:13", + "text": "@custom:oz-upgrades-unsafe-allow constructor" + }, + "id": 2657, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2651, + "nodeType": "ParameterList", + "parameters": [], + "src": "1430:2:13" + }, + "returnParameters": { + "id": 2652, + "nodeType": "ParameterList", + "parameters": [], + "src": "1433:0:13" + }, + "scope": 3205, + "src": "1419:53:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2684, + "nodeType": "Block", + "src": "1772:163:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 2669, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "1797:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2670, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1801:6:13", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "1797:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2668, + "name": "__Ownable_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 54, + "src": "1782:14:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 2671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1782:26:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2672, + "nodeType": "ExpressionStatement", + "src": "1782:26:13" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2673, + "name": "__UUPSUpgradeable_init", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 516, + "src": "1818:22:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$__$returns$__$", + "typeString": "function ()" + } + }, + "id": 2674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1818:24:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2675, + "nodeType": "ExpressionStatement", + "src": "1818:24:13" + }, + { + "expression": { + "id": 2678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2676, + "name": "nextTaskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "1861:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2677, + "name": "_initialTaskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2660, + "src": "1874:14:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1861:27:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2679, + "nodeType": "ExpressionStatement", + "src": "1861:27:13" + }, + { + "expression": { + "id": 2682, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2680, + "name": "agentRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "1898:13:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$2363", + "typeString": "contract AgentsRegistryUpgradeable" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2681, + "name": "_agentRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2663, + "src": "1914:14:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$2363", + "typeString": "contract AgentsRegistryUpgradeable" + } + }, + "src": "1898:30:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$2363", + "typeString": "contract AgentsRegistryUpgradeable" + } + }, + "id": 2683, + "nodeType": "ExpressionStatement", + "src": "1898:30:13" + } + ] + }, + "documentation": { + "id": 2658, + "nodeType": "StructuredDocumentation", + "src": "1478:161:13", + "text": " @dev Initializes the contract\n @param _initialTaskId The starting task ID\n @param _agentRegistry The address of the agent registry" + }, + "functionSelector": "da35a26f", + "id": 2685, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2666, + "kind": "modifierInvocation", + "modifierName": { + "id": 2665, + "name": "initializer", + "nameLocations": [ + "1760:11:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 302, + "src": "1760:11:13" + }, + "nodeType": "ModifierInvocation", + "src": "1760:11:13" + } + ], + "name": "initialize", + "nameLocation": "1653:10:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2660, + "mutability": "mutable", + "name": "_initialTaskId", + "nameLocation": "1681:14:13", + "nodeType": "VariableDeclaration", + "scope": 2685, + "src": "1673:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2659, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1673:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2663, + "mutability": "mutable", + "name": "_agentRegistry", + "nameLocation": "1732:14:13", + "nodeType": "VariableDeclaration", + "scope": 2685, + "src": "1706:40:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$2363", + "typeString": "contract AgentsRegistryUpgradeable" + }, + "typeName": { + "id": 2662, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2661, + "name": "AgentsRegistryUpgradeable", + "nameLocations": [ + "1706:25:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2363, + "src": "1706:25:13" + }, + "referencedDeclaration": 2363, + "src": "1706:25:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$2363", + "typeString": "contract AgentsRegistryUpgradeable" + } + }, + "visibility": "internal" + } + ], + "src": "1663:89:13" + }, + "returnParameters": { + "id": 2667, + "nodeType": "ParameterList", + "parameters": [], + "src": "1772:0:13" + }, + "scope": 3205, + "src": "1644:291:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "anonymous": false, + "eventSelector": "5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e9", + "id": 2697, + "name": "TaskCreated", + "nameLocation": "1951:11:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2696, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2687, + "indexed": true, + "mutability": "mutable", + "name": "issuer", + "nameLocation": "1979:6:13", + "nodeType": "VariableDeclaration", + "scope": 2697, + "src": "1963:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2686, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1963:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2689, + "indexed": true, + "mutability": "mutable", + "name": "assignee", + "nameLocation": "2003:8:13", + "nodeType": "VariableDeclaration", + "scope": 2697, + "src": "1987:24:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2688, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1987:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2691, + "indexed": false, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2021:6:13", + "nodeType": "VariableDeclaration", + "scope": 2697, + "src": "2013:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2690, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2013:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2693, + "indexed": false, + "mutability": "mutable", + "name": "proposalId", + "nameLocation": "2037:10:13", + "nodeType": "VariableDeclaration", + "scope": 2697, + "src": "2029:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2692, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2029:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2695, + "indexed": false, + "mutability": "mutable", + "name": "prompt", + "nameLocation": "2056:6:13", + "nodeType": "VariableDeclaration", + "scope": 2697, + "src": "2049:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2694, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2049:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1962:101:13" + }, + "src": "1945:119:13" + }, + { + "anonymous": false, + "eventSelector": "d76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb4", + "id": 2704, + "name": "TaskStatusChanged", + "nameLocation": "2075:17:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2699, + "indexed": true, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2109:6:13", + "nodeType": "VariableDeclaration", + "scope": 2704, + "src": "2093:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2698, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2093:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2702, + "indexed": false, + "mutability": "mutable", + "name": "status", + "nameLocation": "2128:6:13", + "nodeType": "VariableDeclaration", + "scope": 2704, + "src": "2117:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + }, + "typeName": { + "id": 2701, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2700, + "name": "TaskStatus", + "nameLocations": [ + "2117:10:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2599, + "src": "2117:10:13" + }, + "referencedDeclaration": 2599, + "src": "2117:10:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "visibility": "internal" + } + ], + "src": "2092:43:13" + }, + "src": "2069:67:13" + }, + { + "anonymous": false, + "eventSelector": "52476d55ecef5cf13caa64038f297fe6bbf865d9584a98b8722a15a6d5db128f", + "id": 2710, + "name": "TaskAssigned", + "nameLocation": "2147:12:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2706, + "indexed": true, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2176:6:13", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "2160:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2705, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2160:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2708, + "indexed": true, + "mutability": "mutable", + "name": "agent", + "nameLocation": "2200:5:13", + "nodeType": "VariableDeclaration", + "scope": 2710, + "src": "2184:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2707, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2184:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2159:47:13" + }, + "src": "2141:66:13" + }, + { + "anonymous": false, + "eventSelector": "1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb2", + "id": 2714, + "name": "TaskCanceled", + "nameLocation": "2218:12:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2712, + "indexed": true, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2247:6:13", + "nodeType": "VariableDeclaration", + "scope": 2714, + "src": "2231:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2711, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2231:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2230:24:13" + }, + "src": "2212:43:13" + }, + { + "anonymous": false, + "eventSelector": "39d2886fb904deced53f8a0164291ff11f361b3a65c673eb93e1b4a0a875cfb5", + "id": 2721, + "name": "ProposalApproved", + "nameLocation": "2266:16:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2720, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2716, + "indexed": true, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2299:6:13", + "nodeType": "VariableDeclaration", + "scope": 2721, + "src": "2283:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2715, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2283:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2719, + "indexed": false, + "mutability": "mutable", + "name": "proposal", + "nameLocation": "2323:8:13", + "nodeType": "VariableDeclaration", + "scope": 2721, + "src": "2307:24:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + }, + "typeName": { + "id": 2718, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2717, + "name": "ServiceProposal", + "nameLocations": [ + "2307:15:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3273, + "src": "2307:15:13" + }, + "referencedDeclaration": 3273, + "src": "2307:15:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + } + }, + "visibility": "internal" + } + ], + "src": "2282:50:13" + }, + "src": "2260:73:13" + }, + { + "anonymous": false, + "eventSelector": "7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb", + "id": 2727, + "name": "TaskCompleted", + "nameLocation": "2344:13:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2723, + "indexed": true, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2374:6:13", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "2358:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2722, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2358:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2725, + "indexed": false, + "mutability": "mutable", + "name": "result", + "nameLocation": "2389:6:13", + "nodeType": "VariableDeclaration", + "scope": 2727, + "src": "2382:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2724, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2382:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2357:39:13" + }, + "src": "2338:59:13" + }, + { + "anonymous": false, + "eventSelector": "0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc", + "id": 2733, + "name": "TaskRated", + "nameLocation": "2408:9:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 2732, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2729, + "indexed": true, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "2434:6:13", + "nodeType": "VariableDeclaration", + "scope": 2733, + "src": "2418:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2728, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2418:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2731, + "indexed": false, + "mutability": "mutable", + "name": "rating", + "nameLocation": "2448:6:13", + "nodeType": "VariableDeclaration", + "scope": 2733, + "src": "2442:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 2730, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "2442:5:13", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "2417:38:13" + }, + "src": "2402:54:13" + }, + { + "body": { + "id": 2875, + "nodeType": "Block", + "src": "2785:969:13", + "statements": [ + { + "assignments": [ + 2746 + ], + "declarations": [ + { + "constant": false, + "id": 2746, + "mutability": "mutable", + "name": "proposal", + "nameLocation": "2818:8:13", + "nodeType": "VariableDeclaration", + "scope": 2875, + "src": "2795:31:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + }, + "typeName": { + "id": 2745, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2744, + "name": "ServiceProposal", + "nameLocations": [ + "2795:15:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3273, + "src": "2795:15:13" + }, + "referencedDeclaration": 3273, + "src": "2795:15:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + } + }, + "visibility": "internal" + } + ], + "id": 2751, + "initialValue": { + "arguments": [ + { + "id": 2749, + "name": "proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2738, + "src": "2855:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2747, + "name": "agentRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "2829:13:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$2363", + "typeString": "contract AgentsRegistryUpgradeable" + } + }, + "id": 2748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2843:11:13", + "memberName": "getProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 2000, + "src": "2829:25:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ServiceProposal_$3273_memory_ptr_$", + "typeString": "function (uint256) view external returns (struct IProposalStruct.ServiceProposal memory)" + } + }, + "id": 2750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2829:37:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2795:71:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2753, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2746, + "src": "2884:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 2754, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2893:6:13", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 3262, + "src": "2884:15:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2757, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2911:1:13", + "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": 2756, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2903:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2755, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2903:7:13", + "typeDescriptions": {} + } + }, + "id": 2758, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2903:10:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2884:29:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5365727669636550726f706f73616c206e6f7420666f756e64", + "id": 2760, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2915:27:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829", + "typeString": "literal_string \"ServiceProposal not found\"" + }, + "value": "ServiceProposal not found" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829", + "typeString": "literal_string \"ServiceProposal not found\"" + } + ], + "id": 2752, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2876:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2876:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2762, + "nodeType": "ExpressionStatement", + "src": "2876:67:13" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2763, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2746, + "src": "2966:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 2764, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "2975:12:13", + "memberName": "tokenAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 3268, + "src": "2966:21:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2999:1:13", + "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": 2766, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2991:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2765, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2991:7:13", + "typeDescriptions": {} + } + }, + "id": 2768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "2991:10:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2966:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2803, + "nodeType": "Block", + "src": "3087:203:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2781, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3109:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3113:5:13", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "3109:9:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 2783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3122:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "3109:14:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f204554482073686f756c642062652073656e7420666f72204552433230207061796d656e7473", + "id": 2785, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3125:42:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1b1b03f60ebe259831055a7aaca661444a58af4e39e114790f599b56dce96127", + "typeString": "literal_string \"No ETH should be sent for ERC20 payments\"" + }, + "value": "No ETH should be sent for ERC20 payments" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1b1b03f60ebe259831055a7aaca661444a58af4e39e114790f599b56dce96127", + "typeString": "literal_string \"No ETH should be sent for ERC20 payments\"" + } + ], + "id": 2780, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3101:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3101:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2787, + "nodeType": "ExpressionStatement", + "src": "3101:67:13" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 2791, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2746, + "src": "3214:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 2792, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3223:12:13", + "memberName": "tokenAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 3268, + "src": "3214:21:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2793, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3237:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3241:6:13", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3237:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "id": 2797, + "name": "this", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -28, + "src": "3257:4:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TaskRegistryUpgradeable_$3205", + "typeString": "contract TaskRegistryUpgradeable" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_TaskRegistryUpgradeable_$3205", + "typeString": "contract TaskRegistryUpgradeable" + } + ], + "id": 2796, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3249:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2795, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3249:7:13", + "typeDescriptions": {} + } + }, + "id": 2798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3249:13:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2799, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2746, + "src": "3264:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 2800, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3273:5:13", + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 3266, + "src": "3264:14:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2788, + "name": "TransferHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3434, + "src": "3182:14:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$3434_$", + "typeString": "type(library TransferHelper)" + } + }, + "id": 2790, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3197:16:13", + "memberName": "safeTransferFrom", + "nodeType": "MemberAccess", + "referencedDeclaration": 3408, + "src": "3182:31:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,address,uint256)" + } + }, + "id": 2801, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3182:97:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2802, + "nodeType": "ExpressionStatement", + "src": "3182:97:13" + } + ] + }, + "id": 2804, + "nodeType": "IfStatement", + "src": "2962:328:13", + "trueBody": { + "id": 2779, + "nodeType": "Block", + "src": "3003:78:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2771, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2746, + "src": "3025:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 2772, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3034:5:13", + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 3266, + "src": "3025:14:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2773, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3043:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3047:5:13", + "memberName": "value", + "nodeType": "MemberAccess", + "src": "3043:9:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3025:27:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c6964207072696365", + "id": 2776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3054:15:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eaa01effe6abd0543e9529d3961b0f5d26980f0661c156a79b89c39a093463f7", + "typeString": "literal_string \"Invalid price\"" + }, + "value": "Invalid price" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_eaa01effe6abd0543e9529d3961b0f5d26980f0661c156a79b89c39a093463f7", + "typeString": "literal_string \"Invalid price\"" + } + ], + "id": 2770, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3017:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3017:53:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2778, + "nodeType": "ExpressionStatement", + "src": "3017:53:13" + } + ] + } + }, + { + "assignments": [ + 2807 + ], + "declarations": [ + { + "constant": false, + "id": 2807, + "mutability": "mutable", + "name": "task", + "nameLocation": "3317:4:13", + "nodeType": "VariableDeclaration", + "scope": 2875, + "src": "3300:21:13", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + }, + "typeName": { + "id": 2806, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2805, + "name": "TaskData", + "nameLocations": [ + "3300:8:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2617, + "src": "3300:8:13" + }, + "referencedDeclaration": 2617, + "src": "3300:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + } + }, + "visibility": "internal" + } + ], + "id": 2811, + "initialValue": { + "baseExpression": { + "id": 2808, + "name": "tasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2622, + "src": "3324:5:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$2617_storage_$", + "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" + } + }, + "id": 2810, + "indexExpression": { + "id": 2809, + "name": "nextTaskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "3330:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3324:17:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3300:41:13" + }, + { + "expression": { + "id": 2816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2812, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2807, + "src": "3351:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2814, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3356:2:13", + "memberName": "id", + "nodeType": "MemberAccess", + "referencedDeclaration": 2601, + "src": "3351:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2815, + "name": "nextTaskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "3361:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3351:20:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2817, + "nodeType": "ExpressionStatement", + "src": "3351:20:13" + }, + { + "expression": { + "id": 2822, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2818, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2807, + "src": "3381:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2820, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3386:6:13", + "memberName": "prompt", + "nodeType": "MemberAccess", + "referencedDeclaration": 2603, + "src": "3381:11:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2821, + "name": "prompt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2736, + "src": "3395:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "3381:20:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2823, + "nodeType": "ExpressionStatement", + "src": "3381:20:13" + }, + { + "expression": { + "id": 2829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2824, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2807, + "src": "3411:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2826, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3416:6:13", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2605, + "src": "3411:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 2827, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3425:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3429:6:13", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3425:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3411:24:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2830, + "nodeType": "ExpressionStatement", + "src": "3411:24:13" + }, + { + "expression": { + "id": 2835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2831, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2807, + "src": "3445:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2833, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3450:10:13", + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 2612, + "src": "3445:15:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2834, + "name": "proposalId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2738, + "src": "3463:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3445:28:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2836, + "nodeType": "ExpressionStatement", + "src": "3445:28:13" + }, + { + "expression": { + "id": 2842, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2837, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2807, + "src": "3483:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2839, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3488:8:13", + "memberName": "assignee", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "3483:13:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 2840, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2746, + "src": "3499:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 2841, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3508:6:13", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 3262, + "src": "3499:15:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "3483:31:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2843, + "nodeType": "ExpressionStatement", + "src": "3483:31:13" + }, + { + "expression": { + "arguments": [ + { + "id": 2849, + "name": "nextTaskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "3553:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "baseExpression": { + "id": 2844, + "name": "issuerTasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "3524:11:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", + "typeString": "mapping(address => uint256[] storage ref)" + } + }, + "id": 2847, + "indexExpression": { + "expression": { + "id": 2845, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3536:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2846, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3540:6:13", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3536:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3524:23:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "id": 2848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3548:4:13", + "memberName": "push", + "nodeType": "MemberAccess", + "src": "3524:28:13", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_uint256_$dyn_storage_ptr_$_t_uint256_$returns$__$attached_to$_t_array$_t_uint256_$dyn_storage_ptr_$", + "typeString": "function (uint256[] storage pointer,uint256)" + } + }, + "id": 2850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3524:40:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2851, + "nodeType": "ExpressionStatement", + "src": "3524:40:13" + }, + { + "expression": { + "id": 2857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2852, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2807, + "src": "3574:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2854, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "3579:6:13", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2608, + "src": "3574:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 2855, + "name": "TaskStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "3588:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$2599_$", + "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" + } + }, + "id": 2856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "3599:8:13", + "memberName": "ASSIGNED", + "nodeType": "MemberAccess", + "referencedDeclaration": 2596, + "src": "3588:19:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "src": "3574:33:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "id": 2858, + "nodeType": "ExpressionStatement", + "src": "3574:33:13" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 2860, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3634:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3638:6:13", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3634:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2862, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2746, + "src": "3646:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 2863, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3655:6:13", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 3262, + "src": "3646:15:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2864, + "name": "nextTaskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "3663:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 2865, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2746, + "src": "3675:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 2866, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "3684:10:13", + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 3270, + "src": "3675:19:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2867, + "name": "prompt", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2736, + "src": "3696:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2859, + "name": "TaskCreated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2697, + "src": "3622:11:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (address,address,uint256,uint256,string memory)" + } + }, + "id": 2868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "3622:81:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2869, + "nodeType": "EmitStatement", + "src": "3617:86:13" + }, + { + "expression": { + "id": 2871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "3714:12:13", + "subExpression": { + "id": 2870, + "name": "nextTaskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2629, + "src": "3714:10:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2872, + "nodeType": "ExpressionStatement", + "src": "3714:12:13" + }, + { + "expression": { + "id": 2873, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2807, + "src": "3743:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "functionReturnParameters": 2743, + "id": 2874, + "nodeType": "Return", + "src": "3736:11:13" + } + ] + }, + "documentation": { + "id": 2734, + "nodeType": "StructuredDocumentation", + "src": "2462:191:13", + "text": " @dev Creates a new task with the given prompt and task type.\n @param prompt The description or prompt of the task.\n @return taskId The ID of the newly created task." + }, + "functionSelector": "04fe2b34", + "id": 2876, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "createTask", + "nameLocation": "2667:10:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2739, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2736, + "mutability": "mutable", + "name": "prompt", + "nameLocation": "2701:6:13", + "nodeType": "VariableDeclaration", + "scope": 2876, + "src": "2687:20:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2735, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2687:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2738, + "mutability": "mutable", + "name": "proposalId", + "nameLocation": "2725:10:13", + "nodeType": "VariableDeclaration", + "scope": 2876, + "src": "2717:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2737, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2717:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2677:64:13" + }, + "returnParameters": { + "id": 2743, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2742, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2876, + "src": "2768:15:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_memory_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + }, + "typeName": { + "id": 2741, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2740, + "name": "TaskData", + "nameLocations": [ + "2768:8:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2617, + "src": "2768:8:13" + }, + "referencedDeclaration": 2617, + "src": "2768:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + } + }, + "visibility": "internal" + } + ], + "src": "2767:17:13" + }, + "scope": 3205, + "src": "2658:1096:13", + "stateMutability": "payable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 2972, + "nodeType": "Block", + "src": "3999:714:13", + "statements": [ + { + "assignments": [ + 2886 + ], + "declarations": [ + { + "constant": false, + "id": 2886, + "mutability": "mutable", + "name": "task", + "nameLocation": "4026:4:13", + "nodeType": "VariableDeclaration", + "scope": 2972, + "src": "4009:21:13", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + }, + "typeName": { + "id": 2885, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2884, + "name": "TaskData", + "nameLocations": [ + "4009:8:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2617, + "src": "4009:8:13" + }, + "referencedDeclaration": 2617, + "src": "4009:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + } + }, + "visibility": "internal" + } + ], + "id": 2890, + "initialValue": { + "baseExpression": { + "id": 2887, + "name": "tasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2622, + "src": "4033:5:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$2617_storage_$", + "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" + } + }, + "id": 2889, + "indexExpression": { + "id": 2888, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2879, + "src": "4039:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4033:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4009:37:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2892, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4064:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4068:6:13", + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4064:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2894, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2886, + "src": "4078:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2895, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4083:8:13", + "memberName": "assignee", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "4078:13:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4064:27:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4e6f7420617574686f72697a6564", + "id": 2897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4093:16:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36", + "typeString": "literal_string \"Not authorized\"" + }, + "value": "Not authorized" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36", + "typeString": "literal_string \"Not authorized\"" + } + ], + "id": 2891, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4056:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4056:54:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2899, + "nodeType": "ExpressionStatement", + "src": "4056:54:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + }, + "id": 2905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2901, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2886, + "src": "4128:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2902, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4133:6:13", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2608, + "src": "4128:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2903, + "name": "TaskStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "4143:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$2599_$", + "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" + } + }, + "id": 2904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4154:8:13", + "memberName": "ASSIGNED", + "nodeType": "MemberAccess", + "referencedDeclaration": 2596, + "src": "4143:19:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "src": "4128:34:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "496e76616c6964207461736b20737461747573", + "id": 2906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4164:21:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_35c761622bcc8ab75f9adfaf21a4872a39cd06f2745d5488272d29f1f753f270", + "typeString": "literal_string \"Invalid task status\"" + }, + "value": "Invalid task status" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_35c761622bcc8ab75f9adfaf21a4872a39cd06f2745d5488272d29f1f753f270", + "typeString": "literal_string \"Invalid task status\"" + } + ], + "id": 2900, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4120:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4120:66:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2908, + "nodeType": "ExpressionStatement", + "src": "4120:66:13" + }, + { + "expression": { + "id": 2914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2909, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2886, + "src": "4197:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2911, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4202:6:13", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2608, + "src": "4197:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 2912, + "name": "TaskStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "4211:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$2599_$", + "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" + } + }, + "id": 2913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "4222:9:13", + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "4211:20:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "src": "4197:34:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "id": 2915, + "nodeType": "ExpressionStatement", + "src": "4197:34:13" + }, + { + "expression": { + "id": 2920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2916, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2886, + "src": "4241:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2918, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "4246:6:13", + "memberName": "result", + "nodeType": "MemberAccess", + "referencedDeclaration": 2614, + "src": "4241:11:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2919, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2881, + "src": "4255:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "4241:20:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 2921, + "nodeType": "ExpressionStatement", + "src": "4241:20:13" + }, + { + "assignments": [ + 2924 + ], + "declarations": [ + { + "constant": false, + "id": 2924, + "mutability": "mutable", + "name": "proposal", + "nameLocation": "4294:8:13", + "nodeType": "VariableDeclaration", + "scope": 2972, + "src": "4271:31:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + }, + "typeName": { + "id": 2923, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2922, + "name": "ServiceProposal", + "nameLocations": [ + "4271:15:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3273, + "src": "4271:15:13" + }, + "referencedDeclaration": 3273, + "src": "4271:15:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + } + }, + "visibility": "internal" + } + ], + "id": 2930, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 2927, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2886, + "src": "4331:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2928, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4336:10:13", + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 2612, + "src": "4331:15:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2925, + "name": "agentRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "4305:13:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$2363", + "typeString": "contract AgentsRegistryUpgradeable" + } + }, + "id": 2926, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4319:11:13", + "memberName": "getProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 2000, + "src": "4305:25:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ServiceProposal_$3273_memory_ptr_$", + "typeString": "function (uint256) view external returns (struct IProposalStruct.ServiceProposal memory)" + } + }, + "id": 2929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4305:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4271:76:13" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2931, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2924, + "src": "4370:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 2932, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4379:12:13", + "memberName": "tokenAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 3268, + "src": "4370:21:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 2935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4403:1:13", + "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": 2934, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4395:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2933, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4395:7:13", + "typeDescriptions": {} + } + }, + "id": 2936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4395:10:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4370:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2959, + "nodeType": "Block", + "src": "4497:104:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 2951, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2924, + "src": "4539:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 2952, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4548:12:13", + "memberName": "tokenAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 3268, + "src": "4539:21:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2953, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2886, + "src": "4562:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2954, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4567:6:13", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2605, + "src": "4562:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2955, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2924, + "src": "4575:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 2956, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4584:5:13", + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 3266, + "src": "4575:14:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2948, + "name": "TransferHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3434, + "src": "4511:14:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$3434_$", + "typeString": "type(library TransferHelper)" + } + }, + "id": 2950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4526:12:13", + "memberName": "safeTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 3362, + "src": "4511:27:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 2957, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4511:79:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2958, + "nodeType": "ExpressionStatement", + "src": "4511:79:13" + } + ] + }, + "id": 2960, + "nodeType": "IfStatement", + "src": "4366:235:13", + "trueBody": { + "id": 2947, + "nodeType": "Block", + "src": "4407:84:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 2941, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2886, + "src": "4452:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2942, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4457:6:13", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2605, + "src": "4452:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2943, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2924, + "src": "4465:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 2944, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4474:5:13", + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 3266, + "src": "4465:14:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2938, + "name": "TransferHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3434, + "src": "4421:14:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$3434_$", + "typeString": "type(library TransferHelper)" + } + }, + "id": 2940, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4436:15:13", + "memberName": "safeTransferETH", + "nodeType": "MemberAccess", + "referencedDeclaration": 3433, + "src": "4421:30:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4421:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2946, + "nodeType": "ExpressionStatement", + "src": "4421:59:13" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "id": 2962, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2879, + "src": "4642:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 2963, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2886, + "src": "4650:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2964, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "4655:6:13", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2608, + "src": "4650:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + ], + "id": 2961, + "name": "TaskStatusChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2704, + "src": "4624:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_enum$_TaskStatus_$2599_$returns$__$", + "typeString": "function (uint256,enum TaskRegistryUpgradeable.TaskStatus)" + } + }, + "id": 2965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4624:38:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2966, + "nodeType": "EmitStatement", + "src": "4619:43:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2968, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2879, + "src": "4691:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 2969, + "name": "result", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2881, + "src": "4699:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2967, + "name": "TaskCompleted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2727, + "src": "4677:13:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (uint256,string memory)" + } + }, + "id": 2970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "4677:29:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2971, + "nodeType": "EmitStatement", + "src": "4672:34:13" + } + ] + }, + "documentation": { + "id": 2877, + "nodeType": "StructuredDocumentation", + "src": "3760:165:13", + "text": " @dev Completes a task with the given result.\n @param taskId The ID of the task.\n @param result The result or output of the completed task." + }, + "functionSelector": "74aaa760", + "id": 2973, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "completeTask", + "nameLocation": "3939:12:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2882, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2879, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "3960:6:13", + "nodeType": "VariableDeclaration", + "scope": 2973, + "src": "3952:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2878, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3952:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2881, + "mutability": "mutable", + "name": "result", + "nameLocation": "3982:6:13", + "nodeType": "VariableDeclaration", + "scope": 2973, + "src": "3968:20:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2880, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3968:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3951:38:13" + }, + "returnParameters": { + "id": 2883, + "nodeType": "ParameterList", + "parameters": [], + "src": "3999:0:13" + }, + "scope": 3205, + "src": "3930:783:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3047, + "nodeType": "Block", + "src": "4966:504:13", + "statements": [ + { + "assignments": [ + 2986 + ], + "declarations": [ + { + "constant": false, + "id": 2986, + "mutability": "mutable", + "name": "task", + "nameLocation": "4993:4:13", + "nodeType": "VariableDeclaration", + "scope": 3047, + "src": "4976:21:13", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + }, + "typeName": { + "id": 2985, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2984, + "name": "TaskData", + "nameLocations": [ + "4976:8:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2617, + "src": "4976:8:13" + }, + "referencedDeclaration": 2617, + "src": "4976:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + } + }, + "visibility": "internal" + } + ], + "id": 2990, + "initialValue": { + "baseExpression": { + "id": 2987, + "name": "tasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2622, + "src": "5000:5:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$2617_storage_$", + "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" + } + }, + "id": 2989, + "indexExpression": { + "id": 2988, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2976, + "src": "5006:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5000:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4976:37:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + }, + "id": 2996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2992, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2986, + "src": "5032:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 2993, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5037:6:13", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2608, + "src": "5032:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2994, + "name": "TaskStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "5047:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$2599_$", + "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" + } + }, + "id": 2995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5058:9:13", + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "5047:20:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "src": "5032:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5461736b206973206e6f7420636f6d706c65746564", + "id": 2997, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5069:23:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a08755c006bba216d153388cc97acf5e536a500c0ec88cade64bd6b2f0d0e27d", + "typeString": "literal_string \"Task is not completed\"" + }, + "value": "Task is not completed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a08755c006bba216d153388cc97acf5e536a500c0ec88cade64bd6b2f0d0e27d", + "typeString": "literal_string \"Task is not completed\"" + } + ], + "id": 2991, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5024:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5024:69:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2999, + "nodeType": "ExpressionStatement", + "src": "5024:69:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 3004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3001, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2986, + "src": "5111:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 3002, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5116:6:13", + "memberName": "rating", + "nodeType": "MemberAccess", + "referencedDeclaration": 2616, + "src": "5111:11:13", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3003, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5126:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5111:16:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5461736b20676f7420726174696e6720616c7265616479", + "id": 3005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5129:25:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_306fe74d51ecec7b72bc35613a90b4c93840ded0ff8f63d0daef622fd6053b19", + "typeString": "literal_string \"Task got rating already\"" + }, + "value": "Task got rating already" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_306fe74d51ecec7b72bc35613a90b4c93840ded0ff8f63d0daef622fd6053b19", + "typeString": "literal_string \"Task got rating already\"" + } + ], + "id": 3000, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5103:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3006, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5103:52:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3007, + "nodeType": "ExpressionStatement", + "src": "5103:52:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3015, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 3011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3009, + "name": "rating", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2978, + "src": "5173:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "hexValue": "30", + "id": 3010, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5183:1:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "5173:11:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 3014, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3012, + "name": "rating", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2978, + "src": "5188:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "<=", + "rightExpression": { + "hexValue": "313030", + "id": 3013, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5198:3:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_100_by_1", + "typeString": "int_const 100" + }, + "value": "100" + }, + "src": "5188:13:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5173:28:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "526174696e67206d757374206265206265747765656e203020616e6420313030", + "id": 3016, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5203:34:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e", + "typeString": "literal_string \"Rating must be between 0 and 100\"" + }, + "value": "Rating must be between 0 and 100" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e", + "typeString": "literal_string \"Rating must be between 0 and 100\"" + } + ], + "id": 3008, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5165:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5165:73:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3018, + "nodeType": "ExpressionStatement", + "src": "5165:73:13" + }, + { + "expression": { + "id": 3023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 3019, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2986, + "src": "5257:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 3021, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "5262:6:13", + "memberName": "rating", + "nodeType": "MemberAccess", + "referencedDeclaration": 2616, + "src": "5257:11:13", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 3022, + "name": "rating", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2978, + "src": "5271:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "src": "5257:20:13", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "id": 3024, + "nodeType": "ExpressionStatement", + "src": "5257:20:13" + }, + { + "assignments": [ + 3027 + ], + "declarations": [ + { + "constant": false, + "id": 3027, + "mutability": "mutable", + "name": "proposal", + "nameLocation": "5310:8:13", + "nodeType": "VariableDeclaration", + "scope": 3047, + "src": "5287:31:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + }, + "typeName": { + "id": 3026, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3025, + "name": "ServiceProposal", + "nameLocations": [ + "5287:15:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3273, + "src": "5287:15:13" + }, + "referencedDeclaration": 3273, + "src": "5287:15:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + } + }, + "visibility": "internal" + } + ], + "id": 3033, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 3030, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2986, + "src": "5347:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 3031, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5352:10:13", + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 2612, + "src": "5347:15:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3028, + "name": "agentRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5321:13:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$2363", + "typeString": "contract AgentsRegistryUpgradeable" + } + }, + "id": 3029, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5335:11:13", + "memberName": "getProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 2000, + "src": "5321:25:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ServiceProposal_$3273_memory_ptr_$", + "typeString": "function (uint256) view external returns (struct IProposalStruct.ServiceProposal memory)" + } + }, + "id": 3032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5321:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5287:76:13" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 3037, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3027, + "src": "5398:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 3038, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5407:6:13", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 3262, + "src": "5398:15:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3039, + "name": "rating", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2978, + "src": "5415:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "expression": { + "id": 3034, + "name": "agentRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5374:13:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$2363", + "typeString": "contract AgentsRegistryUpgradeable" + } + }, + "id": 3036, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5388:9:13", + "memberName": "addRating", + "nodeType": "MemberAccess", + "referencedDeclaration": 1955, + "src": "5374:23:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_uint256_$", + "typeString": "function (address,uint256) external returns (uint256)" + } + }, + "id": 3040, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5374:48:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3041, + "nodeType": "ExpressionStatement", + "src": "5374:48:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3043, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2976, + "src": "5448:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3044, + "name": "rating", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2978, + "src": "5456:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 3042, + "name": "TaskRated", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2733, + "src": "5438:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_uint8_$returns$__$", + "typeString": "function (uint256,uint8)" + } + }, + "id": 3045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5438:25:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3046, + "nodeType": "EmitStatement", + "src": "5433:30:13" + } + ] + }, + "documentation": { + "id": 2974, + "nodeType": "StructuredDocumentation", + "src": "4719:158:13", + "text": " @dev Rated a completed task, called by the task issuer\n @param taskId The ID of the task.\n @param rating task rating from 0 to 100." + }, + "functionSelector": "6298eee0", + "id": 3048, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2981, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2976, + "src": "4949:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 2982, + "kind": "modifierInvocation", + "modifierName": { + "id": 2980, + "name": "onlyTaskIssuer", + "nameLocations": [ + "4934:14:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2649, + "src": "4934:14:13" + }, + "nodeType": "ModifierInvocation", + "src": "4934:22:13" + } + ], + "name": "rateTask", + "nameLocation": "4895:8:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2979, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2976, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "4912:6:13", + "nodeType": "VariableDeclaration", + "scope": 3048, + "src": "4904:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2975, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4904:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2978, + "mutability": "mutable", + "name": "rating", + "nameLocation": "4926:6:13", + "nodeType": "VariableDeclaration", + "scope": 3048, + "src": "4920:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 2977, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "4920:5:13", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "4903:30:13" + }, + "returnParameters": { + "id": 2983, + "nodeType": "ParameterList", + "parameters": [], + "src": "4966:0:13" + }, + "scope": 3205, + "src": "4886:584:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3135, + "nodeType": "Block", + "src": "5687:705:13", + "statements": [ + { + "assignments": [ + 3059 + ], + "declarations": [ + { + "constant": false, + "id": 3059, + "mutability": "mutable", + "name": "task", + "nameLocation": "5714:4:13", + "nodeType": "VariableDeclaration", + "scope": 3135, + "src": "5697:21:13", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + }, + "typeName": { + "id": 3058, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3057, + "name": "TaskData", + "nameLocations": [ + "5697:8:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2617, + "src": "5697:8:13" + }, + "referencedDeclaration": 2617, + "src": "5697:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + } + }, + "visibility": "internal" + } + ], + "id": 3063, + "initialValue": { + "baseExpression": { + "id": 3060, + "name": "tasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2622, + "src": "5721:5:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$2617_storage_$", + "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" + } + }, + "id": 3062, + "indexExpression": { + "id": 3061, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3051, + "src": "5727:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5721:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5697:37:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + }, + "id": 3069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3065, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "5752:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 3066, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5757:6:13", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2608, + "src": "5752:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 3067, + "name": "TaskStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "5767:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$2599_$", + "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" + } + }, + "id": 3068, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5778:9:13", + "memberName": "COMPLETED", + "nodeType": "MemberAccess", + "referencedDeclaration": 2597, + "src": "5767:20:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "src": "5752:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "commonType": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + }, + "id": 3074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3070, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "5791:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 3071, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5796:6:13", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2608, + "src": "5791:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "id": 3072, + "name": "TaskStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "5806:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$2599_$", + "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" + } + }, + "id": 3073, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5817:8:13", + "memberName": "CANCELED", + "nodeType": "MemberAccess", + "referencedDeclaration": 2598, + "src": "5806:19:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "src": "5791:34:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "5752:73:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5461736b2063616e6e6f742062652063616e63656c6564", + "id": 3076, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5827:25:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_784e567ba03dff6623f8e7bbee52b701bfd622c294c48e22d5da37cfabe25ac0", + "typeString": "literal_string \"Task cannot be canceled\"" + }, + "value": "Task cannot be canceled" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_784e567ba03dff6623f8e7bbee52b701bfd622c294c48e22d5da37cfabe25ac0", + "typeString": "literal_string \"Task cannot be canceled\"" + } + ], + "id": 3064, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5744:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5744:109:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3078, + "nodeType": "ExpressionStatement", + "src": "5744:109:13" + }, + { + "expression": { + "id": 3084, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 3079, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "5872:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 3081, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberLocation": "5877:6:13", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2608, + "src": "5872:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 3082, + "name": "TaskStatus", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2599, + "src": "5886:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_TaskStatus_$2599_$", + "typeString": "type(enum TaskRegistryUpgradeable.TaskStatus)" + } + }, + "id": 3083, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "5897:8:13", + "memberName": "CANCELED", + "nodeType": "MemberAccess", + "referencedDeclaration": 2598, + "src": "5886:19:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "src": "5872:33:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "id": 3085, + "nodeType": "ExpressionStatement", + "src": "5872:33:13" + }, + { + "assignments": [ + 3088 + ], + "declarations": [ + { + "constant": false, + "id": 3088, + "mutability": "mutable", + "name": "proposal", + "nameLocation": "5938:8:13", + "nodeType": "VariableDeclaration", + "scope": 3135, + "src": "5915:31:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + }, + "typeName": { + "id": 3087, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3086, + "name": "ServiceProposal", + "nameLocations": [ + "5915:15:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3273, + "src": "5915:15:13" + }, + "referencedDeclaration": 3273, + "src": "5915:15:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_storage_ptr", + "typeString": "struct IProposalStruct.ServiceProposal" + } + }, + "visibility": "internal" + } + ], + "id": 3094, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 3091, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "5975:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 3092, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5980:10:13", + "memberName": "proposalId", + "nodeType": "MemberAccess", + "referencedDeclaration": 2612, + "src": "5975:15:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3089, + "name": "agentRegistry", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5949:13:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_AgentsRegistryUpgradeable_$2363", + "typeString": "contract AgentsRegistryUpgradeable" + } + }, + "id": 3090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "5963:11:13", + "memberName": "getProposal", + "nodeType": "MemberAccess", + "referencedDeclaration": 2000, + "src": "5949:25:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_uint256_$returns$_t_struct$_ServiceProposal_$3273_memory_ptr_$", + "typeString": "function (uint256) view external returns (struct IProposalStruct.ServiceProposal memory)" + } + }, + "id": 3093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "5949:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5915:76:13" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 3101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3095, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3088, + "src": "6058:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 3096, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6067:12:13", + "memberName": "tokenAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 3268, + "src": "6058:21:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 3099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6091:1:13", + "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": 3098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "6083:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 3097, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6083:7:13", + "typeDescriptions": {} + } + }, + "id": 3100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6083:10:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6058:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 3123, + "nodeType": "Block", + "src": "6185:104:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 3115, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3088, + "src": "6227:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 3116, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6236:12:13", + "memberName": "tokenAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 3268, + "src": "6227:21:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 3117, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "6250:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 3118, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6255:6:13", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2605, + "src": "6250:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 3119, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3088, + "src": "6263:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 3120, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6272:5:13", + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 3266, + "src": "6263:14:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3112, + "name": "TransferHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3434, + "src": "6199:14:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$3434_$", + "typeString": "type(library TransferHelper)" + } + }, + "id": 3114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6214:12:13", + "memberName": "safeTransfer", + "nodeType": "MemberAccess", + "referencedDeclaration": 3362, + "src": "6199:27:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 3121, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6199:79:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3122, + "nodeType": "ExpressionStatement", + "src": "6199:79:13" + } + ] + }, + "id": 3124, + "nodeType": "IfStatement", + "src": "6054:235:13", + "trueBody": { + "id": 3111, + "nodeType": "Block", + "src": "6095:84:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 3105, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "6140:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 3106, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6145:6:13", + "memberName": "issuer", + "nodeType": "MemberAccess", + "referencedDeclaration": 2605, + "src": "6140:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 3107, + "name": "proposal", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3088, + "src": "6153:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_ServiceProposal_$3273_memory_ptr", + "typeString": "struct IProposalStruct.ServiceProposal memory" + } + }, + "id": 3108, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6162:5:13", + "memberName": "price", + "nodeType": "MemberAccess", + "referencedDeclaration": 3266, + "src": "6153:14:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3102, + "name": "TransferHelper", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3434, + "src": "6109:14:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TransferHelper_$3434_$", + "typeString": "type(library TransferHelper)" + } + }, + "id": 3104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6124:15:13", + "memberName": "safeTransferETH", + "nodeType": "MemberAccess", + "referencedDeclaration": 3433, + "src": "6109:30:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 3109, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6109:59:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3110, + "nodeType": "ExpressionStatement", + "src": "6109:59:13" + } + ] + } + }, + { + "eventCall": { + "arguments": [ + { + "id": 3126, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3051, + "src": "6330:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "expression": { + "id": 3127, + "name": "task", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3059, + "src": "6338:4:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage pointer" + } + }, + "id": 3128, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6343:6:13", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2608, + "src": "6338:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + ], + "id": 3125, + "name": "TaskStatusChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2704, + "src": "6312:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$_t_enum$_TaskStatus_$2599_$returns$__$", + "typeString": "function (uint256,enum TaskRegistryUpgradeable.TaskStatus)" + } + }, + "id": 3129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6312:38:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3130, + "nodeType": "EmitStatement", + "src": "6307:43:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 3132, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3051, + "src": "6378:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 3131, + "name": "TaskCanceled", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2714, + "src": "6365:12:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_uint256_$returns$__$", + "typeString": "function (uint256)" + } + }, + "id": 3133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "6365:20:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3134, + "nodeType": "EmitStatement", + "src": "6360:25:13" + } + ] + }, + "documentation": { + "id": 3049, + "nodeType": "StructuredDocumentation", + "src": "5476:138:13", + "text": " @dev Cancels a task that is in ASSIGNED status and refunds the payment.\n @param taskId The ID of the task to cancel." + }, + "functionSelector": "7eec20a8", + "id": 3136, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 3054, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3051, + "src": "5679:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "id": 3055, + "kind": "modifierInvocation", + "modifierName": { + "id": 3053, + "name": "onlyTaskIssuer", + "nameLocations": [ + "5664:14:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2649, + "src": "5664:14:13" + }, + "nodeType": "ModifierInvocation", + "src": "5664:22:13" + } + ], + "name": "cancelTask", + "nameLocation": "5628:10:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3052, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3051, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "5647:6:13", + "nodeType": "VariableDeclaration", + "scope": 3136, + "src": "5639:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3050, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5639:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5638:16:13" + }, + "returnParameters": { + "id": 3056, + "nodeType": "ParameterList", + "parameters": [], + "src": "5687:0:13" + }, + "scope": 3205, + "src": "5619:773:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3148, + "nodeType": "Block", + "src": "6481:43:13", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 3144, + "name": "issuerTasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2627, + "src": "6498:11:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_array$_t_uint256_$dyn_storage_$", + "typeString": "mapping(address => uint256[] storage ref)" + } + }, + "id": 3146, + "indexExpression": { + "id": 3145, + "name": "issuer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3138, + "src": "6510:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6498:19:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage", + "typeString": "uint256[] storage ref" + } + }, + "functionReturnParameters": 3143, + "id": 3147, + "nodeType": "Return", + "src": "6491:26:13" + } + ] + }, + "functionSelector": "639241ab", + "id": 3149, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTasksByIssuer", + "nameLocation": "6407:16:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3138, + "mutability": "mutable", + "name": "issuer", + "nameLocation": "6432:6:13", + "nodeType": "VariableDeclaration", + "scope": 3149, + "src": "6424:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3137, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6424:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6423:16:13" + }, + "returnParameters": { + "id": 3143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3142, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3149, + "src": "6463:16:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_memory_ptr", + "typeString": "uint256[]" + }, + "typeName": { + "baseType": { + "id": 3140, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6463:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3141, + "nodeType": "ArrayTypeName", + "src": "6463:9:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr", + "typeString": "uint256[]" + } + }, + "visibility": "internal" + } + ], + "src": "6462:18:13" + }, + "scope": 3205, + "src": "6398:126:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3161, + "nodeType": "Block", + "src": "6603:37:13", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 3157, + "name": "tasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2622, + "src": "6620:5:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$2617_storage_$", + "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" + } + }, + "id": 3159, + "indexExpression": { + "id": 3158, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3151, + "src": "6626:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6620:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" + } + }, + "functionReturnParameters": 3156, + "id": 3160, + "nodeType": "Return", + "src": "6613:20:13" + } + ] + }, + "functionSelector": "1d65e77e", + "id": 3162, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getTask", + "nameLocation": "6539:7:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3151, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "6555:6:13", + "nodeType": "VariableDeclaration", + "scope": 3162, + "src": "6547:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3150, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6547:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6546:16:13" + }, + "returnParameters": { + "id": 3156, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3155, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3162, + "src": "6586:15:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_memory_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + }, + "typeName": { + "id": 3154, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3153, + "name": "TaskData", + "nameLocations": [ + "6586:8:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2617, + "src": "6586:8:13" + }, + "referencedDeclaration": 2617, + "src": "6586:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage_ptr", + "typeString": "struct TaskRegistryUpgradeable.TaskData" + } + }, + "visibility": "internal" + } + ], + "src": "6585:17:13" + }, + "scope": 3205, + "src": "6530:110:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3175, + "nodeType": "Block", + "src": "6716:44:13", + "statements": [ + { + "expression": { + "expression": { + "baseExpression": { + "id": 3170, + "name": "tasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2622, + "src": "6733:5:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$2617_storage_$", + "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" + } + }, + "id": 3172, + "indexExpression": { + "id": 3171, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3164, + "src": "6739:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6733:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" + } + }, + "id": 3173, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6747:6:13", + "memberName": "status", + "nodeType": "MemberAccess", + "referencedDeclaration": 2608, + "src": "6733:20:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "functionReturnParameters": 3169, + "id": 3174, + "nodeType": "Return", + "src": "6726:27:13" + } + ] + }, + "functionSelector": "5c622a0e", + "id": 3176, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getStatus", + "nameLocation": "6655:9:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3164, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "6673:6:13", + "nodeType": "VariableDeclaration", + "scope": 3176, + "src": "6665:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3163, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6665:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6664:16:13" + }, + "returnParameters": { + "id": 3169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3168, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3176, + "src": "6704:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + }, + "typeName": { + "id": 3167, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3166, + "name": "TaskStatus", + "nameLocations": [ + "6704:10:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 2599, + "src": "6704:10:13" + }, + "referencedDeclaration": 2599, + "src": "6704:10:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_TaskStatus_$2599", + "typeString": "enum TaskRegistryUpgradeable.TaskStatus" + } + }, + "visibility": "internal" + } + ], + "src": "6703:12:13" + }, + "scope": 3205, + "src": "6646:114:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "body": { + "id": 3188, + "nodeType": "Block", + "src": "6839:46:13", + "statements": [ + { + "expression": { + "expression": { + "baseExpression": { + "id": 3183, + "name": "tasks", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2622, + "src": "6856:5:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_uint256_$_t_struct$_TaskData_$2617_storage_$", + "typeString": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData storage ref)" + } + }, + "id": 3185, + "indexExpression": { + "id": 3184, + "name": "taskId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3178, + "src": "6862:6:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6856:13:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_TaskData_$2617_storage", + "typeString": "struct TaskRegistryUpgradeable.TaskData storage ref" + } + }, + "id": 3186, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberLocation": "6870:8:13", + "memberName": "assignee", + "nodeType": "MemberAccess", + "referencedDeclaration": 2610, + "src": "6856:22:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 3182, + "id": 3187, + "nodeType": "Return", + "src": "6849:29:13" + } + ] + }, + "functionSelector": "07b31818", + "id": 3189, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getAssignee", + "nameLocation": "6779:11:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3178, + "mutability": "mutable", + "name": "taskId", + "nameLocation": "6799:6:13", + "nodeType": "VariableDeclaration", + "scope": 3189, + "src": "6791:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3177, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6791:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6790:16:13" + }, + "returnParameters": { + "id": 3182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3181, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3189, + "src": "6830:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3180, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6830:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6829:9:13" + }, + "scope": 3205, + "src": "6770:115:13", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "baseFunctions": [ + 598 + ], + "body": { + "id": 3198, + "nodeType": "Block", + "src": "7156:2:13", + "statements": [] + }, + "documentation": { + "id": 3190, + "nodeType": "StructuredDocumentation", + "src": "6891:178:13", + "text": " @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract.\n @param newImplementation Address of the new implementation" + }, + "id": 3199, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 3196, + "kind": "modifierInvocation", + "modifierName": { + "id": 3195, + "name": "onlyOwner", + "nameLocations": [ + "7146:9:13" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 89, + "src": "7146:9:13" + }, + "nodeType": "ModifierInvocation", + "src": "7146:9:13" + } + ], + "name": "_authorizeUpgrade", + "nameLocation": "7083:17:13", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 3194, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "7137:8:13" + }, + "parameters": { + "id": 3193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3192, + "mutability": "mutable", + "name": "newImplementation", + "nameLocation": "7109:17:13", + "nodeType": "VariableDeclaration", + "scope": 3199, + "src": "7101:25:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3191, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7101:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7100:27:13" + }, + "returnParameters": { + "id": 3197, + "nodeType": "ParameterList", + "parameters": [], + "src": "7156:0:13" + }, + "scope": 3205, + "src": "7074:84:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "constant": false, + "documentation": { + "id": 3200, + "nodeType": "StructuredDocumentation", + "src": "7164:55:13", + "text": " @dev Storage gap for future upgrades" + }, + "id": 3204, + "mutability": "mutable", + "name": "__gap", + "nameLocation": "7244:5:13", + "nodeType": "VariableDeclaration", + "scope": 3205, + "src": "7224:25:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$50_storage", + "typeString": "uint256[50]" + }, + "typeName": { + "baseType": { + "id": 3201, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7224:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 3203, + "length": { + "hexValue": "3530", + "id": 3202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7232:2:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_50_by_1", + "typeString": "int_const 50" + }, + "value": "50" + }, + "nodeType": "ArrayTypeName", + "src": "7224:11:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_uint256_$50_storage_ptr", + "typeString": "uint256[50]" + } + }, + "visibility": "private" + } + ], + "scope": 3206, + "src": "632:6620:13", + "usedErrors": [ + 30, + 35, + 211, + 214, + 489, + 494, + 741, + 754, + 1035, + 1298 + ], + "usedEvents": [ + 41, + 219, + 698, + 2697, + 2704, + 2710, + 2714, + 2721, + 2727, + 2733 + ] + } + ], + "src": "32:7221:13" + }, + "id": 13 + }, + "contracts/interfaces/IAgentRegistryV1.sol": { + "ast": { + "absolutePath": "contracts/interfaces/IAgentRegistryV1.sol", + "exportedSymbols": { + "IAgentRegistryV1": [ + 3258 + ] + }, + "id": 3259, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3207, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "32:24:14" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IAgentRegistryV1", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": false, + "id": 3258, + "linearizedBaseContracts": [ + 3258 + ], + "name": "IAgentRegistryV1", + "nameLocation": "68:16:14", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IAgentRegistryV1.AgentData", + "id": 3220, + "members": [ + { + "constant": false, + "id": 3209, + "mutability": "mutable", + "name": "name", + "nameLocation": "125:4:14", + "nodeType": "VariableDeclaration", + "scope": 3220, + "src": "118:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3208, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "118:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3211, + "mutability": "mutable", + "name": "agentUri", + "nameLocation": "146:8:14", + "nodeType": "VariableDeclaration", + "scope": 3220, + "src": "139:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3210, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "139:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3213, + "mutability": "mutable", + "name": "owner", + "nameLocation": "172:5:14", + "nodeType": "VariableDeclaration", + "scope": 3220, + "src": "164:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "164:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3215, + "mutability": "mutable", + "name": "agent", + "nameLocation": "195:5:14", + "nodeType": "VariableDeclaration", + "scope": 3220, + "src": "187:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3214, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "187:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3217, + "mutability": "mutable", + "name": "reputation", + "nameLocation": "218:10:14", + "nodeType": "VariableDeclaration", + "scope": 3220, + "src": "210:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3216, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "210:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3219, + "mutability": "mutable", + "name": "totalRatings", + "nameLocation": "246:12:14", + "nodeType": "VariableDeclaration", + "scope": 3220, + "src": "238:20:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3218, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "238:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "AgentData", + "nameLocation": "98:9:14", + "nodeType": "StructDefinition", + "scope": 3258, + "src": "91:174:14", + "visibility": "public" + }, + { + "canonicalName": "IAgentRegistryV1.Proposal", + "id": 3231, + "members": [ + { + "constant": false, + "id": 3222, + "mutability": "mutable", + "name": "issuer", + "nameLocation": "309:6:14", + "nodeType": "VariableDeclaration", + "scope": 3231, + "src": "301:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3221, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "301:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3224, + "mutability": "mutable", + "name": "serviceName", + "nameLocation": "332:11:14", + "nodeType": "VariableDeclaration", + "scope": 3231, + "src": "325:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3223, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "325:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3226, + "mutability": "mutable", + "name": "price", + "nameLocation": "361:5:14", + "nodeType": "VariableDeclaration", + "scope": 3231, + "src": "353:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3225, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "353:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3228, + "mutability": "mutable", + "name": "proposalId", + "nameLocation": "384:10:14", + "nodeType": "VariableDeclaration", + "scope": 3231, + "src": "376:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3227, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "376:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3230, + "mutability": "mutable", + "name": "isActive", + "nameLocation": "409:8:14", + "nodeType": "VariableDeclaration", + "scope": 3231, + "src": "404:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3229, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "404:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "Proposal", + "nameLocation": "282:8:14", + "nodeType": "StructDefinition", + "scope": 3258, + "src": "275:149:14", + "visibility": "public" + }, + { + "functionSelector": "aac9f15a", + "id": 3239, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getAgentData", + "nameLocation": "439:12:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3234, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3233, + "mutability": "mutable", + "name": "_agent", + "nameLocation": "460:6:14", + "nodeType": "VariableDeclaration", + "scope": 3239, + "src": "452:14:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3232, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "452:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "451:16:14" + }, + "returnParameters": { + "id": 3238, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3237, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3239, + "src": "491:16:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$3220_memory_ptr", + "typeString": "struct IAgentRegistryV1.AgentData" + }, + "typeName": { + "id": 3236, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3235, + "name": "AgentData", + "nameLocations": [ + "491:9:14" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3220, + "src": "491:9:14" + }, + "referencedDeclaration": 3220, + "src": "491:9:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_AgentData_$3220_storage_ptr", + "typeString": "struct IAgentRegistryV1.AgentData" + } + }, + "visibility": "internal" + } + ], + "src": "490:18:14" + }, + "scope": 3258, + "src": "430:79:14", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "c7f758a8", + "id": 3247, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getProposal", + "nameLocation": "524:11:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3241, + "mutability": "mutable", + "name": "_proposalId", + "nameLocation": "544:11:14", + "nodeType": "VariableDeclaration", + "scope": 3247, + "src": "536:19:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3240, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "536:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "535:21:14" + }, + "returnParameters": { + "id": 3246, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3245, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3247, + "src": "580:15:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$3231_memory_ptr", + "typeString": "struct IAgentRegistryV1.Proposal" + }, + "typeName": { + "id": 3244, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 3243, + "name": "Proposal", + "nameLocations": [ + "580:8:14" + ], + "nodeType": "IdentifierPath", + "referencedDeclaration": 3231, + "src": "580:8:14" + }, + "referencedDeclaration": 3231, + "src": "580:8:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Proposal_$3231_storage_ptr", + "typeString": "struct IAgentRegistryV1.Proposal" + } + }, + "visibility": "internal" + } + ], + "src": "579:17:14" + }, + "scope": 3258, + "src": "515:82:14", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "2ab09d14", + "id": 3252, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "nextProposalId", + "nameLocation": "612:14:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3248, + "nodeType": "ParameterList", + "parameters": [], + "src": "626:2:14" + }, + "returnParameters": { + "id": 3251, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3250, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3252, + "src": "652:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3249, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "652:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "651:9:14" + }, + "scope": 3258, + "src": "603:58:14", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "functionSelector": "cbcf252a", + "id": 3257, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "serviceRegistry", + "nameLocation": "676:15:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3253, + "nodeType": "ParameterList", + "parameters": [], + "src": "691:2:14" + }, + "returnParameters": { + "id": 3256, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3255, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 3257, + "src": "717:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3254, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "717:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "716:9:14" + }, + "scope": 3258, + "src": "667:59:14", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 3259, + "src": "58:670:14", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:697:14" + }, + "id": 14 + }, + "contracts/interfaces/IProposalStruct.sol": { + "ast": { + "absolutePath": "contracts/interfaces/IProposalStruct.sol", + "exportedSymbols": { + "IProposalStruct": [ + 3274 + ] + }, + "id": 3275, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3260, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "32:24:15" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "IProposalStruct", + "contractDependencies": [], + "contractKind": "interface", + "fullyImplemented": true, + "id": 3274, + "linearizedBaseContracts": [ + 3274 + ], + "name": "IProposalStruct", + "nameLocation": "67:15:15", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "IProposalStruct.ServiceProposal", + "id": 3273, + "members": [ + { + "constant": false, + "id": 3262, + "mutability": "mutable", + "name": "issuer", + "nameLocation": "126:6:15", + "nodeType": "VariableDeclaration", + "scope": 3273, + "src": "118:14:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3261, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "118:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3264, + "mutability": "mutable", + "name": "serviceName", + "nameLocation": "147:11:15", + "nodeType": "VariableDeclaration", + "scope": 3273, + "src": "140:18:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3263, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "140:6:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3266, + "mutability": "mutable", + "name": "price", + "nameLocation": "174:5:15", + "nodeType": "VariableDeclaration", + "scope": 3273, + "src": "166:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3265, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "166:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3268, + "mutability": "mutable", + "name": "tokenAddress", + "nameLocation": "195:12:15", + "nodeType": "VariableDeclaration", + "scope": 3273, + "src": "187:20:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3267, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "187:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3270, + "mutability": "mutable", + "name": "proposalId", + "nameLocation": "223:10:15", + "nodeType": "VariableDeclaration", + "scope": 3273, + "src": "215:18:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3269, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "215:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3272, + "mutability": "mutable", + "name": "isActive", + "nameLocation": "246:8:15", + "nodeType": "VariableDeclaration", + "scope": 3273, + "src": "241:13:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3271, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "241:4:15", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "name": "ServiceProposal", + "nameLocation": "94:15:15", + "nodeType": "StructDefinition", + "scope": 3274, + "src": "87:172:15", + "visibility": "public" + } + ], + "scope": 3275, + "src": "57:204:15", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "32:229:15" + }, + "id": 15 + }, + "contracts/lib/TransferHelper.sol": { + "ast": { + "absolutePath": "contracts/lib/TransferHelper.sol", + "exportedSymbols": { + "TransferHelper": [ + 3434 + ] + }, + "id": 3435, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 3276, + "literals": [ + "solidity", + "^", + "0.8", + ".20" + ], + "nodeType": "PragmaDirective", + "src": "31:24:16" + }, + { + "abstract": false, + "baseContracts": [], + "canonicalName": "TransferHelper", + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 3434, + "linearizedBaseContracts": [ + 3434 + ], + "name": "TransferHelper", + "nameLocation": "176:14:16", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 3318, + "nodeType": "Block", + "src": "299:332:16", + "statements": [ + { + "assignments": [ + 3286, + 3288 + ], + "declarations": [ + { + "constant": false, + "id": 3286, + "mutability": "mutable", + "name": "success", + "nameLocation": "380:7:16", + "nodeType": "VariableDeclaration", + "scope": 3318, + "src": "375:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3285, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "375:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3288, + "mutability": "mutable", + "name": "data", + "nameLocation": "402:4:16", + "nodeType": "VariableDeclaration", + "scope": 3318, + "src": "389:17:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3287, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "389:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3298, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30783039356561376233", + "id": 3293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "444:10:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_157198259_by_1", + "typeString": "int_const 157198259" + }, + "value": "0x095ea7b3" + }, + { + "id": 3294, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3280, + "src": "456:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3295, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3282, + "src": "460:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_157198259_by_1", + "typeString": "int_const 157198259" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3291, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "421:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "425:18:16", + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "421:22:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 3296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "421:45:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3289, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3278, + "src": "410:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3290, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "416:4:16", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "410:10:16", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 3297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "410:57:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "374:93:16" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3314, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3300, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3286, + "src": "498:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3304, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3301, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3288, + "src": "510:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "515:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "510:11:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "525:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "510:16:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 3307, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3288, + "src": "541:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 3309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "548:4:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bool_$", + "typeString": "type(bool)" + }, + "typeName": { + "id": 3308, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "548:4:16", + "typeDescriptions": {} + } + } + ], + "id": 3310, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "547:6:16", + "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": 3305, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "530:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3306, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "534:6:16", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "530:10:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "530:24:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "510:44:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3313, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "509:46:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "498:57:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5472616e7366657248656c7065723a3a73616665417070726f76653a20617070726f7665206661696c6564", + "id": 3315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "569:45:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b4dd1eb4be82119fd3a99acfb5dd4c57591eb0ea309359b1af3d65a4460c7123", + "typeString": "literal_string \"TransferHelper::safeApprove: approve failed\"" + }, + "value": "TransferHelper::safeApprove: approve failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b4dd1eb4be82119fd3a99acfb5dd4c57591eb0ea309359b1af3d65a4460c7123", + "typeString": "literal_string \"TransferHelper::safeApprove: approve failed\"" + } + ], + "id": 3299, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "477:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3316, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "477:147:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3317, + "nodeType": "ExpressionStatement", + "src": "477:147:16" + } + ] + }, + "id": 3319, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeApprove", + "nameLocation": "206:11:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3278, + "mutability": "mutable", + "name": "token", + "nameLocation": "235:5:16", + "nodeType": "VariableDeclaration", + "scope": 3319, + "src": "227:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3277, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "227:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3280, + "mutability": "mutable", + "name": "to", + "nameLocation": "258:2:16", + "nodeType": "VariableDeclaration", + "scope": 3319, + "src": "250:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3279, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "250:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3282, + "mutability": "mutable", + "name": "value", + "nameLocation": "278:5:16", + "nodeType": "VariableDeclaration", + "scope": 3319, + "src": "270:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3281, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "270:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "217:72:16" + }, + "returnParameters": { + "id": 3284, + "nodeType": "ParameterList", + "parameters": [], + "src": "299:0:16" + }, + "scope": 3434, + "src": "197:434:16", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3361, + "nodeType": "Block", + "src": "740:335:16", + "statements": [ + { + "assignments": [ + 3329, + 3331 + ], + "declarations": [ + { + "constant": false, + "id": 3329, + "mutability": "mutable", + "name": "success", + "nameLocation": "822:7:16", + "nodeType": "VariableDeclaration", + "scope": 3361, + "src": "817:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3328, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "817:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3331, + "mutability": "mutable", + "name": "data", + "nameLocation": "844:4:16", + "nodeType": "VariableDeclaration", + "scope": 3361, + "src": "831:17:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3330, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "831:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3341, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30786139303539636262", + "id": 3336, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "886:10:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_2835717307_by_1", + "typeString": "int_const 2835717307" + }, + "value": "0xa9059cbb" + }, + { + "id": 3337, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3323, + "src": "898:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3338, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3325, + "src": "902:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2835717307_by_1", + "typeString": "int_const 2835717307" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3334, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "863:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "867:18:16", + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "863:22:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 3339, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "863:45:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3332, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3321, + "src": "852:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "858:4:16", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "852:10:16", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 3340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "852:57:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "816:93:16" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3343, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3329, + "src": "940:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3347, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3344, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3331, + "src": "952:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "957:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "952:11:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3346, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "967:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "952:16:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 3350, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3331, + "src": "983:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 3352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "990:4:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bool_$", + "typeString": "type(bool)" + }, + "typeName": { + "id": 3351, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "990:4:16", + "typeDescriptions": {} + } + } + ], + "id": 3353, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "989:6:16", + "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": 3348, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "972:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "976:6:16", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "972:10:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "972:24:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "952:44:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3356, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "951:46:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "940:57:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5472616e7366657248656c7065723a3a736166655472616e736665723a207472616e73666572206661696c6564", + "id": 3358, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1011:47:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_daea69421eeb1164e163c36f3d4349f0db3ec4e0d1381bd5bf4faf53496c2611", + "typeString": "literal_string \"TransferHelper::safeTransfer: transfer failed\"" + }, + "value": "TransferHelper::safeTransfer: transfer failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_daea69421eeb1164e163c36f3d4349f0db3ec4e0d1381bd5bf4faf53496c2611", + "typeString": "literal_string \"TransferHelper::safeTransfer: transfer failed\"" + } + ], + "id": 3342, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "919:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3359, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "919:149:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3360, + "nodeType": "ExpressionStatement", + "src": "919:149:16" + } + ] + }, + "id": 3362, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransfer", + "nameLocation": "646:12:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3326, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3321, + "mutability": "mutable", + "name": "token", + "nameLocation": "676:5:16", + "nodeType": "VariableDeclaration", + "scope": 3362, + "src": "668:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3320, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "668:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3323, + "mutability": "mutable", + "name": "to", + "nameLocation": "699:2:16", + "nodeType": "VariableDeclaration", + "scope": 3362, + "src": "691:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3322, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "691:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3325, + "mutability": "mutable", + "name": "value", + "nameLocation": "719:5:16", + "nodeType": "VariableDeclaration", + "scope": 3362, + "src": "711:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3324, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "711:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "658:72:16" + }, + "returnParameters": { + "id": 3327, + "nodeType": "ParameterList", + "parameters": [], + "src": "740:0:16" + }, + "scope": 3434, + "src": "637:438:16", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3407, + "nodeType": "Block", + "src": "1210:357:16", + "statements": [ + { + "assignments": [ + 3374, + 3376 + ], + "declarations": [ + { + "constant": false, + "id": 3374, + "mutability": "mutable", + "name": "success", + "nameLocation": "1304:7:16", + "nodeType": "VariableDeclaration", + "scope": 3407, + "src": "1299:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3373, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1299:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3376, + "mutability": "mutable", + "name": "data", + "nameLocation": "1326:4:16", + "nodeType": "VariableDeclaration", + "scope": 3407, + "src": "1313:17:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 3375, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1313:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 3387, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30783233623837326464", + "id": 3381, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1368:10:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_599290589_by_1", + "typeString": "int_const 599290589" + }, + "value": "0x23b872dd" + }, + { + "id": 3382, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3366, + "src": "1380:4:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3383, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3368, + "src": "1386:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3384, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3370, + "src": "1390:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_599290589_by_1", + "typeString": "int_const 599290589" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3379, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1345:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1349:18:16", + "memberName": "encodeWithSelector", + "nodeType": "MemberAccess", + "src": "1345:22:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithselector_pure$_t_bytes4_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (bytes4) pure returns (bytes memory)" + } + }, + "id": 3385, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1345:51:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3377, + "name": "token", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3364, + "src": "1334:5:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1340:4:16", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "1334:10:16", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 3386, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1334:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1298:99:16" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 3389, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3374, + "src": "1428:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "&&", + "rightExpression": { + "components": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 3401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 3393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 3390, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3376, + "src": "1440:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 3391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1445:6:16", + "memberName": "length", + "nodeType": "MemberAccess", + "src": "1440:11:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 3392, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1455:1:16", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1440:16:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 3396, + "name": "data", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3376, + "src": "1471:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + { + "components": [ + { + "id": 3398, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1478:4:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bool_$", + "typeString": "type(bool)" + }, + "typeName": { + "id": 3397, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1478:4:16", + "typeDescriptions": {} + } + } + ], + "id": 3399, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1477:6:16", + "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": 3394, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1460:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberLocation": "1464:6:16", + "memberName": "decode", + "nodeType": "MemberAccess", + "src": "1460:10:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abidecode_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 3400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1460:24:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1440:44:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 3402, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "TupleExpression", + "src": "1439:46:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "1428:57:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472616e7366657246726f6d206661696c6564", + "id": 3404, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1499:51:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3f8faf98afe9344b6d4b0e75b0101259bf282914b3b5a9320c6918b6e27ede1c", + "typeString": "literal_string \"TransferHelper::transferFrom: transferFrom failed\"" + }, + "value": "TransferHelper::transferFrom: transferFrom failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3f8faf98afe9344b6d4b0e75b0101259bf282914b3b5a9320c6918b6e27ede1c", + "typeString": "literal_string \"TransferHelper::transferFrom: transferFrom failed\"" + } + ], + "id": 3388, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1407:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3405, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1407:153:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3406, + "nodeType": "ExpressionStatement", + "src": "1407:153:16" + } + ] + }, + "id": 3408, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "1090:16:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3364, + "mutability": "mutable", + "name": "token", + "nameLocation": "1124:5:16", + "nodeType": "VariableDeclaration", + "scope": 3408, + "src": "1116:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3363, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1116:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3366, + "mutability": "mutable", + "name": "from", + "nameLocation": "1147:4:16", + "nodeType": "VariableDeclaration", + "scope": 3408, + "src": "1139:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1139:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3368, + "mutability": "mutable", + "name": "to", + "nameLocation": "1169:2:16", + "nodeType": "VariableDeclaration", + "scope": 3408, + "src": "1161:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3367, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1161:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3370, + "mutability": "mutable", + "name": "value", + "nameLocation": "1189:5:16", + "nodeType": "VariableDeclaration", + "scope": 3408, + "src": "1181:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3369, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1181:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1106:94:16" + }, + "returnParameters": { + "id": 3372, + "nodeType": "ParameterList", + "parameters": [], + "src": "1210:0:16" + }, + "scope": 3434, + "src": "1081:486:16", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3432, + "nodeType": "Block", + "src": "1634:153:16", + "statements": [ + { + "assignments": [ + 3416, + null + ], + "declarations": [ + { + "constant": false, + "id": 3416, + "mutability": "mutable", + "name": "success", + "nameLocation": "1650:7:16", + "nodeType": "VariableDeclaration", + "scope": 3432, + "src": "1645:12:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3415, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1645:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 3426, + "initialValue": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 3423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1695:1:16", + "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": 3422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1685:9:16", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 3421, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1689:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 3424, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1685:12:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "expression": { + "id": 3417, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3410, + "src": "1663:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 3418, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberLocation": "1666:4:16", + "memberName": "call", + "nodeType": "MemberAccess", + "src": "1663:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 3420, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 3419, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3412, + "src": "1678:5:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "1663:21:16", + "typeDescriptions": { + "typeIdentifier": "t_function_barecall_payable$_t_bytes_memory_ptr_$returns$_t_bool_$_t_bytes_memory_ptr_$value", + "typeString": "function (bytes memory) payable returns (bool,bytes memory)" + } + }, + "id": 3425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1663:35:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1644:54:16" + }, + { + "expression": { + "arguments": [ + { + "id": 3428, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3416, + "src": "1716:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5472616e7366657248656c7065723a3a736166655472616e736665724554483a20455448207472616e73666572206661696c6564", + "id": 3429, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1725:54:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_43d7bec223ecf9eb06ea147e7d564bc71c2448662d62a4ea86ce71fc4518b350", + "typeString": "literal_string \"TransferHelper::safeTransferETH: ETH transfer failed\"" + }, + "value": "TransferHelper::safeTransferETH: ETH transfer failed" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_43d7bec223ecf9eb06ea147e7d564bc71c2448662d62a4ea86ce71fc4518b350", + "typeString": "literal_string \"TransferHelper::safeTransferETH: ETH transfer failed\"" + } + ], + "id": 3427, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1708:7:16", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 3430, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "nameLocations": [], + "names": [], + "nodeType": "FunctionCall", + "src": "1708:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3431, + "nodeType": "ExpressionStatement", + "src": "1708:72:16" + } + ] + }, + "id": 3433, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "safeTransferETH", + "nameLocation": "1582:15:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3410, + "mutability": "mutable", + "name": "to", + "nameLocation": "1606:2:16", + "nodeType": "VariableDeclaration", + "scope": 3433, + "src": "1598:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3409, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1598:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3412, + "mutability": "mutable", + "name": "value", + "nameLocation": "1618:5:16", + "nodeType": "VariableDeclaration", + "scope": 3433, + "src": "1610:13:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3411, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1610:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1597:27:16" + }, + "returnParameters": { + "id": 3414, + "nodeType": "ParameterList", + "parameters": [], + "src": "1634:0:16" + }, + "scope": 3434, + "src": "1573:214:16", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 3435, + "src": "168:1621:16", + "usedErrors": [], + "usedEvents": [] + } + ], + "src": "31:1758:16" + }, + "id": 16 + } + }, + "contracts": { + "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol": { + "OwnableUpgradeable": { + "abi": [ + { + "inputs": [], + "name": "InvalidInitialization", + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "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": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. The initial owner is set to the address provided by the deployer. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"errors\":{\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"}},\"kind\":\"dev\",\"methods\":{\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":\"OwnableUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "@openzeppelin/contracts-upgradeable/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.22+commit.4fc1097e\"},\"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\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":\"Initializable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol": { + "UUPSUpgradeable": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "type": "error" + }, + { + "inputs": [], + "name": "FailedCall", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "type": "error" + }, + { + "inputs": [], + "name": "UUPSUnauthorizedCallContext", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + } + ], + "name": "UUPSUnsupportedProxiableUUID", + "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": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", + "proxiableUUID()": "52d1902d", + "upgradeToAndCall(address,bytes)": "4f1ef286" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy. A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing `UUPSUpgradeable` with a custom implementation of upgrades. The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism.\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"UPGRADE_INTERFACE_VERSION\":{\"details\":\"The version of the upgrade interface of the contract. If this getter is missing, both `upgradeTo(address)` and `upgradeToAndCall(address,bytes)` are present, and `upgradeTo` must be used if no function should be called, while `upgradeToAndCall` will invoke the `receive` function if the second argument is the empty byte string. If the getter returns `\\\"5.0.0\\\"`, only `upgradeToAndCall(address,bytes)` is present, and the second argument must be the empty byte string if no function should be called, making it impossible to invoke the `receive` function during an upgrade.\"},\"__self\":{\"custom:oz-upgrades-unsafe-allow\":\"state-variable-immutable\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":\"UUPSUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol": { + "ContextUpgradeable": { + "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.22+commit.4fc1097e\"},\"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\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"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\":{\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":\"ContextUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "@openzeppelin/contracts/interfaces/IERC1967.sol": { + "IERC1967": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "address", + "name": "previousAdmin", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "newAdmin", + "type": "address" + } + ], + "name": "AdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "BeaconUpgraded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"previousAdmin\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newAdmin\",\"type\":\"address\"}],\"name\":\"AdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"BeaconUpgraded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"}],\"devdoc\":{\"details\":\"ERC-1967: Proxy Storage Slots. This interface contains the events defined in the ERC.\",\"events\":{\"AdminChanged(address,address)\":{\"details\":\"Emitted when the admin account has changed.\"},\"BeaconUpgraded(address)\":{\"details\":\"Emitted when the beacon is changed.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":\"IERC1967\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "@openzeppelin/contracts/interfaces/draft-IERC1822.sol": { + "IERC1822Proxiable": { + "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.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"ERC-1822: Universal Upgradeable Proxy Standard (UUPS) documents a method for upgradeability through a simplified proxy whose upgrades are fully controlled by the current implementation.\",\"kind\":\"dev\",\"methods\":{\"proxiableUUID()\":{\"details\":\"Returns the storage slot that the proxiable contract assumes is being used to store the implementation address. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":\"IERC1822Proxiable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol": { + "ERC1967Utils": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "admin", + "type": "address" + } + ], + "name": "ERC1967InvalidAdmin", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "beacon", + "type": "address" + } + ], + "name": "ERC1967InvalidBeacon", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209baa0f683dcc124e324ea3c0ab526cc62e34d6c5576b9108a0aa3731af9601ad64736f6c63430008160033", + "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0xAA 0xF PUSH9 0x3DCC124E324EA3C0AB MSTORE PUSH13 0xC62E34D6C5576B9108A0AA3731 0xAF SWAP7 ADD 0xAD PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "496:5741:6:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;496:5741:6;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209baa0f683dcc124e324ea3c0ab526cc62e34d6c5576b9108a0aa3731af9601ad64736f6c63430008160033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 SWAP12 0xAA 0xF PUSH9 0x3DCC124E324EA3C0AB MSTORE PUSH13 0xC62E34D6C5576B9108A0AA3731 0xAF SWAP7 ADD 0xAD PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "496:5741:6:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"beacon\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidBeacon\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"This library provides getters and event emitting update functions for https://eips.ethereum.org/EIPS/eip-1967[ERC-1967] slots.\",\"errors\":{\"ERC1967InvalidAdmin(address)\":[{\"details\":\"The `admin` of the proxy is invalid.\"}],\"ERC1967InvalidBeacon(address)\":[{\"details\":\"The `beacon` of the proxy is invalid.\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}]},\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"ADMIN_SLOT\":{\"details\":\"Storage slot with the admin of the contract. This is the keccak-256 hash of \\\"eip1967.proxy.admin\\\" subtracted by 1.\"},\"BEACON_SLOT\":{\"details\":\"The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. This is the keccak-256 hash of \\\"eip1967.proxy.beacon\\\" subtracted by 1.\"},\"IMPLEMENTATION_SLOT\":{\"details\":\"Storage slot with the address of the current implementation. This is the keccak-256 hash of \\\"eip1967.proxy.implementation\\\" subtracted by 1.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":\"ERC1967Utils\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "@openzeppelin/contracts/proxy/beacon/IBeacon.sol": { + "IBeacon": { + "abi": [ + { + "inputs": [], + "name": "implementation", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "implementation()": "5c60da1b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"implementation\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"This is the interface that {BeaconProxy} expects of its beacon.\",\"kind\":\"dev\",\"methods\":{\"implementation()\":{\"details\":\"Must return an address that can be used as a delegate call target. {UpgradeableBeacon} will check that this address is a contract.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":\"IBeacon\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "@openzeppelin/contracts/utils/Address.sol": { + "Address": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f0a467a10c04721c0fddc955e88d253117cad803d69d1e92bde08fd95759797764736f6c63430008160033", + "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CREATE LOG4 PUSH8 0xA10C04721C0FDDC9 SSTORE 0xE8 DUP14 0x25 BALANCE OR 0xCA 0xD8 SUB 0xD6 SWAP14 0x1E SWAP3 0xBD 0xE0 DUP16 0xD9 JUMPI MSIZE PUSH26 0x7764736F6C634300081600330000000000000000000000000000 ", + "sourceMap": "233:5762:8:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;233:5762:8;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220f0a467a10c04721c0fddc955e88d253117cad803d69d1e92bde08fd95759797764736f6c63430008160033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 CREATE LOG4 PUSH8 0xA10C04721C0FDDC9 SSTORE 0xE8 DUP14 0x25 BALANCE OR 0xCA 0xD8 SUB 0xD6 SWAP14 0x1E SWAP3 0xBD 0xE0 DUP16 0xD9 JUMPI MSIZE PUSH26 0x7764736F6C634300081600330000000000000000000000000000 ", + "sourceMap": "233:5762:8:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Address.sol\":\"Address\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "@openzeppelin/contracts/utils/Errors.sol": { + "Errors": { + "abi": [ + { + "inputs": [], + "name": "FailedCall", + "type": "error" + }, + { + "inputs": [], + "name": "FailedDeployment", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "needed", + "type": "uint256" + } + ], + "name": "InsufficientBalance", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "MissingPrecompile", + "type": "error" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122066d48d2abd48c70ba22ce993ad029194c8ef200202c523b92ffb3b0667c166b564736f6c63430008160033", + "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH7 0xD48D2ABD48C70B LOG2 0x2C 0xE9 SWAP4 0xAD MUL SWAP2 SWAP5 0xC8 0xEF KECCAK256 MUL MUL 0xC5 0x23 0xB9 0x2F 0xFB EXTCODESIZE MOD PUSH8 0xC166B564736F6C63 NUMBER STOP ADDMOD AND STOP CALLER ", + "sourceMap": "411:484:9:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;411:484:9;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122066d48d2abd48c70ba22ce993ad029194c8ef200202c523b92ffb3b0667c166b564736f6c63430008160033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH7 0xD48D2ABD48C70B LOG2 0x2C 0xE9 SWAP4 0xAD MUL SWAP2 SWAP5 0xC8 0xEF KECCAK256 MUL MUL 0xC5 0x23 0xB9 0x2F 0xFB EXTCODESIZE MOD PUSH8 0xC166B564736F6C63 NUMBER STOP ADDMOD AND STOP CALLER ", + "sourceMap": "411:484:9:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedDeployment\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"MissingPrecompile\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Collection of common custom errors used in multiple contracts IMPORTANT: Backwards compatibility is not guaranteed in future versions of the library. It is recommended to avoid relying on the error API for critical functionality. _Available since v5.1._\",\"errors\":{\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"FailedDeployment()\":[{\"details\":\"The deployment failed.\"}],\"InsufficientBalance(uint256,uint256)\":[{\"details\":\"The ETH balance of the account is not enough to perform the operation.\"}],\"MissingPrecompile(address)\":[{\"details\":\"A necessary precompile is missing.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Errors.sol\":\"Errors\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "@openzeppelin/contracts/utils/StorageSlot.sol": { + "StorageSlot": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c781a8b885a3ca5fe2dc9f4dee2fc882f7984acf1a1b984d9a970a9da7762bad64736f6c63430008160033", + "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 DUP2 0xA8 0xB8 DUP6 LOG3 0xCA PUSH0 0xE2 0xDC SWAP16 0x4D 0xEE 0x2F 0xC8 DUP3 0xF7 SWAP9 0x4A 0xCF BYTE SHL SWAP9 0x4D SWAP11 SWAP8 EXP SWAP14 0xA7 PUSH23 0x2BAD64736F6C6343000816003300000000000000000000 ", + "sourceMap": "1407:2774:10:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;1407:2774:10;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220c781a8b885a3ca5fe2dc9f4dee2fc882f7984acf1a1b984d9a970a9da7762bad64736f6c63430008160033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xC7 DUP2 0xA8 0xB8 DUP6 LOG3 0xCA PUSH0 0xE2 0xDC SWAP16 0x4D 0xEE 0x2F 0xC8 DUP3 0xF7 SWAP9 0x4A 0xCF BYTE SHL SWAP9 0x4D SWAP11 SWAP8 EXP SWAP14 0xA7 PUSH23 0x2BAD64736F6C6343000816003300000000000000000000 ", + "sourceMap": "1407:2774:10:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Library for reading and writing primitive types to specific storage slots. Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. This library helps with reading and writing to such slots without the need for inline assembly. The functions in this library return Slot structs that contain a `value` member that can be used to read or write. Example usage to set ERC-1967 implementation slot: ```solidity contract ERC1967 { // Define the slot. Alternatively, use the SlotDerivation library to derive the slot. bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; function _getImplementation() internal view returns (address) { return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; } function _setImplementation(address newImplementation) internal { require(newImplementation.code.length > 0); StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; } } ``` TIP: Consider using this library along with {SlotDerivation}.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/StorageSlot.sol\":\"StorageSlot\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "contracts/AgentsRegistryUpgradeable.sol": { + "AgentsRegistryUpgradeable": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "type": "error" + }, + { + "inputs": [], + "name": "FailedCall", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "inputs": [], + "name": "UUPSUnauthorizedCallContext", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + } + ], + "name": "UUPSUnsupportedProxiableUUID", + "type": "error" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "agentUri", + "type": "string" + } + ], + "name": "AgentDataUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "agentUri", + "type": "string" + } + ], + "name": "AgentRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "AgentRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "uint64", + "name": "version", + "type": "uint64" + } + ], + "name": "Initialized", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "ProposalAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "ProposalRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "ProposalUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "newReputation", + "type": "uint256" + } + ], + "name": "ReputationUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "string", + "name": "serviceName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "servicePrice", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "addProposal", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "uint256", + "name": "_rating", + "type": "uint256" + } + ], + "name": "addRating", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "agentRegistryV1", + "outputs": [ + { + "internalType": "contract IAgentRegistryV1", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "agents", + "outputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "agentUri", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "uint256", + "name": "reputation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalRatings", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_agent", + "type": "address" + } + ], + "name": "getAgentData", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "agentUri", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "uint256", + "name": "reputation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalRatings", + "type": "uint256" + } + ], + "internalType": "struct AgentsRegistryUpgradeable.AgentData", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "getProposal", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "issuer", + "type": "address" + }, + { + "internalType": "string", + "name": "serviceName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isActive", + "type": "bool" + } + ], + "internalType": "struct IProposalStruct.ServiceProposal", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + } + ], + "name": "getReputation", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "contract IAgentRegistryV1", + "name": "_agentRegistryV1", + "type": "address" + }, + { + "internalType": "contract ServiceRegistryUpgradeable", + "name": "_serviceRegistry", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + } + ], + "name": "migrateAgent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "nextProposalId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "proposals", + "outputs": [ + { + "internalType": "address", + "name": "issuer", + "type": "address" + }, + { + "internalType": "string", + "name": "serviceName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isActive", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "agentUri", + "type": "string" + } + ], + "name": "registerAgent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "agentUri", + "type": "string" + }, + { + "internalType": "string", + "name": "serviceName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "servicePrice", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + } + ], + "name": "registerAgentWithService", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + } + ], + "name": "removeAgent", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "removeProposal", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "serviceRegistry", + "outputs": [ + { + "internalType": "contract ServiceRegistryUpgradeable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "agentUri", + "type": "string" + } + ], + "name": "setAgentData", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_serviceRegistry", + "type": "address" + } + ], + "name": "setServiceRegistry", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "_taskRegistry", + "type": "address" + } + ], + "name": "setTaskRegistry", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "taskRegistry", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_1524": { + "entryPoint": null, + "id": 1524, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_disableInitializers_416": { + "entryPoint": 38, + "id": 416, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_getInitializableStorage_461": { + "entryPoint": null, + "id": 461, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_initializableStorageSlot_447": { + "entryPoint": null, + "id": 447, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:216:17", + "nodeType": "YulBlock", + "src": "0:216:17", + "statements": [ + { + "nativeSrc": "6:3:17", + "nodeType": "YulBlock", + "src": "6:3:17", + "statements": [] + }, + { + "body": { + "nativeSrc": "113:101:17", + "nodeType": "YulBlock", + "src": "113:101:17", + "statements": [ + { + "nativeSrc": "123:26:17", + "nodeType": "YulAssignment", + "src": "123:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "135:9:17", + "nodeType": "YulIdentifier", + "src": "135:9:17" + }, + { + "kind": "number", + "nativeSrc": "146:2:17", + "nodeType": "YulLiteral", + "src": "146:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "131:3:17", + "nodeType": "YulIdentifier", + "src": "131:3:17" + }, + "nativeSrc": "131:18:17", + "nodeType": "YulFunctionCall", + "src": "131:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "123:4:17", + "nodeType": "YulIdentifier", + "src": "123:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "165:9:17", + "nodeType": "YulIdentifier", + "src": "165:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "180:6:17", + "nodeType": "YulIdentifier", + "src": "180:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "196:2:17", + "nodeType": "YulLiteral", + "src": "196:2:17", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nativeSrc": "200:1:17", + "nodeType": "YulLiteral", + "src": "200:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "192:3:17", + "nodeType": "YulIdentifier", + "src": "192:3:17" + }, + "nativeSrc": "192:10:17", + "nodeType": "YulFunctionCall", + "src": "192:10:17" + }, + { + "kind": "number", + "nativeSrc": "204:1:17", + "nodeType": "YulLiteral", + "src": "204:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "188:3:17", + "nodeType": "YulIdentifier", + "src": "188:3:17" + }, + "nativeSrc": "188:18:17", + "nodeType": "YulFunctionCall", + "src": "188:18:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "176:3:17", + "nodeType": "YulIdentifier", + "src": "176:3:17" + }, + "nativeSrc": "176:31:17", + "nodeType": "YulFunctionCall", + "src": "176:31:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "158:6:17", + "nodeType": "YulIdentifier", + "src": "158:6:17" + }, + "nativeSrc": "158:50:17", + "nodeType": "YulFunctionCall", + "src": "158:50:17" + }, + "nativeSrc": "158:50:17", + "nodeType": "YulExpressionStatement", + "src": "158:50:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed", + "nativeSrc": "14:200:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "82:9:17", + "nodeType": "YulTypedName", + "src": "82:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "93:6:17", + "nodeType": "YulTypedName", + "src": "93:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "104:4:17", + "nodeType": "YulTypedName", + "src": "104:4:17", + "type": "" + } + ], + "src": "14:200:17" + } + ] + }, + "contents": "{\n { }\n function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n }\n}", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb062000104600039600081816118f0015281816119190152611a5a0152612eb06000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033", + "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x2EB0 PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x18F0 ADD MSTORE DUP2 DUP2 PUSH2 0x1919 ADD MSTORE PUSH2 0x1A5A ADD MSTORE PUSH2 0x2EB0 PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x181 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x97A6278E GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xB2D78069 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD7071B1F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD7071B1F EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0xDCA60776 EQ PUSH2 0x4D2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4F2 JUMPI DUP1 PUSH4 0xFD66091E EQ PUSH2 0x512 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xB2D78069 EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0xC7F758A8 EQ PUSH2 0x465 JUMPI DUP1 PUSH4 0xCBCF252A EQ PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x97A6278E EQ PUSH2 0x341 JUMPI DUP1 PUSH4 0x9C89A0E2 EQ PUSH2 0x361 JUMPI DUP1 PUSH4 0x9E498F16 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0xAAC9F15A EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x3E7 JUMPI DUP1 PUSH4 0xAEBFD80E EQ PUSH2 0x425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x7216FE48 GT PUSH2 0x118 JUMPI DUP1 PUSH4 0x7216FE48 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0x7B5C219D EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x96A45139 EQ PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0x70370A81 EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x28F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x13CF08B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x270BAAA8 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x2AB09D14 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x485CC955 EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x23A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D3 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x223C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0x23F4 JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x24AB JUMP JUMPDEST PUSH2 0x736 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x24E4 JUMP JUMPDEST PUSH2 0x86C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x88B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x8A8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x28A CALLDATASIZE PUSH1 0x4 PUSH2 0x2564 JUMP JUMPDEST PUSH2 0xA07 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0xBC5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x2BF CALLDATASIZE PUSH1 0x4 PUSH2 0x2590 JUMP JUMPDEST PUSH2 0xBD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E4 PUSH2 0x2DF CALLDATASIZE PUSH1 0x4 PUSH2 0x2564 JUMP JUMPDEST PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x309 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x33C CALLDATASIZE PUSH1 0x4 PUSH2 0x2590 JUMP JUMPDEST PUSH2 0xD9D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x35C CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0xECF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DA PUSH2 0x3D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2605 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x418 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2681 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x440 CALLDATASIZE PUSH1 0x4 PUSH2 0x2694 JUMP JUMPDEST PUSH2 0x1207 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x451 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x460 CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x130E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x485 PUSH2 0x480 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D3 JUMP JUMPDEST PUSH2 0x1380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x26FF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x4CD CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x14C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x50D CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x153A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x532 PUSH2 0x52D CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2767 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 SWAP2 PUSH2 0x570 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x59C SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP2 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 POP PUSH1 0xFF AND DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x65E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x68E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6AB 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 0x6CF SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x714 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x722 DUP7 DUP7 DUP7 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x72E DUP7 DUP5 DUP5 DUP5 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x740 PUSH2 0x18A3 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x767 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x783 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x791 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x7AF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x7D9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x7E2 CALLER PUSH2 0x18CC JUMP JUMPDEST PUSH2 0x7EA PUSH2 0x18DD JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP3 DUP10 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR DUP2 SSTORE PUSH1 0x5 SSTORE DUP4 ISZERO PUSH2 0x863 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x874 PUSH2 0x18E5 JUMP JUMPDEST PUSH2 0x87D DUP3 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x887 DUP3 DUP3 PUSH2 0x1992 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x895 PUSH2 0x1A4F JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x8E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5564F8AD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xAAC9F15A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x92F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x957 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x28B4 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x995 JUMPI POP PUSH2 0x980 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x9E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F74206F776E6572206F72206167656E74206F776E65720000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x9FE DUP3 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x20 ADD MLOAD DUP5 PUSH1 0x40 ADD MLOAD DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x887 DUP3 PUSH2 0x1A98 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865205461736B526567697374727920636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x64 DUP3 GT ISZERO PUSH2 0xAB5 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0xAE1 SWAP1 DUP5 SWAP1 PUSH2 0x2993 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP3 PUSH2 0xB0E PUSH1 0x1 DUP4 PUSH2 0x29A6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH2 0xB34 SWAP2 SWAP1 PUSH2 0x29B9 JUMP JUMPDEST PUSH2 0xB3E SWAP2 SWAP1 PUSH2 0x2993 JUMP JUMPDEST PUSH2 0xB48 SWAP2 SWAP1 PUSH2 0x29D0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP4 SWAP1 SSTORE MLOAD SWAP1 SWAP2 PUSH32 0xFC577563F1B9A0461E24ABEF1E1FCC0D33D3D881F20B5DF6DDA59DE4AAE2C821 SWAP2 PUSH2 0xB99 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBCD PUSH2 0x1BEF JUMP JUMPDEST PUSH2 0xBD7 PUSH1 0x0 PUSH2 0x1C21 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0xC15 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 DUP4 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP2 DUP5 SWAP2 AND CALLER EQ PUSH2 0xC68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND SWAP2 AND EQ PUSH2 0xCD1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0xCFB PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP5 SWAP2 AND CALLER EQ PUSH2 0xDDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xE3D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xE5F DUP5 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD PUSH2 0xE85 DUP4 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x244B747F2AC491B7662C44209B5F6110934A8725F40D2BD91805F9D919A78B10 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xEC1 SWAP3 SWAP2 SWAP1 PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP2 AND CALLER EQ PUSH2 0xF0D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xF6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD AND PUSH2 0xF96 DUP4 PUSH2 0x1C92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0xFB9 DUP3 DUP3 PUSH2 0x2185 JUMP JUMPDEST PUSH2 0xFC7 PUSH1 0x1 DUP4 ADD PUSH1 0x0 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP3 SWAP1 DUP7 AND SWAP2 PUSH32 0x4CE8B3FE8E0BF47A6FEFBECDFD7C799755CEDE6061655521B10FC2E4B1FCC6B3 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1080 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD SWAP1 SWAP2 SWAP1 DUP3 SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH2 0x10B7 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10E3 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1130 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1105 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1130 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1113 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1149 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1175 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11C2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1197 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11C2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11A5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x3 DUP4 ADD SLOAD AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP6 SWAP2 AND CALLER EQ PUSH2 0x1245 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1275 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1292 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 0x12B6 SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x12FB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1307 DUP6 DUP6 DUP6 DUP6 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1316 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x135E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x13CD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x1409 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1435 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1482 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1457 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1482 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1465 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14D0 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1518 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x156C JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1C21 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP2 SWAP1 PUSH2 0x1593 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x15BF SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x160C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x160C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x15EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1621 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x164D SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x169A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x166F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x169A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x167D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP5 SWAP3 SWAP1 SWAP2 AND SWAP3 POP SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 PUSH2 0x16EE DUP7 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0x16FD DUP6 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP2 DUP11 AND SWAP2 SWAP1 SWAP3 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP4 ADD DUP5 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x2A562EFB52E7CEC209321F57200606311256DA6D2A1B19D44DB7837A3209DE28 SWAP1 PUSH2 0x176B SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP8 DUP2 MSTORE DUP4 DUP6 ADD DUP8 SWAP1 MSTORE DUP6 DUP4 AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x5 SLOAD PUSH1 0x80 DUP6 ADD DUP2 SWAP1 MSTORE PUSH1 0x1 PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x4 SWAP1 SWAP4 MSTORE SWAP5 SWAP1 SWAP5 KECCAK256 DUP4 MLOAD DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR DUP3 SSTORE SWAP3 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP3 ADD SWAP1 PUSH2 0x17F3 SWAP1 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x40 DUP3 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x3 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND OR SWAP1 SSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x4 DUP5 ADD SSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD MLOAD PUSH1 0x5 SWAP3 DUP4 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE SWAP1 SLOAD SWAP1 MLOAD SWAP2 DUP8 AND SWAP2 PUSH32 0xA6E87A4BA187A506BB81720F5FBD241C879EC33DF712DE8C1BFCCC354DBE450F SWAP2 PUSH2 0x187F SWAP2 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH2 0x2B55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x5 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x1897 DUP4 PUSH2 0x2B8F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0xBBF JUMP JUMPDEST PUSH2 0x18D4 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1DA0 JUMP JUMPDEST PUSH2 0xBD7 PUSH2 0x1D7B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x196C JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1960 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1575 PUSH2 0x1BEF JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x19EC JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x19E9 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1A14 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x1A45 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 PUSH2 0x1DA8 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2AB09D14 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 0x1AEC 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 0x1B10 SWAP2 SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1B8F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2BC1 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x1BB8 JUMPI POP DUP1 PUSH1 0x80 ADD MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x1BC3 JUMPI POP PUSH2 0x1BE7 JUMP JUMPDEST PUSH2 0x1BD0 DUP2 PUSH1 0x20 ADD MLOAD PUSH2 0x1DFE JUMP JUMPDEST PUSH2 0x1BE5 DUP5 DUP3 PUSH1 0x20 ADD MLOAD DUP4 PUSH1 0x40 ADD MLOAD PUSH1 0x0 PUSH2 0x177B JUMP JUMPDEST POP JUMPDEST PUSH1 0x1 ADD PUSH2 0x1B15 JUMP JUMPDEST CALLER PUSH2 0x1BF8 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 SLOAD DUP2 LT ISZERO PUSH2 0x887 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP2 AND EQ DUP1 ISZERO PUSH2 0x1CD9 JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x1D73 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0x1D08 PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST PUSH1 0x1 ADD PUSH2 0x1C95 JUMP JUMPDEST PUSH2 0x1D83 PUSH2 0x1FEA JUMP JUMPDEST PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1542 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1DB1 DUP3 PUSH2 0x2004 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1DF6 JUMPI PUSH2 0xC23 DUP3 DUP3 PUSH2 0x2069 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1E2E SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E4B 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 0x1E6F SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xCBCF252A 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 0x1EC7 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 0x1EEB SWAP2 SWAP1 PUSH2 0x2C65 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3CA3AC5F PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 POP DUP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x794758BE SWAP1 PUSH2 0x1F1F SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F3C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1F64 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2C82 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD SWAP1 MLOAD PUSH4 0x3BD5F621 PUSH1 0xE2 SHL DUP2 MSTORE SWAP5 SWAP6 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP4 PUSH4 0xEF57D884 SWAP4 PUSH2 0x1FA3 SWAP4 SWAP3 SWAP2 PUSH1 0x4 ADD PUSH2 0x2D47 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1FC2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1307 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D8A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF4 PUSH2 0x18A3 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x203A JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x2086 SWAP2 SWAP1 PUSH2 0x2E3E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x20C1 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 0x20C6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x20D6 DUP6 DUP4 DUP4 PUSH2 0x20FE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x2113 JUMPI PUSH2 0x210E DUP3 PUSH2 0x215D JUMP JUMPDEST PUSH2 0x2156 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x212A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2153 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x216C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP1 SLOAD PUSH2 0x2191 SWAP1 PUSH2 0x27BB JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x21A1 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1575 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x21CF JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x21BB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x21E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2207 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x21EF JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x2228 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x21EC JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP10 AND DUP4 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x225E PUSH1 0xC0 DUP5 ADD DUP10 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD SWAP8 SWAP1 SWAP8 MSTORE SWAP5 SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xA0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x80 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x2367 JUMPI PUSH2 0x2367 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x2388 JUMPI PUSH2 0x2388 PUSH2 0x229B JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23A9 PUSH2 0x23A4 DUP5 PUSH2 0x236F JUMP JUMPDEST PUSH2 0x233F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x23BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x23E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x2396 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x240D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x2418 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2434 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2440 DUP11 DUP4 DUP12 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2456 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2462 DUP11 DUP4 DUP12 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2478 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2485 DUP10 DUP3 DUP11 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x249D DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x24C9 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x24D9 DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2502 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x251D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x252E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x253D DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x2396 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2559 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2156 DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2577 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2582 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x25A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x25B0 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x25CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x25D8 DUP8 DUP4 DUP9 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x25EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25FB DUP7 DUP3 DUP8 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2621 PUSH1 0xE0 DUP5 ADD DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP5 DUP4 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x263E DUP3 DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x60 DUP7 ADD MSTORE DUP1 PUSH1 0x60 DUP8 ADD MLOAD AND PUSH1 0x80 DUP7 ADD MSTORE POP POP PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2156 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x26AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x26B5 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26DC DUP8 DUP3 DUP9 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x26F4 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP5 MLOAD AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0xC0 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x272E PUSH1 0xE0 DUP6 ADD DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP2 PUSH1 0x60 DUP7 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xA0 DUP6 ADD MLOAD ISZERO ISZERO PUSH1 0xC0 DUP6 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x277A PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x278C DUP2 DUP10 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND PUSH1 0x40 DUP6 ADD MSTORE SWAP6 SWAP1 SWAP7 AND PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x27CF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x27EF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x18 SWAP1 DUP3 ADD MSTORE PUSH32 0x4167656E7420616C726561647920726567697374657265640000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x283C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP3 PUSH2 0x282C JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x286D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x287B PUSH2 0x23A4 DUP3 PUSH2 0x236F JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x2890 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28A1 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x21EC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH2 0x283C DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x28DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x28F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28F9 PUSH2 0x22B1 JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2908 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2914 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2929 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2935 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x2947 PUSH1 0x40 DUP5 ADD PUSH2 0x28A9 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2958 PUSH1 0x60 DUP5 ADD PUSH2 0x28A9 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x29ED JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865206F776E6572206F6620746865206167656E74000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2A52 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2A5E JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2A8A JUMPI PUSH2 0x2A8A PUSH2 0x229B JUMP JUMPDEST PUSH2 0x2A9E DUP2 PUSH2 0x2A98 DUP5 SLOAD PUSH2 0x27BB JUMP JUMPDEST DUP5 PUSH2 0x2A29 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2AD3 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2ABB JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2B02 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2AE3 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x2B20 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2B43 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x20D6 DUP2 DUP6 PUSH2 0x2210 JUMP JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2B6E PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2BA1 JUMPI PUSH2 0x2BA1 PUSH2 0x297D JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2BEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xA0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2BFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C06 PUSH2 0x22D9 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2C11 DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2C25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C31 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x2C57 PUSH1 0x80 DUP5 ADD PUSH2 0x282C JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C77 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2156 DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2CAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x80 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2CBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CC7 PUSH2 0x22FB JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CE2 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D03 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2D1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D27 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH2 0x2D39 PUSH1 0x60 DUP5 ADD PUSH2 0x282C JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2D5A PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2D6C DUP2 DUP7 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x2D80 DUP2 DUP6 PUSH2 0x2210 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x60 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2DC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DCF PUSH2 0x231D JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DEA DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E0B DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E2F DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2E50 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x21EC JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220E6 PUSH28 0x6B991D09FEF792E3DB660BFACD5075339C91E8CDDAD24262B3C4C2FC 0xDC 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "961:13134:11:-:0;;;1171:4:2;1128:48;;1762:53:11;;;;;;;;;-1:-1:-1;1786:22:11;:20;:22::i;:::-;961:13134;;7709:422:1;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:1;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:1;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:1;-1:-1:-1;;;;;8033:33:1;;;;;8085:29;;158:50:17;;;8085:29:1;;146:2:17;131:18;8085:29:1;;;;;;;7979:146;7758:373;7709:422::o;14:200:17:-;961:13134:11;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@UPGRADE_INTERFACE_VERSION_486": { + "entryPoint": null, + "id": 486, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@__Ownable_init_54": { + "entryPoint": 6348, + "id": 54, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@__Ownable_init_unchained_81": { + "entryPoint": 7584, + "id": 81, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@__UUPSUpgradeable_init_516": { + "entryPoint": 6365, + "id": 516, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_authorizeUpgrade_2357": { + "entryPoint": 6538, + "id": 2357, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_checkInitializing_370": { + "entryPoint": 7547, + "id": 370, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_checkNonPayable_1014": { + "entryPoint": 8415, + "id": 1014, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_checkNotDelegated_592": { + "entryPoint": 6735, + "id": 592, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_checkOwner_122": { + "entryPoint": 7151, + "id": 122, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_checkProxy_576": { + "entryPoint": 6373, + "id": 576, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_createAgent_2149": { + "entryPoint": 5835, + "id": 2149, + "parameterSlots": 5, + "returnSlots": 0 + }, + "@_createProposal_2190": { + "entryPoint": 6011, + "id": 2190, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@_ensureServiceRegistered_2239": { + "entryPoint": 7678, + "id": 2239, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_getInitializableStorage_461": { + "entryPoint": 6307, + "id": 461, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_getOwnableStorage_25": { + "entryPoint": null, + "id": 25, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_initializableStorageSlot_447": { + "entryPoint": null, + "id": 447, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_isInitializing_438": { + "entryPoint": 8170, + "id": 438, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_migrateAgentProposals_2305": { + "entryPoint": 6808, + "id": 2305, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_msgSender_672": { + "entryPoint": null, + "id": 672, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_removeAllAgentProposals_2347": { + "entryPoint": 7314, + "id": 2347, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_revert_1284": { + "entryPoint": 8541, + "id": 1284, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_setImplementation_794": { + "entryPoint": 8196, + "id": 794, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_transferOwnership_193": { + "entryPoint": 7201, + "id": 193, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_upgradeToAndCallUUPS_643": { + "entryPoint": 6546, + "id": 643, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@addProposal_1781": { + "entryPoint": 4615, + "id": 1781, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@addRating_1955": { + "entryPoint": 2567, + "id": 1955, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@agentRegistryV1_1482": { + "entryPoint": null, + "id": 1482, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@agents_1492": { + "entryPoint": 5496, + "id": 1492, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@functionDelegateCall_1202": { + "entryPoint": 8297, + "id": 1202, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@getAddressSlot_1342": { + "entryPoint": null, + "id": 1342, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getAgentData_1987": { + "entryPoint": 4149, + "id": 1987, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getImplementation_767": { + "entryPoint": null, + "id": 767, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getProposal_2000": { + "entryPoint": 4992, + "id": 2000, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getReputation_1968": { + "entryPoint": null, + "id": 1968, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@initialize_1557": { + "entryPoint": 1846, + "id": 1557, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@migrateAgent_1880": { + "entryPoint": 2216, + "id": 1880, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@nextProposalId_1499": { + "entryPoint": null, + "id": 1499, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@owner_105": { + "entryPoint": 3439, + "id": 105, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@proposals_1497": { + "entryPoint": 1348, + "id": 1497, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@proxiableUUID_534": { + "entryPoint": 2187, + "id": 534, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@registerAgentWithService_1750": { + "entryPoint": 1561, + "id": 1750, + "parameterSlots": 6, + "returnSlots": 0 + }, + "@registerAgent_1696": { + "entryPoint": 3033, + "id": 1696, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@removeAgent_2091": { + "entryPoint": 3791, + "id": 2091, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@removeProposal_1817": { + "entryPoint": 3112, + "id": 1817, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@renounceOwnership_136": { + "entryPoint": 3013, + "id": 136, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@serviceRegistry_1485": { + "entryPoint": null, + "id": 1485, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@setAgentData_2047": { + "entryPoint": 3485, + "id": 2047, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@setServiceRegistry_1663": { + "entryPoint": 5320, + "id": 1663, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@setTaskRegistry_1638": { + "entryPoint": 4878, + "id": 1638, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@taskRegistry_1487": { + "entryPoint": null, + "id": 1487, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@transferOwnership_164": { + "entryPoint": 5434, + "id": 164, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@upgradeToAndCall_554": { + "entryPoint": 2156, + "id": 554, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@upgradeToAndCall_830": { + "entryPoint": 7592, + "id": 830, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@verifyCallResultFromTarget_1242": { + "entryPoint": 8446, + "id": 1242, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_address_fromMemory": { + "entryPoint": 10409, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_available_length_string": { + "entryPoint": 9110, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_bool_fromMemory": { + "entryPoint": 10284, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_string": { + "entryPoint": 9172, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_string_fromMemory": { + "entryPoint": 10332, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 9543, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address_fromMemory": { + "entryPoint": 11365, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_bytes_memory_ptr": { + "entryPoint": 9444, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptr": { + "entryPoint": 9616, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_uint256t_address": { + "entryPoint": 9204, + "id": null, + "parameterSlots": 2, + "returnSlots": 6 + }, + "abi_decode_tuple_t_addresst_string_memory_ptrt_uint256t_address": { + "entryPoint": 9876, + "id": null, + "parameterSlots": 2, + "returnSlots": 4 + }, + "abi_decode_tuple_t_addresst_uint256": { + "entryPoint": 9572, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_bool_fromMemory": { + "entryPoint": 10305, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes32_fromMemory": { + "entryPoint": 11176, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_contract$_IAgentRegistryV1_$3258t_contract$_ServiceRegistryUpgradeable_$2577": { + "entryPoint": 9387, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_struct$_AgentData_$3220_memory_ptr_fromMemory": { + "entryPoint": 10420, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_struct$_Proposal_$3231_memory_ptr_fromMemory": { + "entryPoint": 11201, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_struct$_Service_$1448_memory_ptr_fromMemory": { + "entryPoint": 11394, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_struct$_Service_$2382_memory_ptr_fromMemory": { + "entryPoint": 11658, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256": { + "entryPoint": 8659, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256_fromMemory": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_string": { + "entryPoint": 8720, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 11838, + "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_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__to_t_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__fromStack_reversed": { + "entryPoint": 8764, + "id": null, + "parameterSlots": 7, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_contract$_IAgentRegistryV1_$3258__to_t_address__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_contract$_ServiceRegistryUpgradeable_$2577__to_t_address__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 9857, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 11056, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__fromStack_reversed": { + "entryPoint": 10087, + "id": null, + "parameterSlots": 7, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 11591, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_333080ba9ab8738c4a0b47b5b79d2c142d573a23f488baafda66363f88786955__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 10738, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 10229, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_50182bd41cda0e194d07720f94dca7a677e712fa34d7dd8998809213f4730ecf__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_6b24a63f053c9f60b33a6142346432678adff778fb93a8ecec9013d5a898e395__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_ab4f7bdcd44e35f2fe5cd34e07194c1c227455329229f7f3f1e8494de9e5c74c__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_struct$_AgentData_$1479_memory_ptr__to_t_struct$_AgentData_$1479_memory_ptr__fromStack_reversed": { + "entryPoint": 9733, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_struct$_ServiceProposal_$3273_memory_ptr__to_t_struct$_ServiceProposal_$3273_memory_ptr__fromStack_reversed": { + "entryPoint": 9983, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_uint256_t_address__to_t_uint256_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed": { + "entryPoint": 11093, + "id": null, + "parameterSlots": 5, + "returnSlots": 1 + }, + "allocate_memory": { + "entryPoint": 9023, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_memory_3052": { + "entryPoint": 8881, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "allocate_memory_3054": { + "entryPoint": 8921, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "allocate_memory_3056": { + "entryPoint": 8955, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "allocate_memory_3058": { + "entryPoint": 8989, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_string": { + "entryPoint": 9071, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_string_storage": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "checked_add_t_uint256": { + "entryPoint": 10643, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_div_t_uint256": { + "entryPoint": 10704, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_mul_t_uint256": { + "entryPoint": 10681, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "checked_sub_t_uint256": { + "entryPoint": 10662, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_string_storage": { + "entryPoint": 10793, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 10865, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 8684, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 10171, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "increment_t_uint256": { + "entryPoint": 11151, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x11": { + "entryPoint": 10621, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 8859, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "validator_revert_address": { + "entryPoint": 8838, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:25859:17", + "nodeType": "YulBlock", + "src": "0:25859:17", + "statements": [ + { + "nativeSrc": "6:3:17", + "nodeType": "YulBlock", + "src": "6:3:17", + "statements": [] + }, + { + "body": { + "nativeSrc": "84:110:17", + "nodeType": "YulBlock", + "src": "84:110:17", + "statements": [ + { + "body": { + "nativeSrc": "130:16:17", + "nodeType": "YulBlock", + "src": "130:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "139:1:17", + "nodeType": "YulLiteral", + "src": "139:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "142:1:17", + "nodeType": "YulLiteral", + "src": "142:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "132:6:17", + "nodeType": "YulIdentifier", + "src": "132:6:17" + }, + "nativeSrc": "132:12:17", + "nodeType": "YulFunctionCall", + "src": "132:12:17" + }, + "nativeSrc": "132:12:17", + "nodeType": "YulExpressionStatement", + "src": "132:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "105:7:17", + "nodeType": "YulIdentifier", + "src": "105:7:17" + }, + { + "name": "headStart", + "nativeSrc": "114:9:17", + "nodeType": "YulIdentifier", + "src": "114:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "101:3:17", + "nodeType": "YulIdentifier", + "src": "101:3:17" + }, + "nativeSrc": "101:23:17", + "nodeType": "YulFunctionCall", + "src": "101:23:17" + }, + { + "kind": "number", + "nativeSrc": "126:2:17", + "nodeType": "YulLiteral", + "src": "126:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "97:3:17", + "nodeType": "YulIdentifier", + "src": "97:3:17" + }, + "nativeSrc": "97:32:17", + "nodeType": "YulFunctionCall", + "src": "97:32:17" + }, + "nativeSrc": "94:52:17", + "nodeType": "YulIf", + "src": "94:52:17" + }, + { + "nativeSrc": "155:33:17", + "nodeType": "YulAssignment", + "src": "155:33:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "178:9:17", + "nodeType": "YulIdentifier", + "src": "178:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "165:12:17", + "nodeType": "YulIdentifier", + "src": "165:12:17" + }, + "nativeSrc": "165:23:17", + "nodeType": "YulFunctionCall", + "src": "165:23:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "155:6:17", + "nodeType": "YulIdentifier", + "src": "155:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nativeSrc": "14:180:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "50:9:17", + "nodeType": "YulTypedName", + "src": "50:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "61:7:17", + "nodeType": "YulTypedName", + "src": "61:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "73:6:17", + "nodeType": "YulTypedName", + "src": "73:6:17", + "type": "" + } + ], + "src": "14:180:17" + }, + { + "body": { + "nativeSrc": "265:184:17", + "nodeType": "YulBlock", + "src": "265:184:17", + "statements": [ + { + "nativeSrc": "275:10:17", + "nodeType": "YulVariableDeclaration", + "src": "275:10:17", + "value": { + "kind": "number", + "nativeSrc": "284:1:17", + "nodeType": "YulLiteral", + "src": "284:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "279:1:17", + "nodeType": "YulTypedName", + "src": "279:1:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "344:63:17", + "nodeType": "YulBlock", + "src": "344:63:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "369:3:17", + "nodeType": "YulIdentifier", + "src": "369:3:17" + }, + { + "name": "i", + "nativeSrc": "374:1:17", + "nodeType": "YulIdentifier", + "src": "374:1:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "365:3:17", + "nodeType": "YulIdentifier", + "src": "365:3:17" + }, + "nativeSrc": "365:11:17", + "nodeType": "YulFunctionCall", + "src": "365:11:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "388:3:17", + "nodeType": "YulIdentifier", + "src": "388:3:17" + }, + { + "name": "i", + "nativeSrc": "393:1:17", + "nodeType": "YulIdentifier", + "src": "393:1:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "384:3:17", + "nodeType": "YulIdentifier", + "src": "384:3:17" + }, + "nativeSrc": "384:11:17", + "nodeType": "YulFunctionCall", + "src": "384:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "378:5:17", + "nodeType": "YulIdentifier", + "src": "378:5:17" + }, + "nativeSrc": "378:18:17", + "nodeType": "YulFunctionCall", + "src": "378:18:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "358:6:17", + "nodeType": "YulIdentifier", + "src": "358:6:17" + }, + "nativeSrc": "358:39:17", + "nodeType": "YulFunctionCall", + "src": "358:39:17" + }, + "nativeSrc": "358:39:17", + "nodeType": "YulExpressionStatement", + "src": "358:39:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "305:1:17", + "nodeType": "YulIdentifier", + "src": "305:1:17" + }, + { + "name": "length", + "nativeSrc": "308:6:17", + "nodeType": "YulIdentifier", + "src": "308:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "302:2:17", + "nodeType": "YulIdentifier", + "src": "302:2:17" + }, + "nativeSrc": "302:13:17", + "nodeType": "YulFunctionCall", + "src": "302:13:17" + }, + "nativeSrc": "294:113:17", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "316:19:17", + "nodeType": "YulBlock", + "src": "316:19:17", + "statements": [ + { + "nativeSrc": "318:15:17", + "nodeType": "YulAssignment", + "src": "318:15:17", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "327:1:17", + "nodeType": "YulIdentifier", + "src": "327:1:17" + }, + { + "kind": "number", + "nativeSrc": "330:2:17", + "nodeType": "YulLiteral", + "src": "330:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "323:3:17", + "nodeType": "YulIdentifier", + "src": "323:3:17" + }, + "nativeSrc": "323:10:17", + "nodeType": "YulFunctionCall", + "src": "323:10:17" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "318:1:17", + "nodeType": "YulIdentifier", + "src": "318:1:17" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "298:3:17", + "nodeType": "YulBlock", + "src": "298:3:17", + "statements": [] + }, + "src": "294:113:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "427:3:17", + "nodeType": "YulIdentifier", + "src": "427:3:17" + }, + { + "name": "length", + "nativeSrc": "432:6:17", + "nodeType": "YulIdentifier", + "src": "432:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "423:3:17", + "nodeType": "YulIdentifier", + "src": "423:3:17" + }, + "nativeSrc": "423:16:17", + "nodeType": "YulFunctionCall", + "src": "423:16:17" + }, + { + "kind": "number", + "nativeSrc": "441:1:17", + "nodeType": "YulLiteral", + "src": "441:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "416:6:17", + "nodeType": "YulIdentifier", + "src": "416:6:17" + }, + "nativeSrc": "416:27:17", + "nodeType": "YulFunctionCall", + "src": "416:27:17" + }, + "nativeSrc": "416:27:17", + "nodeType": "YulExpressionStatement", + "src": "416:27:17" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "199:250:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "243:3:17", + "nodeType": "YulTypedName", + "src": "243:3:17", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "248:3:17", + "nodeType": "YulTypedName", + "src": "248:3:17", + "type": "" + }, + { + "name": "length", + "nativeSrc": "253:6:17", + "nodeType": "YulTypedName", + "src": "253:6:17", + "type": "" + } + ], + "src": "199:250:17" + }, + { + "body": { + "nativeSrc": "504:221:17", + "nodeType": "YulBlock", + "src": "504:221:17", + "statements": [ + { + "nativeSrc": "514:26:17", + "nodeType": "YulVariableDeclaration", + "src": "514:26:17", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "534:5:17", + "nodeType": "YulIdentifier", + "src": "534:5:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "528:5:17", + "nodeType": "YulIdentifier", + "src": "528:5:17" + }, + "nativeSrc": "528:12:17", + "nodeType": "YulFunctionCall", + "src": "528:12:17" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "518:6:17", + "nodeType": "YulTypedName", + "src": "518:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "556:3:17", + "nodeType": "YulIdentifier", + "src": "556:3:17" + }, + { + "name": "length", + "nativeSrc": "561:6:17", + "nodeType": "YulIdentifier", + "src": "561:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "549:6:17", + "nodeType": "YulIdentifier", + "src": "549:6:17" + }, + "nativeSrc": "549:19:17", + "nodeType": "YulFunctionCall", + "src": "549:19:17" + }, + "nativeSrc": "549:19:17", + "nodeType": "YulExpressionStatement", + "src": "549:19:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "616:5:17", + "nodeType": "YulIdentifier", + "src": "616:5:17" + }, + { + "kind": "number", + "nativeSrc": "623:4:17", + "nodeType": "YulLiteral", + "src": "623:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "612:3:17", + "nodeType": "YulIdentifier", + "src": "612:3:17" + }, + "nativeSrc": "612:16:17", + "nodeType": "YulFunctionCall", + "src": "612:16:17" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "634:3:17", + "nodeType": "YulIdentifier", + "src": "634:3:17" + }, + { + "kind": "number", + "nativeSrc": "639:4:17", + "nodeType": "YulLiteral", + "src": "639:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "630:3:17", + "nodeType": "YulIdentifier", + "src": "630:3:17" + }, + "nativeSrc": "630:14:17", + "nodeType": "YulFunctionCall", + "src": "630:14:17" + }, + { + "name": "length", + "nativeSrc": "646:6:17", + "nodeType": "YulIdentifier", + "src": "646:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "577:34:17", + "nodeType": "YulIdentifier", + "src": "577:34:17" + }, + "nativeSrc": "577:76:17", + "nodeType": "YulFunctionCall", + "src": "577:76:17" + }, + "nativeSrc": "577:76:17", + "nodeType": "YulExpressionStatement", + "src": "577:76:17" + }, + { + "nativeSrc": "662:57:17", + "nodeType": "YulAssignment", + "src": "662:57:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "677:3:17", + "nodeType": "YulIdentifier", + "src": "677:3:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "690:6:17", + "nodeType": "YulIdentifier", + "src": "690:6:17" + }, + { + "kind": "number", + "nativeSrc": "698:2:17", + "nodeType": "YulLiteral", + "src": "698:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "686:3:17", + "nodeType": "YulIdentifier", + "src": "686:3:17" + }, + "nativeSrc": "686:15:17", + "nodeType": "YulFunctionCall", + "src": "686:15:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "707:2:17", + "nodeType": "YulLiteral", + "src": "707:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "703:3:17", + "nodeType": "YulIdentifier", + "src": "703:3:17" + }, + "nativeSrc": "703:7:17", + "nodeType": "YulFunctionCall", + "src": "703:7:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "682:3:17", + "nodeType": "YulIdentifier", + "src": "682:3:17" + }, + "nativeSrc": "682:29:17", + "nodeType": "YulFunctionCall", + "src": "682:29:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "673:3:17", + "nodeType": "YulIdentifier", + "src": "673:3:17" + }, + "nativeSrc": "673:39:17", + "nodeType": "YulFunctionCall", + "src": "673:39:17" + }, + { + "kind": "number", + "nativeSrc": "714:4:17", + "nodeType": "YulLiteral", + "src": "714:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "669:3:17", + "nodeType": "YulIdentifier", + "src": "669:3:17" + }, + "nativeSrc": "669:50:17", + "nodeType": "YulFunctionCall", + "src": "669:50:17" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "662:3:17", + "nodeType": "YulIdentifier", + "src": "662:3:17" + } + ] + } + ] + }, + "name": "abi_encode_string", + "nativeSrc": "454:271:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "481:5:17", + "nodeType": "YulTypedName", + "src": "481:5:17", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "488:3:17", + "nodeType": "YulTypedName", + "src": "488:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "496:3:17", + "nodeType": "YulTypedName", + "src": "496:3:17", + "type": "" + } + ], + "src": "454:271:17" + }, + { + "body": { + "nativeSrc": "985:390:17", + "nodeType": "YulBlock", + "src": "985:390:17", + "statements": [ + { + "nativeSrc": "995:29:17", + "nodeType": "YulVariableDeclaration", + "src": "995:29:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1013:3:17", + "nodeType": "YulLiteral", + "src": "1013:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "1018:1:17", + "nodeType": "YulLiteral", + "src": "1018:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "1009:3:17", + "nodeType": "YulIdentifier", + "src": "1009:3:17" + }, + "nativeSrc": "1009:11:17", + "nodeType": "YulFunctionCall", + "src": "1009:11:17" + }, + { + "kind": "number", + "nativeSrc": "1022:1:17", + "nodeType": "YulLiteral", + "src": "1022:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1005:3:17", + "nodeType": "YulIdentifier", + "src": "1005:3:17" + }, + "nativeSrc": "1005:19:17", + "nodeType": "YulFunctionCall", + "src": "1005:19:17" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "999:2:17", + "nodeType": "YulTypedName", + "src": "999:2:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1040:9:17", + "nodeType": "YulIdentifier", + "src": "1040:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "1055:6:17", + "nodeType": "YulIdentifier", + "src": "1055:6:17" + }, + { + "name": "_1", + "nativeSrc": "1063:2:17", + "nodeType": "YulIdentifier", + "src": "1063:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1051:3:17", + "nodeType": "YulIdentifier", + "src": "1051:3:17" + }, + "nativeSrc": "1051:15:17", + "nodeType": "YulFunctionCall", + "src": "1051:15:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1033:6:17", + "nodeType": "YulIdentifier", + "src": "1033:6:17" + }, + "nativeSrc": "1033:34:17", + "nodeType": "YulFunctionCall", + "src": "1033:34:17" + }, + "nativeSrc": "1033:34:17", + "nodeType": "YulExpressionStatement", + "src": "1033:34:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1087:9:17", + "nodeType": "YulIdentifier", + "src": "1087:9:17" + }, + { + "kind": "number", + "nativeSrc": "1098:2:17", + "nodeType": "YulLiteral", + "src": "1098:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1083:3:17", + "nodeType": "YulIdentifier", + "src": "1083:3:17" + }, + "nativeSrc": "1083:18:17", + "nodeType": "YulFunctionCall", + "src": "1083:18:17" + }, + { + "kind": "number", + "nativeSrc": "1103:3:17", + "nodeType": "YulLiteral", + "src": "1103:3:17", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1076:6:17", + "nodeType": "YulIdentifier", + "src": "1076:6:17" + }, + "nativeSrc": "1076:31:17", + "nodeType": "YulFunctionCall", + "src": "1076:31:17" + }, + "nativeSrc": "1076:31:17", + "nodeType": "YulExpressionStatement", + "src": "1076:31:17" + }, + { + "nativeSrc": "1116:54:17", + "nodeType": "YulAssignment", + "src": "1116:54:17", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "1142:6:17", + "nodeType": "YulIdentifier", + "src": "1142:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1154:9:17", + "nodeType": "YulIdentifier", + "src": "1154:9:17" + }, + { + "kind": "number", + "nativeSrc": "1165:3:17", + "nodeType": "YulLiteral", + "src": "1165:3:17", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1150:3:17", + "nodeType": "YulIdentifier", + "src": "1150:3:17" + }, + "nativeSrc": "1150:19:17", + "nodeType": "YulFunctionCall", + "src": "1150:19:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "1124:17:17", + "nodeType": "YulIdentifier", + "src": "1124:17:17" + }, + "nativeSrc": "1124:46:17", + "nodeType": "YulFunctionCall", + "src": "1124:46:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "1116:4:17", + "nodeType": "YulIdentifier", + "src": "1116:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1190:9:17", + "nodeType": "YulIdentifier", + "src": "1190:9:17" + }, + { + "kind": "number", + "nativeSrc": "1201:2:17", + "nodeType": "YulLiteral", + "src": "1201:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1186:3:17", + "nodeType": "YulIdentifier", + "src": "1186:3:17" + }, + "nativeSrc": "1186:18:17", + "nodeType": "YulFunctionCall", + "src": "1186:18:17" + }, + { + "name": "value2", + "nativeSrc": "1206:6:17", + "nodeType": "YulIdentifier", + "src": "1206:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1179:6:17", + "nodeType": "YulIdentifier", + "src": "1179:6:17" + }, + "nativeSrc": "1179:34:17", + "nodeType": "YulFunctionCall", + "src": "1179:34:17" + }, + "nativeSrc": "1179:34:17", + "nodeType": "YulExpressionStatement", + "src": "1179:34:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1233:9:17", + "nodeType": "YulIdentifier", + "src": "1233:9:17" + }, + { + "kind": "number", + "nativeSrc": "1244:2:17", + "nodeType": "YulLiteral", + "src": "1244:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1229:3:17", + "nodeType": "YulIdentifier", + "src": "1229:3:17" + }, + "nativeSrc": "1229:18:17", + "nodeType": "YulFunctionCall", + "src": "1229:18:17" + }, + { + "arguments": [ + { + "name": "value3", + "nativeSrc": "1253:6:17", + "nodeType": "YulIdentifier", + "src": "1253:6:17" + }, + { + "name": "_1", + "nativeSrc": "1261:2:17", + "nodeType": "YulIdentifier", + "src": "1261:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1249:3:17", + "nodeType": "YulIdentifier", + "src": "1249:3:17" + }, + "nativeSrc": "1249:15:17", + "nodeType": "YulFunctionCall", + "src": "1249:15:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1222:6:17", + "nodeType": "YulIdentifier", + "src": "1222:6:17" + }, + "nativeSrc": "1222:43:17", + "nodeType": "YulFunctionCall", + "src": "1222:43:17" + }, + "nativeSrc": "1222:43:17", + "nodeType": "YulExpressionStatement", + "src": "1222:43:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1285:9:17", + "nodeType": "YulIdentifier", + "src": "1285:9:17" + }, + { + "kind": "number", + "nativeSrc": "1296:3:17", + "nodeType": "YulLiteral", + "src": "1296:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1281:3:17", + "nodeType": "YulIdentifier", + "src": "1281:3:17" + }, + "nativeSrc": "1281:19:17", + "nodeType": "YulFunctionCall", + "src": "1281:19:17" + }, + { + "name": "value4", + "nativeSrc": "1302:6:17", + "nodeType": "YulIdentifier", + "src": "1302:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1274:6:17", + "nodeType": "YulIdentifier", + "src": "1274:6:17" + }, + "nativeSrc": "1274:35:17", + "nodeType": "YulFunctionCall", + "src": "1274:35:17" + }, + "nativeSrc": "1274:35:17", + "nodeType": "YulExpressionStatement", + "src": "1274:35:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1329:9:17", + "nodeType": "YulIdentifier", + "src": "1329:9:17" + }, + { + "kind": "number", + "nativeSrc": "1340:3:17", + "nodeType": "YulLiteral", + "src": "1340:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1325:3:17", + "nodeType": "YulIdentifier", + "src": "1325:3:17" + }, + "nativeSrc": "1325:19:17", + "nodeType": "YulFunctionCall", + "src": "1325:19:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value5", + "nativeSrc": "1360:6:17", + "nodeType": "YulIdentifier", + "src": "1360:6:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1353:6:17", + "nodeType": "YulIdentifier", + "src": "1353:6:17" + }, + "nativeSrc": "1353:14:17", + "nodeType": "YulFunctionCall", + "src": "1353:14:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1346:6:17", + "nodeType": "YulIdentifier", + "src": "1346:6:17" + }, + "nativeSrc": "1346:22:17", + "nodeType": "YulFunctionCall", + "src": "1346:22:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1318:6:17", + "nodeType": "YulIdentifier", + "src": "1318:6:17" + }, + "nativeSrc": "1318:51:17", + "nodeType": "YulFunctionCall", + "src": "1318:51:17" + }, + "nativeSrc": "1318:51:17", + "nodeType": "YulExpressionStatement", + "src": "1318:51:17" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__to_t_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__fromStack_reversed", + "nativeSrc": "730:645:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "914:9:17", + "nodeType": "YulTypedName", + "src": "914:9:17", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "925:6:17", + "nodeType": "YulTypedName", + "src": "925:6:17", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "933:6:17", + "nodeType": "YulTypedName", + "src": "933:6:17", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "941:6:17", + "nodeType": "YulTypedName", + "src": "941:6:17", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "949:6:17", + "nodeType": "YulTypedName", + "src": "949:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "957:6:17", + "nodeType": "YulTypedName", + "src": "957:6:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "965:6:17", + "nodeType": "YulTypedName", + "src": "965:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "976:4:17", + "nodeType": "YulTypedName", + "src": "976:4:17", + "type": "" + } + ], + "src": "730:645:17" + }, + { + "body": { + "nativeSrc": "1425:86:17", + "nodeType": "YulBlock", + "src": "1425:86:17", + "statements": [ + { + "body": { + "nativeSrc": "1489:16:17", + "nodeType": "YulBlock", + "src": "1489:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1498:1:17", + "nodeType": "YulLiteral", + "src": "1498:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1501:1:17", + "nodeType": "YulLiteral", + "src": "1501:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1491:6:17", + "nodeType": "YulIdentifier", + "src": "1491:6:17" + }, + "nativeSrc": "1491:12:17", + "nodeType": "YulFunctionCall", + "src": "1491:12:17" + }, + "nativeSrc": "1491:12:17", + "nodeType": "YulExpressionStatement", + "src": "1491:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1448:5:17", + "nodeType": "YulIdentifier", + "src": "1448:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1459:5:17", + "nodeType": "YulIdentifier", + "src": "1459:5:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1474:3:17", + "nodeType": "YulLiteral", + "src": "1474:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "1479:1:17", + "nodeType": "YulLiteral", + "src": "1479:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "1470:3:17", + "nodeType": "YulIdentifier", + "src": "1470:3:17" + }, + "nativeSrc": "1470:11:17", + "nodeType": "YulFunctionCall", + "src": "1470:11:17" + }, + { + "kind": "number", + "nativeSrc": "1483:1:17", + "nodeType": "YulLiteral", + "src": "1483:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1466:3:17", + "nodeType": "YulIdentifier", + "src": "1466:3:17" + }, + "nativeSrc": "1466:19:17", + "nodeType": "YulFunctionCall", + "src": "1466:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "1455:3:17", + "nodeType": "YulIdentifier", + "src": "1455:3:17" + }, + "nativeSrc": "1455:31:17", + "nodeType": "YulFunctionCall", + "src": "1455:31:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "1445:2:17", + "nodeType": "YulIdentifier", + "src": "1445:2:17" + }, + "nativeSrc": "1445:42:17", + "nodeType": "YulFunctionCall", + "src": "1445:42:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1438:6:17", + "nodeType": "YulIdentifier", + "src": "1438:6:17" + }, + "nativeSrc": "1438:50:17", + "nodeType": "YulFunctionCall", + "src": "1438:50:17" + }, + "nativeSrc": "1435:70:17", + "nodeType": "YulIf", + "src": "1435:70:17" + } + ] + }, + "name": "validator_revert_address", + "nativeSrc": "1380:131:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1414:5:17", + "nodeType": "YulTypedName", + "src": "1414:5:17", + "type": "" + } + ], + "src": "1380:131:17" + }, + { + "body": { + "nativeSrc": "1548:95:17", + "nodeType": "YulBlock", + "src": "1548:95:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1565:1:17", + "nodeType": "YulLiteral", + "src": "1565:1:17", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1572:3:17", + "nodeType": "YulLiteral", + "src": "1572:3:17", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nativeSrc": "1577:10:17", + "nodeType": "YulLiteral", + "src": "1577:10:17", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "1568:3:17", + "nodeType": "YulIdentifier", + "src": "1568:3:17" + }, + "nativeSrc": "1568:20:17", + "nodeType": "YulFunctionCall", + "src": "1568:20:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1558:6:17", + "nodeType": "YulIdentifier", + "src": "1558:6:17" + }, + "nativeSrc": "1558:31:17", + "nodeType": "YulFunctionCall", + "src": "1558:31:17" + }, + "nativeSrc": "1558:31:17", + "nodeType": "YulExpressionStatement", + "src": "1558:31:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1605:1:17", + "nodeType": "YulLiteral", + "src": "1605:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "1608:4:17", + "nodeType": "YulLiteral", + "src": "1608:4:17", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1598:6:17", + "nodeType": "YulIdentifier", + "src": "1598:6:17" + }, + "nativeSrc": "1598:15:17", + "nodeType": "YulFunctionCall", + "src": "1598:15:17" + }, + "nativeSrc": "1598:15:17", + "nodeType": "YulExpressionStatement", + "src": "1598:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1629:1:17", + "nodeType": "YulLiteral", + "src": "1629:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1632:4:17", + "nodeType": "YulLiteral", + "src": "1632:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1622:6:17", + "nodeType": "YulIdentifier", + "src": "1622:6:17" + }, + "nativeSrc": "1622:15:17", + "nodeType": "YulFunctionCall", + "src": "1622:15:17" + }, + "nativeSrc": "1622:15:17", + "nodeType": "YulExpressionStatement", + "src": "1622:15:17" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "1516:127:17", + "nodeType": "YulFunctionDefinition", + "src": "1516:127:17" + }, + { + "body": { + "nativeSrc": "1694:207:17", + "nodeType": "YulBlock", + "src": "1694:207:17", + "statements": [ + { + "nativeSrc": "1704:19:17", + "nodeType": "YulAssignment", + "src": "1704:19:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1720:2:17", + "nodeType": "YulLiteral", + "src": "1720:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1714:5:17", + "nodeType": "YulIdentifier", + "src": "1714:5:17" + }, + "nativeSrc": "1714:9:17", + "nodeType": "YulFunctionCall", + "src": "1714:9:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1704:6:17", + "nodeType": "YulIdentifier", + "src": "1704:6:17" + } + ] + }, + { + "nativeSrc": "1732:35:17", + "nodeType": "YulVariableDeclaration", + "src": "1732:35:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "1754:6:17", + "nodeType": "YulIdentifier", + "src": "1754:6:17" + }, + { + "kind": "number", + "nativeSrc": "1762:4:17", + "nodeType": "YulLiteral", + "src": "1762:4:17", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1750:3:17", + "nodeType": "YulIdentifier", + "src": "1750:3:17" + }, + "nativeSrc": "1750:17:17", + "nodeType": "YulFunctionCall", + "src": "1750:17:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "1736:10:17", + "nodeType": "YulTypedName", + "src": "1736:10:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1842:22:17", + "nodeType": "YulBlock", + "src": "1842:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "1844:16:17", + "nodeType": "YulIdentifier", + "src": "1844:16:17" + }, + "nativeSrc": "1844:18:17", + "nodeType": "YulFunctionCall", + "src": "1844:18:17" + }, + "nativeSrc": "1844:18:17", + "nodeType": "YulExpressionStatement", + "src": "1844:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1785:10:17", + "nodeType": "YulIdentifier", + "src": "1785:10:17" + }, + { + "kind": "number", + "nativeSrc": "1797:18:17", + "nodeType": "YulLiteral", + "src": "1797:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1782:2:17", + "nodeType": "YulIdentifier", + "src": "1782:2:17" + }, + "nativeSrc": "1782:34:17", + "nodeType": "YulFunctionCall", + "src": "1782:34:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "1821:10:17", + "nodeType": "YulIdentifier", + "src": "1821:10:17" + }, + { + "name": "memPtr", + "nativeSrc": "1833:6:17", + "nodeType": "YulIdentifier", + "src": "1833:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1818:2:17", + "nodeType": "YulIdentifier", + "src": "1818:2:17" + }, + "nativeSrc": "1818:22:17", + "nodeType": "YulFunctionCall", + "src": "1818:22:17" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "1779:2:17", + "nodeType": "YulIdentifier", + "src": "1779:2:17" + }, + "nativeSrc": "1779:62:17", + "nodeType": "YulFunctionCall", + "src": "1779:62:17" + }, + "nativeSrc": "1776:88:17", + "nodeType": "YulIf", + "src": "1776:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1880:2:17", + "nodeType": "YulLiteral", + "src": "1880:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "1884:10:17", + "nodeType": "YulIdentifier", + "src": "1884:10:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1873:6:17", + "nodeType": "YulIdentifier", + "src": "1873:6:17" + }, + "nativeSrc": "1873:22:17", + "nodeType": "YulFunctionCall", + "src": "1873:22:17" + }, + "nativeSrc": "1873:22:17", + "nodeType": "YulExpressionStatement", + "src": "1873:22:17" + } + ] + }, + "name": "allocate_memory_3052", + "nativeSrc": "1648:253:17", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1683:6:17", + "nodeType": "YulTypedName", + "src": "1683:6:17", + "type": "" + } + ], + "src": "1648:253:17" + }, + { + "body": { + "nativeSrc": "1952:207:17", + "nodeType": "YulBlock", + "src": "1952:207:17", + "statements": [ + { + "nativeSrc": "1962:19:17", + "nodeType": "YulAssignment", + "src": "1962:19:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1978:2:17", + "nodeType": "YulLiteral", + "src": "1978:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1972:5:17", + "nodeType": "YulIdentifier", + "src": "1972:5:17" + }, + "nativeSrc": "1972:9:17", + "nodeType": "YulFunctionCall", + "src": "1972:9:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "1962:6:17", + "nodeType": "YulIdentifier", + "src": "1962:6:17" + } + ] + }, + { + "nativeSrc": "1990:35:17", + "nodeType": "YulVariableDeclaration", + "src": "1990:35:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "2012:6:17", + "nodeType": "YulIdentifier", + "src": "2012:6:17" + }, + { + "kind": "number", + "nativeSrc": "2020:4:17", + "nodeType": "YulLiteral", + "src": "2020:4:17", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2008:3:17", + "nodeType": "YulIdentifier", + "src": "2008:3:17" + }, + "nativeSrc": "2008:17:17", + "nodeType": "YulFunctionCall", + "src": "2008:17:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "1994:10:17", + "nodeType": "YulTypedName", + "src": "1994:10:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2100:22:17", + "nodeType": "YulBlock", + "src": "2100:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "2102:16:17", + "nodeType": "YulIdentifier", + "src": "2102:16:17" + }, + "nativeSrc": "2102:18:17", + "nodeType": "YulFunctionCall", + "src": "2102:18:17" + }, + "nativeSrc": "2102:18:17", + "nodeType": "YulExpressionStatement", + "src": "2102:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "2043:10:17", + "nodeType": "YulIdentifier", + "src": "2043:10:17" + }, + { + "kind": "number", + "nativeSrc": "2055:18:17", + "nodeType": "YulLiteral", + "src": "2055:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2040:2:17", + "nodeType": "YulIdentifier", + "src": "2040:2:17" + }, + "nativeSrc": "2040:34:17", + "nodeType": "YulFunctionCall", + "src": "2040:34:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "2079:10:17", + "nodeType": "YulIdentifier", + "src": "2079:10:17" + }, + { + "name": "memPtr", + "nativeSrc": "2091:6:17", + "nodeType": "YulIdentifier", + "src": "2091:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2076:2:17", + "nodeType": "YulIdentifier", + "src": "2076:2:17" + }, + "nativeSrc": "2076:22:17", + "nodeType": "YulFunctionCall", + "src": "2076:22:17" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "2037:2:17", + "nodeType": "YulIdentifier", + "src": "2037:2:17" + }, + "nativeSrc": "2037:62:17", + "nodeType": "YulFunctionCall", + "src": "2037:62:17" + }, + "nativeSrc": "2034:88:17", + "nodeType": "YulIf", + "src": "2034:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2138:2:17", + "nodeType": "YulLiteral", + "src": "2138:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "2142:10:17", + "nodeType": "YulIdentifier", + "src": "2142:10:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2131:6:17", + "nodeType": "YulIdentifier", + "src": "2131:6:17" + }, + "nativeSrc": "2131:22:17", + "nodeType": "YulFunctionCall", + "src": "2131:22:17" + }, + "nativeSrc": "2131:22:17", + "nodeType": "YulExpressionStatement", + "src": "2131:22:17" + } + ] + }, + "name": "allocate_memory_3054", + "nativeSrc": "1906:253:17", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "1941:6:17", + "nodeType": "YulTypedName", + "src": "1941:6:17", + "type": "" + } + ], + "src": "1906:253:17" + }, + { + "body": { + "nativeSrc": "2210:207:17", + "nodeType": "YulBlock", + "src": "2210:207:17", + "statements": [ + { + "nativeSrc": "2220:19:17", + "nodeType": "YulAssignment", + "src": "2220:19:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2236:2:17", + "nodeType": "YulLiteral", + "src": "2236:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2230:5:17", + "nodeType": "YulIdentifier", + "src": "2230:5:17" + }, + "nativeSrc": "2230:9:17", + "nodeType": "YulFunctionCall", + "src": "2230:9:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "2220:6:17", + "nodeType": "YulIdentifier", + "src": "2220:6:17" + } + ] + }, + { + "nativeSrc": "2248:35:17", + "nodeType": "YulVariableDeclaration", + "src": "2248:35:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "2270:6:17", + "nodeType": "YulIdentifier", + "src": "2270:6:17" + }, + { + "kind": "number", + "nativeSrc": "2278:4:17", + "nodeType": "YulLiteral", + "src": "2278:4:17", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2266:3:17", + "nodeType": "YulIdentifier", + "src": "2266:3:17" + }, + "nativeSrc": "2266:17:17", + "nodeType": "YulFunctionCall", + "src": "2266:17:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "2252:10:17", + "nodeType": "YulTypedName", + "src": "2252:10:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2358:22:17", + "nodeType": "YulBlock", + "src": "2358:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "2360:16:17", + "nodeType": "YulIdentifier", + "src": "2360:16:17" + }, + "nativeSrc": "2360:18:17", + "nodeType": "YulFunctionCall", + "src": "2360:18:17" + }, + "nativeSrc": "2360:18:17", + "nodeType": "YulExpressionStatement", + "src": "2360:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "2301:10:17", + "nodeType": "YulIdentifier", + "src": "2301:10:17" + }, + { + "kind": "number", + "nativeSrc": "2313:18:17", + "nodeType": "YulLiteral", + "src": "2313:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2298:2:17", + "nodeType": "YulIdentifier", + "src": "2298:2:17" + }, + "nativeSrc": "2298:34:17", + "nodeType": "YulFunctionCall", + "src": "2298:34:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "2337:10:17", + "nodeType": "YulIdentifier", + "src": "2337:10:17" + }, + { + "name": "memPtr", + "nativeSrc": "2349:6:17", + "nodeType": "YulIdentifier", + "src": "2349:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2334:2:17", + "nodeType": "YulIdentifier", + "src": "2334:2:17" + }, + "nativeSrc": "2334:22:17", + "nodeType": "YulFunctionCall", + "src": "2334:22:17" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "2295:2:17", + "nodeType": "YulIdentifier", + "src": "2295:2:17" + }, + "nativeSrc": "2295:62:17", + "nodeType": "YulFunctionCall", + "src": "2295:62:17" + }, + "nativeSrc": "2292:88:17", + "nodeType": "YulIf", + "src": "2292:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2396:2:17", + "nodeType": "YulLiteral", + "src": "2396:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "2400:10:17", + "nodeType": "YulIdentifier", + "src": "2400:10:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2389:6:17", + "nodeType": "YulIdentifier", + "src": "2389:6:17" + }, + "nativeSrc": "2389:22:17", + "nodeType": "YulFunctionCall", + "src": "2389:22:17" + }, + "nativeSrc": "2389:22:17", + "nodeType": "YulExpressionStatement", + "src": "2389:22:17" + } + ] + }, + "name": "allocate_memory_3056", + "nativeSrc": "2164:253:17", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "2199:6:17", + "nodeType": "YulTypedName", + "src": "2199:6:17", + "type": "" + } + ], + "src": "2164:253:17" + }, + { + "body": { + "nativeSrc": "2468:207:17", + "nodeType": "YulBlock", + "src": "2468:207:17", + "statements": [ + { + "nativeSrc": "2478:19:17", + "nodeType": "YulAssignment", + "src": "2478:19:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2494:2:17", + "nodeType": "YulLiteral", + "src": "2494:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2488:5:17", + "nodeType": "YulIdentifier", + "src": "2488:5:17" + }, + "nativeSrc": "2488:9:17", + "nodeType": "YulFunctionCall", + "src": "2488:9:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "2478:6:17", + "nodeType": "YulIdentifier", + "src": "2478:6:17" + } + ] + }, + { + "nativeSrc": "2506:35:17", + "nodeType": "YulVariableDeclaration", + "src": "2506:35:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "2528:6:17", + "nodeType": "YulIdentifier", + "src": "2528:6:17" + }, + { + "kind": "number", + "nativeSrc": "2536:4:17", + "nodeType": "YulLiteral", + "src": "2536:4:17", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2524:3:17", + "nodeType": "YulIdentifier", + "src": "2524:3:17" + }, + "nativeSrc": "2524:17:17", + "nodeType": "YulFunctionCall", + "src": "2524:17:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "2510:10:17", + "nodeType": "YulTypedName", + "src": "2510:10:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2616:22:17", + "nodeType": "YulBlock", + "src": "2616:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "2618:16:17", + "nodeType": "YulIdentifier", + "src": "2618:16:17" + }, + "nativeSrc": "2618:18:17", + "nodeType": "YulFunctionCall", + "src": "2618:18:17" + }, + "nativeSrc": "2618:18:17", + "nodeType": "YulExpressionStatement", + "src": "2618:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "2559:10:17", + "nodeType": "YulIdentifier", + "src": "2559:10:17" + }, + { + "kind": "number", + "nativeSrc": "2571:18:17", + "nodeType": "YulLiteral", + "src": "2571:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2556:2:17", + "nodeType": "YulIdentifier", + "src": "2556:2:17" + }, + "nativeSrc": "2556:34:17", + "nodeType": "YulFunctionCall", + "src": "2556:34:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "2595:10:17", + "nodeType": "YulIdentifier", + "src": "2595:10:17" + }, + { + "name": "memPtr", + "nativeSrc": "2607:6:17", + "nodeType": "YulIdentifier", + "src": "2607:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2592:2:17", + "nodeType": "YulIdentifier", + "src": "2592:2:17" + }, + "nativeSrc": "2592:22:17", + "nodeType": "YulFunctionCall", + "src": "2592:22:17" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "2553:2:17", + "nodeType": "YulIdentifier", + "src": "2553:2:17" + }, + "nativeSrc": "2553:62:17", + "nodeType": "YulFunctionCall", + "src": "2553:62:17" + }, + "nativeSrc": "2550:88:17", + "nodeType": "YulIf", + "src": "2550:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2654:2:17", + "nodeType": "YulLiteral", + "src": "2654:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "2658:10:17", + "nodeType": "YulIdentifier", + "src": "2658:10:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2647:6:17", + "nodeType": "YulIdentifier", + "src": "2647:6:17" + }, + "nativeSrc": "2647:22:17", + "nodeType": "YulFunctionCall", + "src": "2647:22:17" + }, + "nativeSrc": "2647:22:17", + "nodeType": "YulExpressionStatement", + "src": "2647:22:17" + } + ] + }, + "name": "allocate_memory_3058", + "nativeSrc": "2422:253:17", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "2457:6:17", + "nodeType": "YulTypedName", + "src": "2457:6:17", + "type": "" + } + ], + "src": "2422:253:17" + }, + { + "body": { + "nativeSrc": "2725:230:17", + "nodeType": "YulBlock", + "src": "2725:230:17", + "statements": [ + { + "nativeSrc": "2735:19:17", + "nodeType": "YulAssignment", + "src": "2735:19:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2751:2:17", + "nodeType": "YulLiteral", + "src": "2751:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2745:5:17", + "nodeType": "YulIdentifier", + "src": "2745:5:17" + }, + "nativeSrc": "2745:9:17", + "nodeType": "YulFunctionCall", + "src": "2745:9:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "2735:6:17", + "nodeType": "YulIdentifier", + "src": "2735:6:17" + } + ] + }, + { + "nativeSrc": "2763:58:17", + "nodeType": "YulVariableDeclaration", + "src": "2763:58:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "2785:6:17", + "nodeType": "YulIdentifier", + "src": "2785:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nativeSrc": "2801:4:17", + "nodeType": "YulIdentifier", + "src": "2801:4:17" + }, + { + "kind": "number", + "nativeSrc": "2807:2:17", + "nodeType": "YulLiteral", + "src": "2807:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2797:3:17", + "nodeType": "YulIdentifier", + "src": "2797:3:17" + }, + "nativeSrc": "2797:13:17", + "nodeType": "YulFunctionCall", + "src": "2797:13:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2816:2:17", + "nodeType": "YulLiteral", + "src": "2816:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "2812:3:17", + "nodeType": "YulIdentifier", + "src": "2812:3:17" + }, + "nativeSrc": "2812:7:17", + "nodeType": "YulFunctionCall", + "src": "2812:7:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2793:3:17", + "nodeType": "YulIdentifier", + "src": "2793:3:17" + }, + "nativeSrc": "2793:27:17", + "nodeType": "YulFunctionCall", + "src": "2793:27:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2781:3:17", + "nodeType": "YulIdentifier", + "src": "2781:3:17" + }, + "nativeSrc": "2781:40:17", + "nodeType": "YulFunctionCall", + "src": "2781:40:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "2767:10:17", + "nodeType": "YulTypedName", + "src": "2767:10:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "2896:22:17", + "nodeType": "YulBlock", + "src": "2896:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "2898:16:17", + "nodeType": "YulIdentifier", + "src": "2898:16:17" + }, + "nativeSrc": "2898:18:17", + "nodeType": "YulFunctionCall", + "src": "2898:18:17" + }, + "nativeSrc": "2898:18:17", + "nodeType": "YulExpressionStatement", + "src": "2898:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "2839:10:17", + "nodeType": "YulIdentifier", + "src": "2839:10:17" + }, + { + "kind": "number", + "nativeSrc": "2851:18:17", + "nodeType": "YulLiteral", + "src": "2851:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "2836:2:17", + "nodeType": "YulIdentifier", + "src": "2836:2:17" + }, + "nativeSrc": "2836:34:17", + "nodeType": "YulFunctionCall", + "src": "2836:34:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "2875:10:17", + "nodeType": "YulIdentifier", + "src": "2875:10:17" + }, + { + "name": "memPtr", + "nativeSrc": "2887:6:17", + "nodeType": "YulIdentifier", + "src": "2887:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2872:2:17", + "nodeType": "YulIdentifier", + "src": "2872:2:17" + }, + "nativeSrc": "2872:22:17", + "nodeType": "YulFunctionCall", + "src": "2872:22:17" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "2833:2:17", + "nodeType": "YulIdentifier", + "src": "2833:2:17" + }, + "nativeSrc": "2833:62:17", + "nodeType": "YulFunctionCall", + "src": "2833:62:17" + }, + "nativeSrc": "2830:88:17", + "nodeType": "YulIf", + "src": "2830:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2934:2:17", + "nodeType": "YulLiteral", + "src": "2934:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "2938:10:17", + "nodeType": "YulIdentifier", + "src": "2938:10:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2927:6:17", + "nodeType": "YulIdentifier", + "src": "2927:6:17" + }, + "nativeSrc": "2927:22:17", + "nodeType": "YulFunctionCall", + "src": "2927:22:17" + }, + "nativeSrc": "2927:22:17", + "nodeType": "YulExpressionStatement", + "src": "2927:22:17" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "2680:275:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "2705:4:17", + "nodeType": "YulTypedName", + "src": "2705:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "2714:6:17", + "nodeType": "YulTypedName", + "src": "2714:6:17", + "type": "" + } + ], + "src": "2680:275:17" + }, + { + "body": { + "nativeSrc": "3018:129:17", + "nodeType": "YulBlock", + "src": "3018:129:17", + "statements": [ + { + "body": { + "nativeSrc": "3062:22:17", + "nodeType": "YulBlock", + "src": "3062:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "3064:16:17", + "nodeType": "YulIdentifier", + "src": "3064:16:17" + }, + "nativeSrc": "3064:18:17", + "nodeType": "YulFunctionCall", + "src": "3064:18:17" + }, + "nativeSrc": "3064:18:17", + "nodeType": "YulExpressionStatement", + "src": "3064:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "3034:6:17", + "nodeType": "YulIdentifier", + "src": "3034:6:17" + }, + { + "kind": "number", + "nativeSrc": "3042:18:17", + "nodeType": "YulLiteral", + "src": "3042:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3031:2:17", + "nodeType": "YulIdentifier", + "src": "3031:2:17" + }, + "nativeSrc": "3031:30:17", + "nodeType": "YulFunctionCall", + "src": "3031:30:17" + }, + "nativeSrc": "3028:56:17", + "nodeType": "YulIf", + "src": "3028:56:17" + }, + { + "nativeSrc": "3093:48:17", + "nodeType": "YulAssignment", + "src": "3093:48:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "3113:6:17", + "nodeType": "YulIdentifier", + "src": "3113:6:17" + }, + { + "kind": "number", + "nativeSrc": "3121:2:17", + "nodeType": "YulLiteral", + "src": "3121:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3109:3:17", + "nodeType": "YulIdentifier", + "src": "3109:3:17" + }, + "nativeSrc": "3109:15:17", + "nodeType": "YulFunctionCall", + "src": "3109:15:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3130:2:17", + "nodeType": "YulLiteral", + "src": "3130:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "3126:3:17", + "nodeType": "YulIdentifier", + "src": "3126:3:17" + }, + "nativeSrc": "3126:7:17", + "nodeType": "YulFunctionCall", + "src": "3126:7:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "3105:3:17", + "nodeType": "YulIdentifier", + "src": "3105:3:17" + }, + "nativeSrc": "3105:29:17", + "nodeType": "YulFunctionCall", + "src": "3105:29:17" + }, + { + "kind": "number", + "nativeSrc": "3136:4:17", + "nodeType": "YulLiteral", + "src": "3136:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3101:3:17", + "nodeType": "YulIdentifier", + "src": "3101:3:17" + }, + "nativeSrc": "3101:40:17", + "nodeType": "YulFunctionCall", + "src": "3101:40:17" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "3093:4:17", + "nodeType": "YulIdentifier", + "src": "3093:4:17" + } + ] + } + ] + }, + "name": "array_allocation_size_string", + "nativeSrc": "2960:187:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "2998:6:17", + "nodeType": "YulTypedName", + "src": "2998:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "3009:4:17", + "nodeType": "YulTypedName", + "src": "3009:4:17", + "type": "" + } + ], + "src": "2960:187:17" + }, + { + "body": { + "nativeSrc": "3227:263:17", + "nodeType": "YulBlock", + "src": "3227:263:17", + "statements": [ + { + "nativeSrc": "3237:62:17", + "nodeType": "YulAssignment", + "src": "3237:62:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "3291:6:17", + "nodeType": "YulIdentifier", + "src": "3291:6:17" + } + ], + "functionName": { + "name": "array_allocation_size_string", + "nativeSrc": "3262:28:17", + "nodeType": "YulIdentifier", + "src": "3262:28:17" + }, + "nativeSrc": "3262:36:17", + "nodeType": "YulFunctionCall", + "src": "3262:36:17" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "3246:15:17", + "nodeType": "YulIdentifier", + "src": "3246:15:17" + }, + "nativeSrc": "3246:53:17", + "nodeType": "YulFunctionCall", + "src": "3246:53:17" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "3237:5:17", + "nodeType": "YulIdentifier", + "src": "3237:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "3315:5:17", + "nodeType": "YulIdentifier", + "src": "3315:5:17" + }, + { + "name": "length", + "nativeSrc": "3322:6:17", + "nodeType": "YulIdentifier", + "src": "3322:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3308:6:17", + "nodeType": "YulIdentifier", + "src": "3308:6:17" + }, + "nativeSrc": "3308:21:17", + "nodeType": "YulFunctionCall", + "src": "3308:21:17" + }, + "nativeSrc": "3308:21:17", + "nodeType": "YulExpressionStatement", + "src": "3308:21:17" + }, + { + "body": { + "nativeSrc": "3367:16:17", + "nodeType": "YulBlock", + "src": "3367:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3376:1:17", + "nodeType": "YulLiteral", + "src": "3376:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3379:1:17", + "nodeType": "YulLiteral", + "src": "3379:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3369:6:17", + "nodeType": "YulIdentifier", + "src": "3369:6:17" + }, + "nativeSrc": "3369:12:17", + "nodeType": "YulFunctionCall", + "src": "3369:12:17" + }, + "nativeSrc": "3369:12:17", + "nodeType": "YulExpressionStatement", + "src": "3369:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "3348:3:17", + "nodeType": "YulIdentifier", + "src": "3348:3:17" + }, + { + "name": "length", + "nativeSrc": "3353:6:17", + "nodeType": "YulIdentifier", + "src": "3353:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3344:3:17", + "nodeType": "YulIdentifier", + "src": "3344:3:17" + }, + "nativeSrc": "3344:16:17", + "nodeType": "YulFunctionCall", + "src": "3344:16:17" + }, + { + "name": "end", + "nativeSrc": "3362:3:17", + "nodeType": "YulIdentifier", + "src": "3362:3:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3341:2:17", + "nodeType": "YulIdentifier", + "src": "3341:2:17" + }, + "nativeSrc": "3341:25:17", + "nodeType": "YulFunctionCall", + "src": "3341:25:17" + }, + "nativeSrc": "3338:45:17", + "nodeType": "YulIf", + "src": "3338:45:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "array", + "nativeSrc": "3409:5:17", + "nodeType": "YulIdentifier", + "src": "3409:5:17" + }, + { + "kind": "number", + "nativeSrc": "3416:4:17", + "nodeType": "YulLiteral", + "src": "3416:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3405:3:17", + "nodeType": "YulIdentifier", + "src": "3405:3:17" + }, + "nativeSrc": "3405:16:17", + "nodeType": "YulFunctionCall", + "src": "3405:16:17" + }, + { + "name": "src", + "nativeSrc": "3423:3:17", + "nodeType": "YulIdentifier", + "src": "3423:3:17" + }, + { + "name": "length", + "nativeSrc": "3428:6:17", + "nodeType": "YulIdentifier", + "src": "3428:6:17" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "3392:12:17", + "nodeType": "YulIdentifier", + "src": "3392:12:17" + }, + "nativeSrc": "3392:43:17", + "nodeType": "YulFunctionCall", + "src": "3392:43:17" + }, + "nativeSrc": "3392:43:17", + "nodeType": "YulExpressionStatement", + "src": "3392:43:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "array", + "nativeSrc": "3459:5:17", + "nodeType": "YulIdentifier", + "src": "3459:5:17" + }, + { + "name": "length", + "nativeSrc": "3466:6:17", + "nodeType": "YulIdentifier", + "src": "3466:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3455:3:17", + "nodeType": "YulIdentifier", + "src": "3455:3:17" + }, + "nativeSrc": "3455:18:17", + "nodeType": "YulFunctionCall", + "src": "3455:18:17" + }, + { + "kind": "number", + "nativeSrc": "3475:4:17", + "nodeType": "YulLiteral", + "src": "3475:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3451:3:17", + "nodeType": "YulIdentifier", + "src": "3451:3:17" + }, + "nativeSrc": "3451:29:17", + "nodeType": "YulFunctionCall", + "src": "3451:29:17" + }, + { + "kind": "number", + "nativeSrc": "3482:1:17", + "nodeType": "YulLiteral", + "src": "3482:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3444:6:17", + "nodeType": "YulIdentifier", + "src": "3444:6:17" + }, + "nativeSrc": "3444:40:17", + "nodeType": "YulFunctionCall", + "src": "3444:40:17" + }, + "nativeSrc": "3444:40:17", + "nodeType": "YulExpressionStatement", + "src": "3444:40:17" + } + ] + }, + "name": "abi_decode_available_length_string", + "nativeSrc": "3152:338:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "3196:3:17", + "nodeType": "YulTypedName", + "src": "3196:3:17", + "type": "" + }, + { + "name": "length", + "nativeSrc": "3201:6:17", + "nodeType": "YulTypedName", + "src": "3201:6:17", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3209:3:17", + "nodeType": "YulTypedName", + "src": "3209:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "3217:5:17", + "nodeType": "YulTypedName", + "src": "3217:5:17", + "type": "" + } + ], + "src": "3152:338:17" + }, + { + "body": { + "nativeSrc": "3548:169:17", + "nodeType": "YulBlock", + "src": "3548:169:17", + "statements": [ + { + "body": { + "nativeSrc": "3597:16:17", + "nodeType": "YulBlock", + "src": "3597:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3606:1:17", + "nodeType": "YulLiteral", + "src": "3606:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3609:1:17", + "nodeType": "YulLiteral", + "src": "3609:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3599:6:17", + "nodeType": "YulIdentifier", + "src": "3599:6:17" + }, + "nativeSrc": "3599:12:17", + "nodeType": "YulFunctionCall", + "src": "3599:12:17" + }, + "nativeSrc": "3599:12:17", + "nodeType": "YulExpressionStatement", + "src": "3599:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3576:6:17", + "nodeType": "YulIdentifier", + "src": "3576:6:17" + }, + { + "kind": "number", + "nativeSrc": "3584:4:17", + "nodeType": "YulLiteral", + "src": "3584:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3572:3:17", + "nodeType": "YulIdentifier", + "src": "3572:3:17" + }, + "nativeSrc": "3572:17:17", + "nodeType": "YulFunctionCall", + "src": "3572:17:17" + }, + { + "name": "end", + "nativeSrc": "3591:3:17", + "nodeType": "YulIdentifier", + "src": "3591:3:17" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3568:3:17", + "nodeType": "YulIdentifier", + "src": "3568:3:17" + }, + "nativeSrc": "3568:27:17", + "nodeType": "YulFunctionCall", + "src": "3568:27:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3561:6:17", + "nodeType": "YulIdentifier", + "src": "3561:6:17" + }, + "nativeSrc": "3561:35:17", + "nodeType": "YulFunctionCall", + "src": "3561:35:17" + }, + "nativeSrc": "3558:55:17", + "nodeType": "YulIf", + "src": "3558:55:17" + }, + { + "nativeSrc": "3622:89:17", + "nodeType": "YulAssignment", + "src": "3622:89:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3670:6:17", + "nodeType": "YulIdentifier", + "src": "3670:6:17" + }, + { + "kind": "number", + "nativeSrc": "3678:4:17", + "nodeType": "YulLiteral", + "src": "3678:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3666:3:17", + "nodeType": "YulIdentifier", + "src": "3666:3:17" + }, + "nativeSrc": "3666:17:17", + "nodeType": "YulFunctionCall", + "src": "3666:17:17" + }, + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3698:6:17", + "nodeType": "YulIdentifier", + "src": "3698:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3685:12:17", + "nodeType": "YulIdentifier", + "src": "3685:12:17" + }, + "nativeSrc": "3685:20:17", + "nodeType": "YulFunctionCall", + "src": "3685:20:17" + }, + { + "name": "end", + "nativeSrc": "3707:3:17", + "nodeType": "YulIdentifier", + "src": "3707:3:17" + } + ], + "functionName": { + "name": "abi_decode_available_length_string", + "nativeSrc": "3631:34:17", + "nodeType": "YulIdentifier", + "src": "3631:34:17" + }, + "nativeSrc": "3631:80:17", + "nodeType": "YulFunctionCall", + "src": "3631:80:17" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "3622:5:17", + "nodeType": "YulIdentifier", + "src": "3622:5:17" + } + ] + } + ] + }, + "name": "abi_decode_string", + "nativeSrc": "3495:222:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "3522:6:17", + "nodeType": "YulTypedName", + "src": "3522:6:17", + "type": "" + }, + { + "name": "end", + "nativeSrc": "3530:3:17", + "nodeType": "YulTypedName", + "src": "3530:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "3538:5:17", + "nodeType": "YulTypedName", + "src": "3538:5:17", + "type": "" + } + ], + "src": "3495:222:17" + }, + { + "body": { + "nativeSrc": "3907:905:17", + "nodeType": "YulBlock", + "src": "3907:905:17", + "statements": [ + { + "body": { + "nativeSrc": "3954:16:17", + "nodeType": "YulBlock", + "src": "3954:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3963:1:17", + "nodeType": "YulLiteral", + "src": "3963:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3966:1:17", + "nodeType": "YulLiteral", + "src": "3966:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3956:6:17", + "nodeType": "YulIdentifier", + "src": "3956:6:17" + }, + "nativeSrc": "3956:12:17", + "nodeType": "YulFunctionCall", + "src": "3956:12:17" + }, + "nativeSrc": "3956:12:17", + "nodeType": "YulExpressionStatement", + "src": "3956:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "3928:7:17", + "nodeType": "YulIdentifier", + "src": "3928:7:17" + }, + { + "name": "headStart", + "nativeSrc": "3937:9:17", + "nodeType": "YulIdentifier", + "src": "3937:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3924:3:17", + "nodeType": "YulIdentifier", + "src": "3924:3:17" + }, + "nativeSrc": "3924:23:17", + "nodeType": "YulFunctionCall", + "src": "3924:23:17" + }, + { + "kind": "number", + "nativeSrc": "3949:3:17", + "nodeType": "YulLiteral", + "src": "3949:3:17", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3920:3:17", + "nodeType": "YulIdentifier", + "src": "3920:3:17" + }, + "nativeSrc": "3920:33:17", + "nodeType": "YulFunctionCall", + "src": "3920:33:17" + }, + "nativeSrc": "3917:53:17", + "nodeType": "YulIf", + "src": "3917:53:17" + }, + { + "nativeSrc": "3979:36:17", + "nodeType": "YulVariableDeclaration", + "src": "3979:36:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4005:9:17", + "nodeType": "YulIdentifier", + "src": "4005:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3992:12:17", + "nodeType": "YulIdentifier", + "src": "3992:12:17" + }, + "nativeSrc": "3992:23:17", + "nodeType": "YulFunctionCall", + "src": "3992:23:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "3983:5:17", + "nodeType": "YulTypedName", + "src": "3983:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "4049:5:17", + "nodeType": "YulIdentifier", + "src": "4049:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "4024:24:17", + "nodeType": "YulIdentifier", + "src": "4024:24:17" + }, + "nativeSrc": "4024:31:17", + "nodeType": "YulFunctionCall", + "src": "4024:31:17" + }, + "nativeSrc": "4024:31:17", + "nodeType": "YulExpressionStatement", + "src": "4024:31:17" + }, + { + "nativeSrc": "4064:15:17", + "nodeType": "YulAssignment", + "src": "4064:15:17", + "value": { + "name": "value", + "nativeSrc": "4074:5:17", + "nodeType": "YulIdentifier", + "src": "4074:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4064:6:17", + "nodeType": "YulIdentifier", + "src": "4064:6:17" + } + ] + }, + { + "nativeSrc": "4088:46:17", + "nodeType": "YulVariableDeclaration", + "src": "4088:46:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4119:9:17", + "nodeType": "YulIdentifier", + "src": "4119:9:17" + }, + { + "kind": "number", + "nativeSrc": "4130:2:17", + "nodeType": "YulLiteral", + "src": "4130:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4115:3:17", + "nodeType": "YulIdentifier", + "src": "4115:3:17" + }, + "nativeSrc": "4115:18:17", + "nodeType": "YulFunctionCall", + "src": "4115:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "4102:12:17", + "nodeType": "YulIdentifier", + "src": "4102:12:17" + }, + "nativeSrc": "4102:32:17", + "nodeType": "YulFunctionCall", + "src": "4102:32:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4092:6:17", + "nodeType": "YulTypedName", + "src": "4092:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "4143:28:17", + "nodeType": "YulVariableDeclaration", + "src": "4143:28:17", + "value": { + "kind": "number", + "nativeSrc": "4153:18:17", + "nodeType": "YulLiteral", + "src": "4153:18:17", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "4147:2:17", + "nodeType": "YulTypedName", + "src": "4147:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4198:16:17", + "nodeType": "YulBlock", + "src": "4198:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4207:1:17", + "nodeType": "YulLiteral", + "src": "4207:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4210:1:17", + "nodeType": "YulLiteral", + "src": "4210:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4200:6:17", + "nodeType": "YulIdentifier", + "src": "4200:6:17" + }, + "nativeSrc": "4200:12:17", + "nodeType": "YulFunctionCall", + "src": "4200:12:17" + }, + "nativeSrc": "4200:12:17", + "nodeType": "YulExpressionStatement", + "src": "4200:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "4186:6:17", + "nodeType": "YulIdentifier", + "src": "4186:6:17" + }, + { + "name": "_1", + "nativeSrc": "4194:2:17", + "nodeType": "YulIdentifier", + "src": "4194:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4183:2:17", + "nodeType": "YulIdentifier", + "src": "4183:2:17" + }, + "nativeSrc": "4183:14:17", + "nodeType": "YulFunctionCall", + "src": "4183:14:17" + }, + "nativeSrc": "4180:34:17", + "nodeType": "YulIf", + "src": "4180:34:17" + }, + { + "nativeSrc": "4223:60:17", + "nodeType": "YulAssignment", + "src": "4223:60:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4255:9:17", + "nodeType": "YulIdentifier", + "src": "4255:9:17" + }, + { + "name": "offset", + "nativeSrc": "4266:6:17", + "nodeType": "YulIdentifier", + "src": "4266:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4251:3:17", + "nodeType": "YulIdentifier", + "src": "4251:3:17" + }, + "nativeSrc": "4251:22:17", + "nodeType": "YulFunctionCall", + "src": "4251:22:17" + }, + { + "name": "dataEnd", + "nativeSrc": "4275:7:17", + "nodeType": "YulIdentifier", + "src": "4275:7:17" + } + ], + "functionName": { + "name": "abi_decode_string", + "nativeSrc": "4233:17:17", + "nodeType": "YulIdentifier", + "src": "4233:17:17" + }, + "nativeSrc": "4233:50:17", + "nodeType": "YulFunctionCall", + "src": "4233:50:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4223:6:17", + "nodeType": "YulIdentifier", + "src": "4223:6:17" + } + ] + }, + { + "nativeSrc": "4292:48:17", + "nodeType": "YulVariableDeclaration", + "src": "4292:48:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4325:9:17", + "nodeType": "YulIdentifier", + "src": "4325:9:17" + }, + { + "kind": "number", + "nativeSrc": "4336:2:17", + "nodeType": "YulLiteral", + "src": "4336:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4321:3:17", + "nodeType": "YulIdentifier", + "src": "4321:3:17" + }, + "nativeSrc": "4321:18:17", + "nodeType": "YulFunctionCall", + "src": "4321:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "4308:12:17", + "nodeType": "YulIdentifier", + "src": "4308:12:17" + }, + "nativeSrc": "4308:32:17", + "nodeType": "YulFunctionCall", + "src": "4308:32:17" + }, + "variables": [ + { + "name": "offset_1", + "nativeSrc": "4296:8:17", + "nodeType": "YulTypedName", + "src": "4296:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4369:16:17", + "nodeType": "YulBlock", + "src": "4369:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4378:1:17", + "nodeType": "YulLiteral", + "src": "4378:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4381:1:17", + "nodeType": "YulLiteral", + "src": "4381:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4371:6:17", + "nodeType": "YulIdentifier", + "src": "4371:6:17" + }, + "nativeSrc": "4371:12:17", + "nodeType": "YulFunctionCall", + "src": "4371:12:17" + }, + "nativeSrc": "4371:12:17", + "nodeType": "YulExpressionStatement", + "src": "4371:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nativeSrc": "4355:8:17", + "nodeType": "YulIdentifier", + "src": "4355:8:17" + }, + { + "name": "_1", + "nativeSrc": "4365:2:17", + "nodeType": "YulIdentifier", + "src": "4365:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4352:2:17", + "nodeType": "YulIdentifier", + "src": "4352:2:17" + }, + "nativeSrc": "4352:16:17", + "nodeType": "YulFunctionCall", + "src": "4352:16:17" + }, + "nativeSrc": "4349:36:17", + "nodeType": "YulIf", + "src": "4349:36:17" + }, + { + "nativeSrc": "4394:62:17", + "nodeType": "YulAssignment", + "src": "4394:62:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4426:9:17", + "nodeType": "YulIdentifier", + "src": "4426:9:17" + }, + { + "name": "offset_1", + "nativeSrc": "4437:8:17", + "nodeType": "YulIdentifier", + "src": "4437:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4422:3:17", + "nodeType": "YulIdentifier", + "src": "4422:3:17" + }, + "nativeSrc": "4422:24:17", + "nodeType": "YulFunctionCall", + "src": "4422:24:17" + }, + { + "name": "dataEnd", + "nativeSrc": "4448:7:17", + "nodeType": "YulIdentifier", + "src": "4448:7:17" + } + ], + "functionName": { + "name": "abi_decode_string", + "nativeSrc": "4404:17:17", + "nodeType": "YulIdentifier", + "src": "4404:17:17" + }, + "nativeSrc": "4404:52:17", + "nodeType": "YulFunctionCall", + "src": "4404:52:17" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4394:6:17", + "nodeType": "YulIdentifier", + "src": "4394:6:17" + } + ] + }, + { + "nativeSrc": "4465:48:17", + "nodeType": "YulVariableDeclaration", + "src": "4465:48:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4498:9:17", + "nodeType": "YulIdentifier", + "src": "4498:9:17" + }, + { + "kind": "number", + "nativeSrc": "4509:2:17", + "nodeType": "YulLiteral", + "src": "4509:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4494:3:17", + "nodeType": "YulIdentifier", + "src": "4494:3:17" + }, + "nativeSrc": "4494:18:17", + "nodeType": "YulFunctionCall", + "src": "4494:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "4481:12:17", + "nodeType": "YulIdentifier", + "src": "4481:12:17" + }, + "nativeSrc": "4481:32:17", + "nodeType": "YulFunctionCall", + "src": "4481:32:17" + }, + "variables": [ + { + "name": "offset_2", + "nativeSrc": "4469:8:17", + "nodeType": "YulTypedName", + "src": "4469:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4542:16:17", + "nodeType": "YulBlock", + "src": "4542:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4551:1:17", + "nodeType": "YulLiteral", + "src": "4551:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4554:1:17", + "nodeType": "YulLiteral", + "src": "4554:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4544:6:17", + "nodeType": "YulIdentifier", + "src": "4544:6:17" + }, + "nativeSrc": "4544:12:17", + "nodeType": "YulFunctionCall", + "src": "4544:12:17" + }, + "nativeSrc": "4544:12:17", + "nodeType": "YulExpressionStatement", + "src": "4544:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nativeSrc": "4528:8:17", + "nodeType": "YulIdentifier", + "src": "4528:8:17" + }, + { + "name": "_1", + "nativeSrc": "4538:2:17", + "nodeType": "YulIdentifier", + "src": "4538:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4525:2:17", + "nodeType": "YulIdentifier", + "src": "4525:2:17" + }, + "nativeSrc": "4525:16:17", + "nodeType": "YulFunctionCall", + "src": "4525:16:17" + }, + "nativeSrc": "4522:36:17", + "nodeType": "YulIf", + "src": "4522:36:17" + }, + { + "nativeSrc": "4567:62:17", + "nodeType": "YulAssignment", + "src": "4567:62:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4599:9:17", + "nodeType": "YulIdentifier", + "src": "4599:9:17" + }, + { + "name": "offset_2", + "nativeSrc": "4610:8:17", + "nodeType": "YulIdentifier", + "src": "4610:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4595:3:17", + "nodeType": "YulIdentifier", + "src": "4595:3:17" + }, + "nativeSrc": "4595:24:17", + "nodeType": "YulFunctionCall", + "src": "4595:24:17" + }, + { + "name": "dataEnd", + "nativeSrc": "4621:7:17", + "nodeType": "YulIdentifier", + "src": "4621:7:17" + } + ], + "functionName": { + "name": "abi_decode_string", + "nativeSrc": "4577:17:17", + "nodeType": "YulIdentifier", + "src": "4577:17:17" + }, + "nativeSrc": "4577:52:17", + "nodeType": "YulFunctionCall", + "src": "4577:52:17" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "4567:6:17", + "nodeType": "YulIdentifier", + "src": "4567:6:17" + } + ] + }, + { + "nativeSrc": "4638:43:17", + "nodeType": "YulAssignment", + "src": "4638:43:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4665:9:17", + "nodeType": "YulIdentifier", + "src": "4665:9:17" + }, + { + "kind": "number", + "nativeSrc": "4676:3:17", + "nodeType": "YulLiteral", + "src": "4676:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4661:3:17", + "nodeType": "YulIdentifier", + "src": "4661:3:17" + }, + "nativeSrc": "4661:19:17", + "nodeType": "YulFunctionCall", + "src": "4661:19:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "4648:12:17", + "nodeType": "YulIdentifier", + "src": "4648:12:17" + }, + "nativeSrc": "4648:33:17", + "nodeType": "YulFunctionCall", + "src": "4648:33:17" + }, + "variableNames": [ + { + "name": "value4", + "nativeSrc": "4638:6:17", + "nodeType": "YulIdentifier", + "src": "4638:6:17" + } + ] + }, + { + "nativeSrc": "4690:48:17", + "nodeType": "YulVariableDeclaration", + "src": "4690:48:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4722:9:17", + "nodeType": "YulIdentifier", + "src": "4722:9:17" + }, + { + "kind": "number", + "nativeSrc": "4733:3:17", + "nodeType": "YulLiteral", + "src": "4733:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4718:3:17", + "nodeType": "YulIdentifier", + "src": "4718:3:17" + }, + "nativeSrc": "4718:19:17", + "nodeType": "YulFunctionCall", + "src": "4718:19:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "4705:12:17", + "nodeType": "YulIdentifier", + "src": "4705:12:17" + }, + "nativeSrc": "4705:33:17", + "nodeType": "YulFunctionCall", + "src": "4705:33:17" + }, + "variables": [ + { + "name": "value_1", + "nativeSrc": "4694:7:17", + "nodeType": "YulTypedName", + "src": "4694:7:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value_1", + "nativeSrc": "4772:7:17", + "nodeType": "YulIdentifier", + "src": "4772:7:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "4747:24:17", + "nodeType": "YulIdentifier", + "src": "4747:24:17" + }, + "nativeSrc": "4747:33:17", + "nodeType": "YulFunctionCall", + "src": "4747:33:17" + }, + "nativeSrc": "4747:33:17", + "nodeType": "YulExpressionStatement", + "src": "4747:33:17" + }, + { + "nativeSrc": "4789:17:17", + "nodeType": "YulAssignment", + "src": "4789:17:17", + "value": { + "name": "value_1", + "nativeSrc": "4799:7:17", + "nodeType": "YulIdentifier", + "src": "4799:7:17" + }, + "variableNames": [ + { + "name": "value5", + "nativeSrc": "4789:6:17", + "nodeType": "YulIdentifier", + "src": "4789:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_uint256t_address", + "nativeSrc": "3722:1090:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3833:9:17", + "nodeType": "YulTypedName", + "src": "3833:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "3844:7:17", + "nodeType": "YulTypedName", + "src": "3844:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "3856:6:17", + "nodeType": "YulTypedName", + "src": "3856:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "3864:6:17", + "nodeType": "YulTypedName", + "src": "3864:6:17", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "3872:6:17", + "nodeType": "YulTypedName", + "src": "3872:6:17", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "3880:6:17", + "nodeType": "YulTypedName", + "src": "3880:6:17", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "3888:6:17", + "nodeType": "YulTypedName", + "src": "3888:6:17", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "3896:6:17", + "nodeType": "YulTypedName", + "src": "3896:6:17", + "type": "" + } + ], + "src": "3722:1090:17" + }, + { + "body": { + "nativeSrc": "4918:76:17", + "nodeType": "YulBlock", + "src": "4918:76:17", + "statements": [ + { + "nativeSrc": "4928:26:17", + "nodeType": "YulAssignment", + "src": "4928:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4940:9:17", + "nodeType": "YulIdentifier", + "src": "4940:9:17" + }, + { + "kind": "number", + "nativeSrc": "4951:2:17", + "nodeType": "YulLiteral", + "src": "4951:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4936:3:17", + "nodeType": "YulIdentifier", + "src": "4936:3:17" + }, + "nativeSrc": "4936:18:17", + "nodeType": "YulFunctionCall", + "src": "4936:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4928:4:17", + "nodeType": "YulIdentifier", + "src": "4928:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4970:9:17", + "nodeType": "YulIdentifier", + "src": "4970:9:17" + }, + { + "name": "value0", + "nativeSrc": "4981:6:17", + "nodeType": "YulIdentifier", + "src": "4981:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4963:6:17", + "nodeType": "YulIdentifier", + "src": "4963:6:17" + }, + "nativeSrc": "4963:25:17", + "nodeType": "YulFunctionCall", + "src": "4963:25:17" + }, + "nativeSrc": "4963:25:17", + "nodeType": "YulExpressionStatement", + "src": "4963:25:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "4817:177:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4887:9:17", + "nodeType": "YulTypedName", + "src": "4887:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4898:6:17", + "nodeType": "YulTypedName", + "src": "4898:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4909:4:17", + "nodeType": "YulTypedName", + "src": "4909:4:17", + "type": "" + } + ], + "src": "4817:177:17" + }, + { + "body": { + "nativeSrc": "5146:301:17", + "nodeType": "YulBlock", + "src": "5146:301:17", + "statements": [ + { + "body": { + "nativeSrc": "5192:16:17", + "nodeType": "YulBlock", + "src": "5192:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5201:1:17", + "nodeType": "YulLiteral", + "src": "5201:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5204:1:17", + "nodeType": "YulLiteral", + "src": "5204:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5194:6:17", + "nodeType": "YulIdentifier", + "src": "5194:6:17" + }, + "nativeSrc": "5194:12:17", + "nodeType": "YulFunctionCall", + "src": "5194:12:17" + }, + "nativeSrc": "5194:12:17", + "nodeType": "YulExpressionStatement", + "src": "5194:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5167:7:17", + "nodeType": "YulIdentifier", + "src": "5167:7:17" + }, + { + "name": "headStart", + "nativeSrc": "5176:9:17", + "nodeType": "YulIdentifier", + "src": "5176:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5163:3:17", + "nodeType": "YulIdentifier", + "src": "5163:3:17" + }, + "nativeSrc": "5163:23:17", + "nodeType": "YulFunctionCall", + "src": "5163:23:17" + }, + { + "kind": "number", + "nativeSrc": "5188:2:17", + "nodeType": "YulLiteral", + "src": "5188:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5159:3:17", + "nodeType": "YulIdentifier", + "src": "5159:3:17" + }, + "nativeSrc": "5159:32:17", + "nodeType": "YulFunctionCall", + "src": "5159:32:17" + }, + "nativeSrc": "5156:52:17", + "nodeType": "YulIf", + "src": "5156:52:17" + }, + { + "nativeSrc": "5217:36:17", + "nodeType": "YulVariableDeclaration", + "src": "5217:36:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5243:9:17", + "nodeType": "YulIdentifier", + "src": "5243:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5230:12:17", + "nodeType": "YulIdentifier", + "src": "5230:12:17" + }, + "nativeSrc": "5230:23:17", + "nodeType": "YulFunctionCall", + "src": "5230:23:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "5221:5:17", + "nodeType": "YulTypedName", + "src": "5221:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5287:5:17", + "nodeType": "YulIdentifier", + "src": "5287:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "5262:24:17", + "nodeType": "YulIdentifier", + "src": "5262:24:17" + }, + "nativeSrc": "5262:31:17", + "nodeType": "YulFunctionCall", + "src": "5262:31:17" + }, + "nativeSrc": "5262:31:17", + "nodeType": "YulExpressionStatement", + "src": "5262:31:17" + }, + { + "nativeSrc": "5302:15:17", + "nodeType": "YulAssignment", + "src": "5302:15:17", + "value": { + "name": "value", + "nativeSrc": "5312:5:17", + "nodeType": "YulIdentifier", + "src": "5312:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5302:6:17", + "nodeType": "YulIdentifier", + "src": "5302:6:17" + } + ] + }, + { + "nativeSrc": "5326:47:17", + "nodeType": "YulVariableDeclaration", + "src": "5326:47:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5358:9:17", + "nodeType": "YulIdentifier", + "src": "5358:9:17" + }, + { + "kind": "number", + "nativeSrc": "5369:2:17", + "nodeType": "YulLiteral", + "src": "5369:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5354:3:17", + "nodeType": "YulIdentifier", + "src": "5354:3:17" + }, + "nativeSrc": "5354:18:17", + "nodeType": "YulFunctionCall", + "src": "5354:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5341:12:17", + "nodeType": "YulIdentifier", + "src": "5341:12:17" + }, + "nativeSrc": "5341:32:17", + "nodeType": "YulFunctionCall", + "src": "5341:32:17" + }, + "variables": [ + { + "name": "value_1", + "nativeSrc": "5330:7:17", + "nodeType": "YulTypedName", + "src": "5330:7:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value_1", + "nativeSrc": "5407:7:17", + "nodeType": "YulIdentifier", + "src": "5407:7:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "5382:24:17", + "nodeType": "YulIdentifier", + "src": "5382:24:17" + }, + "nativeSrc": "5382:33:17", + "nodeType": "YulFunctionCall", + "src": "5382:33:17" + }, + "nativeSrc": "5382:33:17", + "nodeType": "YulExpressionStatement", + "src": "5382:33:17" + }, + { + "nativeSrc": "5424:17:17", + "nodeType": "YulAssignment", + "src": "5424:17:17", + "value": { + "name": "value_1", + "nativeSrc": "5434:7:17", + "nodeType": "YulIdentifier", + "src": "5434:7:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "5424:6:17", + "nodeType": "YulIdentifier", + "src": "5424:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_contract$_IAgentRegistryV1_$3258t_contract$_ServiceRegistryUpgradeable_$2577", + "nativeSrc": "4999:448:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5104:9:17", + "nodeType": "YulTypedName", + "src": "5104:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5115:7:17", + "nodeType": "YulTypedName", + "src": "5115:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "5127:6:17", + "nodeType": "YulTypedName", + "src": "5127:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "5135:6:17", + "nodeType": "YulTypedName", + "src": "5135:6:17", + "type": "" + } + ], + "src": "4999:448:17" + }, + { + "body": { + "nativeSrc": "5548:489:17", + "nodeType": "YulBlock", + "src": "5548:489:17", + "statements": [ + { + "body": { + "nativeSrc": "5594:16:17", + "nodeType": "YulBlock", + "src": "5594:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5603:1:17", + "nodeType": "YulLiteral", + "src": "5603:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5606:1:17", + "nodeType": "YulLiteral", + "src": "5606:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5596:6:17", + "nodeType": "YulIdentifier", + "src": "5596:6:17" + }, + "nativeSrc": "5596:12:17", + "nodeType": "YulFunctionCall", + "src": "5596:12:17" + }, + "nativeSrc": "5596:12:17", + "nodeType": "YulExpressionStatement", + "src": "5596:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5569:7:17", + "nodeType": "YulIdentifier", + "src": "5569:7:17" + }, + { + "name": "headStart", + "nativeSrc": "5578:9:17", + "nodeType": "YulIdentifier", + "src": "5578:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5565:3:17", + "nodeType": "YulIdentifier", + "src": "5565:3:17" + }, + "nativeSrc": "5565:23:17", + "nodeType": "YulFunctionCall", + "src": "5565:23:17" + }, + { + "kind": "number", + "nativeSrc": "5590:2:17", + "nodeType": "YulLiteral", + "src": "5590:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5561:3:17", + "nodeType": "YulIdentifier", + "src": "5561:3:17" + }, + "nativeSrc": "5561:32:17", + "nodeType": "YulFunctionCall", + "src": "5561:32:17" + }, + "nativeSrc": "5558:52:17", + "nodeType": "YulIf", + "src": "5558:52:17" + }, + { + "nativeSrc": "5619:36:17", + "nodeType": "YulVariableDeclaration", + "src": "5619:36:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5645:9:17", + "nodeType": "YulIdentifier", + "src": "5645:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5632:12:17", + "nodeType": "YulIdentifier", + "src": "5632:12:17" + }, + "nativeSrc": "5632:23:17", + "nodeType": "YulFunctionCall", + "src": "5632:23:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "5623:5:17", + "nodeType": "YulTypedName", + "src": "5623:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5689:5:17", + "nodeType": "YulIdentifier", + "src": "5689:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "5664:24:17", + "nodeType": "YulIdentifier", + "src": "5664:24:17" + }, + "nativeSrc": "5664:31:17", + "nodeType": "YulFunctionCall", + "src": "5664:31:17" + }, + "nativeSrc": "5664:31:17", + "nodeType": "YulExpressionStatement", + "src": "5664:31:17" + }, + { + "nativeSrc": "5704:15:17", + "nodeType": "YulAssignment", + "src": "5704:15:17", + "value": { + "name": "value", + "nativeSrc": "5714:5:17", + "nodeType": "YulIdentifier", + "src": "5714:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5704:6:17", + "nodeType": "YulIdentifier", + "src": "5704:6:17" + } + ] + }, + { + "nativeSrc": "5728:46:17", + "nodeType": "YulVariableDeclaration", + "src": "5728:46:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5759:9:17", + "nodeType": "YulIdentifier", + "src": "5759:9:17" + }, + { + "kind": "number", + "nativeSrc": "5770:2:17", + "nodeType": "YulLiteral", + "src": "5770:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5755:3:17", + "nodeType": "YulIdentifier", + "src": "5755:3:17" + }, + "nativeSrc": "5755:18:17", + "nodeType": "YulFunctionCall", + "src": "5755:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5742:12:17", + "nodeType": "YulIdentifier", + "src": "5742:12:17" + }, + "nativeSrc": "5742:32:17", + "nodeType": "YulFunctionCall", + "src": "5742:32:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5732:6:17", + "nodeType": "YulTypedName", + "src": "5732:6:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5817:16:17", + "nodeType": "YulBlock", + "src": "5817:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5826:1:17", + "nodeType": "YulLiteral", + "src": "5826:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5829:1:17", + "nodeType": "YulLiteral", + "src": "5829:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5819:6:17", + "nodeType": "YulIdentifier", + "src": "5819:6:17" + }, + "nativeSrc": "5819:12:17", + "nodeType": "YulFunctionCall", + "src": "5819:12:17" + }, + "nativeSrc": "5819:12:17", + "nodeType": "YulExpressionStatement", + "src": "5819:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5789:6:17", + "nodeType": "YulIdentifier", + "src": "5789:6:17" + }, + { + "kind": "number", + "nativeSrc": "5797:18:17", + "nodeType": "YulLiteral", + "src": "5797:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5786:2:17", + "nodeType": "YulIdentifier", + "src": "5786:2:17" + }, + "nativeSrc": "5786:30:17", + "nodeType": "YulFunctionCall", + "src": "5786:30:17" + }, + "nativeSrc": "5783:50:17", + "nodeType": "YulIf", + "src": "5783:50:17" + }, + { + "nativeSrc": "5842:32:17", + "nodeType": "YulVariableDeclaration", + "src": "5842:32:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5856:9:17", + "nodeType": "YulIdentifier", + "src": "5856:9:17" + }, + { + "name": "offset", + "nativeSrc": "5867:6:17", + "nodeType": "YulIdentifier", + "src": "5867:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5852:3:17", + "nodeType": "YulIdentifier", + "src": "5852:3:17" + }, + "nativeSrc": "5852:22:17", + "nodeType": "YulFunctionCall", + "src": "5852:22:17" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "5846:2:17", + "nodeType": "YulTypedName", + "src": "5846:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5922:16:17", + "nodeType": "YulBlock", + "src": "5922:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5931:1:17", + "nodeType": "YulLiteral", + "src": "5931:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5934:1:17", + "nodeType": "YulLiteral", + "src": "5934:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5924:6:17", + "nodeType": "YulIdentifier", + "src": "5924:6:17" + }, + "nativeSrc": "5924:12:17", + "nodeType": "YulFunctionCall", + "src": "5924:12:17" + }, + "nativeSrc": "5924:12:17", + "nodeType": "YulExpressionStatement", + "src": "5924:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nativeSrc": "5901:2:17", + "nodeType": "YulIdentifier", + "src": "5901:2:17" + }, + { + "kind": "number", + "nativeSrc": "5905:4:17", + "nodeType": "YulLiteral", + "src": "5905:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5897:3:17", + "nodeType": "YulIdentifier", + "src": "5897:3:17" + }, + "nativeSrc": "5897:13:17", + "nodeType": "YulFunctionCall", + "src": "5897:13:17" + }, + { + "name": "dataEnd", + "nativeSrc": "5912:7:17", + "nodeType": "YulIdentifier", + "src": "5912:7:17" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5893:3:17", + "nodeType": "YulIdentifier", + "src": "5893:3:17" + }, + "nativeSrc": "5893:27:17", + "nodeType": "YulFunctionCall", + "src": "5893:27:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5886:6:17", + "nodeType": "YulIdentifier", + "src": "5886:6:17" + }, + "nativeSrc": "5886:35:17", + "nodeType": "YulFunctionCall", + "src": "5886:35:17" + }, + "nativeSrc": "5883:55:17", + "nodeType": "YulIf", + "src": "5883:55:17" + }, + { + "nativeSrc": "5947:84:17", + "nodeType": "YulAssignment", + "src": "5947:84:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nativeSrc": "5996:2:17", + "nodeType": "YulIdentifier", + "src": "5996:2:17" + }, + { + "kind": "number", + "nativeSrc": "6000:2:17", + "nodeType": "YulLiteral", + "src": "6000:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5992:3:17", + "nodeType": "YulIdentifier", + "src": "5992:3:17" + }, + "nativeSrc": "5992:11:17", + "nodeType": "YulFunctionCall", + "src": "5992:11:17" + }, + { + "arguments": [ + { + "name": "_1", + "nativeSrc": "6018:2:17", + "nodeType": "YulIdentifier", + "src": "6018:2:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6005:12:17", + "nodeType": "YulIdentifier", + "src": "6005:12:17" + }, + "nativeSrc": "6005:16:17", + "nodeType": "YulFunctionCall", + "src": "6005:16:17" + }, + { + "name": "dataEnd", + "nativeSrc": "6023:7:17", + "nodeType": "YulIdentifier", + "src": "6023:7:17" + } + ], + "functionName": { + "name": "abi_decode_available_length_string", + "nativeSrc": "5957:34:17", + "nodeType": "YulIdentifier", + "src": "5957:34:17" + }, + "nativeSrc": "5957:74:17", + "nodeType": "YulFunctionCall", + "src": "5957:74:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "5947:6:17", + "nodeType": "YulIdentifier", + "src": "5947:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes_memory_ptr", + "nativeSrc": "5452:585:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5506:9:17", + "nodeType": "YulTypedName", + "src": "5506:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5517:7:17", + "nodeType": "YulTypedName", + "src": "5517:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "5529:6:17", + "nodeType": "YulTypedName", + "src": "5529:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "5537:6:17", + "nodeType": "YulTypedName", + "src": "5537:6:17", + "type": "" + } + ], + "src": "5452:585:17" + }, + { + "body": { + "nativeSrc": "6143:76:17", + "nodeType": "YulBlock", + "src": "6143:76:17", + "statements": [ + { + "nativeSrc": "6153:26:17", + "nodeType": "YulAssignment", + "src": "6153:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6165:9:17", + "nodeType": "YulIdentifier", + "src": "6165:9:17" + }, + { + "kind": "number", + "nativeSrc": "6176:2:17", + "nodeType": "YulLiteral", + "src": "6176:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6161:3:17", + "nodeType": "YulIdentifier", + "src": "6161:3:17" + }, + "nativeSrc": "6161:18:17", + "nodeType": "YulFunctionCall", + "src": "6161:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6153:4:17", + "nodeType": "YulIdentifier", + "src": "6153:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6195:9:17", + "nodeType": "YulIdentifier", + "src": "6195:9:17" + }, + { + "name": "value0", + "nativeSrc": "6206:6:17", + "nodeType": "YulIdentifier", + "src": "6206:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6188:6:17", + "nodeType": "YulIdentifier", + "src": "6188:6:17" + }, + "nativeSrc": "6188:25:17", + "nodeType": "YulFunctionCall", + "src": "6188:25:17" + }, + "nativeSrc": "6188:25:17", + "nodeType": "YulExpressionStatement", + "src": "6188:25:17" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nativeSrc": "6042:177:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6112:9:17", + "nodeType": "YulTypedName", + "src": "6112:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "6123:6:17", + "nodeType": "YulTypedName", + "src": "6123:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6134:4:17", + "nodeType": "YulTypedName", + "src": "6134:4:17", + "type": "" + } + ], + "src": "6042:177:17" + }, + { + "body": { + "nativeSrc": "6294:177:17", + "nodeType": "YulBlock", + "src": "6294:177:17", + "statements": [ + { + "body": { + "nativeSrc": "6340:16:17", + "nodeType": "YulBlock", + "src": "6340:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6349:1:17", + "nodeType": "YulLiteral", + "src": "6349:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6352:1:17", + "nodeType": "YulLiteral", + "src": "6352:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6342:6:17", + "nodeType": "YulIdentifier", + "src": "6342:6:17" + }, + "nativeSrc": "6342:12:17", + "nodeType": "YulFunctionCall", + "src": "6342:12:17" + }, + "nativeSrc": "6342:12:17", + "nodeType": "YulExpressionStatement", + "src": "6342:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6315:7:17", + "nodeType": "YulIdentifier", + "src": "6315:7:17" + }, + { + "name": "headStart", + "nativeSrc": "6324:9:17", + "nodeType": "YulIdentifier", + "src": "6324:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6311:3:17", + "nodeType": "YulIdentifier", + "src": "6311:3:17" + }, + "nativeSrc": "6311:23:17", + "nodeType": "YulFunctionCall", + "src": "6311:23:17" + }, + { + "kind": "number", + "nativeSrc": "6336:2:17", + "nodeType": "YulLiteral", + "src": "6336:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6307:3:17", + "nodeType": "YulIdentifier", + "src": "6307:3:17" + }, + "nativeSrc": "6307:32:17", + "nodeType": "YulFunctionCall", + "src": "6307:32:17" + }, + "nativeSrc": "6304:52:17", + "nodeType": "YulIf", + "src": "6304:52:17" + }, + { + "nativeSrc": "6365:36:17", + "nodeType": "YulVariableDeclaration", + "src": "6365:36:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6391:9:17", + "nodeType": "YulIdentifier", + "src": "6391:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6378:12:17", + "nodeType": "YulIdentifier", + "src": "6378:12:17" + }, + "nativeSrc": "6378:23:17", + "nodeType": "YulFunctionCall", + "src": "6378:23:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "6369:5:17", + "nodeType": "YulTypedName", + "src": "6369:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6435:5:17", + "nodeType": "YulIdentifier", + "src": "6435:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "6410:24:17", + "nodeType": "YulIdentifier", + "src": "6410:24:17" + }, + "nativeSrc": "6410:31:17", + "nodeType": "YulFunctionCall", + "src": "6410:31:17" + }, + "nativeSrc": "6410:31:17", + "nodeType": "YulExpressionStatement", + "src": "6410:31:17" + }, + { + "nativeSrc": "6450:15:17", + "nodeType": "YulAssignment", + "src": "6450:15:17", + "value": { + "name": "value", + "nativeSrc": "6460:5:17", + "nodeType": "YulIdentifier", + "src": "6460:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6450:6:17", + "nodeType": "YulIdentifier", + "src": "6450:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "6224:247:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6260:9:17", + "nodeType": "YulTypedName", + "src": "6260:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6271:7:17", + "nodeType": "YulTypedName", + "src": "6271:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6283:6:17", + "nodeType": "YulTypedName", + "src": "6283:6:17", + "type": "" + } + ], + "src": "6224:247:17" + }, + { + "body": { + "nativeSrc": "6563:228:17", + "nodeType": "YulBlock", + "src": "6563:228:17", + "statements": [ + { + "body": { + "nativeSrc": "6609:16:17", + "nodeType": "YulBlock", + "src": "6609:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6618:1:17", + "nodeType": "YulLiteral", + "src": "6618:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6621:1:17", + "nodeType": "YulLiteral", + "src": "6621:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6611:6:17", + "nodeType": "YulIdentifier", + "src": "6611:6:17" + }, + "nativeSrc": "6611:12:17", + "nodeType": "YulFunctionCall", + "src": "6611:12:17" + }, + "nativeSrc": "6611:12:17", + "nodeType": "YulExpressionStatement", + "src": "6611:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6584:7:17", + "nodeType": "YulIdentifier", + "src": "6584:7:17" + }, + { + "name": "headStart", + "nativeSrc": "6593:9:17", + "nodeType": "YulIdentifier", + "src": "6593:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6580:3:17", + "nodeType": "YulIdentifier", + "src": "6580:3:17" + }, + "nativeSrc": "6580:23:17", + "nodeType": "YulFunctionCall", + "src": "6580:23:17" + }, + { + "kind": "number", + "nativeSrc": "6605:2:17", + "nodeType": "YulLiteral", + "src": "6605:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6576:3:17", + "nodeType": "YulIdentifier", + "src": "6576:3:17" + }, + "nativeSrc": "6576:32:17", + "nodeType": "YulFunctionCall", + "src": "6576:32:17" + }, + "nativeSrc": "6573:52:17", + "nodeType": "YulIf", + "src": "6573:52:17" + }, + { + "nativeSrc": "6634:36:17", + "nodeType": "YulVariableDeclaration", + "src": "6634:36:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6660:9:17", + "nodeType": "YulIdentifier", + "src": "6660:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6647:12:17", + "nodeType": "YulIdentifier", + "src": "6647:12:17" + }, + "nativeSrc": "6647:23:17", + "nodeType": "YulFunctionCall", + "src": "6647:23:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "6638:5:17", + "nodeType": "YulTypedName", + "src": "6638:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6704:5:17", + "nodeType": "YulIdentifier", + "src": "6704:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "6679:24:17", + "nodeType": "YulIdentifier", + "src": "6679:24:17" + }, + "nativeSrc": "6679:31:17", + "nodeType": "YulFunctionCall", + "src": "6679:31:17" + }, + "nativeSrc": "6679:31:17", + "nodeType": "YulExpressionStatement", + "src": "6679:31:17" + }, + { + "nativeSrc": "6719:15:17", + "nodeType": "YulAssignment", + "src": "6719:15:17", + "value": { + "name": "value", + "nativeSrc": "6729:5:17", + "nodeType": "YulIdentifier", + "src": "6729:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6719:6:17", + "nodeType": "YulIdentifier", + "src": "6719:6:17" + } + ] + }, + { + "nativeSrc": "6743:42:17", + "nodeType": "YulAssignment", + "src": "6743:42:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6770:9:17", + "nodeType": "YulIdentifier", + "src": "6770:9:17" + }, + { + "kind": "number", + "nativeSrc": "6781:2:17", + "nodeType": "YulLiteral", + "src": "6781:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6766:3:17", + "nodeType": "YulIdentifier", + "src": "6766:3:17" + }, + "nativeSrc": "6766:18:17", + "nodeType": "YulFunctionCall", + "src": "6766:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6753:12:17", + "nodeType": "YulIdentifier", + "src": "6753:12:17" + }, + "nativeSrc": "6753:32:17", + "nodeType": "YulFunctionCall", + "src": "6753:32:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "6743:6:17", + "nodeType": "YulIdentifier", + "src": "6743:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nativeSrc": "6476:315:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6521:9:17", + "nodeType": "YulTypedName", + "src": "6521:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6532:7:17", + "nodeType": "YulTypedName", + "src": "6532:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6544:6:17", + "nodeType": "YulTypedName", + "src": "6544:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6552:6:17", + "nodeType": "YulTypedName", + "src": "6552:6:17", + "type": "" + } + ], + "src": "6476:315:17" + }, + { + "body": { + "nativeSrc": "6920:554:17", + "nodeType": "YulBlock", + "src": "6920:554:17", + "statements": [ + { + "body": { + "nativeSrc": "6966:16:17", + "nodeType": "YulBlock", + "src": "6966:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6975:1:17", + "nodeType": "YulLiteral", + "src": "6975:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6978:1:17", + "nodeType": "YulLiteral", + "src": "6978:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6968:6:17", + "nodeType": "YulIdentifier", + "src": "6968:6:17" + }, + "nativeSrc": "6968:12:17", + "nodeType": "YulFunctionCall", + "src": "6968:12:17" + }, + "nativeSrc": "6968:12:17", + "nodeType": "YulExpressionStatement", + "src": "6968:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6941:7:17", + "nodeType": "YulIdentifier", + "src": "6941:7:17" + }, + { + "name": "headStart", + "nativeSrc": "6950:9:17", + "nodeType": "YulIdentifier", + "src": "6950:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6937:3:17", + "nodeType": "YulIdentifier", + "src": "6937:3:17" + }, + "nativeSrc": "6937:23:17", + "nodeType": "YulFunctionCall", + "src": "6937:23:17" + }, + { + "kind": "number", + "nativeSrc": "6962:2:17", + "nodeType": "YulLiteral", + "src": "6962:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6933:3:17", + "nodeType": "YulIdentifier", + "src": "6933:3:17" + }, + "nativeSrc": "6933:32:17", + "nodeType": "YulFunctionCall", + "src": "6933:32:17" + }, + "nativeSrc": "6930:52:17", + "nodeType": "YulIf", + "src": "6930:52:17" + }, + { + "nativeSrc": "6991:36:17", + "nodeType": "YulVariableDeclaration", + "src": "6991:36:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7017:9:17", + "nodeType": "YulIdentifier", + "src": "7017:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "7004:12:17", + "nodeType": "YulIdentifier", + "src": "7004:12:17" + }, + "nativeSrc": "7004:23:17", + "nodeType": "YulFunctionCall", + "src": "7004:23:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "6995:5:17", + "nodeType": "YulTypedName", + "src": "6995:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "7061:5:17", + "nodeType": "YulIdentifier", + "src": "7061:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "7036:24:17", + "nodeType": "YulIdentifier", + "src": "7036:24:17" + }, + "nativeSrc": "7036:31:17", + "nodeType": "YulFunctionCall", + "src": "7036:31:17" + }, + "nativeSrc": "7036:31:17", + "nodeType": "YulExpressionStatement", + "src": "7036:31:17" + }, + { + "nativeSrc": "7076:15:17", + "nodeType": "YulAssignment", + "src": "7076:15:17", + "value": { + "name": "value", + "nativeSrc": "7086:5:17", + "nodeType": "YulIdentifier", + "src": "7086:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "7076:6:17", + "nodeType": "YulIdentifier", + "src": "7076:6:17" + } + ] + }, + { + "nativeSrc": "7100:46:17", + "nodeType": "YulVariableDeclaration", + "src": "7100:46:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7131:9:17", + "nodeType": "YulIdentifier", + "src": "7131:9:17" + }, + { + "kind": "number", + "nativeSrc": "7142:2:17", + "nodeType": "YulLiteral", + "src": "7142:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7127:3:17", + "nodeType": "YulIdentifier", + "src": "7127:3:17" + }, + "nativeSrc": "7127:18:17", + "nodeType": "YulFunctionCall", + "src": "7127:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "7114:12:17", + "nodeType": "YulIdentifier", + "src": "7114:12:17" + }, + "nativeSrc": "7114:32:17", + "nodeType": "YulFunctionCall", + "src": "7114:32:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7104:6:17", + "nodeType": "YulTypedName", + "src": "7104:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "7155:28:17", + "nodeType": "YulVariableDeclaration", + "src": "7155:28:17", + "value": { + "kind": "number", + "nativeSrc": "7165:18:17", + "nodeType": "YulLiteral", + "src": "7165:18:17", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "7159:2:17", + "nodeType": "YulTypedName", + "src": "7159:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7210:16:17", + "nodeType": "YulBlock", + "src": "7210:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7219:1:17", + "nodeType": "YulLiteral", + "src": "7219:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7222:1:17", + "nodeType": "YulLiteral", + "src": "7222:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7212:6:17", + "nodeType": "YulIdentifier", + "src": "7212:6:17" + }, + "nativeSrc": "7212:12:17", + "nodeType": "YulFunctionCall", + "src": "7212:12:17" + }, + "nativeSrc": "7212:12:17", + "nodeType": "YulExpressionStatement", + "src": "7212:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "7198:6:17", + "nodeType": "YulIdentifier", + "src": "7198:6:17" + }, + { + "name": "_1", + "nativeSrc": "7206:2:17", + "nodeType": "YulIdentifier", + "src": "7206:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7195:2:17", + "nodeType": "YulIdentifier", + "src": "7195:2:17" + }, + "nativeSrc": "7195:14:17", + "nodeType": "YulFunctionCall", + "src": "7195:14:17" + }, + "nativeSrc": "7192:34:17", + "nodeType": "YulIf", + "src": "7192:34:17" + }, + { + "nativeSrc": "7235:60:17", + "nodeType": "YulAssignment", + "src": "7235:60:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7267:9:17", + "nodeType": "YulIdentifier", + "src": "7267:9:17" + }, + { + "name": "offset", + "nativeSrc": "7278:6:17", + "nodeType": "YulIdentifier", + "src": "7278:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7263:3:17", + "nodeType": "YulIdentifier", + "src": "7263:3:17" + }, + "nativeSrc": "7263:22:17", + "nodeType": "YulFunctionCall", + "src": "7263:22:17" + }, + { + "name": "dataEnd", + "nativeSrc": "7287:7:17", + "nodeType": "YulIdentifier", + "src": "7287:7:17" + } + ], + "functionName": { + "name": "abi_decode_string", + "nativeSrc": "7245:17:17", + "nodeType": "YulIdentifier", + "src": "7245:17:17" + }, + "nativeSrc": "7245:50:17", + "nodeType": "YulFunctionCall", + "src": "7245:50:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "7235:6:17", + "nodeType": "YulIdentifier", + "src": "7235:6:17" + } + ] + }, + { + "nativeSrc": "7304:48:17", + "nodeType": "YulVariableDeclaration", + "src": "7304:48:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7337:9:17", + "nodeType": "YulIdentifier", + "src": "7337:9:17" + }, + { + "kind": "number", + "nativeSrc": "7348:2:17", + "nodeType": "YulLiteral", + "src": "7348:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7333:3:17", + "nodeType": "YulIdentifier", + "src": "7333:3:17" + }, + "nativeSrc": "7333:18:17", + "nodeType": "YulFunctionCall", + "src": "7333:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "7320:12:17", + "nodeType": "YulIdentifier", + "src": "7320:12:17" + }, + "nativeSrc": "7320:32:17", + "nodeType": "YulFunctionCall", + "src": "7320:32:17" + }, + "variables": [ + { + "name": "offset_1", + "nativeSrc": "7308:8:17", + "nodeType": "YulTypedName", + "src": "7308:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7381:16:17", + "nodeType": "YulBlock", + "src": "7381:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7390:1:17", + "nodeType": "YulLiteral", + "src": "7390:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7393:1:17", + "nodeType": "YulLiteral", + "src": "7393:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7383:6:17", + "nodeType": "YulIdentifier", + "src": "7383:6:17" + }, + "nativeSrc": "7383:12:17", + "nodeType": "YulFunctionCall", + "src": "7383:12:17" + }, + "nativeSrc": "7383:12:17", + "nodeType": "YulExpressionStatement", + "src": "7383:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nativeSrc": "7367:8:17", + "nodeType": "YulIdentifier", + "src": "7367:8:17" + }, + { + "name": "_1", + "nativeSrc": "7377:2:17", + "nodeType": "YulIdentifier", + "src": "7377:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7364:2:17", + "nodeType": "YulIdentifier", + "src": "7364:2:17" + }, + "nativeSrc": "7364:16:17", + "nodeType": "YulFunctionCall", + "src": "7364:16:17" + }, + "nativeSrc": "7361:36:17", + "nodeType": "YulIf", + "src": "7361:36:17" + }, + { + "nativeSrc": "7406:62:17", + "nodeType": "YulAssignment", + "src": "7406:62:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7438:9:17", + "nodeType": "YulIdentifier", + "src": "7438:9:17" + }, + { + "name": "offset_1", + "nativeSrc": "7449:8:17", + "nodeType": "YulIdentifier", + "src": "7449:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7434:3:17", + "nodeType": "YulIdentifier", + "src": "7434:3:17" + }, + "nativeSrc": "7434:24:17", + "nodeType": "YulFunctionCall", + "src": "7434:24:17" + }, + { + "name": "dataEnd", + "nativeSrc": "7460:7:17", + "nodeType": "YulIdentifier", + "src": "7460:7:17" + } + ], + "functionName": { + "name": "abi_decode_string", + "nativeSrc": "7416:17:17", + "nodeType": "YulIdentifier", + "src": "7416:17:17" + }, + "nativeSrc": "7416:52:17", + "nodeType": "YulFunctionCall", + "src": "7416:52:17" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "7406:6:17", + "nodeType": "YulIdentifier", + "src": "7406:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptr", + "nativeSrc": "6796:678:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6870:9:17", + "nodeType": "YulTypedName", + "src": "6870:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6881:7:17", + "nodeType": "YulTypedName", + "src": "6881:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6893:6:17", + "nodeType": "YulTypedName", + "src": "6893:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6901:6:17", + "nodeType": "YulTypedName", + "src": "6901:6:17", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "6909:6:17", + "nodeType": "YulTypedName", + "src": "6909:6:17", + "type": "" + } + ], + "src": "6796:678:17" + }, + { + "body": { + "nativeSrc": "7574:92:17", + "nodeType": "YulBlock", + "src": "7574:92:17", + "statements": [ + { + "nativeSrc": "7584:26:17", + "nodeType": "YulAssignment", + "src": "7584:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7596:9:17", + "nodeType": "YulIdentifier", + "src": "7596:9:17" + }, + { + "kind": "number", + "nativeSrc": "7607:2:17", + "nodeType": "YulLiteral", + "src": "7607:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7592:3:17", + "nodeType": "YulIdentifier", + "src": "7592:3:17" + }, + "nativeSrc": "7592:18:17", + "nodeType": "YulFunctionCall", + "src": "7592:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7584:4:17", + "nodeType": "YulIdentifier", + "src": "7584:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7626:9:17", + "nodeType": "YulIdentifier", + "src": "7626:9:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7651:6:17", + "nodeType": "YulIdentifier", + "src": "7651:6:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "7644:6:17", + "nodeType": "YulIdentifier", + "src": "7644:6:17" + }, + "nativeSrc": "7644:14:17", + "nodeType": "YulFunctionCall", + "src": "7644:14:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "7637:6:17", + "nodeType": "YulIdentifier", + "src": "7637:6:17" + }, + "nativeSrc": "7637:22:17", + "nodeType": "YulFunctionCall", + "src": "7637:22:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7619:6:17", + "nodeType": "YulIdentifier", + "src": "7619:6:17" + }, + "nativeSrc": "7619:41:17", + "nodeType": "YulFunctionCall", + "src": "7619:41:17" + }, + "nativeSrc": "7619:41:17", + "nodeType": "YulExpressionStatement", + "src": "7619:41:17" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "7479:187:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7543:9:17", + "nodeType": "YulTypedName", + "src": "7543:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7554:6:17", + "nodeType": "YulTypedName", + "src": "7554:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7565:4:17", + "nodeType": "YulTypedName", + "src": "7565:4:17", + "type": "" + } + ], + "src": "7479:187:17" + }, + { + "body": { + "nativeSrc": "7772:102:17", + "nodeType": "YulBlock", + "src": "7772:102:17", + "statements": [ + { + "nativeSrc": "7782:26:17", + "nodeType": "YulAssignment", + "src": "7782:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7794:9:17", + "nodeType": "YulIdentifier", + "src": "7794:9:17" + }, + { + "kind": "number", + "nativeSrc": "7805:2:17", + "nodeType": "YulLiteral", + "src": "7805:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7790:3:17", + "nodeType": "YulIdentifier", + "src": "7790:3:17" + }, + "nativeSrc": "7790:18:17", + "nodeType": "YulFunctionCall", + "src": "7790:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7782:4:17", + "nodeType": "YulIdentifier", + "src": "7782:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7824:9:17", + "nodeType": "YulIdentifier", + "src": "7824:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7839:6:17", + "nodeType": "YulIdentifier", + "src": "7839:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7855:3:17", + "nodeType": "YulLiteral", + "src": "7855:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "7860:1:17", + "nodeType": "YulLiteral", + "src": "7860:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "7851:3:17", + "nodeType": "YulIdentifier", + "src": "7851:3:17" + }, + "nativeSrc": "7851:11:17", + "nodeType": "YulFunctionCall", + "src": "7851:11:17" + }, + { + "kind": "number", + "nativeSrc": "7864:1:17", + "nodeType": "YulLiteral", + "src": "7864:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "7847:3:17", + "nodeType": "YulIdentifier", + "src": "7847:3:17" + }, + "nativeSrc": "7847:19:17", + "nodeType": "YulFunctionCall", + "src": "7847:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "7835:3:17", + "nodeType": "YulIdentifier", + "src": "7835:3:17" + }, + "nativeSrc": "7835:32:17", + "nodeType": "YulFunctionCall", + "src": "7835:32:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7817:6:17", + "nodeType": "YulIdentifier", + "src": "7817:6:17" + }, + "nativeSrc": "7817:51:17", + "nodeType": "YulFunctionCall", + "src": "7817:51:17" + }, + "nativeSrc": "7817:51:17", + "nodeType": "YulExpressionStatement", + "src": "7817:51:17" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "7671:203:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7741:9:17", + "nodeType": "YulTypedName", + "src": "7741:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7752:6:17", + "nodeType": "YulTypedName", + "src": "7752:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7763:4:17", + "nodeType": "YulTypedName", + "src": "7763:4:17", + "type": "" + } + ], + "src": "7671:203:17" + }, + { + "body": { + "nativeSrc": "8034:751:17", + "nodeType": "YulBlock", + "src": "8034:751:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8051:9:17", + "nodeType": "YulIdentifier", + "src": "8051:9:17" + }, + { + "kind": "number", + "nativeSrc": "8062:2:17", + "nodeType": "YulLiteral", + "src": "8062:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8044:6:17", + "nodeType": "YulIdentifier", + "src": "8044:6:17" + }, + "nativeSrc": "8044:21:17", + "nodeType": "YulFunctionCall", + "src": "8044:21:17" + }, + "nativeSrc": "8044:21:17", + "nodeType": "YulExpressionStatement", + "src": "8044:21:17" + }, + { + "nativeSrc": "8074:33:17", + "nodeType": "YulVariableDeclaration", + "src": "8074:33:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8100:6:17", + "nodeType": "YulIdentifier", + "src": "8100:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8094:5:17", + "nodeType": "YulIdentifier", + "src": "8094:5:17" + }, + "nativeSrc": "8094:13:17", + "nodeType": "YulFunctionCall", + "src": "8094:13:17" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "8078:12:17", + "nodeType": "YulTypedName", + "src": "8078:12:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8127:9:17", + "nodeType": "YulIdentifier", + "src": "8127:9:17" + }, + { + "kind": "number", + "nativeSrc": "8138:2:17", + "nodeType": "YulLiteral", + "src": "8138:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8123:3:17", + "nodeType": "YulIdentifier", + "src": "8123:3:17" + }, + "nativeSrc": "8123:18:17", + "nodeType": "YulFunctionCall", + "src": "8123:18:17" + }, + { + "kind": "number", + "nativeSrc": "8143:4:17", + "nodeType": "YulLiteral", + "src": "8143:4:17", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8116:6:17", + "nodeType": "YulIdentifier", + "src": "8116:6:17" + }, + "nativeSrc": "8116:32:17", + "nodeType": "YulFunctionCall", + "src": "8116:32:17" + }, + "nativeSrc": "8116:32:17", + "nodeType": "YulExpressionStatement", + "src": "8116:32:17" + }, + { + "nativeSrc": "8157:66:17", + "nodeType": "YulVariableDeclaration", + "src": "8157:66:17", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "8189:12:17", + "nodeType": "YulIdentifier", + "src": "8189:12:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8207:9:17", + "nodeType": "YulIdentifier", + "src": "8207:9:17" + }, + { + "kind": "number", + "nativeSrc": "8218:3:17", + "nodeType": "YulLiteral", + "src": "8218:3:17", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8203:3:17", + "nodeType": "YulIdentifier", + "src": "8203:3:17" + }, + "nativeSrc": "8203:19:17", + "nodeType": "YulFunctionCall", + "src": "8203:19:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "8171:17:17", + "nodeType": "YulIdentifier", + "src": "8171:17:17" + }, + "nativeSrc": "8171:52:17", + "nodeType": "YulFunctionCall", + "src": "8171:52:17" + }, + "variables": [ + { + "name": "tail_1", + "nativeSrc": "8161:6:17", + "nodeType": "YulTypedName", + "src": "8161:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "8232:44:17", + "nodeType": "YulVariableDeclaration", + "src": "8232:44:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8264:6:17", + "nodeType": "YulIdentifier", + "src": "8264:6:17" + }, + { + "kind": "number", + "nativeSrc": "8272:2:17", + "nodeType": "YulLiteral", + "src": "8272:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8260:3:17", + "nodeType": "YulIdentifier", + "src": "8260:3:17" + }, + "nativeSrc": "8260:15:17", + "nodeType": "YulFunctionCall", + "src": "8260:15:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8254:5:17", + "nodeType": "YulIdentifier", + "src": "8254:5:17" + }, + "nativeSrc": "8254:22:17", + "nodeType": "YulFunctionCall", + "src": "8254:22:17" + }, + "variables": [ + { + "name": "memberValue0_1", + "nativeSrc": "8236:14:17", + "nodeType": "YulTypedName", + "src": "8236:14:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8296:9:17", + "nodeType": "YulIdentifier", + "src": "8296:9:17" + }, + { + "kind": "number", + "nativeSrc": "8307:2:17", + "nodeType": "YulLiteral", + "src": "8307:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8292:3:17", + "nodeType": "YulIdentifier", + "src": "8292:3:17" + }, + "nativeSrc": "8292:18:17", + "nodeType": "YulFunctionCall", + "src": "8292:18:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_1", + "nativeSrc": "8320:6:17", + "nodeType": "YulIdentifier", + "src": "8320:6:17" + }, + { + "name": "headStart", + "nativeSrc": "8328:9:17", + "nodeType": "YulIdentifier", + "src": "8328:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8316:3:17", + "nodeType": "YulIdentifier", + "src": "8316:3:17" + }, + "nativeSrc": "8316:22:17", + "nodeType": "YulFunctionCall", + "src": "8316:22:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8344:2:17", + "nodeType": "YulLiteral", + "src": "8344:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8340:3:17", + "nodeType": "YulIdentifier", + "src": "8340:3:17" + }, + "nativeSrc": "8340:7:17", + "nodeType": "YulFunctionCall", + "src": "8340:7:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8312:3:17", + "nodeType": "YulIdentifier", + "src": "8312:3:17" + }, + "nativeSrc": "8312:36:17", + "nodeType": "YulFunctionCall", + "src": "8312:36:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8285:6:17", + "nodeType": "YulIdentifier", + "src": "8285:6:17" + }, + "nativeSrc": "8285:64:17", + "nodeType": "YulFunctionCall", + "src": "8285:64:17" + }, + "nativeSrc": "8285:64:17", + "nodeType": "YulExpressionStatement", + "src": "8285:64:17" + }, + { + "nativeSrc": "8358:55:17", + "nodeType": "YulVariableDeclaration", + "src": "8358:55:17", + "value": { + "arguments": [ + { + "name": "memberValue0_1", + "nativeSrc": "8390:14:17", + "nodeType": "YulIdentifier", + "src": "8390:14:17" + }, + { + "name": "tail_1", + "nativeSrc": "8406:6:17", + "nodeType": "YulIdentifier", + "src": "8406:6:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "8372:17:17", + "nodeType": "YulIdentifier", + "src": "8372:17:17" + }, + "nativeSrc": "8372:41:17", + "nodeType": "YulFunctionCall", + "src": "8372:41:17" + }, + "variables": [ + { + "name": "tail_2", + "nativeSrc": "8362:6:17", + "nodeType": "YulTypedName", + "src": "8362:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "8422:44:17", + "nodeType": "YulVariableDeclaration", + "src": "8422:44:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8454:6:17", + "nodeType": "YulIdentifier", + "src": "8454:6:17" + }, + { + "kind": "number", + "nativeSrc": "8462:2:17", + "nodeType": "YulLiteral", + "src": "8462:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8450:3:17", + "nodeType": "YulIdentifier", + "src": "8450:3:17" + }, + "nativeSrc": "8450:15:17", + "nodeType": "YulFunctionCall", + "src": "8450:15:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8444:5:17", + "nodeType": "YulIdentifier", + "src": "8444:5:17" + }, + "nativeSrc": "8444:22:17", + "nodeType": "YulFunctionCall", + "src": "8444:22:17" + }, + "variables": [ + { + "name": "memberValue0_2", + "nativeSrc": "8426:14:17", + "nodeType": "YulTypedName", + "src": "8426:14:17", + "type": "" + } + ] + }, + { + "nativeSrc": "8475:29:17", + "nodeType": "YulVariableDeclaration", + "src": "8475:29:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8493:3:17", + "nodeType": "YulLiteral", + "src": "8493:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "8498:1:17", + "nodeType": "YulLiteral", + "src": "8498:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "8489:3:17", + "nodeType": "YulIdentifier", + "src": "8489:3:17" + }, + "nativeSrc": "8489:11:17", + "nodeType": "YulFunctionCall", + "src": "8489:11:17" + }, + { + "kind": "number", + "nativeSrc": "8502:1:17", + "nodeType": "YulLiteral", + "src": "8502:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8485:3:17", + "nodeType": "YulIdentifier", + "src": "8485:3:17" + }, + "nativeSrc": "8485:19:17", + "nodeType": "YulFunctionCall", + "src": "8485:19:17" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "8479:2:17", + "nodeType": "YulTypedName", + "src": "8479:2:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8524:9:17", + "nodeType": "YulIdentifier", + "src": "8524:9:17" + }, + { + "kind": "number", + "nativeSrc": "8535:2:17", + "nodeType": "YulLiteral", + "src": "8535:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8520:3:17", + "nodeType": "YulIdentifier", + "src": "8520:3:17" + }, + "nativeSrc": "8520:18:17", + "nodeType": "YulFunctionCall", + "src": "8520:18:17" + }, + { + "arguments": [ + { + "name": "memberValue0_2", + "nativeSrc": "8544:14:17", + "nodeType": "YulIdentifier", + "src": "8544:14:17" + }, + { + "name": "_1", + "nativeSrc": "8560:2:17", + "nodeType": "YulIdentifier", + "src": "8560:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8540:3:17", + "nodeType": "YulIdentifier", + "src": "8540:3:17" + }, + "nativeSrc": "8540:23:17", + "nodeType": "YulFunctionCall", + "src": "8540:23:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8513:6:17", + "nodeType": "YulIdentifier", + "src": "8513:6:17" + }, + "nativeSrc": "8513:51:17", + "nodeType": "YulFunctionCall", + "src": "8513:51:17" + }, + "nativeSrc": "8513:51:17", + "nodeType": "YulExpressionStatement", + "src": "8513:51:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8584:9:17", + "nodeType": "YulIdentifier", + "src": "8584:9:17" + }, + { + "kind": "number", + "nativeSrc": "8595:3:17", + "nodeType": "YulLiteral", + "src": "8595:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8580:3:17", + "nodeType": "YulIdentifier", + "src": "8580:3:17" + }, + "nativeSrc": "8580:19:17", + "nodeType": "YulFunctionCall", + "src": "8580:19:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8615:6:17", + "nodeType": "YulIdentifier", + "src": "8615:6:17" + }, + { + "kind": "number", + "nativeSrc": "8623:2:17", + "nodeType": "YulLiteral", + "src": "8623:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8611:3:17", + "nodeType": "YulIdentifier", + "src": "8611:3:17" + }, + "nativeSrc": "8611:15:17", + "nodeType": "YulFunctionCall", + "src": "8611:15:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8605:5:17", + "nodeType": "YulIdentifier", + "src": "8605:5:17" + }, + "nativeSrc": "8605:22:17", + "nodeType": "YulFunctionCall", + "src": "8605:22:17" + }, + { + "name": "_1", + "nativeSrc": "8629:2:17", + "nodeType": "YulIdentifier", + "src": "8629:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8601:3:17", + "nodeType": "YulIdentifier", + "src": "8601:3:17" + }, + "nativeSrc": "8601:31:17", + "nodeType": "YulFunctionCall", + "src": "8601:31:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8573:6:17", + "nodeType": "YulIdentifier", + "src": "8573:6:17" + }, + "nativeSrc": "8573:60:17", + "nodeType": "YulFunctionCall", + "src": "8573:60:17" + }, + "nativeSrc": "8573:60:17", + "nodeType": "YulExpressionStatement", + "src": "8573:60:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8653:9:17", + "nodeType": "YulIdentifier", + "src": "8653:9:17" + }, + { + "kind": "number", + "nativeSrc": "8664:3:17", + "nodeType": "YulLiteral", + "src": "8664:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8649:3:17", + "nodeType": "YulIdentifier", + "src": "8649:3:17" + }, + "nativeSrc": "8649:19:17", + "nodeType": "YulFunctionCall", + "src": "8649:19:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8680:6:17", + "nodeType": "YulIdentifier", + "src": "8680:6:17" + }, + { + "kind": "number", + "nativeSrc": "8688:3:17", + "nodeType": "YulLiteral", + "src": "8688:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8676:3:17", + "nodeType": "YulIdentifier", + "src": "8676:3:17" + }, + "nativeSrc": "8676:16:17", + "nodeType": "YulFunctionCall", + "src": "8676:16:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8670:5:17", + "nodeType": "YulIdentifier", + "src": "8670:5:17" + }, + "nativeSrc": "8670:23:17", + "nodeType": "YulFunctionCall", + "src": "8670:23:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8642:6:17", + "nodeType": "YulIdentifier", + "src": "8642:6:17" + }, + "nativeSrc": "8642:52:17", + "nodeType": "YulFunctionCall", + "src": "8642:52:17" + }, + "nativeSrc": "8642:52:17", + "nodeType": "YulExpressionStatement", + "src": "8642:52:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8714:9:17", + "nodeType": "YulIdentifier", + "src": "8714:9:17" + }, + { + "kind": "number", + "nativeSrc": "8725:4:17", + "nodeType": "YulLiteral", + "src": "8725:4:17", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8710:3:17", + "nodeType": "YulIdentifier", + "src": "8710:3:17" + }, + "nativeSrc": "8710:20:17", + "nodeType": "YulFunctionCall", + "src": "8710:20:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8742:6:17", + "nodeType": "YulIdentifier", + "src": "8742:6:17" + }, + { + "kind": "number", + "nativeSrc": "8750:3:17", + "nodeType": "YulLiteral", + "src": "8750:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8738:3:17", + "nodeType": "YulIdentifier", + "src": "8738:3:17" + }, + "nativeSrc": "8738:16:17", + "nodeType": "YulFunctionCall", + "src": "8738:16:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8732:5:17", + "nodeType": "YulIdentifier", + "src": "8732:5:17" + }, + "nativeSrc": "8732:23:17", + "nodeType": "YulFunctionCall", + "src": "8732:23:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8703:6:17", + "nodeType": "YulIdentifier", + "src": "8703:6:17" + }, + "nativeSrc": "8703:53:17", + "nodeType": "YulFunctionCall", + "src": "8703:53:17" + }, + "nativeSrc": "8703:53:17", + "nodeType": "YulExpressionStatement", + "src": "8703:53:17" + }, + { + "nativeSrc": "8765:14:17", + "nodeType": "YulAssignment", + "src": "8765:14:17", + "value": { + "name": "tail_2", + "nativeSrc": "8773:6:17", + "nodeType": "YulIdentifier", + "src": "8773:6:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8765:4:17", + "nodeType": "YulIdentifier", + "src": "8765:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_AgentData_$1479_memory_ptr__to_t_struct$_AgentData_$1479_memory_ptr__fromStack_reversed", + "nativeSrc": "7879:906:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8003:9:17", + "nodeType": "YulTypedName", + "src": "8003:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8014:6:17", + "nodeType": "YulTypedName", + "src": "8014:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8025:4:17", + "nodeType": "YulTypedName", + "src": "8025:4:17", + "type": "" + } + ], + "src": "7879:906:17" + }, + { + "body": { + "nativeSrc": "8911:99:17", + "nodeType": "YulBlock", + "src": "8911:99:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8928:9:17", + "nodeType": "YulIdentifier", + "src": "8928:9:17" + }, + { + "kind": "number", + "nativeSrc": "8939:2:17", + "nodeType": "YulLiteral", + "src": "8939:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8921:6:17", + "nodeType": "YulIdentifier", + "src": "8921:6:17" + }, + "nativeSrc": "8921:21:17", + "nodeType": "YulFunctionCall", + "src": "8921:21:17" + }, + "nativeSrc": "8921:21:17", + "nodeType": "YulExpressionStatement", + "src": "8921:21:17" + }, + { + "nativeSrc": "8951:53:17", + "nodeType": "YulAssignment", + "src": "8951:53:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "8977:6:17", + "nodeType": "YulIdentifier", + "src": "8977:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8989:9:17", + "nodeType": "YulIdentifier", + "src": "8989:9:17" + }, + { + "kind": "number", + "nativeSrc": "9000:2:17", + "nodeType": "YulLiteral", + "src": "9000:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8985:3:17", + "nodeType": "YulIdentifier", + "src": "8985:3:17" + }, + "nativeSrc": "8985:18:17", + "nodeType": "YulFunctionCall", + "src": "8985:18:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "8959:17:17", + "nodeType": "YulIdentifier", + "src": "8959:17:17" + }, + "nativeSrc": "8959:45:17", + "nodeType": "YulFunctionCall", + "src": "8959:45:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8951:4:17", + "nodeType": "YulIdentifier", + "src": "8951:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "8790:220:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8880:9:17", + "nodeType": "YulTypedName", + "src": "8880:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8891:6:17", + "nodeType": "YulTypedName", + "src": "8891:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8902:4:17", + "nodeType": "YulTypedName", + "src": "8902:4:17", + "type": "" + } + ], + "src": "8790:220:17" + }, + { + "body": { + "nativeSrc": "9146:536:17", + "nodeType": "YulBlock", + "src": "9146:536:17", + "statements": [ + { + "body": { + "nativeSrc": "9193:16:17", + "nodeType": "YulBlock", + "src": "9193:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9202:1:17", + "nodeType": "YulLiteral", + "src": "9202:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9205:1:17", + "nodeType": "YulLiteral", + "src": "9205:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9195:6:17", + "nodeType": "YulIdentifier", + "src": "9195:6:17" + }, + "nativeSrc": "9195:12:17", + "nodeType": "YulFunctionCall", + "src": "9195:12:17" + }, + "nativeSrc": "9195:12:17", + "nodeType": "YulExpressionStatement", + "src": "9195:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "9167:7:17", + "nodeType": "YulIdentifier", + "src": "9167:7:17" + }, + { + "name": "headStart", + "nativeSrc": "9176:9:17", + "nodeType": "YulIdentifier", + "src": "9176:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9163:3:17", + "nodeType": "YulIdentifier", + "src": "9163:3:17" + }, + "nativeSrc": "9163:23:17", + "nodeType": "YulFunctionCall", + "src": "9163:23:17" + }, + { + "kind": "number", + "nativeSrc": "9188:3:17", + "nodeType": "YulLiteral", + "src": "9188:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "9159:3:17", + "nodeType": "YulIdentifier", + "src": "9159:3:17" + }, + "nativeSrc": "9159:33:17", + "nodeType": "YulFunctionCall", + "src": "9159:33:17" + }, + "nativeSrc": "9156:53:17", + "nodeType": "YulIf", + "src": "9156:53:17" + }, + { + "nativeSrc": "9218:36:17", + "nodeType": "YulVariableDeclaration", + "src": "9218:36:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9244:9:17", + "nodeType": "YulIdentifier", + "src": "9244:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9231:12:17", + "nodeType": "YulIdentifier", + "src": "9231:12:17" + }, + "nativeSrc": "9231:23:17", + "nodeType": "YulFunctionCall", + "src": "9231:23:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "9222:5:17", + "nodeType": "YulTypedName", + "src": "9222:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9288:5:17", + "nodeType": "YulIdentifier", + "src": "9288:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "9263:24:17", + "nodeType": "YulIdentifier", + "src": "9263:24:17" + }, + "nativeSrc": "9263:31:17", + "nodeType": "YulFunctionCall", + "src": "9263:31:17" + }, + "nativeSrc": "9263:31:17", + "nodeType": "YulExpressionStatement", + "src": "9263:31:17" + }, + { + "nativeSrc": "9303:15:17", + "nodeType": "YulAssignment", + "src": "9303:15:17", + "value": { + "name": "value", + "nativeSrc": "9313:5:17", + "nodeType": "YulIdentifier", + "src": "9313:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "9303:6:17", + "nodeType": "YulIdentifier", + "src": "9303:6:17" + } + ] + }, + { + "nativeSrc": "9327:46:17", + "nodeType": "YulVariableDeclaration", + "src": "9327:46:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9358:9:17", + "nodeType": "YulIdentifier", + "src": "9358:9:17" + }, + { + "kind": "number", + "nativeSrc": "9369:2:17", + "nodeType": "YulLiteral", + "src": "9369:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9354:3:17", + "nodeType": "YulIdentifier", + "src": "9354:3:17" + }, + "nativeSrc": "9354:18:17", + "nodeType": "YulFunctionCall", + "src": "9354:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9341:12:17", + "nodeType": "YulIdentifier", + "src": "9341:12:17" + }, + "nativeSrc": "9341:32:17", + "nodeType": "YulFunctionCall", + "src": "9341:32:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "9331:6:17", + "nodeType": "YulTypedName", + "src": "9331:6:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9416:16:17", + "nodeType": "YulBlock", + "src": "9416:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9425:1:17", + "nodeType": "YulLiteral", + "src": "9425:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9428:1:17", + "nodeType": "YulLiteral", + "src": "9428:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9418:6:17", + "nodeType": "YulIdentifier", + "src": "9418:6:17" + }, + "nativeSrc": "9418:12:17", + "nodeType": "YulFunctionCall", + "src": "9418:12:17" + }, + "nativeSrc": "9418:12:17", + "nodeType": "YulExpressionStatement", + "src": "9418:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9388:6:17", + "nodeType": "YulIdentifier", + "src": "9388:6:17" + }, + { + "kind": "number", + "nativeSrc": "9396:18:17", + "nodeType": "YulLiteral", + "src": "9396:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "9385:2:17", + "nodeType": "YulIdentifier", + "src": "9385:2:17" + }, + "nativeSrc": "9385:30:17", + "nodeType": "YulFunctionCall", + "src": "9385:30:17" + }, + "nativeSrc": "9382:50:17", + "nodeType": "YulIf", + "src": "9382:50:17" + }, + { + "nativeSrc": "9441:60:17", + "nodeType": "YulAssignment", + "src": "9441:60:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9473:9:17", + "nodeType": "YulIdentifier", + "src": "9473:9:17" + }, + { + "name": "offset", + "nativeSrc": "9484:6:17", + "nodeType": "YulIdentifier", + "src": "9484:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9469:3:17", + "nodeType": "YulIdentifier", + "src": "9469:3:17" + }, + "nativeSrc": "9469:22:17", + "nodeType": "YulFunctionCall", + "src": "9469:22:17" + }, + { + "name": "dataEnd", + "nativeSrc": "9493:7:17", + "nodeType": "YulIdentifier", + "src": "9493:7:17" + } + ], + "functionName": { + "name": "abi_decode_string", + "nativeSrc": "9451:17:17", + "nodeType": "YulIdentifier", + "src": "9451:17:17" + }, + "nativeSrc": "9451:50:17", + "nodeType": "YulFunctionCall", + "src": "9451:50:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "9441:6:17", + "nodeType": "YulIdentifier", + "src": "9441:6:17" + } + ] + }, + { + "nativeSrc": "9510:42:17", + "nodeType": "YulAssignment", + "src": "9510:42:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9537:9:17", + "nodeType": "YulIdentifier", + "src": "9537:9:17" + }, + { + "kind": "number", + "nativeSrc": "9548:2:17", + "nodeType": "YulLiteral", + "src": "9548:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9533:3:17", + "nodeType": "YulIdentifier", + "src": "9533:3:17" + }, + "nativeSrc": "9533:18:17", + "nodeType": "YulFunctionCall", + "src": "9533:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9520:12:17", + "nodeType": "YulIdentifier", + "src": "9520:12:17" + }, + "nativeSrc": "9520:32:17", + "nodeType": "YulFunctionCall", + "src": "9520:32:17" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "9510:6:17", + "nodeType": "YulIdentifier", + "src": "9510:6:17" + } + ] + }, + { + "nativeSrc": "9561:47:17", + "nodeType": "YulVariableDeclaration", + "src": "9561:47:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9593:9:17", + "nodeType": "YulIdentifier", + "src": "9593:9:17" + }, + { + "kind": "number", + "nativeSrc": "9604:2:17", + "nodeType": "YulLiteral", + "src": "9604:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9589:3:17", + "nodeType": "YulIdentifier", + "src": "9589:3:17" + }, + "nativeSrc": "9589:18:17", + "nodeType": "YulFunctionCall", + "src": "9589:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9576:12:17", + "nodeType": "YulIdentifier", + "src": "9576:12:17" + }, + "nativeSrc": "9576:32:17", + "nodeType": "YulFunctionCall", + "src": "9576:32:17" + }, + "variables": [ + { + "name": "value_1", + "nativeSrc": "9565:7:17", + "nodeType": "YulTypedName", + "src": "9565:7:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value_1", + "nativeSrc": "9642:7:17", + "nodeType": "YulIdentifier", + "src": "9642:7:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "9617:24:17", + "nodeType": "YulIdentifier", + "src": "9617:24:17" + }, + "nativeSrc": "9617:33:17", + "nodeType": "YulFunctionCall", + "src": "9617:33:17" + }, + "nativeSrc": "9617:33:17", + "nodeType": "YulExpressionStatement", + "src": "9617:33:17" + }, + { + "nativeSrc": "9659:17:17", + "nodeType": "YulAssignment", + "src": "9659:17:17", + "value": { + "name": "value_1", + "nativeSrc": "9669:7:17", + "nodeType": "YulIdentifier", + "src": "9669:7:17" + }, + "variableNames": [ + { + "name": "value3", + "nativeSrc": "9659:6:17", + "nodeType": "YulIdentifier", + "src": "9659:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_string_memory_ptrt_uint256t_address", + "nativeSrc": "9015:667:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9088:9:17", + "nodeType": "YulTypedName", + "src": "9088:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "9099:7:17", + "nodeType": "YulTypedName", + "src": "9099:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "9111:6:17", + "nodeType": "YulTypedName", + "src": "9111:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "9119:6:17", + "nodeType": "YulTypedName", + "src": "9119:6:17", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "9127:6:17", + "nodeType": "YulTypedName", + "src": "9127:6:17", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "9135:6:17", + "nodeType": "YulTypedName", + "src": "9135:6:17", + "type": "" + } + ], + "src": "9015:667:17" + }, + { + "body": { + "nativeSrc": "9854:591:17", + "nodeType": "YulBlock", + "src": "9854:591:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9871:9:17", + "nodeType": "YulIdentifier", + "src": "9871:9:17" + }, + { + "kind": "number", + "nativeSrc": "9882:2:17", + "nodeType": "YulLiteral", + "src": "9882:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9864:6:17", + "nodeType": "YulIdentifier", + "src": "9864:6:17" + }, + "nativeSrc": "9864:21:17", + "nodeType": "YulFunctionCall", + "src": "9864:21:17" + }, + "nativeSrc": "9864:21:17", + "nodeType": "YulExpressionStatement", + "src": "9864:21:17" + }, + { + "nativeSrc": "9894:29:17", + "nodeType": "YulVariableDeclaration", + "src": "9894:29:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9912:3:17", + "nodeType": "YulLiteral", + "src": "9912:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "9917:1:17", + "nodeType": "YulLiteral", + "src": "9917:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "9908:3:17", + "nodeType": "YulIdentifier", + "src": "9908:3:17" + }, + "nativeSrc": "9908:11:17", + "nodeType": "YulFunctionCall", + "src": "9908:11:17" + }, + { + "kind": "number", + "nativeSrc": "9921:1:17", + "nodeType": "YulLiteral", + "src": "9921:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9904:3:17", + "nodeType": "YulIdentifier", + "src": "9904:3:17" + }, + "nativeSrc": "9904:19:17", + "nodeType": "YulFunctionCall", + "src": "9904:19:17" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "9898:2:17", + "nodeType": "YulTypedName", + "src": "9898:2:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9943:9:17", + "nodeType": "YulIdentifier", + "src": "9943:9:17" + }, + { + "kind": "number", + "nativeSrc": "9954:2:17", + "nodeType": "YulLiteral", + "src": "9954:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9939:3:17", + "nodeType": "YulIdentifier", + "src": "9939:3:17" + }, + "nativeSrc": "9939:18:17", + "nodeType": "YulFunctionCall", + "src": "9939:18:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "9969:6:17", + "nodeType": "YulIdentifier", + "src": "9969:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9963:5:17", + "nodeType": "YulIdentifier", + "src": "9963:5:17" + }, + "nativeSrc": "9963:13:17", + "nodeType": "YulFunctionCall", + "src": "9963:13:17" + }, + { + "name": "_1", + "nativeSrc": "9978:2:17", + "nodeType": "YulIdentifier", + "src": "9978:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9959:3:17", + "nodeType": "YulIdentifier", + "src": "9959:3:17" + }, + "nativeSrc": "9959:22:17", + "nodeType": "YulFunctionCall", + "src": "9959:22:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9932:6:17", + "nodeType": "YulIdentifier", + "src": "9932:6:17" + }, + "nativeSrc": "9932:50:17", + "nodeType": "YulFunctionCall", + "src": "9932:50:17" + }, + "nativeSrc": "9932:50:17", + "nodeType": "YulExpressionStatement", + "src": "9932:50:17" + }, + { + "nativeSrc": "9991:42:17", + "nodeType": "YulVariableDeclaration", + "src": "9991:42:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10021:6:17", + "nodeType": "YulIdentifier", + "src": "10021:6:17" + }, + { + "kind": "number", + "nativeSrc": "10029:2:17", + "nodeType": "YulLiteral", + "src": "10029:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10017:3:17", + "nodeType": "YulIdentifier", + "src": "10017:3:17" + }, + "nativeSrc": "10017:15:17", + "nodeType": "YulFunctionCall", + "src": "10017:15:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10011:5:17", + "nodeType": "YulIdentifier", + "src": "10011:5:17" + }, + "nativeSrc": "10011:22:17", + "nodeType": "YulFunctionCall", + "src": "10011:22:17" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "9995:12:17", + "nodeType": "YulTypedName", + "src": "9995:12:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10053:9:17", + "nodeType": "YulIdentifier", + "src": "10053:9:17" + }, + { + "kind": "number", + "nativeSrc": "10064:2:17", + "nodeType": "YulLiteral", + "src": "10064:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10049:3:17", + "nodeType": "YulIdentifier", + "src": "10049:3:17" + }, + "nativeSrc": "10049:18:17", + "nodeType": "YulFunctionCall", + "src": "10049:18:17" + }, + { + "kind": "number", + "nativeSrc": "10069:4:17", + "nodeType": "YulLiteral", + "src": "10069:4:17", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10042:6:17", + "nodeType": "YulIdentifier", + "src": "10042:6:17" + }, + "nativeSrc": "10042:32:17", + "nodeType": "YulFunctionCall", + "src": "10042:32:17" + }, + "nativeSrc": "10042:32:17", + "nodeType": "YulExpressionStatement", + "src": "10042:32:17" + }, + { + "nativeSrc": "10083:66:17", + "nodeType": "YulVariableDeclaration", + "src": "10083:66:17", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "10115:12:17", + "nodeType": "YulIdentifier", + "src": "10115:12:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10133:9:17", + "nodeType": "YulIdentifier", + "src": "10133:9:17" + }, + { + "kind": "number", + "nativeSrc": "10144:3:17", + "nodeType": "YulLiteral", + "src": "10144:3:17", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10129:3:17", + "nodeType": "YulIdentifier", + "src": "10129:3:17" + }, + "nativeSrc": "10129:19:17", + "nodeType": "YulFunctionCall", + "src": "10129:19:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "10097:17:17", + "nodeType": "YulIdentifier", + "src": "10097:17:17" + }, + "nativeSrc": "10097:52:17", + "nodeType": "YulFunctionCall", + "src": "10097:52:17" + }, + "variables": [ + { + "name": "tail_1", + "nativeSrc": "10087:6:17", + "nodeType": "YulTypedName", + "src": "10087:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10169:9:17", + "nodeType": "YulIdentifier", + "src": "10169:9:17" + }, + { + "kind": "number", + "nativeSrc": "10180:2:17", + "nodeType": "YulLiteral", + "src": "10180:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10165:3:17", + "nodeType": "YulIdentifier", + "src": "10165:3:17" + }, + "nativeSrc": "10165:18:17", + "nodeType": "YulFunctionCall", + "src": "10165:18:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10195:6:17", + "nodeType": "YulIdentifier", + "src": "10195:6:17" + }, + { + "kind": "number", + "nativeSrc": "10203:2:17", + "nodeType": "YulLiteral", + "src": "10203:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10191:3:17", + "nodeType": "YulIdentifier", + "src": "10191:3:17" + }, + "nativeSrc": "10191:15:17", + "nodeType": "YulFunctionCall", + "src": "10191:15:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10185:5:17", + "nodeType": "YulIdentifier", + "src": "10185:5:17" + }, + "nativeSrc": "10185:22:17", + "nodeType": "YulFunctionCall", + "src": "10185:22:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10158:6:17", + "nodeType": "YulIdentifier", + "src": "10158:6:17" + }, + "nativeSrc": "10158:50:17", + "nodeType": "YulFunctionCall", + "src": "10158:50:17" + }, + "nativeSrc": "10158:50:17", + "nodeType": "YulExpressionStatement", + "src": "10158:50:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10228:9:17", + "nodeType": "YulIdentifier", + "src": "10228:9:17" + }, + { + "kind": "number", + "nativeSrc": "10239:3:17", + "nodeType": "YulLiteral", + "src": "10239:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10224:3:17", + "nodeType": "YulIdentifier", + "src": "10224:3:17" + }, + "nativeSrc": "10224:19:17", + "nodeType": "YulFunctionCall", + "src": "10224:19:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10259:6:17", + "nodeType": "YulIdentifier", + "src": "10259:6:17" + }, + { + "kind": "number", + "nativeSrc": "10267:2:17", + "nodeType": "YulLiteral", + "src": "10267:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10255:3:17", + "nodeType": "YulIdentifier", + "src": "10255:3:17" + }, + "nativeSrc": "10255:15:17", + "nodeType": "YulFunctionCall", + "src": "10255:15:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10249:5:17", + "nodeType": "YulIdentifier", + "src": "10249:5:17" + }, + "nativeSrc": "10249:22:17", + "nodeType": "YulFunctionCall", + "src": "10249:22:17" + }, + { + "name": "_1", + "nativeSrc": "10273:2:17", + "nodeType": "YulIdentifier", + "src": "10273:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10245:3:17", + "nodeType": "YulIdentifier", + "src": "10245:3:17" + }, + "nativeSrc": "10245:31:17", + "nodeType": "YulFunctionCall", + "src": "10245:31:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10217:6:17", + "nodeType": "YulIdentifier", + "src": "10217:6:17" + }, + "nativeSrc": "10217:60:17", + "nodeType": "YulFunctionCall", + "src": "10217:60:17" + }, + "nativeSrc": "10217:60:17", + "nodeType": "YulExpressionStatement", + "src": "10217:60:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10297:9:17", + "nodeType": "YulIdentifier", + "src": "10297:9:17" + }, + { + "kind": "number", + "nativeSrc": "10308:3:17", + "nodeType": "YulLiteral", + "src": "10308:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10293:3:17", + "nodeType": "YulIdentifier", + "src": "10293:3:17" + }, + "nativeSrc": "10293:19:17", + "nodeType": "YulFunctionCall", + "src": "10293:19:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10324:6:17", + "nodeType": "YulIdentifier", + "src": "10324:6:17" + }, + { + "kind": "number", + "nativeSrc": "10332:3:17", + "nodeType": "YulLiteral", + "src": "10332:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10320:3:17", + "nodeType": "YulIdentifier", + "src": "10320:3:17" + }, + "nativeSrc": "10320:16:17", + "nodeType": "YulFunctionCall", + "src": "10320:16:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10314:5:17", + "nodeType": "YulIdentifier", + "src": "10314:5:17" + }, + "nativeSrc": "10314:23:17", + "nodeType": "YulFunctionCall", + "src": "10314:23:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10286:6:17", + "nodeType": "YulIdentifier", + "src": "10286:6:17" + }, + "nativeSrc": "10286:52:17", + "nodeType": "YulFunctionCall", + "src": "10286:52:17" + }, + "nativeSrc": "10286:52:17", + "nodeType": "YulExpressionStatement", + "src": "10286:52:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10358:9:17", + "nodeType": "YulIdentifier", + "src": "10358:9:17" + }, + { + "kind": "number", + "nativeSrc": "10369:4:17", + "nodeType": "YulLiteral", + "src": "10369:4:17", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10354:3:17", + "nodeType": "YulIdentifier", + "src": "10354:3:17" + }, + "nativeSrc": "10354:20:17", + "nodeType": "YulFunctionCall", + "src": "10354:20:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10400:6:17", + "nodeType": "YulIdentifier", + "src": "10400:6:17" + }, + { + "kind": "number", + "nativeSrc": "10408:3:17", + "nodeType": "YulLiteral", + "src": "10408:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10396:3:17", + "nodeType": "YulIdentifier", + "src": "10396:3:17" + }, + "nativeSrc": "10396:16:17", + "nodeType": "YulFunctionCall", + "src": "10396:16:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10390:5:17", + "nodeType": "YulIdentifier", + "src": "10390:5:17" + }, + "nativeSrc": "10390:23:17", + "nodeType": "YulFunctionCall", + "src": "10390:23:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "10383:6:17", + "nodeType": "YulIdentifier", + "src": "10383:6:17" + }, + "nativeSrc": "10383:31:17", + "nodeType": "YulFunctionCall", + "src": "10383:31:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "10376:6:17", + "nodeType": "YulIdentifier", + "src": "10376:6:17" + }, + "nativeSrc": "10376:39:17", + "nodeType": "YulFunctionCall", + "src": "10376:39:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10347:6:17", + "nodeType": "YulIdentifier", + "src": "10347:6:17" + }, + "nativeSrc": "10347:69:17", + "nodeType": "YulFunctionCall", + "src": "10347:69:17" + }, + "nativeSrc": "10347:69:17", + "nodeType": "YulExpressionStatement", + "src": "10347:69:17" + }, + { + "nativeSrc": "10425:14:17", + "nodeType": "YulAssignment", + "src": "10425:14:17", + "value": { + "name": "tail_1", + "nativeSrc": "10433:6:17", + "nodeType": "YulIdentifier", + "src": "10433:6:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10425:4:17", + "nodeType": "YulIdentifier", + "src": "10425:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_ServiceProposal_$3273_memory_ptr__to_t_struct$_ServiceProposal_$3273_memory_ptr__fromStack_reversed", + "nativeSrc": "9687:758:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9823:9:17", + "nodeType": "YulTypedName", + "src": "9823:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "9834:6:17", + "nodeType": "YulTypedName", + "src": "9834:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "9845:4:17", + "nodeType": "YulTypedName", + "src": "9845:4:17", + "type": "" + } + ], + "src": "9687:758:17" + }, + { + "body": { + "nativeSrc": "10586:102:17", + "nodeType": "YulBlock", + "src": "10586:102:17", + "statements": [ + { + "nativeSrc": "10596:26:17", + "nodeType": "YulAssignment", + "src": "10596:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10608:9:17", + "nodeType": "YulIdentifier", + "src": "10608:9:17" + }, + { + "kind": "number", + "nativeSrc": "10619:2:17", + "nodeType": "YulLiteral", + "src": "10619:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10604:3:17", + "nodeType": "YulIdentifier", + "src": "10604:3:17" + }, + "nativeSrc": "10604:18:17", + "nodeType": "YulFunctionCall", + "src": "10604:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10596:4:17", + "nodeType": "YulIdentifier", + "src": "10596:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10638:9:17", + "nodeType": "YulIdentifier", + "src": "10638:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10653:6:17", + "nodeType": "YulIdentifier", + "src": "10653:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10669:3:17", + "nodeType": "YulLiteral", + "src": "10669:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "10674:1:17", + "nodeType": "YulLiteral", + "src": "10674:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "10665:3:17", + "nodeType": "YulIdentifier", + "src": "10665:3:17" + }, + "nativeSrc": "10665:11:17", + "nodeType": "YulFunctionCall", + "src": "10665:11:17" + }, + { + "kind": "number", + "nativeSrc": "10678:1:17", + "nodeType": "YulLiteral", + "src": "10678:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10661:3:17", + "nodeType": "YulIdentifier", + "src": "10661:3:17" + }, + "nativeSrc": "10661:19:17", + "nodeType": "YulFunctionCall", + "src": "10661:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10649:3:17", + "nodeType": "YulIdentifier", + "src": "10649:3:17" + }, + "nativeSrc": "10649:32:17", + "nodeType": "YulFunctionCall", + "src": "10649:32:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10631:6:17", + "nodeType": "YulIdentifier", + "src": "10631:6:17" + }, + "nativeSrc": "10631:51:17", + "nodeType": "YulFunctionCall", + "src": "10631:51:17" + }, + "nativeSrc": "10631:51:17", + "nodeType": "YulExpressionStatement", + "src": "10631:51:17" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_ServiceRegistryUpgradeable_$2577__to_t_address__fromStack_reversed", + "nativeSrc": "10450:238:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10555:9:17", + "nodeType": "YulTypedName", + "src": "10555:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10566:6:17", + "nodeType": "YulTypedName", + "src": "10566:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10577:4:17", + "nodeType": "YulTypedName", + "src": "10577:4:17", + "type": "" + } + ], + "src": "10450:238:17" + }, + { + "body": { + "nativeSrc": "10819:102:17", + "nodeType": "YulBlock", + "src": "10819:102:17", + "statements": [ + { + "nativeSrc": "10829:26:17", + "nodeType": "YulAssignment", + "src": "10829:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10841:9:17", + "nodeType": "YulIdentifier", + "src": "10841:9:17" + }, + { + "kind": "number", + "nativeSrc": "10852:2:17", + "nodeType": "YulLiteral", + "src": "10852:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10837:3:17", + "nodeType": "YulIdentifier", + "src": "10837:3:17" + }, + "nativeSrc": "10837:18:17", + "nodeType": "YulFunctionCall", + "src": "10837:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10829:4:17", + "nodeType": "YulIdentifier", + "src": "10829:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10871:9:17", + "nodeType": "YulIdentifier", + "src": "10871:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10886:6:17", + "nodeType": "YulIdentifier", + "src": "10886:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10902:3:17", + "nodeType": "YulLiteral", + "src": "10902:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "10907:1:17", + "nodeType": "YulLiteral", + "src": "10907:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "10898:3:17", + "nodeType": "YulIdentifier", + "src": "10898:3:17" + }, + "nativeSrc": "10898:11:17", + "nodeType": "YulFunctionCall", + "src": "10898:11:17" + }, + { + "kind": "number", + "nativeSrc": "10911:1:17", + "nodeType": "YulLiteral", + "src": "10911:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10894:3:17", + "nodeType": "YulIdentifier", + "src": "10894:3:17" + }, + "nativeSrc": "10894:19:17", + "nodeType": "YulFunctionCall", + "src": "10894:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "10882:3:17", + "nodeType": "YulIdentifier", + "src": "10882:3:17" + }, + "nativeSrc": "10882:32:17", + "nodeType": "YulFunctionCall", + "src": "10882:32:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10864:6:17", + "nodeType": "YulIdentifier", + "src": "10864:6:17" + }, + "nativeSrc": "10864:51:17", + "nodeType": "YulFunctionCall", + "src": "10864:51:17" + }, + "nativeSrc": "10864:51:17", + "nodeType": "YulExpressionStatement", + "src": "10864:51:17" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_IAgentRegistryV1_$3258__to_t_address__fromStack_reversed", + "nativeSrc": "10693:228:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10788:9:17", + "nodeType": "YulTypedName", + "src": "10788:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10799:6:17", + "nodeType": "YulTypedName", + "src": "10799:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10810:4:17", + "nodeType": "YulTypedName", + "src": "10810:4:17", + "type": "" + } + ], + "src": "10693:228:17" + }, + { + "body": { + "nativeSrc": "11207:446:17", + "nodeType": "YulBlock", + "src": "11207:446:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11224:9:17", + "nodeType": "YulIdentifier", + "src": "11224:9:17" + }, + { + "kind": "number", + "nativeSrc": "11235:3:17", + "nodeType": "YulLiteral", + "src": "11235:3:17", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11217:6:17", + "nodeType": "YulIdentifier", + "src": "11217:6:17" + }, + "nativeSrc": "11217:22:17", + "nodeType": "YulFunctionCall", + "src": "11217:22:17" + }, + "nativeSrc": "11217:22:17", + "nodeType": "YulExpressionStatement", + "src": "11217:22:17" + }, + { + "nativeSrc": "11248:60:17", + "nodeType": "YulVariableDeclaration", + "src": "11248:60:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "11280:6:17", + "nodeType": "YulIdentifier", + "src": "11280:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11292:9:17", + "nodeType": "YulIdentifier", + "src": "11292:9:17" + }, + { + "kind": "number", + "nativeSrc": "11303:3:17", + "nodeType": "YulLiteral", + "src": "11303:3:17", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11288:3:17", + "nodeType": "YulIdentifier", + "src": "11288:3:17" + }, + "nativeSrc": "11288:19:17", + "nodeType": "YulFunctionCall", + "src": "11288:19:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "11262:17:17", + "nodeType": "YulIdentifier", + "src": "11262:17:17" + }, + "nativeSrc": "11262:46:17", + "nodeType": "YulFunctionCall", + "src": "11262:46:17" + }, + "variables": [ + { + "name": "tail_1", + "nativeSrc": "11252:6:17", + "nodeType": "YulTypedName", + "src": "11252:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11328:9:17", + "nodeType": "YulIdentifier", + "src": "11328:9:17" + }, + { + "kind": "number", + "nativeSrc": "11339:2:17", + "nodeType": "YulLiteral", + "src": "11339:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11324:3:17", + "nodeType": "YulIdentifier", + "src": "11324:3:17" + }, + "nativeSrc": "11324:18:17", + "nodeType": "YulFunctionCall", + "src": "11324:18:17" + }, + { + "arguments": [ + { + "name": "tail_1", + "nativeSrc": "11348:6:17", + "nodeType": "YulIdentifier", + "src": "11348:6:17" + }, + { + "name": "headStart", + "nativeSrc": "11356:9:17", + "nodeType": "YulIdentifier", + "src": "11356:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11344:3:17", + "nodeType": "YulIdentifier", + "src": "11344:3:17" + }, + "nativeSrc": "11344:22:17", + "nodeType": "YulFunctionCall", + "src": "11344:22:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11317:6:17", + "nodeType": "YulIdentifier", + "src": "11317:6:17" + }, + "nativeSrc": "11317:50:17", + "nodeType": "YulFunctionCall", + "src": "11317:50:17" + }, + "nativeSrc": "11317:50:17", + "nodeType": "YulExpressionStatement", + "src": "11317:50:17" + }, + { + "nativeSrc": "11376:41:17", + "nodeType": "YulAssignment", + "src": "11376:41:17", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "11402:6:17", + "nodeType": "YulIdentifier", + "src": "11402:6:17" + }, + { + "name": "tail_1", + "nativeSrc": "11410:6:17", + "nodeType": "YulIdentifier", + "src": "11410:6:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "11384:17:17", + "nodeType": "YulIdentifier", + "src": "11384:17:17" + }, + "nativeSrc": "11384:33:17", + "nodeType": "YulFunctionCall", + "src": "11384:33:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11376:4:17", + "nodeType": "YulIdentifier", + "src": "11376:4:17" + } + ] + }, + { + "nativeSrc": "11426:29:17", + "nodeType": "YulVariableDeclaration", + "src": "11426:29:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11444:3:17", + "nodeType": "YulLiteral", + "src": "11444:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "11449:1:17", + "nodeType": "YulLiteral", + "src": "11449:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "11440:3:17", + "nodeType": "YulIdentifier", + "src": "11440:3:17" + }, + "nativeSrc": "11440:11:17", + "nodeType": "YulFunctionCall", + "src": "11440:11:17" + }, + { + "kind": "number", + "nativeSrc": "11453:1:17", + "nodeType": "YulLiteral", + "src": "11453:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "11436:3:17", + "nodeType": "YulIdentifier", + "src": "11436:3:17" + }, + "nativeSrc": "11436:19:17", + "nodeType": "YulFunctionCall", + "src": "11436:19:17" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "11430:2:17", + "nodeType": "YulTypedName", + "src": "11430:2:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11475:9:17", + "nodeType": "YulIdentifier", + "src": "11475:9:17" + }, + { + "kind": "number", + "nativeSrc": "11486:2:17", + "nodeType": "YulLiteral", + "src": "11486:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11471:3:17", + "nodeType": "YulIdentifier", + "src": "11471:3:17" + }, + "nativeSrc": "11471:18:17", + "nodeType": "YulFunctionCall", + "src": "11471:18:17" + }, + { + "arguments": [ + { + "name": "value2", + "nativeSrc": "11495:6:17", + "nodeType": "YulIdentifier", + "src": "11495:6:17" + }, + { + "name": "_1", + "nativeSrc": "11503:2:17", + "nodeType": "YulIdentifier", + "src": "11503:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "11491:3:17", + "nodeType": "YulIdentifier", + "src": "11491:3:17" + }, + "nativeSrc": "11491:15:17", + "nodeType": "YulFunctionCall", + "src": "11491:15:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11464:6:17", + "nodeType": "YulIdentifier", + "src": "11464:6:17" + }, + "nativeSrc": "11464:43:17", + "nodeType": "YulFunctionCall", + "src": "11464:43:17" + }, + "nativeSrc": "11464:43:17", + "nodeType": "YulExpressionStatement", + "src": "11464:43:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11527:9:17", + "nodeType": "YulIdentifier", + "src": "11527:9:17" + }, + { + "kind": "number", + "nativeSrc": "11538:2:17", + "nodeType": "YulLiteral", + "src": "11538:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11523:3:17", + "nodeType": "YulIdentifier", + "src": "11523:3:17" + }, + "nativeSrc": "11523:18:17", + "nodeType": "YulFunctionCall", + "src": "11523:18:17" + }, + { + "arguments": [ + { + "name": "value3", + "nativeSrc": "11547:6:17", + "nodeType": "YulIdentifier", + "src": "11547:6:17" + }, + { + "name": "_1", + "nativeSrc": "11555:2:17", + "nodeType": "YulIdentifier", + "src": "11555:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "11543:3:17", + "nodeType": "YulIdentifier", + "src": "11543:3:17" + }, + "nativeSrc": "11543:15:17", + "nodeType": "YulFunctionCall", + "src": "11543:15:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11516:6:17", + "nodeType": "YulIdentifier", + "src": "11516:6:17" + }, + "nativeSrc": "11516:43:17", + "nodeType": "YulFunctionCall", + "src": "11516:43:17" + }, + "nativeSrc": "11516:43:17", + "nodeType": "YulExpressionStatement", + "src": "11516:43:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11579:9:17", + "nodeType": "YulIdentifier", + "src": "11579:9:17" + }, + { + "kind": "number", + "nativeSrc": "11590:3:17", + "nodeType": "YulLiteral", + "src": "11590:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11575:3:17", + "nodeType": "YulIdentifier", + "src": "11575:3:17" + }, + "nativeSrc": "11575:19:17", + "nodeType": "YulFunctionCall", + "src": "11575:19:17" + }, + { + "name": "value4", + "nativeSrc": "11596:6:17", + "nodeType": "YulIdentifier", + "src": "11596:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11568:6:17", + "nodeType": "YulIdentifier", + "src": "11568:6:17" + }, + "nativeSrc": "11568:35:17", + "nodeType": "YulFunctionCall", + "src": "11568:35:17" + }, + "nativeSrc": "11568:35:17", + "nodeType": "YulExpressionStatement", + "src": "11568:35:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11623:9:17", + "nodeType": "YulIdentifier", + "src": "11623:9:17" + }, + { + "kind": "number", + "nativeSrc": "11634:3:17", + "nodeType": "YulLiteral", + "src": "11634:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11619:3:17", + "nodeType": "YulIdentifier", + "src": "11619:3:17" + }, + "nativeSrc": "11619:19:17", + "nodeType": "YulFunctionCall", + "src": "11619:19:17" + }, + { + "name": "value5", + "nativeSrc": "11640:6:17", + "nodeType": "YulIdentifier", + "src": "11640:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11612:6:17", + "nodeType": "YulIdentifier", + "src": "11612:6:17" + }, + "nativeSrc": "11612:35:17", + "nodeType": "YulFunctionCall", + "src": "11612:35:17" + }, + "nativeSrc": "11612:35:17", + "nodeType": "YulExpressionStatement", + "src": "11612:35:17" + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__fromStack_reversed", + "nativeSrc": "10926:727:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11136:9:17", + "nodeType": "YulTypedName", + "src": "11136:9:17", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "11147:6:17", + "nodeType": "YulTypedName", + "src": "11147:6:17", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "11155:6:17", + "nodeType": "YulTypedName", + "src": "11155:6:17", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "11163:6:17", + "nodeType": "YulTypedName", + "src": "11163:6:17", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "11171:6:17", + "nodeType": "YulTypedName", + "src": "11171:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "11179:6:17", + "nodeType": "YulTypedName", + "src": "11179:6:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "11187:6:17", + "nodeType": "YulTypedName", + "src": "11187:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "11198:4:17", + "nodeType": "YulTypedName", + "src": "11198:4:17", + "type": "" + } + ], + "src": "10926:727:17" + }, + { + "body": { + "nativeSrc": "11713:325:17", + "nodeType": "YulBlock", + "src": "11713:325:17", + "statements": [ + { + "nativeSrc": "11723:22:17", + "nodeType": "YulAssignment", + "src": "11723:22:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11737:1:17", + "nodeType": "YulLiteral", + "src": "11737:1:17", + "type": "", + "value": "1" + }, + { + "name": "data", + "nativeSrc": "11740:4:17", + "nodeType": "YulIdentifier", + "src": "11740:4:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "11733:3:17", + "nodeType": "YulIdentifier", + "src": "11733:3:17" + }, + "nativeSrc": "11733:12:17", + "nodeType": "YulFunctionCall", + "src": "11733:12:17" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "11723:6:17", + "nodeType": "YulIdentifier", + "src": "11723:6:17" + } + ] + }, + { + "nativeSrc": "11754:38:17", + "nodeType": "YulVariableDeclaration", + "src": "11754:38:17", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "11784:4:17", + "nodeType": "YulIdentifier", + "src": "11784:4:17" + }, + { + "kind": "number", + "nativeSrc": "11790:1:17", + "nodeType": "YulLiteral", + "src": "11790:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "11780:3:17", + "nodeType": "YulIdentifier", + "src": "11780:3:17" + }, + "nativeSrc": "11780:12:17", + "nodeType": "YulFunctionCall", + "src": "11780:12:17" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "11758:18:17", + "nodeType": "YulTypedName", + "src": "11758:18:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "11831:31:17", + "nodeType": "YulBlock", + "src": "11831:31:17", + "statements": [ + { + "nativeSrc": "11833:27:17", + "nodeType": "YulAssignment", + "src": "11833:27:17", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "11847:6:17", + "nodeType": "YulIdentifier", + "src": "11847:6:17" + }, + { + "kind": "number", + "nativeSrc": "11855:4:17", + "nodeType": "YulLiteral", + "src": "11855:4:17", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "11843:3:17", + "nodeType": "YulIdentifier", + "src": "11843:3:17" + }, + "nativeSrc": "11843:17:17", + "nodeType": "YulFunctionCall", + "src": "11843:17:17" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "11833:6:17", + "nodeType": "YulIdentifier", + "src": "11833:6:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "11811:18:17", + "nodeType": "YulIdentifier", + "src": "11811:18:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "11804:6:17", + "nodeType": "YulIdentifier", + "src": "11804:6:17" + }, + "nativeSrc": "11804:26:17", + "nodeType": "YulFunctionCall", + "src": "11804:26:17" + }, + "nativeSrc": "11801:61:17", + "nodeType": "YulIf", + "src": "11801:61:17" + }, + { + "body": { + "nativeSrc": "11921:111:17", + "nodeType": "YulBlock", + "src": "11921:111:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11942:1:17", + "nodeType": "YulLiteral", + "src": "11942:1:17", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11949:3:17", + "nodeType": "YulLiteral", + "src": "11949:3:17", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nativeSrc": "11954:10:17", + "nodeType": "YulLiteral", + "src": "11954:10:17", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "11945:3:17", + "nodeType": "YulIdentifier", + "src": "11945:3:17" + }, + "nativeSrc": "11945:20:17", + "nodeType": "YulFunctionCall", + "src": "11945:20:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11935:6:17", + "nodeType": "YulIdentifier", + "src": "11935:6:17" + }, + "nativeSrc": "11935:31:17", + "nodeType": "YulFunctionCall", + "src": "11935:31:17" + }, + "nativeSrc": "11935:31:17", + "nodeType": "YulExpressionStatement", + "src": "11935:31:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "11986:1:17", + "nodeType": "YulLiteral", + "src": "11986:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "11989:4:17", + "nodeType": "YulLiteral", + "src": "11989:4:17", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11979:6:17", + "nodeType": "YulIdentifier", + "src": "11979:6:17" + }, + "nativeSrc": "11979:15:17", + "nodeType": "YulFunctionCall", + "src": "11979:15:17" + }, + "nativeSrc": "11979:15:17", + "nodeType": "YulExpressionStatement", + "src": "11979:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12014:1:17", + "nodeType": "YulLiteral", + "src": "12014:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "12017:4:17", + "nodeType": "YulLiteral", + "src": "12017:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "12007:6:17", + "nodeType": "YulIdentifier", + "src": "12007:6:17" + }, + "nativeSrc": "12007:15:17", + "nodeType": "YulFunctionCall", + "src": "12007:15:17" + }, + "nativeSrc": "12007:15:17", + "nodeType": "YulExpressionStatement", + "src": "12007:15:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "11877:18:17", + "nodeType": "YulIdentifier", + "src": "11877:18:17" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "11900:6:17", + "nodeType": "YulIdentifier", + "src": "11900:6:17" + }, + { + "kind": "number", + "nativeSrc": "11908:2:17", + "nodeType": "YulLiteral", + "src": "11908:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "11897:2:17", + "nodeType": "YulIdentifier", + "src": "11897:2:17" + }, + "nativeSrc": "11897:14:17", + "nodeType": "YulFunctionCall", + "src": "11897:14:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "11874:2:17", + "nodeType": "YulIdentifier", + "src": "11874:2:17" + }, + "nativeSrc": "11874:38:17", + "nodeType": "YulFunctionCall", + "src": "11874:38:17" + }, + "nativeSrc": "11871:161:17", + "nodeType": "YulIf", + "src": "11871:161:17" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "11658:380:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "11693:4:17", + "nodeType": "YulTypedName", + "src": "11693:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "11702:6:17", + "nodeType": "YulTypedName", + "src": "11702:6:17", + "type": "" + } + ], + "src": "11658:380:17" + }, + { + "body": { + "nativeSrc": "12217:174:17", + "nodeType": "YulBlock", + "src": "12217:174:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12234:9:17", + "nodeType": "YulIdentifier", + "src": "12234:9:17" + }, + { + "kind": "number", + "nativeSrc": "12245:2:17", + "nodeType": "YulLiteral", + "src": "12245:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12227:6:17", + "nodeType": "YulIdentifier", + "src": "12227:6:17" + }, + "nativeSrc": "12227:21:17", + "nodeType": "YulFunctionCall", + "src": "12227:21:17" + }, + "nativeSrc": "12227:21:17", + "nodeType": "YulExpressionStatement", + "src": "12227:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12268:9:17", + "nodeType": "YulIdentifier", + "src": "12268:9:17" + }, + { + "kind": "number", + "nativeSrc": "12279:2:17", + "nodeType": "YulLiteral", + "src": "12279:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12264:3:17", + "nodeType": "YulIdentifier", + "src": "12264:3:17" + }, + "nativeSrc": "12264:18:17", + "nodeType": "YulFunctionCall", + "src": "12264:18:17" + }, + { + "kind": "number", + "nativeSrc": "12284:2:17", + "nodeType": "YulLiteral", + "src": "12284:2:17", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12257:6:17", + "nodeType": "YulIdentifier", + "src": "12257:6:17" + }, + "nativeSrc": "12257:30:17", + "nodeType": "YulFunctionCall", + "src": "12257:30:17" + }, + "nativeSrc": "12257:30:17", + "nodeType": "YulExpressionStatement", + "src": "12257:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12307:9:17", + "nodeType": "YulIdentifier", + "src": "12307:9:17" + }, + { + "kind": "number", + "nativeSrc": "12318:2:17", + "nodeType": "YulLiteral", + "src": "12318:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12303:3:17", + "nodeType": "YulIdentifier", + "src": "12303:3:17" + }, + "nativeSrc": "12303:18:17", + "nodeType": "YulFunctionCall", + "src": "12303:18:17" + }, + { + "hexValue": "4167656e7420616c72656164792072656769737465726564", + "kind": "string", + "nativeSrc": "12323:26:17", + "nodeType": "YulLiteral", + "src": "12323:26:17", + "type": "", + "value": "Agent already registered" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12296:6:17", + "nodeType": "YulIdentifier", + "src": "12296:6:17" + }, + "nativeSrc": "12296:54:17", + "nodeType": "YulFunctionCall", + "src": "12296:54:17" + }, + "nativeSrc": "12296:54:17", + "nodeType": "YulExpressionStatement", + "src": "12296:54:17" + }, + { + "nativeSrc": "12359:26:17", + "nodeType": "YulAssignment", + "src": "12359:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12371:9:17", + "nodeType": "YulIdentifier", + "src": "12371:9:17" + }, + { + "kind": "number", + "nativeSrc": "12382:2:17", + "nodeType": "YulLiteral", + "src": "12382:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12367:3:17", + "nodeType": "YulIdentifier", + "src": "12367:3:17" + }, + "nativeSrc": "12367:18:17", + "nodeType": "YulFunctionCall", + "src": "12367:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12359:4:17", + "nodeType": "YulIdentifier", + "src": "12359:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "12043:348:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "12194:9:17", + "nodeType": "YulTypedName", + "src": "12194:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "12208:4:17", + "nodeType": "YulTypedName", + "src": "12208:4:17", + "type": "" + } + ], + "src": "12043:348:17" + }, + { + "body": { + "nativeSrc": "12453:107:17", + "nodeType": "YulBlock", + "src": "12453:107:17", + "statements": [ + { + "nativeSrc": "12463:22:17", + "nodeType": "YulAssignment", + "src": "12463:22:17", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "12478:6:17", + "nodeType": "YulIdentifier", + "src": "12478:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "12472:5:17", + "nodeType": "YulIdentifier", + "src": "12472:5:17" + }, + "nativeSrc": "12472:13:17", + "nodeType": "YulFunctionCall", + "src": "12472:13:17" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "12463:5:17", + "nodeType": "YulIdentifier", + "src": "12463:5:17" + } + ] + }, + { + "body": { + "nativeSrc": "12538:16:17", + "nodeType": "YulBlock", + "src": "12538:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12547:1:17", + "nodeType": "YulLiteral", + "src": "12547:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "12550:1:17", + "nodeType": "YulLiteral", + "src": "12550:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "12540:6:17", + "nodeType": "YulIdentifier", + "src": "12540:6:17" + }, + "nativeSrc": "12540:12:17", + "nodeType": "YulFunctionCall", + "src": "12540:12:17" + }, + "nativeSrc": "12540:12:17", + "nodeType": "YulExpressionStatement", + "src": "12540:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "12507:5:17", + "nodeType": "YulIdentifier", + "src": "12507:5:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "12528:5:17", + "nodeType": "YulIdentifier", + "src": "12528:5:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "12521:6:17", + "nodeType": "YulIdentifier", + "src": "12521:6:17" + }, + "nativeSrc": "12521:13:17", + "nodeType": "YulFunctionCall", + "src": "12521:13:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "12514:6:17", + "nodeType": "YulIdentifier", + "src": "12514:6:17" + }, + "nativeSrc": "12514:21:17", + "nodeType": "YulFunctionCall", + "src": "12514:21:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "12504:2:17", + "nodeType": "YulIdentifier", + "src": "12504:2:17" + }, + "nativeSrc": "12504:32:17", + "nodeType": "YulFunctionCall", + "src": "12504:32:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "12497:6:17", + "nodeType": "YulIdentifier", + "src": "12497:6:17" + }, + "nativeSrc": "12497:40:17", + "nodeType": "YulFunctionCall", + "src": "12497:40:17" + }, + "nativeSrc": "12494:60:17", + "nodeType": "YulIf", + "src": "12494:60:17" + } + ] + }, + "name": "abi_decode_bool_fromMemory", + "nativeSrc": "12396:164:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "12432:6:17", + "nodeType": "YulTypedName", + "src": "12432:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "12443:5:17", + "nodeType": "YulTypedName", + "src": "12443:5:17", + "type": "" + } + ], + "src": "12396:164:17" + }, + { + "body": { + "nativeSrc": "12643:124:17", + "nodeType": "YulBlock", + "src": "12643:124:17", + "statements": [ + { + "body": { + "nativeSrc": "12689:16:17", + "nodeType": "YulBlock", + "src": "12689:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12698:1:17", + "nodeType": "YulLiteral", + "src": "12698:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "12701:1:17", + "nodeType": "YulLiteral", + "src": "12701:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "12691:6:17", + "nodeType": "YulIdentifier", + "src": "12691:6:17" + }, + "nativeSrc": "12691:12:17", + "nodeType": "YulFunctionCall", + "src": "12691:12:17" + }, + "nativeSrc": "12691:12:17", + "nodeType": "YulExpressionStatement", + "src": "12691:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "12664:7:17", + "nodeType": "YulIdentifier", + "src": "12664:7:17" + }, + { + "name": "headStart", + "nativeSrc": "12673:9:17", + "nodeType": "YulIdentifier", + "src": "12673:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "12660:3:17", + "nodeType": "YulIdentifier", + "src": "12660:3:17" + }, + "nativeSrc": "12660:23:17", + "nodeType": "YulFunctionCall", + "src": "12660:23:17" + }, + { + "kind": "number", + "nativeSrc": "12685:2:17", + "nodeType": "YulLiteral", + "src": "12685:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "12656:3:17", + "nodeType": "YulIdentifier", + "src": "12656:3:17" + }, + "nativeSrc": "12656:32:17", + "nodeType": "YulFunctionCall", + "src": "12656:32:17" + }, + "nativeSrc": "12653:52:17", + "nodeType": "YulIf", + "src": "12653:52:17" + }, + { + "nativeSrc": "12714:47:17", + "nodeType": "YulAssignment", + "src": "12714:47:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12751:9:17", + "nodeType": "YulIdentifier", + "src": "12751:9:17" + } + ], + "functionName": { + "name": "abi_decode_bool_fromMemory", + "nativeSrc": "12724:26:17", + "nodeType": "YulIdentifier", + "src": "12724:26:17" + }, + "nativeSrc": "12724:37:17", + "nodeType": "YulFunctionCall", + "src": "12724:37:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "12714:6:17", + "nodeType": "YulIdentifier", + "src": "12714:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nativeSrc": "12565:202:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "12609:9:17", + "nodeType": "YulTypedName", + "src": "12609:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "12620:7:17", + "nodeType": "YulTypedName", + "src": "12620:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "12632:6:17", + "nodeType": "YulTypedName", + "src": "12632:6:17", + "type": "" + } + ], + "src": "12565:202:17" + }, + { + "body": { + "nativeSrc": "12946:172:17", + "nodeType": "YulBlock", + "src": "12946:172:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12963:9:17", + "nodeType": "YulIdentifier", + "src": "12963:9:17" + }, + { + "kind": "number", + "nativeSrc": "12974:2:17", + "nodeType": "YulLiteral", + "src": "12974:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12956:6:17", + "nodeType": "YulIdentifier", + "src": "12956:6:17" + }, + "nativeSrc": "12956:21:17", + "nodeType": "YulFunctionCall", + "src": "12956:21:17" + }, + "nativeSrc": "12956:21:17", + "nodeType": "YulExpressionStatement", + "src": "12956:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12997:9:17", + "nodeType": "YulIdentifier", + "src": "12997:9:17" + }, + { + "kind": "number", + "nativeSrc": "13008:2:17", + "nodeType": "YulLiteral", + "src": "13008:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12993:3:17", + "nodeType": "YulIdentifier", + "src": "12993:3:17" + }, + "nativeSrc": "12993:18:17", + "nodeType": "YulFunctionCall", + "src": "12993:18:17" + }, + { + "kind": "number", + "nativeSrc": "13013:2:17", + "nodeType": "YulLiteral", + "src": "13013:2:17", + "type": "", + "value": "22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12986:6:17", + "nodeType": "YulIdentifier", + "src": "12986:6:17" + }, + "nativeSrc": "12986:30:17", + "nodeType": "YulFunctionCall", + "src": "12986:30:17" + }, + "nativeSrc": "12986:30:17", + "nodeType": "YulExpressionStatement", + "src": "12986:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13036:9:17", + "nodeType": "YulIdentifier", + "src": "13036:9:17" + }, + { + "kind": "number", + "nativeSrc": "13047:2:17", + "nodeType": "YulLiteral", + "src": "13047:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13032:3:17", + "nodeType": "YulIdentifier", + "src": "13032:3:17" + }, + "nativeSrc": "13032:18:17", + "nodeType": "YulFunctionCall", + "src": "13032:18:17" + }, + { + "hexValue": "53657276696365206e6f742072656769737465726564", + "kind": "string", + "nativeSrc": "13052:24:17", + "nodeType": "YulLiteral", + "src": "13052:24:17", + "type": "", + "value": "Service not registered" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13025:6:17", + "nodeType": "YulIdentifier", + "src": "13025:6:17" + }, + "nativeSrc": "13025:52:17", + "nodeType": "YulFunctionCall", + "src": "13025:52:17" + }, + "nativeSrc": "13025:52:17", + "nodeType": "YulExpressionStatement", + "src": "13025:52:17" + }, + { + "nativeSrc": "13086:26:17", + "nodeType": "YulAssignment", + "src": "13086:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13098:9:17", + "nodeType": "YulIdentifier", + "src": "13098:9:17" + }, + { + "kind": "number", + "nativeSrc": "13109:2:17", + "nodeType": "YulLiteral", + "src": "13109:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13094:3:17", + "nodeType": "YulIdentifier", + "src": "13094:3:17" + }, + "nativeSrc": "13094:18:17", + "nodeType": "YulFunctionCall", + "src": "13094:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "13086:4:17", + "nodeType": "YulIdentifier", + "src": "13086:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "12772:346:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "12923:9:17", + "nodeType": "YulTypedName", + "src": "12923:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "12937:4:17", + "nodeType": "YulTypedName", + "src": "12937:4:17", + "type": "" + } + ], + "src": "12772:346:17" + }, + { + "body": { + "nativeSrc": "13231:101:17", + "nodeType": "YulBlock", + "src": "13231:101:17", + "statements": [ + { + "nativeSrc": "13241:26:17", + "nodeType": "YulAssignment", + "src": "13241:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13253:9:17", + "nodeType": "YulIdentifier", + "src": "13253:9:17" + }, + { + "kind": "number", + "nativeSrc": "13264:2:17", + "nodeType": "YulLiteral", + "src": "13264:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13249:3:17", + "nodeType": "YulIdentifier", + "src": "13249:3:17" + }, + "nativeSrc": "13249:18:17", + "nodeType": "YulFunctionCall", + "src": "13249:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "13241:4:17", + "nodeType": "YulIdentifier", + "src": "13241:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "13283:9:17", + "nodeType": "YulIdentifier", + "src": "13283:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "13298:6:17", + "nodeType": "YulIdentifier", + "src": "13298:6:17" + }, + { + "kind": "number", + "nativeSrc": "13306:18:17", + "nodeType": "YulLiteral", + "src": "13306:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "13294:3:17", + "nodeType": "YulIdentifier", + "src": "13294:3:17" + }, + "nativeSrc": "13294:31:17", + "nodeType": "YulFunctionCall", + "src": "13294:31:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13276:6:17", + "nodeType": "YulIdentifier", + "src": "13276:6:17" + }, + "nativeSrc": "13276:50:17", + "nodeType": "YulFunctionCall", + "src": "13276:50:17" + }, + "nativeSrc": "13276:50:17", + "nodeType": "YulExpressionStatement", + "src": "13276:50:17" + } + ] + }, + "name": "abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed", + "nativeSrc": "13123:209:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "13200:9:17", + "nodeType": "YulTypedName", + "src": "13200:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "13211:6:17", + "nodeType": "YulTypedName", + "src": "13211:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "13222:4:17", + "nodeType": "YulTypedName", + "src": "13222:4:17", + "type": "" + } + ], + "src": "13123:209:17" + }, + { + "body": { + "nativeSrc": "13401:379:17", + "nodeType": "YulBlock", + "src": "13401:379:17", + "statements": [ + { + "body": { + "nativeSrc": "13450:16:17", + "nodeType": "YulBlock", + "src": "13450:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13459:1:17", + "nodeType": "YulLiteral", + "src": "13459:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "13462:1:17", + "nodeType": "YulLiteral", + "src": "13462:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "13452:6:17", + "nodeType": "YulIdentifier", + "src": "13452:6:17" + }, + "nativeSrc": "13452:12:17", + "nodeType": "YulFunctionCall", + "src": "13452:12:17" + }, + "nativeSrc": "13452:12:17", + "nodeType": "YulExpressionStatement", + "src": "13452:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13429:6:17", + "nodeType": "YulIdentifier", + "src": "13429:6:17" + }, + { + "kind": "number", + "nativeSrc": "13437:4:17", + "nodeType": "YulLiteral", + "src": "13437:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13425:3:17", + "nodeType": "YulIdentifier", + "src": "13425:3:17" + }, + "nativeSrc": "13425:17:17", + "nodeType": "YulFunctionCall", + "src": "13425:17:17" + }, + { + "name": "end", + "nativeSrc": "13444:3:17", + "nodeType": "YulIdentifier", + "src": "13444:3:17" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "13421:3:17", + "nodeType": "YulIdentifier", + "src": "13421:3:17" + }, + "nativeSrc": "13421:27:17", + "nodeType": "YulFunctionCall", + "src": "13421:27:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "13414:6:17", + "nodeType": "YulIdentifier", + "src": "13414:6:17" + }, + "nativeSrc": "13414:35:17", + "nodeType": "YulFunctionCall", + "src": "13414:35:17" + }, + "nativeSrc": "13411:55:17", + "nodeType": "YulIf", + "src": "13411:55:17" + }, + { + "nativeSrc": "13475:23:17", + "nodeType": "YulVariableDeclaration", + "src": "13475:23:17", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13491:6:17", + "nodeType": "YulIdentifier", + "src": "13491:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13485:5:17", + "nodeType": "YulIdentifier", + "src": "13485:5:17" + }, + "nativeSrc": "13485:13:17", + "nodeType": "YulFunctionCall", + "src": "13485:13:17" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "13479:2:17", + "nodeType": "YulTypedName", + "src": "13479:2:17", + "type": "" + } + ] + }, + { + "nativeSrc": "13507:64:17", + "nodeType": "YulVariableDeclaration", + "src": "13507:64:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nativeSrc": "13567:2:17", + "nodeType": "YulIdentifier", + "src": "13567:2:17" + } + ], + "functionName": { + "name": "array_allocation_size_string", + "nativeSrc": "13538:28:17", + "nodeType": "YulIdentifier", + "src": "13538:28:17" + }, + "nativeSrc": "13538:32:17", + "nodeType": "YulFunctionCall", + "src": "13538:32:17" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "13522:15:17", + "nodeType": "YulIdentifier", + "src": "13522:15:17" + }, + "nativeSrc": "13522:49:17", + "nodeType": "YulFunctionCall", + "src": "13522:49:17" + }, + "variables": [ + { + "name": "array_1", + "nativeSrc": "13511:7:17", + "nodeType": "YulTypedName", + "src": "13511:7:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array_1", + "nativeSrc": "13587:7:17", + "nodeType": "YulIdentifier", + "src": "13587:7:17" + }, + { + "name": "_1", + "nativeSrc": "13596:2:17", + "nodeType": "YulIdentifier", + "src": "13596:2:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "13580:6:17", + "nodeType": "YulIdentifier", + "src": "13580:6:17" + }, + "nativeSrc": "13580:19:17", + "nodeType": "YulFunctionCall", + "src": "13580:19:17" + }, + "nativeSrc": "13580:19:17", + "nodeType": "YulExpressionStatement", + "src": "13580:19:17" + }, + { + "body": { + "nativeSrc": "13647:16:17", + "nodeType": "YulBlock", + "src": "13647:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13656:1:17", + "nodeType": "YulLiteral", + "src": "13656:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "13659:1:17", + "nodeType": "YulLiteral", + "src": "13659:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "13649:6:17", + "nodeType": "YulIdentifier", + "src": "13649:6:17" + }, + "nativeSrc": "13649:12:17", + "nodeType": "YulFunctionCall", + "src": "13649:12:17" + }, + "nativeSrc": "13649:12:17", + "nodeType": "YulExpressionStatement", + "src": "13649:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13622:6:17", + "nodeType": "YulIdentifier", + "src": "13622:6:17" + }, + { + "name": "_1", + "nativeSrc": "13630:2:17", + "nodeType": "YulIdentifier", + "src": "13630:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13618:3:17", + "nodeType": "YulIdentifier", + "src": "13618:3:17" + }, + "nativeSrc": "13618:15:17", + "nodeType": "YulFunctionCall", + "src": "13618:15:17" + }, + { + "kind": "number", + "nativeSrc": "13635:4:17", + "nodeType": "YulLiteral", + "src": "13635:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13614:3:17", + "nodeType": "YulIdentifier", + "src": "13614:3:17" + }, + "nativeSrc": "13614:26:17", + "nodeType": "YulFunctionCall", + "src": "13614:26:17" + }, + { + "name": "end", + "nativeSrc": "13642:3:17", + "nodeType": "YulIdentifier", + "src": "13642:3:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13611:2:17", + "nodeType": "YulIdentifier", + "src": "13611:2:17" + }, + "nativeSrc": "13611:35:17", + "nodeType": "YulFunctionCall", + "src": "13611:35:17" + }, + "nativeSrc": "13608:55:17", + "nodeType": "YulIf", + "src": "13608:55:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13711:6:17", + "nodeType": "YulIdentifier", + "src": "13711:6:17" + }, + { + "kind": "number", + "nativeSrc": "13719:4:17", + "nodeType": "YulLiteral", + "src": "13719:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13707:3:17", + "nodeType": "YulIdentifier", + "src": "13707:3:17" + }, + "nativeSrc": "13707:17:17", + "nodeType": "YulFunctionCall", + "src": "13707:17:17" + }, + { + "arguments": [ + { + "name": "array_1", + "nativeSrc": "13730:7:17", + "nodeType": "YulIdentifier", + "src": "13730:7:17" + }, + { + "kind": "number", + "nativeSrc": "13739:4:17", + "nodeType": "YulLiteral", + "src": "13739:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13726:3:17", + "nodeType": "YulIdentifier", + "src": "13726:3:17" + }, + "nativeSrc": "13726:18:17", + "nodeType": "YulFunctionCall", + "src": "13726:18:17" + }, + { + "name": "_1", + "nativeSrc": "13746:2:17", + "nodeType": "YulIdentifier", + "src": "13746:2:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "13672:34:17", + "nodeType": "YulIdentifier", + "src": "13672:34:17" + }, + "nativeSrc": "13672:77:17", + "nodeType": "YulFunctionCall", + "src": "13672:77:17" + }, + "nativeSrc": "13672:77:17", + "nodeType": "YulExpressionStatement", + "src": "13672:77:17" + }, + { + "nativeSrc": "13758:16:17", + "nodeType": "YulAssignment", + "src": "13758:16:17", + "value": { + "name": "array_1", + "nativeSrc": "13767:7:17", + "nodeType": "YulIdentifier", + "src": "13767:7:17" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "13758:5:17", + "nodeType": "YulIdentifier", + "src": "13758:5:17" + } + ] + } + ] + }, + "name": "abi_decode_string_fromMemory", + "nativeSrc": "13337:443:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "13375:6:17", + "nodeType": "YulTypedName", + "src": "13375:6:17", + "type": "" + }, + { + "name": "end", + "nativeSrc": "13383:3:17", + "nodeType": "YulTypedName", + "src": "13383:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "13391:5:17", + "nodeType": "YulTypedName", + "src": "13391:5:17", + "type": "" + } + ], + "src": "13337:443:17" + }, + { + "body": { + "nativeSrc": "13845:78:17", + "nodeType": "YulBlock", + "src": "13845:78:17", + "statements": [ + { + "nativeSrc": "13855:22:17", + "nodeType": "YulAssignment", + "src": "13855:22:17", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "13870:6:17", + "nodeType": "YulIdentifier", + "src": "13870:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13864:5:17", + "nodeType": "YulIdentifier", + "src": "13864:5:17" + }, + "nativeSrc": "13864:13:17", + "nodeType": "YulFunctionCall", + "src": "13864:13:17" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "13855:5:17", + "nodeType": "YulIdentifier", + "src": "13855:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "13911:5:17", + "nodeType": "YulIdentifier", + "src": "13911:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "13886:24:17", + "nodeType": "YulIdentifier", + "src": "13886:24:17" + }, + "nativeSrc": "13886:31:17", + "nodeType": "YulFunctionCall", + "src": "13886:31:17" + }, + "nativeSrc": "13886:31:17", + "nodeType": "YulExpressionStatement", + "src": "13886:31:17" + } + ] + }, + "name": "abi_decode_address_fromMemory", + "nativeSrc": "13785:138:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "13824:6:17", + "nodeType": "YulTypedName", + "src": "13824:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "13835:5:17", + "nodeType": "YulTypedName", + "src": "13835:5:17", + "type": "" + } + ], + "src": "13785:138:17" + }, + { + "body": { + "nativeSrc": "14036:944:17", + "nodeType": "YulBlock", + "src": "14036:944:17", + "statements": [ + { + "body": { + "nativeSrc": "14082:16:17", + "nodeType": "YulBlock", + "src": "14082:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14091:1:17", + "nodeType": "YulLiteral", + "src": "14091:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "14094:1:17", + "nodeType": "YulLiteral", + "src": "14094:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "14084:6:17", + "nodeType": "YulIdentifier", + "src": "14084:6:17" + }, + "nativeSrc": "14084:12:17", + "nodeType": "YulFunctionCall", + "src": "14084:12:17" + }, + "nativeSrc": "14084:12:17", + "nodeType": "YulExpressionStatement", + "src": "14084:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "14057:7:17", + "nodeType": "YulIdentifier", + "src": "14057:7:17" + }, + { + "name": "headStart", + "nativeSrc": "14066:9:17", + "nodeType": "YulIdentifier", + "src": "14066:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14053:3:17", + "nodeType": "YulIdentifier", + "src": "14053:3:17" + }, + "nativeSrc": "14053:23:17", + "nodeType": "YulFunctionCall", + "src": "14053:23:17" + }, + { + "kind": "number", + "nativeSrc": "14078:2:17", + "nodeType": "YulLiteral", + "src": "14078:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "14049:3:17", + "nodeType": "YulIdentifier", + "src": "14049:3:17" + }, + "nativeSrc": "14049:32:17", + "nodeType": "YulFunctionCall", + "src": "14049:32:17" + }, + "nativeSrc": "14046:52:17", + "nodeType": "YulIf", + "src": "14046:52:17" + }, + { + "nativeSrc": "14107:30:17", + "nodeType": "YulVariableDeclaration", + "src": "14107:30:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14127:9:17", + "nodeType": "YulIdentifier", + "src": "14127:9:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14121:5:17", + "nodeType": "YulIdentifier", + "src": "14121:5:17" + }, + "nativeSrc": "14121:16:17", + "nodeType": "YulFunctionCall", + "src": "14121:16:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "14111:6:17", + "nodeType": "YulTypedName", + "src": "14111:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "14146:28:17", + "nodeType": "YulVariableDeclaration", + "src": "14146:28:17", + "value": { + "kind": "number", + "nativeSrc": "14156:18:17", + "nodeType": "YulLiteral", + "src": "14156:18:17", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "14150:2:17", + "nodeType": "YulTypedName", + "src": "14150:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "14201:16:17", + "nodeType": "YulBlock", + "src": "14201:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14210:1:17", + "nodeType": "YulLiteral", + "src": "14210:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "14213:1:17", + "nodeType": "YulLiteral", + "src": "14213:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "14203:6:17", + "nodeType": "YulIdentifier", + "src": "14203:6:17" + }, + "nativeSrc": "14203:12:17", + "nodeType": "YulFunctionCall", + "src": "14203:12:17" + }, + "nativeSrc": "14203:12:17", + "nodeType": "YulExpressionStatement", + "src": "14203:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "14189:6:17", + "nodeType": "YulIdentifier", + "src": "14189:6:17" + }, + { + "name": "_1", + "nativeSrc": "14197:2:17", + "nodeType": "YulIdentifier", + "src": "14197:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "14186:2:17", + "nodeType": "YulIdentifier", + "src": "14186:2:17" + }, + "nativeSrc": "14186:14:17", + "nodeType": "YulFunctionCall", + "src": "14186:14:17" + }, + "nativeSrc": "14183:34:17", + "nodeType": "YulIf", + "src": "14183:34:17" + }, + { + "nativeSrc": "14226:32:17", + "nodeType": "YulVariableDeclaration", + "src": "14226:32:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "14240:9:17", + "nodeType": "YulIdentifier", + "src": "14240:9:17" + }, + { + "name": "offset", + "nativeSrc": "14251:6:17", + "nodeType": "YulIdentifier", + "src": "14251:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14236:3:17", + "nodeType": "YulIdentifier", + "src": "14236:3:17" + }, + "nativeSrc": "14236:22:17", + "nodeType": "YulFunctionCall", + "src": "14236:22:17" + }, + "variables": [ + { + "name": "_2", + "nativeSrc": "14230:2:17", + "nodeType": "YulTypedName", + "src": "14230:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "14298:16:17", + "nodeType": "YulBlock", + "src": "14298:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14307:1:17", + "nodeType": "YulLiteral", + "src": "14307:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "14310:1:17", + "nodeType": "YulLiteral", + "src": "14310:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "14300:6:17", + "nodeType": "YulIdentifier", + "src": "14300:6:17" + }, + "nativeSrc": "14300:12:17", + "nodeType": "YulFunctionCall", + "src": "14300:12:17" + }, + "nativeSrc": "14300:12:17", + "nodeType": "YulExpressionStatement", + "src": "14300:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "14278:7:17", + "nodeType": "YulIdentifier", + "src": "14278:7:17" + }, + { + "name": "_2", + "nativeSrc": "14287:2:17", + "nodeType": "YulIdentifier", + "src": "14287:2:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "14274:3:17", + "nodeType": "YulIdentifier", + "src": "14274:3:17" + }, + "nativeSrc": "14274:16:17", + "nodeType": "YulFunctionCall", + "src": "14274:16:17" + }, + { + "kind": "number", + "nativeSrc": "14292:4:17", + "nodeType": "YulLiteral", + "src": "14292:4:17", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "14270:3:17", + "nodeType": "YulIdentifier", + "src": "14270:3:17" + }, + "nativeSrc": "14270:27:17", + "nodeType": "YulFunctionCall", + "src": "14270:27:17" + }, + "nativeSrc": "14267:47:17", + "nodeType": "YulIf", + "src": "14267:47:17" + }, + { + "nativeSrc": "14323:35:17", + "nodeType": "YulVariableDeclaration", + "src": "14323:35:17", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_3052", + "nativeSrc": "14336:20:17", + "nodeType": "YulIdentifier", + "src": "14336:20:17" + }, + "nativeSrc": "14336:22:17", + "nodeType": "YulFunctionCall", + "src": "14336:22:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "14327:5:17", + "nodeType": "YulTypedName", + "src": "14327:5:17", + "type": "" + } + ] + }, + { + "nativeSrc": "14367:25:17", + "nodeType": "YulVariableDeclaration", + "src": "14367:25:17", + "value": { + "arguments": [ + { + "name": "_2", + "nativeSrc": "14389:2:17", + "nodeType": "YulIdentifier", + "src": "14389:2:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14383:5:17", + "nodeType": "YulIdentifier", + "src": "14383:5:17" + }, + "nativeSrc": "14383:9:17", + "nodeType": "YulFunctionCall", + "src": "14383:9:17" + }, + "variables": [ + { + "name": "offset_1", + "nativeSrc": "14371:8:17", + "nodeType": "YulTypedName", + "src": "14371:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "14421:16:17", + "nodeType": "YulBlock", + "src": "14421:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14430:1:17", + "nodeType": "YulLiteral", + "src": "14430:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "14433:1:17", + "nodeType": "YulLiteral", + "src": "14433:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "14423:6:17", + "nodeType": "YulIdentifier", + "src": "14423:6:17" + }, + "nativeSrc": "14423:12:17", + "nodeType": "YulFunctionCall", + "src": "14423:12:17" + }, + "nativeSrc": "14423:12:17", + "nodeType": "YulExpressionStatement", + "src": "14423:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nativeSrc": "14407:8:17", + "nodeType": "YulIdentifier", + "src": "14407:8:17" + }, + { + "name": "_1", + "nativeSrc": "14417:2:17", + "nodeType": "YulIdentifier", + "src": "14417:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "14404:2:17", + "nodeType": "YulIdentifier", + "src": "14404:2:17" + }, + "nativeSrc": "14404:16:17", + "nodeType": "YulFunctionCall", + "src": "14404:16:17" + }, + "nativeSrc": "14401:36:17", + "nodeType": "YulIf", + "src": "14401:36:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "14453:5:17", + "nodeType": "YulIdentifier", + "src": "14453:5:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "14493:2:17", + "nodeType": "YulIdentifier", + "src": "14493:2:17" + }, + { + "name": "offset_1", + "nativeSrc": "14497:8:17", + "nodeType": "YulIdentifier", + "src": "14497:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14489:3:17", + "nodeType": "YulIdentifier", + "src": "14489:3:17" + }, + "nativeSrc": "14489:17:17", + "nodeType": "YulFunctionCall", + "src": "14489:17:17" + }, + { + "name": "dataEnd", + "nativeSrc": "14508:7:17", + "nodeType": "YulIdentifier", + "src": "14508:7:17" + } + ], + "functionName": { + "name": "abi_decode_string_fromMemory", + "nativeSrc": "14460:28:17", + "nodeType": "YulIdentifier", + "src": "14460:28:17" + }, + "nativeSrc": "14460:56:17", + "nodeType": "YulFunctionCall", + "src": "14460:56:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14446:6:17", + "nodeType": "YulIdentifier", + "src": "14446:6:17" + }, + "nativeSrc": "14446:71:17", + "nodeType": "YulFunctionCall", + "src": "14446:71:17" + }, + "nativeSrc": "14446:71:17", + "nodeType": "YulExpressionStatement", + "src": "14446:71:17" + }, + { + "nativeSrc": "14526:34:17", + "nodeType": "YulVariableDeclaration", + "src": "14526:34:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "14552:2:17", + "nodeType": "YulIdentifier", + "src": "14552:2:17" + }, + { + "kind": "number", + "nativeSrc": "14556:2:17", + "nodeType": "YulLiteral", + "src": "14556:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14548:3:17", + "nodeType": "YulIdentifier", + "src": "14548:3:17" + }, + "nativeSrc": "14548:11:17", + "nodeType": "YulFunctionCall", + "src": "14548:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14542:5:17", + "nodeType": "YulIdentifier", + "src": "14542:5:17" + }, + "nativeSrc": "14542:18:17", + "nodeType": "YulFunctionCall", + "src": "14542:18:17" + }, + "variables": [ + { + "name": "offset_2", + "nativeSrc": "14530:8:17", + "nodeType": "YulTypedName", + "src": "14530:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "14589:16:17", + "nodeType": "YulBlock", + "src": "14589:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14598:1:17", + "nodeType": "YulLiteral", + "src": "14598:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "14601:1:17", + "nodeType": "YulLiteral", + "src": "14601:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "14591:6:17", + "nodeType": "YulIdentifier", + "src": "14591:6:17" + }, + "nativeSrc": "14591:12:17", + "nodeType": "YulFunctionCall", + "src": "14591:12:17" + }, + "nativeSrc": "14591:12:17", + "nodeType": "YulExpressionStatement", + "src": "14591:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nativeSrc": "14575:8:17", + "nodeType": "YulIdentifier", + "src": "14575:8:17" + }, + { + "name": "_1", + "nativeSrc": "14585:2:17", + "nodeType": "YulIdentifier", + "src": "14585:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "14572:2:17", + "nodeType": "YulIdentifier", + "src": "14572:2:17" + }, + "nativeSrc": "14572:16:17", + "nodeType": "YulFunctionCall", + "src": "14572:16:17" + }, + "nativeSrc": "14569:36:17", + "nodeType": "YulIf", + "src": "14569:36:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14625:5:17", + "nodeType": "YulIdentifier", + "src": "14625:5:17" + }, + { + "kind": "number", + "nativeSrc": "14632:2:17", + "nodeType": "YulLiteral", + "src": "14632:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14621:3:17", + "nodeType": "YulIdentifier", + "src": "14621:3:17" + }, + "nativeSrc": "14621:14:17", + "nodeType": "YulFunctionCall", + "src": "14621:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "14670:2:17", + "nodeType": "YulIdentifier", + "src": "14670:2:17" + }, + { + "name": "offset_2", + "nativeSrc": "14674:8:17", + "nodeType": "YulIdentifier", + "src": "14674:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14666:3:17", + "nodeType": "YulIdentifier", + "src": "14666:3:17" + }, + "nativeSrc": "14666:17:17", + "nodeType": "YulFunctionCall", + "src": "14666:17:17" + }, + { + "name": "dataEnd", + "nativeSrc": "14685:7:17", + "nodeType": "YulIdentifier", + "src": "14685:7:17" + } + ], + "functionName": { + "name": "abi_decode_string_fromMemory", + "nativeSrc": "14637:28:17", + "nodeType": "YulIdentifier", + "src": "14637:28:17" + }, + "nativeSrc": "14637:56:17", + "nodeType": "YulFunctionCall", + "src": "14637:56:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14614:6:17", + "nodeType": "YulIdentifier", + "src": "14614:6:17" + }, + "nativeSrc": "14614:80:17", + "nodeType": "YulFunctionCall", + "src": "14614:80:17" + }, + "nativeSrc": "14614:80:17", + "nodeType": "YulExpressionStatement", + "src": "14614:80:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14714:5:17", + "nodeType": "YulIdentifier", + "src": "14714:5:17" + }, + { + "kind": "number", + "nativeSrc": "14721:2:17", + "nodeType": "YulLiteral", + "src": "14721:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14710:3:17", + "nodeType": "YulIdentifier", + "src": "14710:3:17" + }, + "nativeSrc": "14710:14:17", + "nodeType": "YulFunctionCall", + "src": "14710:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "14760:2:17", + "nodeType": "YulIdentifier", + "src": "14760:2:17" + }, + { + "kind": "number", + "nativeSrc": "14764:2:17", + "nodeType": "YulLiteral", + "src": "14764:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14756:3:17", + "nodeType": "YulIdentifier", + "src": "14756:3:17" + }, + "nativeSrc": "14756:11:17", + "nodeType": "YulFunctionCall", + "src": "14756:11:17" + } + ], + "functionName": { + "name": "abi_decode_address_fromMemory", + "nativeSrc": "14726:29:17", + "nodeType": "YulIdentifier", + "src": "14726:29:17" + }, + "nativeSrc": "14726:42:17", + "nodeType": "YulFunctionCall", + "src": "14726:42:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14703:6:17", + "nodeType": "YulIdentifier", + "src": "14703:6:17" + }, + "nativeSrc": "14703:66:17", + "nodeType": "YulFunctionCall", + "src": "14703:66:17" + }, + "nativeSrc": "14703:66:17", + "nodeType": "YulExpressionStatement", + "src": "14703:66:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14789:5:17", + "nodeType": "YulIdentifier", + "src": "14789:5:17" + }, + { + "kind": "number", + "nativeSrc": "14796:2:17", + "nodeType": "YulLiteral", + "src": "14796:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14785:3:17", + "nodeType": "YulIdentifier", + "src": "14785:3:17" + }, + "nativeSrc": "14785:14:17", + "nodeType": "YulFunctionCall", + "src": "14785:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "14835:2:17", + "nodeType": "YulIdentifier", + "src": "14835:2:17" + }, + { + "kind": "number", + "nativeSrc": "14839:2:17", + "nodeType": "YulLiteral", + "src": "14839:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14831:3:17", + "nodeType": "YulIdentifier", + "src": "14831:3:17" + }, + "nativeSrc": "14831:11:17", + "nodeType": "YulFunctionCall", + "src": "14831:11:17" + } + ], + "functionName": { + "name": "abi_decode_address_fromMemory", + "nativeSrc": "14801:29:17", + "nodeType": "YulIdentifier", + "src": "14801:29:17" + }, + "nativeSrc": "14801:42:17", + "nodeType": "YulFunctionCall", + "src": "14801:42:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14778:6:17", + "nodeType": "YulIdentifier", + "src": "14778:6:17" + }, + "nativeSrc": "14778:66:17", + "nodeType": "YulFunctionCall", + "src": "14778:66:17" + }, + "nativeSrc": "14778:66:17", + "nodeType": "YulExpressionStatement", + "src": "14778:66:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14864:5:17", + "nodeType": "YulIdentifier", + "src": "14864:5:17" + }, + { + "kind": "number", + "nativeSrc": "14871:3:17", + "nodeType": "YulLiteral", + "src": "14871:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14860:3:17", + "nodeType": "YulIdentifier", + "src": "14860:3:17" + }, + "nativeSrc": "14860:15:17", + "nodeType": "YulFunctionCall", + "src": "14860:15:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "14887:2:17", + "nodeType": "YulIdentifier", + "src": "14887:2:17" + }, + { + "kind": "number", + "nativeSrc": "14891:3:17", + "nodeType": "YulLiteral", + "src": "14891:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14883:3:17", + "nodeType": "YulIdentifier", + "src": "14883:3:17" + }, + "nativeSrc": "14883:12:17", + "nodeType": "YulFunctionCall", + "src": "14883:12:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14877:5:17", + "nodeType": "YulIdentifier", + "src": "14877:5:17" + }, + "nativeSrc": "14877:19:17", + "nodeType": "YulFunctionCall", + "src": "14877:19:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14853:6:17", + "nodeType": "YulIdentifier", + "src": "14853:6:17" + }, + "nativeSrc": "14853:44:17", + "nodeType": "YulFunctionCall", + "src": "14853:44:17" + }, + "nativeSrc": "14853:44:17", + "nodeType": "YulExpressionStatement", + "src": "14853:44:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14917:5:17", + "nodeType": "YulIdentifier", + "src": "14917:5:17" + }, + { + "kind": "number", + "nativeSrc": "14924:3:17", + "nodeType": "YulLiteral", + "src": "14924:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14913:3:17", + "nodeType": "YulIdentifier", + "src": "14913:3:17" + }, + "nativeSrc": "14913:15:17", + "nodeType": "YulFunctionCall", + "src": "14913:15:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "14940:2:17", + "nodeType": "YulIdentifier", + "src": "14940:2:17" + }, + { + "kind": "number", + "nativeSrc": "14944:3:17", + "nodeType": "YulLiteral", + "src": "14944:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14936:3:17", + "nodeType": "YulIdentifier", + "src": "14936:3:17" + }, + "nativeSrc": "14936:12:17", + "nodeType": "YulFunctionCall", + "src": "14936:12:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14930:5:17", + "nodeType": "YulIdentifier", + "src": "14930:5:17" + }, + "nativeSrc": "14930:19:17", + "nodeType": "YulFunctionCall", + "src": "14930:19:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "14906:6:17", + "nodeType": "YulIdentifier", + "src": "14906:6:17" + }, + "nativeSrc": "14906:44:17", + "nodeType": "YulFunctionCall", + "src": "14906:44:17" + }, + "nativeSrc": "14906:44:17", + "nodeType": "YulExpressionStatement", + "src": "14906:44:17" + }, + { + "nativeSrc": "14959:15:17", + "nodeType": "YulAssignment", + "src": "14959:15:17", + "value": { + "name": "value", + "nativeSrc": "14969:5:17", + "nodeType": "YulIdentifier", + "src": "14969:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "14959:6:17", + "nodeType": "YulIdentifier", + "src": "14959:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_AgentData_$3220_memory_ptr_fromMemory", + "nativeSrc": "13928:1052:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14002:9:17", + "nodeType": "YulTypedName", + "src": "14002:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "14013:7:17", + "nodeType": "YulTypedName", + "src": "14013:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "14025:6:17", + "nodeType": "YulTypedName", + "src": "14025:6:17", + "type": "" + } + ], + "src": "13928:1052:17" + }, + { + "body": { + "nativeSrc": "15159:174:17", + "nodeType": "YulBlock", + "src": "15159:174:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15176:9:17", + "nodeType": "YulIdentifier", + "src": "15176:9:17" + }, + { + "kind": "number", + "nativeSrc": "15187:2:17", + "nodeType": "YulLiteral", + "src": "15187:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15169:6:17", + "nodeType": "YulIdentifier", + "src": "15169:6:17" + }, + "nativeSrc": "15169:21:17", + "nodeType": "YulFunctionCall", + "src": "15169:21:17" + }, + "nativeSrc": "15169:21:17", + "nodeType": "YulExpressionStatement", + "src": "15169:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15210:9:17", + "nodeType": "YulIdentifier", + "src": "15210:9:17" + }, + { + "kind": "number", + "nativeSrc": "15221:2:17", + "nodeType": "YulLiteral", + "src": "15221:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15206:3:17", + "nodeType": "YulIdentifier", + "src": "15206:3:17" + }, + "nativeSrc": "15206:18:17", + "nodeType": "YulFunctionCall", + "src": "15206:18:17" + }, + { + "kind": "number", + "nativeSrc": "15226:2:17", + "nodeType": "YulLiteral", + "src": "15226:2:17", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15199:6:17", + "nodeType": "YulIdentifier", + "src": "15199:6:17" + }, + "nativeSrc": "15199:30:17", + "nodeType": "YulFunctionCall", + "src": "15199:30:17" + }, + "nativeSrc": "15199:30:17", + "nodeType": "YulExpressionStatement", + "src": "15199:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15249:9:17", + "nodeType": "YulIdentifier", + "src": "15249:9:17" + }, + { + "kind": "number", + "nativeSrc": "15260:2:17", + "nodeType": "YulLiteral", + "src": "15260:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15245:3:17", + "nodeType": "YulIdentifier", + "src": "15245:3:17" + }, + "nativeSrc": "15245:18:17", + "nodeType": "YulFunctionCall", + "src": "15245:18:17" + }, + { + "hexValue": "4e6f74206f776e6572206f72206167656e74206f776e6572", + "kind": "string", + "nativeSrc": "15265:26:17", + "nodeType": "YulLiteral", + "src": "15265:26:17", + "type": "", + "value": "Not owner or agent owner" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15238:6:17", + "nodeType": "YulIdentifier", + "src": "15238:6:17" + }, + "nativeSrc": "15238:54:17", + "nodeType": "YulFunctionCall", + "src": "15238:54:17" + }, + "nativeSrc": "15238:54:17", + "nodeType": "YulExpressionStatement", + "src": "15238:54:17" + }, + { + "nativeSrc": "15301:26:17", + "nodeType": "YulAssignment", + "src": "15301:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15313:9:17", + "nodeType": "YulIdentifier", + "src": "15313:9:17" + }, + { + "kind": "number", + "nativeSrc": "15324:2:17", + "nodeType": "YulLiteral", + "src": "15324:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15309:3:17", + "nodeType": "YulIdentifier", + "src": "15309:3:17" + }, + "nativeSrc": "15309:18:17", + "nodeType": "YulFunctionCall", + "src": "15309:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15301:4:17", + "nodeType": "YulIdentifier", + "src": "15301:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_50182bd41cda0e194d07720f94dca7a677e712fa34d7dd8998809213f4730ecf__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "14985:348:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15136:9:17", + "nodeType": "YulTypedName", + "src": "15136:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15150:4:17", + "nodeType": "YulTypedName", + "src": "15150:4:17", + "type": "" + } + ], + "src": "14985:348:17" + }, + { + "body": { + "nativeSrc": "15512:179:17", + "nodeType": "YulBlock", + "src": "15512:179:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15529:9:17", + "nodeType": "YulIdentifier", + "src": "15529:9:17" + }, + { + "kind": "number", + "nativeSrc": "15540:2:17", + "nodeType": "YulLiteral", + "src": "15540:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15522:6:17", + "nodeType": "YulIdentifier", + "src": "15522:6:17" + }, + "nativeSrc": "15522:21:17", + "nodeType": "YulFunctionCall", + "src": "15522:21:17" + }, + "nativeSrc": "15522:21:17", + "nodeType": "YulExpressionStatement", + "src": "15522:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15563:9:17", + "nodeType": "YulIdentifier", + "src": "15563:9:17" + }, + { + "kind": "number", + "nativeSrc": "15574:2:17", + "nodeType": "YulLiteral", + "src": "15574:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15559:3:17", + "nodeType": "YulIdentifier", + "src": "15559:3:17" + }, + "nativeSrc": "15559:18:17", + "nodeType": "YulFunctionCall", + "src": "15559:18:17" + }, + { + "kind": "number", + "nativeSrc": "15579:2:17", + "nodeType": "YulLiteral", + "src": "15579:2:17", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15552:6:17", + "nodeType": "YulIdentifier", + "src": "15552:6:17" + }, + "nativeSrc": "15552:30:17", + "nodeType": "YulFunctionCall", + "src": "15552:30:17" + }, + "nativeSrc": "15552:30:17", + "nodeType": "YulExpressionStatement", + "src": "15552:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15602:9:17", + "nodeType": "YulIdentifier", + "src": "15602:9:17" + }, + { + "kind": "number", + "nativeSrc": "15613:2:17", + "nodeType": "YulLiteral", + "src": "15613:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15598:3:17", + "nodeType": "YulIdentifier", + "src": "15598:3:17" + }, + "nativeSrc": "15598:18:17", + "nodeType": "YulFunctionCall", + "src": "15598:18:17" + }, + { + "hexValue": "4e6f7420746865205461736b526567697374727920636f6e7472616374", + "kind": "string", + "nativeSrc": "15618:31:17", + "nodeType": "YulLiteral", + "src": "15618:31:17", + "type": "", + "value": "Not the TaskRegistry contract" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15591:6:17", + "nodeType": "YulIdentifier", + "src": "15591:6:17" + }, + "nativeSrc": "15591:59:17", + "nodeType": "YulFunctionCall", + "src": "15591:59:17" + }, + "nativeSrc": "15591:59:17", + "nodeType": "YulExpressionStatement", + "src": "15591:59:17" + }, + { + "nativeSrc": "15659:26:17", + "nodeType": "YulAssignment", + "src": "15659:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15671:9:17", + "nodeType": "YulIdentifier", + "src": "15671:9:17" + }, + { + "kind": "number", + "nativeSrc": "15682:2:17", + "nodeType": "YulLiteral", + "src": "15682:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15667:3:17", + "nodeType": "YulIdentifier", + "src": "15667:3:17" + }, + "nativeSrc": "15667:18:17", + "nodeType": "YulFunctionCall", + "src": "15667:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15659:4:17", + "nodeType": "YulIdentifier", + "src": "15659:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ab4f7bdcd44e35f2fe5cd34e07194c1c227455329229f7f3f1e8494de9e5c74c__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "15338:353:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15489:9:17", + "nodeType": "YulTypedName", + "src": "15489:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15503:4:17", + "nodeType": "YulTypedName", + "src": "15503:4:17", + "type": "" + } + ], + "src": "15338:353:17" + }, + { + "body": { + "nativeSrc": "15870:182:17", + "nodeType": "YulBlock", + "src": "15870:182:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15887:9:17", + "nodeType": "YulIdentifier", + "src": "15887:9:17" + }, + { + "kind": "number", + "nativeSrc": "15898:2:17", + "nodeType": "YulLiteral", + "src": "15898:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15880:6:17", + "nodeType": "YulIdentifier", + "src": "15880:6:17" + }, + "nativeSrc": "15880:21:17", + "nodeType": "YulFunctionCall", + "src": "15880:21:17" + }, + "nativeSrc": "15880:21:17", + "nodeType": "YulExpressionStatement", + "src": "15880:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15921:9:17", + "nodeType": "YulIdentifier", + "src": "15921:9:17" + }, + { + "kind": "number", + "nativeSrc": "15932:2:17", + "nodeType": "YulLiteral", + "src": "15932:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15917:3:17", + "nodeType": "YulIdentifier", + "src": "15917:3:17" + }, + "nativeSrc": "15917:18:17", + "nodeType": "YulFunctionCall", + "src": "15917:18:17" + }, + { + "kind": "number", + "nativeSrc": "15937:2:17", + "nodeType": "YulLiteral", + "src": "15937:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15910:6:17", + "nodeType": "YulIdentifier", + "src": "15910:6:17" + }, + "nativeSrc": "15910:30:17", + "nodeType": "YulFunctionCall", + "src": "15910:30:17" + }, + "nativeSrc": "15910:30:17", + "nodeType": "YulExpressionStatement", + "src": "15910:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15960:9:17", + "nodeType": "YulIdentifier", + "src": "15960:9:17" + }, + { + "kind": "number", + "nativeSrc": "15971:2:17", + "nodeType": "YulLiteral", + "src": "15971:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15956:3:17", + "nodeType": "YulIdentifier", + "src": "15956:3:17" + }, + "nativeSrc": "15956:18:17", + "nodeType": "YulFunctionCall", + "src": "15956:18:17" + }, + { + "hexValue": "526174696e67206d757374206265206265747765656e203020616e6420313030", + "kind": "string", + "nativeSrc": "15976:34:17", + "nodeType": "YulLiteral", + "src": "15976:34:17", + "type": "", + "value": "Rating must be between 0 and 100" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15949:6:17", + "nodeType": "YulIdentifier", + "src": "15949:6:17" + }, + "nativeSrc": "15949:62:17", + "nodeType": "YulFunctionCall", + "src": "15949:62:17" + }, + "nativeSrc": "15949:62:17", + "nodeType": "YulExpressionStatement", + "src": "15949:62:17" + }, + { + "nativeSrc": "16020:26:17", + "nodeType": "YulAssignment", + "src": "16020:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16032:9:17", + "nodeType": "YulIdentifier", + "src": "16032:9:17" + }, + { + "kind": "number", + "nativeSrc": "16043:2:17", + "nodeType": "YulLiteral", + "src": "16043:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16028:3:17", + "nodeType": "YulIdentifier", + "src": "16028:3:17" + }, + "nativeSrc": "16028:18:17", + "nodeType": "YulFunctionCall", + "src": "16028:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16020:4:17", + "nodeType": "YulIdentifier", + "src": "16020:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "15696:356:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15847:9:17", + "nodeType": "YulTypedName", + "src": "15847:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15861:4:17", + "nodeType": "YulTypedName", + "src": "15861:4:17", + "type": "" + } + ], + "src": "15696:356:17" + }, + { + "body": { + "nativeSrc": "16089:95:17", + "nodeType": "YulBlock", + "src": "16089:95:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16106:1:17", + "nodeType": "YulLiteral", + "src": "16106:1:17", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16113:3:17", + "nodeType": "YulLiteral", + "src": "16113:3:17", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nativeSrc": "16118:10:17", + "nodeType": "YulLiteral", + "src": "16118:10:17", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "16109:3:17", + "nodeType": "YulIdentifier", + "src": "16109:3:17" + }, + "nativeSrc": "16109:20:17", + "nodeType": "YulFunctionCall", + "src": "16109:20:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16099:6:17", + "nodeType": "YulIdentifier", + "src": "16099:6:17" + }, + "nativeSrc": "16099:31:17", + "nodeType": "YulFunctionCall", + "src": "16099:31:17" + }, + "nativeSrc": "16099:31:17", + "nodeType": "YulExpressionStatement", + "src": "16099:31:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16146:1:17", + "nodeType": "YulLiteral", + "src": "16146:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "16149:4:17", + "nodeType": "YulLiteral", + "src": "16149:4:17", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16139:6:17", + "nodeType": "YulIdentifier", + "src": "16139:6:17" + }, + "nativeSrc": "16139:15:17", + "nodeType": "YulFunctionCall", + "src": "16139:15:17" + }, + "nativeSrc": "16139:15:17", + "nodeType": "YulExpressionStatement", + "src": "16139:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16170:1:17", + "nodeType": "YulLiteral", + "src": "16170:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16173:4:17", + "nodeType": "YulLiteral", + "src": "16173:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "16163:6:17", + "nodeType": "YulIdentifier", + "src": "16163:6:17" + }, + "nativeSrc": "16163:15:17", + "nodeType": "YulFunctionCall", + "src": "16163:15:17" + }, + "nativeSrc": "16163:15:17", + "nodeType": "YulExpressionStatement", + "src": "16163:15:17" + } + ] + }, + "name": "panic_error_0x11", + "nativeSrc": "16057:127:17", + "nodeType": "YulFunctionDefinition", + "src": "16057:127:17" + }, + { + "body": { + "nativeSrc": "16237:77:17", + "nodeType": "YulBlock", + "src": "16237:77:17", + "statements": [ + { + "nativeSrc": "16247:16:17", + "nodeType": "YulAssignment", + "src": "16247:16:17", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "16258:1:17", + "nodeType": "YulIdentifier", + "src": "16258:1:17" + }, + { + "name": "y", + "nativeSrc": "16261:1:17", + "nodeType": "YulIdentifier", + "src": "16261:1:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16254:3:17", + "nodeType": "YulIdentifier", + "src": "16254:3:17" + }, + "nativeSrc": "16254:9:17", + "nodeType": "YulFunctionCall", + "src": "16254:9:17" + }, + "variableNames": [ + { + "name": "sum", + "nativeSrc": "16247:3:17", + "nodeType": "YulIdentifier", + "src": "16247:3:17" + } + ] + }, + { + "body": { + "nativeSrc": "16286:22:17", + "nodeType": "YulBlock", + "src": "16286:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "16288:16:17", + "nodeType": "YulIdentifier", + "src": "16288:16:17" + }, + "nativeSrc": "16288:18:17", + "nodeType": "YulFunctionCall", + "src": "16288:18:17" + }, + "nativeSrc": "16288:18:17", + "nodeType": "YulExpressionStatement", + "src": "16288:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nativeSrc": "16278:1:17", + "nodeType": "YulIdentifier", + "src": "16278:1:17" + }, + { + "name": "sum", + "nativeSrc": "16281:3:17", + "nodeType": "YulIdentifier", + "src": "16281:3:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "16275:2:17", + "nodeType": "YulIdentifier", + "src": "16275:2:17" + }, + "nativeSrc": "16275:10:17", + "nodeType": "YulFunctionCall", + "src": "16275:10:17" + }, + "nativeSrc": "16272:36:17", + "nodeType": "YulIf", + "src": "16272:36:17" + } + ] + }, + "name": "checked_add_t_uint256", + "nativeSrc": "16189:125:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "16220:1:17", + "nodeType": "YulTypedName", + "src": "16220:1:17", + "type": "" + }, + { + "name": "y", + "nativeSrc": "16223:1:17", + "nodeType": "YulTypedName", + "src": "16223:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nativeSrc": "16229:3:17", + "nodeType": "YulTypedName", + "src": "16229:3:17", + "type": "" + } + ], + "src": "16189:125:17" + }, + { + "body": { + "nativeSrc": "16368:79:17", + "nodeType": "YulBlock", + "src": "16368:79:17", + "statements": [ + { + "nativeSrc": "16378:17:17", + "nodeType": "YulAssignment", + "src": "16378:17:17", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "16390:1:17", + "nodeType": "YulIdentifier", + "src": "16390:1:17" + }, + { + "name": "y", + "nativeSrc": "16393:1:17", + "nodeType": "YulIdentifier", + "src": "16393:1:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "16386:3:17", + "nodeType": "YulIdentifier", + "src": "16386:3:17" + }, + "nativeSrc": "16386:9:17", + "nodeType": "YulFunctionCall", + "src": "16386:9:17" + }, + "variableNames": [ + { + "name": "diff", + "nativeSrc": "16378:4:17", + "nodeType": "YulIdentifier", + "src": "16378:4:17" + } + ] + }, + { + "body": { + "nativeSrc": "16419:22:17", + "nodeType": "YulBlock", + "src": "16419:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "16421:16:17", + "nodeType": "YulIdentifier", + "src": "16421:16:17" + }, + "nativeSrc": "16421:18:17", + "nodeType": "YulFunctionCall", + "src": "16421:18:17" + }, + "nativeSrc": "16421:18:17", + "nodeType": "YulExpressionStatement", + "src": "16421:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "diff", + "nativeSrc": "16410:4:17", + "nodeType": "YulIdentifier", + "src": "16410:4:17" + }, + { + "name": "x", + "nativeSrc": "16416:1:17", + "nodeType": "YulIdentifier", + "src": "16416:1:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "16407:2:17", + "nodeType": "YulIdentifier", + "src": "16407:2:17" + }, + "nativeSrc": "16407:11:17", + "nodeType": "YulFunctionCall", + "src": "16407:11:17" + }, + "nativeSrc": "16404:37:17", + "nodeType": "YulIf", + "src": "16404:37:17" + } + ] + }, + "name": "checked_sub_t_uint256", + "nativeSrc": "16319:128:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "16350:1:17", + "nodeType": "YulTypedName", + "src": "16350:1:17", + "type": "" + }, + { + "name": "y", + "nativeSrc": "16353:1:17", + "nodeType": "YulTypedName", + "src": "16353:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "diff", + "nativeSrc": "16359:4:17", + "nodeType": "YulTypedName", + "src": "16359:4:17", + "type": "" + } + ], + "src": "16319:128:17" + }, + { + "body": { + "nativeSrc": "16504:116:17", + "nodeType": "YulBlock", + "src": "16504:116:17", + "statements": [ + { + "nativeSrc": "16514:20:17", + "nodeType": "YulAssignment", + "src": "16514:20:17", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "16529:1:17", + "nodeType": "YulIdentifier", + "src": "16529:1:17" + }, + { + "name": "y", + "nativeSrc": "16532:1:17", + "nodeType": "YulIdentifier", + "src": "16532:1:17" + } + ], + "functionName": { + "name": "mul", + "nativeSrc": "16525:3:17", + "nodeType": "YulIdentifier", + "src": "16525:3:17" + }, + "nativeSrc": "16525:9:17", + "nodeType": "YulFunctionCall", + "src": "16525:9:17" + }, + "variableNames": [ + { + "name": "product", + "nativeSrc": "16514:7:17", + "nodeType": "YulIdentifier", + "src": "16514:7:17" + } + ] + }, + { + "body": { + "nativeSrc": "16592:22:17", + "nodeType": "YulBlock", + "src": "16592:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "16594:16:17", + "nodeType": "YulIdentifier", + "src": "16594:16:17" + }, + "nativeSrc": "16594:18:17", + "nodeType": "YulFunctionCall", + "src": "16594:18:17" + }, + "nativeSrc": "16594:18:17", + "nodeType": "YulExpressionStatement", + "src": "16594:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nativeSrc": "16563:1:17", + "nodeType": "YulIdentifier", + "src": "16563:1:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "16556:6:17", + "nodeType": "YulIdentifier", + "src": "16556:6:17" + }, + "nativeSrc": "16556:9:17", + "nodeType": "YulFunctionCall", + "src": "16556:9:17" + }, + { + "arguments": [ + { + "name": "y", + "nativeSrc": "16570:1:17", + "nodeType": "YulIdentifier", + "src": "16570:1:17" + }, + { + "arguments": [ + { + "name": "product", + "nativeSrc": "16577:7:17", + "nodeType": "YulIdentifier", + "src": "16577:7:17" + }, + { + "name": "x", + "nativeSrc": "16586:1:17", + "nodeType": "YulIdentifier", + "src": "16586:1:17" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "16573:3:17", + "nodeType": "YulIdentifier", + "src": "16573:3:17" + }, + "nativeSrc": "16573:15:17", + "nodeType": "YulFunctionCall", + "src": "16573:15:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "16567:2:17", + "nodeType": "YulIdentifier", + "src": "16567:2:17" + }, + "nativeSrc": "16567:22:17", + "nodeType": "YulFunctionCall", + "src": "16567:22:17" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "16553:2:17", + "nodeType": "YulIdentifier", + "src": "16553:2:17" + }, + "nativeSrc": "16553:37:17", + "nodeType": "YulFunctionCall", + "src": "16553:37:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "16546:6:17", + "nodeType": "YulIdentifier", + "src": "16546:6:17" + }, + "nativeSrc": "16546:45:17", + "nodeType": "YulFunctionCall", + "src": "16546:45:17" + }, + "nativeSrc": "16543:71:17", + "nodeType": "YulIf", + "src": "16543:71:17" + } + ] + }, + "name": "checked_mul_t_uint256", + "nativeSrc": "16452:168:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "16483:1:17", + "nodeType": "YulTypedName", + "src": "16483:1:17", + "type": "" + }, + { + "name": "y", + "nativeSrc": "16486:1:17", + "nodeType": "YulTypedName", + "src": "16486:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nativeSrc": "16492:7:17", + "nodeType": "YulTypedName", + "src": "16492:7:17", + "type": "" + } + ], + "src": "16452:168:17" + }, + { + "body": { + "nativeSrc": "16671:171:17", + "nodeType": "YulBlock", + "src": "16671:171:17", + "statements": [ + { + "body": { + "nativeSrc": "16702:111:17", + "nodeType": "YulBlock", + "src": "16702:111:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16723:1:17", + "nodeType": "YulLiteral", + "src": "16723:1:17", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16730:3:17", + "nodeType": "YulLiteral", + "src": "16730:3:17", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nativeSrc": "16735:10:17", + "nodeType": "YulLiteral", + "src": "16735:10:17", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "16726:3:17", + "nodeType": "YulIdentifier", + "src": "16726:3:17" + }, + "nativeSrc": "16726:20:17", + "nodeType": "YulFunctionCall", + "src": "16726:20:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16716:6:17", + "nodeType": "YulIdentifier", + "src": "16716:6:17" + }, + "nativeSrc": "16716:31:17", + "nodeType": "YulFunctionCall", + "src": "16716:31:17" + }, + "nativeSrc": "16716:31:17", + "nodeType": "YulExpressionStatement", + "src": "16716:31:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16767:1:17", + "nodeType": "YulLiteral", + "src": "16767:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "16770:4:17", + "nodeType": "YulLiteral", + "src": "16770:4:17", + "type": "", + "value": "0x12" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16760:6:17", + "nodeType": "YulIdentifier", + "src": "16760:6:17" + }, + "nativeSrc": "16760:15:17", + "nodeType": "YulFunctionCall", + "src": "16760:15:17" + }, + "nativeSrc": "16760:15:17", + "nodeType": "YulExpressionStatement", + "src": "16760:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "16795:1:17", + "nodeType": "YulLiteral", + "src": "16795:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "16798:4:17", + "nodeType": "YulLiteral", + "src": "16798:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "16788:6:17", + "nodeType": "YulIdentifier", + "src": "16788:6:17" + }, + "nativeSrc": "16788:15:17", + "nodeType": "YulFunctionCall", + "src": "16788:15:17" + }, + "nativeSrc": "16788:15:17", + "nodeType": "YulExpressionStatement", + "src": "16788:15:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "y", + "nativeSrc": "16691:1:17", + "nodeType": "YulIdentifier", + "src": "16691:1:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "16684:6:17", + "nodeType": "YulIdentifier", + "src": "16684:6:17" + }, + "nativeSrc": "16684:9:17", + "nodeType": "YulFunctionCall", + "src": "16684:9:17" + }, + "nativeSrc": "16681:132:17", + "nodeType": "YulIf", + "src": "16681:132:17" + }, + { + "nativeSrc": "16822:14:17", + "nodeType": "YulAssignment", + "src": "16822:14:17", + "value": { + "arguments": [ + { + "name": "x", + "nativeSrc": "16831:1:17", + "nodeType": "YulIdentifier", + "src": "16831:1:17" + }, + { + "name": "y", + "nativeSrc": "16834:1:17", + "nodeType": "YulIdentifier", + "src": "16834:1:17" + } + ], + "functionName": { + "name": "div", + "nativeSrc": "16827:3:17", + "nodeType": "YulIdentifier", + "src": "16827:3:17" + }, + "nativeSrc": "16827:9:17", + "nodeType": "YulFunctionCall", + "src": "16827:9:17" + }, + "variableNames": [ + { + "name": "r", + "nativeSrc": "16822:1:17", + "nodeType": "YulIdentifier", + "src": "16822:1:17" + } + ] + } + ] + }, + "name": "checked_div_t_uint256", + "nativeSrc": "16625:217:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nativeSrc": "16656:1:17", + "nodeType": "YulTypedName", + "src": "16656:1:17", + "type": "" + }, + { + "name": "y", + "nativeSrc": "16659:1:17", + "nodeType": "YulTypedName", + "src": "16659:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "r", + "nativeSrc": "16665:1:17", + "nodeType": "YulTypedName", + "src": "16665:1:17", + "type": "" + } + ], + "src": "16625:217:17" + }, + { + "body": { + "nativeSrc": "17021:176:17", + "nodeType": "YulBlock", + "src": "17021:176:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17038:9:17", + "nodeType": "YulIdentifier", + "src": "17038:9:17" + }, + { + "kind": "number", + "nativeSrc": "17049:2:17", + "nodeType": "YulLiteral", + "src": "17049:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17031:6:17", + "nodeType": "YulIdentifier", + "src": "17031:6:17" + }, + "nativeSrc": "17031:21:17", + "nodeType": "YulFunctionCall", + "src": "17031:21:17" + }, + "nativeSrc": "17031:21:17", + "nodeType": "YulExpressionStatement", + "src": "17031:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17072:9:17", + "nodeType": "YulIdentifier", + "src": "17072:9:17" + }, + { + "kind": "number", + "nativeSrc": "17083:2:17", + "nodeType": "YulLiteral", + "src": "17083:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17068:3:17", + "nodeType": "YulIdentifier", + "src": "17068:3:17" + }, + "nativeSrc": "17068:18:17", + "nodeType": "YulFunctionCall", + "src": "17068:18:17" + }, + { + "kind": "number", + "nativeSrc": "17088:2:17", + "nodeType": "YulLiteral", + "src": "17088:2:17", + "type": "", + "value": "26" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17061:6:17", + "nodeType": "YulIdentifier", + "src": "17061:6:17" + }, + "nativeSrc": "17061:30:17", + "nodeType": "YulFunctionCall", + "src": "17061:30:17" + }, + "nativeSrc": "17061:30:17", + "nodeType": "YulExpressionStatement", + "src": "17061:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17111:9:17", + "nodeType": "YulIdentifier", + "src": "17111:9:17" + }, + { + "kind": "number", + "nativeSrc": "17122:2:17", + "nodeType": "YulLiteral", + "src": "17122:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17107:3:17", + "nodeType": "YulIdentifier", + "src": "17107:3:17" + }, + "nativeSrc": "17107:18:17", + "nodeType": "YulFunctionCall", + "src": "17107:18:17" + }, + { + "hexValue": "4e6f7420746865206f776e6572206f6620746865206167656e74", + "kind": "string", + "nativeSrc": "17127:28:17", + "nodeType": "YulLiteral", + "src": "17127:28:17", + "type": "", + "value": "Not the owner of the agent" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17100:6:17", + "nodeType": "YulIdentifier", + "src": "17100:6:17" + }, + "nativeSrc": "17100:56:17", + "nodeType": "YulFunctionCall", + "src": "17100:56:17" + }, + "nativeSrc": "17100:56:17", + "nodeType": "YulExpressionStatement", + "src": "17100:56:17" + }, + { + "nativeSrc": "17165:26:17", + "nodeType": "YulAssignment", + "src": "17165:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17177:9:17", + "nodeType": "YulIdentifier", + "src": "17177:9:17" + }, + { + "kind": "number", + "nativeSrc": "17188:2:17", + "nodeType": "YulLiteral", + "src": "17188:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17173:3:17", + "nodeType": "YulIdentifier", + "src": "17173:3:17" + }, + "nativeSrc": "17173:18:17", + "nodeType": "YulFunctionCall", + "src": "17173:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17165:4:17", + "nodeType": "YulIdentifier", + "src": "17165:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_333080ba9ab8738c4a0b47b5b79d2c142d573a23f488baafda66363f88786955__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "16847:350:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16998:9:17", + "nodeType": "YulTypedName", + "src": "16998:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "17012:4:17", + "nodeType": "YulTypedName", + "src": "17012:4:17", + "type": "" + } + ], + "src": "16847:350:17" + }, + { + "body": { + "nativeSrc": "17376:175:17", + "nodeType": "YulBlock", + "src": "17376:175:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17393:9:17", + "nodeType": "YulIdentifier", + "src": "17393:9:17" + }, + { + "kind": "number", + "nativeSrc": "17404:2:17", + "nodeType": "YulLiteral", + "src": "17404:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17386:6:17", + "nodeType": "YulIdentifier", + "src": "17386:6:17" + }, + "nativeSrc": "17386:21:17", + "nodeType": "YulFunctionCall", + "src": "17386:21:17" + }, + "nativeSrc": "17386:21:17", + "nodeType": "YulExpressionStatement", + "src": "17386:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17427:9:17", + "nodeType": "YulIdentifier", + "src": "17427:9:17" + }, + { + "kind": "number", + "nativeSrc": "17438:2:17", + "nodeType": "YulLiteral", + "src": "17438:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17423:3:17", + "nodeType": "YulIdentifier", + "src": "17423:3:17" + }, + "nativeSrc": "17423:18:17", + "nodeType": "YulFunctionCall", + "src": "17423:18:17" + }, + { + "kind": "number", + "nativeSrc": "17443:2:17", + "nodeType": "YulLiteral", + "src": "17443:2:17", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17416:6:17", + "nodeType": "YulIdentifier", + "src": "17416:6:17" + }, + "nativeSrc": "17416:30:17", + "nodeType": "YulFunctionCall", + "src": "17416:30:17" + }, + "nativeSrc": "17416:30:17", + "nodeType": "YulExpressionStatement", + "src": "17416:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17466:9:17", + "nodeType": "YulIdentifier", + "src": "17466:9:17" + }, + { + "kind": "number", + "nativeSrc": "17477:2:17", + "nodeType": "YulLiteral", + "src": "17477:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17462:3:17", + "nodeType": "YulIdentifier", + "src": "17462:3:17" + }, + "nativeSrc": "17462:18:17", + "nodeType": "YulFunctionCall", + "src": "17462:18:17" + }, + { + "hexValue": "5365727669636550726f706f73616c206e6f7420666f756e64", + "kind": "string", + "nativeSrc": "17482:27:17", + "nodeType": "YulLiteral", + "src": "17482:27:17", + "type": "", + "value": "ServiceProposal not found" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17455:6:17", + "nodeType": "YulIdentifier", + "src": "17455:6:17" + }, + "nativeSrc": "17455:55:17", + "nodeType": "YulFunctionCall", + "src": "17455:55:17" + }, + "nativeSrc": "17455:55:17", + "nodeType": "YulExpressionStatement", + "src": "17455:55:17" + }, + { + "nativeSrc": "17519:26:17", + "nodeType": "YulAssignment", + "src": "17519:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17531:9:17", + "nodeType": "YulIdentifier", + "src": "17531:9:17" + }, + { + "kind": "number", + "nativeSrc": "17542:2:17", + "nodeType": "YulLiteral", + "src": "17542:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17527:3:17", + "nodeType": "YulIdentifier", + "src": "17527:3:17" + }, + "nativeSrc": "17527:18:17", + "nodeType": "YulFunctionCall", + "src": "17527:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17519:4:17", + "nodeType": "YulIdentifier", + "src": "17519:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "17202:349:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17353:9:17", + "nodeType": "YulTypedName", + "src": "17353:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "17367:4:17", + "nodeType": "YulTypedName", + "src": "17367:4:17", + "type": "" + } + ], + "src": "17202:349:17" + }, + { + "body": { + "nativeSrc": "17730:170:17", + "nodeType": "YulBlock", + "src": "17730:170:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17747:9:17", + "nodeType": "YulIdentifier", + "src": "17747:9:17" + }, + { + "kind": "number", + "nativeSrc": "17758:2:17", + "nodeType": "YulLiteral", + "src": "17758:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17740:6:17", + "nodeType": "YulIdentifier", + "src": "17740:6:17" + }, + "nativeSrc": "17740:21:17", + "nodeType": "YulFunctionCall", + "src": "17740:21:17" + }, + "nativeSrc": "17740:21:17", + "nodeType": "YulExpressionStatement", + "src": "17740:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17781:9:17", + "nodeType": "YulIdentifier", + "src": "17781:9:17" + }, + { + "kind": "number", + "nativeSrc": "17792:2:17", + "nodeType": "YulLiteral", + "src": "17792:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17777:3:17", + "nodeType": "YulIdentifier", + "src": "17777:3:17" + }, + "nativeSrc": "17777:18:17", + "nodeType": "YulFunctionCall", + "src": "17777:18:17" + }, + { + "kind": "number", + "nativeSrc": "17797:2:17", + "nodeType": "YulLiteral", + "src": "17797:2:17", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17770:6:17", + "nodeType": "YulIdentifier", + "src": "17770:6:17" + }, + "nativeSrc": "17770:30:17", + "nodeType": "YulFunctionCall", + "src": "17770:30:17" + }, + "nativeSrc": "17770:30:17", + "nodeType": "YulExpressionStatement", + "src": "17770:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17820:9:17", + "nodeType": "YulIdentifier", + "src": "17820:9:17" + }, + { + "kind": "number", + "nativeSrc": "17831:2:17", + "nodeType": "YulLiteral", + "src": "17831:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17816:3:17", + "nodeType": "YulIdentifier", + "src": "17816:3:17" + }, + "nativeSrc": "17816:18:17", + "nodeType": "YulFunctionCall", + "src": "17816:18:17" + }, + { + "hexValue": "4167656e74206e6f742072656769737465726564", + "kind": "string", + "nativeSrc": "17836:22:17", + "nodeType": "YulLiteral", + "src": "17836:22:17", + "type": "", + "value": "Agent not registered" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17809:6:17", + "nodeType": "YulIdentifier", + "src": "17809:6:17" + }, + "nativeSrc": "17809:50:17", + "nodeType": "YulFunctionCall", + "src": "17809:50:17" + }, + "nativeSrc": "17809:50:17", + "nodeType": "YulExpressionStatement", + "src": "17809:50:17" + }, + { + "nativeSrc": "17868:26:17", + "nodeType": "YulAssignment", + "src": "17868:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17880:9:17", + "nodeType": "YulIdentifier", + "src": "17880:9:17" + }, + { + "kind": "number", + "nativeSrc": "17891:2:17", + "nodeType": "YulLiteral", + "src": "17891:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17876:3:17", + "nodeType": "YulIdentifier", + "src": "17876:3:17" + }, + "nativeSrc": "17876:18:17", + "nodeType": "YulFunctionCall", + "src": "17876:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17868:4:17", + "nodeType": "YulIdentifier", + "src": "17868:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6b24a63f053c9f60b33a6142346432678adff778fb93a8ecec9013d5a898e395__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "17556:344:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17707:9:17", + "nodeType": "YulTypedName", + "src": "17707:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "17721:4:17", + "nodeType": "YulTypedName", + "src": "17721:4:17", + "type": "" + } + ], + "src": "17556:344:17" + }, + { + "body": { + "nativeSrc": "17961:65:17", + "nodeType": "YulBlock", + "src": "17961:65:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "17978:1:17", + "nodeType": "YulLiteral", + "src": "17978:1:17", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "17981:3:17", + "nodeType": "YulIdentifier", + "src": "17981:3:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17971:6:17", + "nodeType": "YulIdentifier", + "src": "17971:6:17" + }, + "nativeSrc": "17971:14:17", + "nodeType": "YulFunctionCall", + "src": "17971:14:17" + }, + "nativeSrc": "17971:14:17", + "nodeType": "YulExpressionStatement", + "src": "17971:14:17" + }, + { + "nativeSrc": "17994:26:17", + "nodeType": "YulAssignment", + "src": "17994:26:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "18012:1:17", + "nodeType": "YulLiteral", + "src": "18012:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "18015:4:17", + "nodeType": "YulLiteral", + "src": "18015:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "18002:9:17", + "nodeType": "YulIdentifier", + "src": "18002:9:17" + }, + "nativeSrc": "18002:18:17", + "nodeType": "YulFunctionCall", + "src": "18002:18:17" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "17994:4:17", + "nodeType": "YulIdentifier", + "src": "17994:4:17" + } + ] + } + ] + }, + "name": "array_dataslot_string_storage", + "nativeSrc": "17905:121:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "17944:3:17", + "nodeType": "YulTypedName", + "src": "17944:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "17952:4:17", + "nodeType": "YulTypedName", + "src": "17952:4:17", + "type": "" + } + ], + "src": "17905:121:17" + }, + { + "body": { + "nativeSrc": "18112:462:17", + "nodeType": "YulBlock", + "src": "18112:462:17", + "statements": [ + { + "body": { + "nativeSrc": "18145:423:17", + "nodeType": "YulBlock", + "src": "18145:423:17", + "statements": [ + { + "nativeSrc": "18159:11:17", + "nodeType": "YulVariableDeclaration", + "src": "18159:11:17", + "value": { + "kind": "number", + "nativeSrc": "18169:1:17", + "nodeType": "YulLiteral", + "src": "18169:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "18163:2:17", + "nodeType": "YulTypedName", + "src": "18163:2:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "18190:1:17", + "nodeType": "YulLiteral", + "src": "18190:1:17", + "type": "", + "value": "0" + }, + { + "name": "array", + "nativeSrc": "18193:5:17", + "nodeType": "YulIdentifier", + "src": "18193:5:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18183:6:17", + "nodeType": "YulIdentifier", + "src": "18183:6:17" + }, + "nativeSrc": "18183:16:17", + "nodeType": "YulFunctionCall", + "src": "18183:16:17" + }, + "nativeSrc": "18183:16:17", + "nodeType": "YulExpressionStatement", + "src": "18183:16:17" + }, + { + "nativeSrc": "18212:30:17", + "nodeType": "YulVariableDeclaration", + "src": "18212:30:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "18234:1:17", + "nodeType": "YulLiteral", + "src": "18234:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "18237:4:17", + "nodeType": "YulLiteral", + "src": "18237:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "18224:9:17", + "nodeType": "YulIdentifier", + "src": "18224:9:17" + }, + "nativeSrc": "18224:18:17", + "nodeType": "YulFunctionCall", + "src": "18224:18:17" + }, + "variables": [ + { + "name": "data", + "nativeSrc": "18216:4:17", + "nodeType": "YulTypedName", + "src": "18216:4:17", + "type": "" + } + ] + }, + { + "nativeSrc": "18255:57:17", + "nodeType": "YulVariableDeclaration", + "src": "18255:57:17", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "18278:4:17", + "nodeType": "YulIdentifier", + "src": "18278:4:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "18288:1:17", + "nodeType": "YulLiteral", + "src": "18288:1:17", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "18295:10:17", + "nodeType": "YulIdentifier", + "src": "18295:10:17" + }, + { + "kind": "number", + "nativeSrc": "18307:2:17", + "nodeType": "YulLiteral", + "src": "18307:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18291:3:17", + "nodeType": "YulIdentifier", + "src": "18291:3:17" + }, + "nativeSrc": "18291:19:17", + "nodeType": "YulFunctionCall", + "src": "18291:19:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "18284:3:17", + "nodeType": "YulIdentifier", + "src": "18284:3:17" + }, + "nativeSrc": "18284:27:17", + "nodeType": "YulFunctionCall", + "src": "18284:27:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18274:3:17", + "nodeType": "YulIdentifier", + "src": "18274:3:17" + }, + "nativeSrc": "18274:38:17", + "nodeType": "YulFunctionCall", + "src": "18274:38:17" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "18259:11:17", + "nodeType": "YulTypedName", + "src": "18259:11:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "18349:23:17", + "nodeType": "YulBlock", + "src": "18349:23:17", + "statements": [ + { + "nativeSrc": "18351:19:17", + "nodeType": "YulAssignment", + "src": "18351:19:17", + "value": { + "name": "data", + "nativeSrc": "18366:4:17", + "nodeType": "YulIdentifier", + "src": "18366:4:17" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "18351:11:17", + "nodeType": "YulIdentifier", + "src": "18351:11:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "18331:10:17", + "nodeType": "YulIdentifier", + "src": "18331:10:17" + }, + { + "kind": "number", + "nativeSrc": "18343:4:17", + "nodeType": "YulLiteral", + "src": "18343:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "18328:2:17", + "nodeType": "YulIdentifier", + "src": "18328:2:17" + }, + "nativeSrc": "18328:20:17", + "nodeType": "YulFunctionCall", + "src": "18328:20:17" + }, + "nativeSrc": "18325:47:17", + "nodeType": "YulIf", + "src": "18325:47:17" + }, + { + "nativeSrc": "18385:41:17", + "nodeType": "YulVariableDeclaration", + "src": "18385:41:17", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "18399:4:17", + "nodeType": "YulIdentifier", + "src": "18399:4:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "18409:1:17", + "nodeType": "YulLiteral", + "src": "18409:1:17", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "18416:3:17", + "nodeType": "YulIdentifier", + "src": "18416:3:17" + }, + { + "kind": "number", + "nativeSrc": "18421:2:17", + "nodeType": "YulLiteral", + "src": "18421:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18412:3:17", + "nodeType": "YulIdentifier", + "src": "18412:3:17" + }, + "nativeSrc": "18412:12:17", + "nodeType": "YulFunctionCall", + "src": "18412:12:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "18405:3:17", + "nodeType": "YulIdentifier", + "src": "18405:3:17" + }, + "nativeSrc": "18405:20:17", + "nodeType": "YulFunctionCall", + "src": "18405:20:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18395:3:17", + "nodeType": "YulIdentifier", + "src": "18395:3:17" + }, + "nativeSrc": "18395:31:17", + "nodeType": "YulFunctionCall", + "src": "18395:31:17" + }, + "variables": [ + { + "name": "_2", + "nativeSrc": "18389:2:17", + "nodeType": "YulTypedName", + "src": "18389:2:17", + "type": "" + } + ] + }, + { + "nativeSrc": "18439:24:17", + "nodeType": "YulVariableDeclaration", + "src": "18439:24:17", + "value": { + "name": "deleteStart", + "nativeSrc": "18452:11:17", + "nodeType": "YulIdentifier", + "src": "18452:11:17" + }, + "variables": [ + { + "name": "start", + "nativeSrc": "18443:5:17", + "nodeType": "YulTypedName", + "src": "18443:5:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "18537:21:17", + "nodeType": "YulBlock", + "src": "18537:21:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "18546:5:17", + "nodeType": "YulIdentifier", + "src": "18546:5:17" + }, + { + "name": "_1", + "nativeSrc": "18553:2:17", + "nodeType": "YulIdentifier", + "src": "18553:2:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "18539:6:17", + "nodeType": "YulIdentifier", + "src": "18539:6:17" + }, + "nativeSrc": "18539:17:17", + "nodeType": "YulFunctionCall", + "src": "18539:17:17" + }, + "nativeSrc": "18539:17:17", + "nodeType": "YulExpressionStatement", + "src": "18539:17:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "18487:5:17", + "nodeType": "YulIdentifier", + "src": "18487:5:17" + }, + { + "name": "_2", + "nativeSrc": "18494:2:17", + "nodeType": "YulIdentifier", + "src": "18494:2:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "18484:2:17", + "nodeType": "YulIdentifier", + "src": "18484:2:17" + }, + "nativeSrc": "18484:13:17", + "nodeType": "YulFunctionCall", + "src": "18484:13:17" + }, + "nativeSrc": "18476:82:17", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "18498:26:17", + "nodeType": "YulBlock", + "src": "18498:26:17", + "statements": [ + { + "nativeSrc": "18500:22:17", + "nodeType": "YulAssignment", + "src": "18500:22:17", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "18513:5:17", + "nodeType": "YulIdentifier", + "src": "18513:5:17" + }, + { + "kind": "number", + "nativeSrc": "18520:1:17", + "nodeType": "YulLiteral", + "src": "18520:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18509:3:17", + "nodeType": "YulIdentifier", + "src": "18509:3:17" + }, + "nativeSrc": "18509:13:17", + "nodeType": "YulFunctionCall", + "src": "18509:13:17" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "18500:5:17", + "nodeType": "YulIdentifier", + "src": "18500:5:17" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "18480:3:17", + "nodeType": "YulBlock", + "src": "18480:3:17", + "statements": [] + }, + "src": "18476:82:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "18128:3:17", + "nodeType": "YulIdentifier", + "src": "18128:3:17" + }, + { + "kind": "number", + "nativeSrc": "18133:2:17", + "nodeType": "YulLiteral", + "src": "18133:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "18125:2:17", + "nodeType": "YulIdentifier", + "src": "18125:2:17" + }, + "nativeSrc": "18125:11:17", + "nodeType": "YulFunctionCall", + "src": "18125:11:17" + }, + "nativeSrc": "18122:446:17", + "nodeType": "YulIf", + "src": "18122:446:17" + } + ] + }, + "name": "clean_up_bytearray_end_slots_string_storage", + "nativeSrc": "18031:543:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "18084:5:17", + "nodeType": "YulTypedName", + "src": "18084:5:17", + "type": "" + }, + { + "name": "len", + "nativeSrc": "18091:3:17", + "nodeType": "YulTypedName", + "src": "18091:3:17", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "18096:10:17", + "nodeType": "YulTypedName", + "src": "18096:10:17", + "type": "" + } + ], + "src": "18031:543:17" + }, + { + "body": { + "nativeSrc": "18664:81:17", + "nodeType": "YulBlock", + "src": "18664:81:17", + "statements": [ + { + "nativeSrc": "18674:65:17", + "nodeType": "YulAssignment", + "src": "18674:65:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "data", + "nativeSrc": "18689:4:17", + "nodeType": "YulIdentifier", + "src": "18689:4:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "18707:1:17", + "nodeType": "YulLiteral", + "src": "18707:1:17", + "type": "", + "value": "3" + }, + { + "name": "len", + "nativeSrc": "18710:3:17", + "nodeType": "YulIdentifier", + "src": "18710:3:17" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "18703:3:17", + "nodeType": "YulIdentifier", + "src": "18703:3:17" + }, + "nativeSrc": "18703:11:17", + "nodeType": "YulFunctionCall", + "src": "18703:11:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "18720:1:17", + "nodeType": "YulLiteral", + "src": "18720:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "18716:3:17", + "nodeType": "YulIdentifier", + "src": "18716:3:17" + }, + "nativeSrc": "18716:6:17", + "nodeType": "YulFunctionCall", + "src": "18716:6:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "18699:3:17", + "nodeType": "YulIdentifier", + "src": "18699:3:17" + }, + "nativeSrc": "18699:24:17", + "nodeType": "YulFunctionCall", + "src": "18699:24:17" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "18695:3:17", + "nodeType": "YulIdentifier", + "src": "18695:3:17" + }, + "nativeSrc": "18695:29:17", + "nodeType": "YulFunctionCall", + "src": "18695:29:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "18685:3:17", + "nodeType": "YulIdentifier", + "src": "18685:3:17" + }, + "nativeSrc": "18685:40:17", + "nodeType": "YulFunctionCall", + "src": "18685:40:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "18731:1:17", + "nodeType": "YulLiteral", + "src": "18731:1:17", + "type": "", + "value": "1" + }, + { + "name": "len", + "nativeSrc": "18734:3:17", + "nodeType": "YulIdentifier", + "src": "18734:3:17" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "18727:3:17", + "nodeType": "YulIdentifier", + "src": "18727:3:17" + }, + "nativeSrc": "18727:11:17", + "nodeType": "YulFunctionCall", + "src": "18727:11:17" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "18682:2:17", + "nodeType": "YulIdentifier", + "src": "18682:2:17" + }, + "nativeSrc": "18682:57:17", + "nodeType": "YulFunctionCall", + "src": "18682:57:17" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "18674:4:17", + "nodeType": "YulIdentifier", + "src": "18674:4:17" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "18579:166:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "18641:4:17", + "nodeType": "YulTypedName", + "src": "18641:4:17", + "type": "" + }, + { + "name": "len", + "nativeSrc": "18647:3:17", + "nodeType": "YulTypedName", + "src": "18647:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "18655:4:17", + "nodeType": "YulTypedName", + "src": "18655:4:17", + "type": "" + } + ], + "src": "18579:166:17" + }, + { + "body": { + "nativeSrc": "18846:1249:17", + "nodeType": "YulBlock", + "src": "18846:1249:17", + "statements": [ + { + "nativeSrc": "18856:24:17", + "nodeType": "YulVariableDeclaration", + "src": "18856:24:17", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "18876:3:17", + "nodeType": "YulIdentifier", + "src": "18876:3:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "18870:5:17", + "nodeType": "YulIdentifier", + "src": "18870:5:17" + }, + "nativeSrc": "18870:10:17", + "nodeType": "YulFunctionCall", + "src": "18870:10:17" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "18860:6:17", + "nodeType": "YulTypedName", + "src": "18860:6:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "18923:22:17", + "nodeType": "YulBlock", + "src": "18923:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "18925:16:17", + "nodeType": "YulIdentifier", + "src": "18925:16:17" + }, + "nativeSrc": "18925:18:17", + "nodeType": "YulFunctionCall", + "src": "18925:18:17" + }, + "nativeSrc": "18925:18:17", + "nodeType": "YulExpressionStatement", + "src": "18925:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "18895:6:17", + "nodeType": "YulIdentifier", + "src": "18895:6:17" + }, + { + "kind": "number", + "nativeSrc": "18903:18:17", + "nodeType": "YulLiteral", + "src": "18903:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "18892:2:17", + "nodeType": "YulIdentifier", + "src": "18892:2:17" + }, + "nativeSrc": "18892:30:17", + "nodeType": "YulFunctionCall", + "src": "18892:30:17" + }, + "nativeSrc": "18889:56:17", + "nodeType": "YulIf", + "src": "18889:56:17" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "18998:4:17", + "nodeType": "YulIdentifier", + "src": "18998:4:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "19036:4:17", + "nodeType": "YulIdentifier", + "src": "19036:4:17" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "19030:5:17", + "nodeType": "YulIdentifier", + "src": "19030:5:17" + }, + "nativeSrc": "19030:11:17", + "nodeType": "YulFunctionCall", + "src": "19030:11:17" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "19004:25:17", + "nodeType": "YulIdentifier", + "src": "19004:25:17" + }, + "nativeSrc": "19004:38:17", + "nodeType": "YulFunctionCall", + "src": "19004:38:17" + }, + { + "name": "newLen", + "nativeSrc": "19044:6:17", + "nodeType": "YulIdentifier", + "src": "19044:6:17" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_string_storage", + "nativeSrc": "18954:43:17", + "nodeType": "YulIdentifier", + "src": "18954:43:17" + }, + "nativeSrc": "18954:97:17", + "nodeType": "YulFunctionCall", + "src": "18954:97:17" + }, + "nativeSrc": "18954:97:17", + "nodeType": "YulExpressionStatement", + "src": "18954:97:17" + }, + { + "nativeSrc": "19060:18:17", + "nodeType": "YulVariableDeclaration", + "src": "19060:18:17", + "value": { + "kind": "number", + "nativeSrc": "19077:1:17", + "nodeType": "YulLiteral", + "src": "19077:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "19064:9:17", + "nodeType": "YulTypedName", + "src": "19064:9:17", + "type": "" + } + ] + }, + { + "nativeSrc": "19087:23:17", + "nodeType": "YulVariableDeclaration", + "src": "19087:23:17", + "value": { + "kind": "number", + "nativeSrc": "19106:4:17", + "nodeType": "YulLiteral", + "src": "19106:4:17", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "srcOffset_1", + "nativeSrc": "19091:11:17", + "nodeType": "YulTypedName", + "src": "19091:11:17", + "type": "" + } + ] + }, + { + "nativeSrc": "19119:17:17", + "nodeType": "YulAssignment", + "src": "19119:17:17", + "value": { + "kind": "number", + "nativeSrc": "19132:4:17", + "nodeType": "YulLiteral", + "src": "19132:4:17", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "19119:9:17", + "nodeType": "YulIdentifier", + "src": "19119:9:17" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "19182:656:17", + "nodeType": "YulBlock", + "src": "19182:656:17", + "statements": [ + { + "nativeSrc": "19196:35:17", + "nodeType": "YulVariableDeclaration", + "src": "19196:35:17", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "19215:6:17", + "nodeType": "YulIdentifier", + "src": "19215:6:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "19227:2:17", + "nodeType": "YulLiteral", + "src": "19227:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "19223:3:17", + "nodeType": "YulIdentifier", + "src": "19223:3:17" + }, + "nativeSrc": "19223:7:17", + "nodeType": "YulFunctionCall", + "src": "19223:7:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "19211:3:17", + "nodeType": "YulIdentifier", + "src": "19211:3:17" + }, + "nativeSrc": "19211:20:17", + "nodeType": "YulFunctionCall", + "src": "19211:20:17" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "19200:7:17", + "nodeType": "YulTypedName", + "src": "19200:7:17", + "type": "" + } + ] + }, + { + "nativeSrc": "19244:49:17", + "nodeType": "YulVariableDeclaration", + "src": "19244:49:17", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "19288:4:17", + "nodeType": "YulIdentifier", + "src": "19288:4:17" + } + ], + "functionName": { + "name": "array_dataslot_string_storage", + "nativeSrc": "19258:29:17", + "nodeType": "YulIdentifier", + "src": "19258:29:17" + }, + "nativeSrc": "19258:35:17", + "nodeType": "YulFunctionCall", + "src": "19258:35:17" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "19248:6:17", + "nodeType": "YulTypedName", + "src": "19248:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "19306:10:17", + "nodeType": "YulVariableDeclaration", + "src": "19306:10:17", + "value": { + "kind": "number", + "nativeSrc": "19315:1:17", + "nodeType": "YulLiteral", + "src": "19315:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "19310:1:17", + "nodeType": "YulTypedName", + "src": "19310:1:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "19393:172:17", + "nodeType": "YulBlock", + "src": "19393:172:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "19418:6:17", + "nodeType": "YulIdentifier", + "src": "19418:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "19436:3:17", + "nodeType": "YulIdentifier", + "src": "19436:3:17" + }, + { + "name": "srcOffset", + "nativeSrc": "19441:9:17", + "nodeType": "YulIdentifier", + "src": "19441:9:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19432:3:17", + "nodeType": "YulIdentifier", + "src": "19432:3:17" + }, + "nativeSrc": "19432:19:17", + "nodeType": "YulFunctionCall", + "src": "19432:19:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "19426:5:17", + "nodeType": "YulIdentifier", + "src": "19426:5:17" + }, + "nativeSrc": "19426:26:17", + "nodeType": "YulFunctionCall", + "src": "19426:26:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "19411:6:17", + "nodeType": "YulIdentifier", + "src": "19411:6:17" + }, + "nativeSrc": "19411:42:17", + "nodeType": "YulFunctionCall", + "src": "19411:42:17" + }, + "nativeSrc": "19411:42:17", + "nodeType": "YulExpressionStatement", + "src": "19411:42:17" + }, + { + "nativeSrc": "19470:24:17", + "nodeType": "YulAssignment", + "src": "19470:24:17", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "19484:6:17", + "nodeType": "YulIdentifier", + "src": "19484:6:17" + }, + { + "kind": "number", + "nativeSrc": "19492:1:17", + "nodeType": "YulLiteral", + "src": "19492:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19480:3:17", + "nodeType": "YulIdentifier", + "src": "19480:3:17" + }, + "nativeSrc": "19480:14:17", + "nodeType": "YulFunctionCall", + "src": "19480:14:17" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "19470:6:17", + "nodeType": "YulIdentifier", + "src": "19470:6:17" + } + ] + }, + { + "nativeSrc": "19511:40:17", + "nodeType": "YulAssignment", + "src": "19511:40:17", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "19528:9:17", + "nodeType": "YulIdentifier", + "src": "19528:9:17" + }, + { + "name": "srcOffset_1", + "nativeSrc": "19539:11:17", + "nodeType": "YulIdentifier", + "src": "19539:11:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19524:3:17", + "nodeType": "YulIdentifier", + "src": "19524:3:17" + }, + "nativeSrc": "19524:27:17", + "nodeType": "YulFunctionCall", + "src": "19524:27:17" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "19511:9:17", + "nodeType": "YulIdentifier", + "src": "19511:9:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "19340:1:17", + "nodeType": "YulIdentifier", + "src": "19340:1:17" + }, + { + "name": "loopEnd", + "nativeSrc": "19343:7:17", + "nodeType": "YulIdentifier", + "src": "19343:7:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "19337:2:17", + "nodeType": "YulIdentifier", + "src": "19337:2:17" + }, + "nativeSrc": "19337:14:17", + "nodeType": "YulFunctionCall", + "src": "19337:14:17" + }, + "nativeSrc": "19329:236:17", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "19352:28:17", + "nodeType": "YulBlock", + "src": "19352:28:17", + "statements": [ + { + "nativeSrc": "19354:24:17", + "nodeType": "YulAssignment", + "src": "19354:24:17", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "19363:1:17", + "nodeType": "YulIdentifier", + "src": "19363:1:17" + }, + { + "name": "srcOffset_1", + "nativeSrc": "19366:11:17", + "nodeType": "YulIdentifier", + "src": "19366:11:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19359:3:17", + "nodeType": "YulIdentifier", + "src": "19359:3:17" + }, + "nativeSrc": "19359:19:17", + "nodeType": "YulFunctionCall", + "src": "19359:19:17" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "19354:1:17", + "nodeType": "YulIdentifier", + "src": "19354:1:17" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "19333:3:17", + "nodeType": "YulBlock", + "src": "19333:3:17", + "statements": [] + }, + "src": "19329:236:17" + }, + { + "body": { + "nativeSrc": "19613:166:17", + "nodeType": "YulBlock", + "src": "19613:166:17", + "statements": [ + { + "nativeSrc": "19631:43:17", + "nodeType": "YulVariableDeclaration", + "src": "19631:43:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "19658:3:17", + "nodeType": "YulIdentifier", + "src": "19658:3:17" + }, + { + "name": "srcOffset", + "nativeSrc": "19663:9:17", + "nodeType": "YulIdentifier", + "src": "19663:9:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19654:3:17", + "nodeType": "YulIdentifier", + "src": "19654:3:17" + }, + "nativeSrc": "19654:19:17", + "nodeType": "YulFunctionCall", + "src": "19654:19:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "19648:5:17", + "nodeType": "YulIdentifier", + "src": "19648:5:17" + }, + "nativeSrc": "19648:26:17", + "nodeType": "YulFunctionCall", + "src": "19648:26:17" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "19635:9:17", + "nodeType": "YulTypedName", + "src": "19635:9:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "19698:6:17", + "nodeType": "YulIdentifier", + "src": "19698:6:17" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "19710:9:17", + "nodeType": "YulIdentifier", + "src": "19710:9:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "19737:1:17", + "nodeType": "YulLiteral", + "src": "19737:1:17", + "type": "", + "value": "3" + }, + { + "name": "newLen", + "nativeSrc": "19740:6:17", + "nodeType": "YulIdentifier", + "src": "19740:6:17" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "19733:3:17", + "nodeType": "YulIdentifier", + "src": "19733:3:17" + }, + "nativeSrc": "19733:14:17", + "nodeType": "YulFunctionCall", + "src": "19733:14:17" + }, + { + "kind": "number", + "nativeSrc": "19749:3:17", + "nodeType": "YulLiteral", + "src": "19749:3:17", + "type": "", + "value": "248" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "19729:3:17", + "nodeType": "YulIdentifier", + "src": "19729:3:17" + }, + "nativeSrc": "19729:24:17", + "nodeType": "YulFunctionCall", + "src": "19729:24:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "19759:1:17", + "nodeType": "YulLiteral", + "src": "19759:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "19755:3:17", + "nodeType": "YulIdentifier", + "src": "19755:3:17" + }, + "nativeSrc": "19755:6:17", + "nodeType": "YulFunctionCall", + "src": "19755:6:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "19725:3:17", + "nodeType": "YulIdentifier", + "src": "19725:3:17" + }, + "nativeSrc": "19725:37:17", + "nodeType": "YulFunctionCall", + "src": "19725:37:17" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "19721:3:17", + "nodeType": "YulIdentifier", + "src": "19721:3:17" + }, + "nativeSrc": "19721:42:17", + "nodeType": "YulFunctionCall", + "src": "19721:42:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "19706:3:17", + "nodeType": "YulIdentifier", + "src": "19706:3:17" + }, + "nativeSrc": "19706:58:17", + "nodeType": "YulFunctionCall", + "src": "19706:58:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "19691:6:17", + "nodeType": "YulIdentifier", + "src": "19691:6:17" + }, + "nativeSrc": "19691:74:17", + "nodeType": "YulFunctionCall", + "src": "19691:74:17" + }, + "nativeSrc": "19691:74:17", + "nodeType": "YulExpressionStatement", + "src": "19691:74:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "19584:7:17", + "nodeType": "YulIdentifier", + "src": "19584:7:17" + }, + { + "name": "newLen", + "nativeSrc": "19593:6:17", + "nodeType": "YulIdentifier", + "src": "19593:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "19581:2:17", + "nodeType": "YulIdentifier", + "src": "19581:2:17" + }, + "nativeSrc": "19581:19:17", + "nodeType": "YulFunctionCall", + "src": "19581:19:17" + }, + "nativeSrc": "19578:201:17", + "nodeType": "YulIf", + "src": "19578:201:17" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "19799:4:17", + "nodeType": "YulIdentifier", + "src": "19799:4:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "19813:1:17", + "nodeType": "YulLiteral", + "src": "19813:1:17", + "type": "", + "value": "1" + }, + { + "name": "newLen", + "nativeSrc": "19816:6:17", + "nodeType": "YulIdentifier", + "src": "19816:6:17" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "19809:3:17", + "nodeType": "YulIdentifier", + "src": "19809:3:17" + }, + "nativeSrc": "19809:14:17", + "nodeType": "YulFunctionCall", + "src": "19809:14:17" + }, + { + "kind": "number", + "nativeSrc": "19825:1:17", + "nodeType": "YulLiteral", + "src": "19825:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19805:3:17", + "nodeType": "YulIdentifier", + "src": "19805:3:17" + }, + "nativeSrc": "19805:22:17", + "nodeType": "YulFunctionCall", + "src": "19805:22:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "19792:6:17", + "nodeType": "YulIdentifier", + "src": "19792:6:17" + }, + "nativeSrc": "19792:36:17", + "nodeType": "YulFunctionCall", + "src": "19792:36:17" + }, + "nativeSrc": "19792:36:17", + "nodeType": "YulExpressionStatement", + "src": "19792:36:17" + } + ] + }, + "nativeSrc": "19175:663:17", + "nodeType": "YulCase", + "src": "19175:663:17", + "value": { + "kind": "number", + "nativeSrc": "19180:1:17", + "nodeType": "YulLiteral", + "src": "19180:1:17", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "19855:234:17", + "nodeType": "YulBlock", + "src": "19855:234:17", + "statements": [ + { + "nativeSrc": "19869:14:17", + "nodeType": "YulVariableDeclaration", + "src": "19869:14:17", + "value": { + "kind": "number", + "nativeSrc": "19882:1:17", + "nodeType": "YulLiteral", + "src": "19882:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "19873:5:17", + "nodeType": "YulTypedName", + "src": "19873:5:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "19918:67:17", + "nodeType": "YulBlock", + "src": "19918:67:17", + "statements": [ + { + "nativeSrc": "19936:35:17", + "nodeType": "YulAssignment", + "src": "19936:35:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "19955:3:17", + "nodeType": "YulIdentifier", + "src": "19955:3:17" + }, + { + "name": "srcOffset", + "nativeSrc": "19960:9:17", + "nodeType": "YulIdentifier", + "src": "19960:9:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19951:3:17", + "nodeType": "YulIdentifier", + "src": "19951:3:17" + }, + "nativeSrc": "19951:19:17", + "nodeType": "YulFunctionCall", + "src": "19951:19:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "19945:5:17", + "nodeType": "YulIdentifier", + "src": "19945:5:17" + }, + "nativeSrc": "19945:26:17", + "nodeType": "YulFunctionCall", + "src": "19945:26:17" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "19936:5:17", + "nodeType": "YulIdentifier", + "src": "19936:5:17" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "19899:6:17", + "nodeType": "YulIdentifier", + "src": "19899:6:17" + }, + "nativeSrc": "19896:89:17", + "nodeType": "YulIf", + "src": "19896:89:17" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "20005:4:17", + "nodeType": "YulIdentifier", + "src": "20005:4:17" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "20064:5:17", + "nodeType": "YulIdentifier", + "src": "20064:5:17" + }, + { + "name": "newLen", + "nativeSrc": "20071:6:17", + "nodeType": "YulIdentifier", + "src": "20071:6:17" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "20011:52:17", + "nodeType": "YulIdentifier", + "src": "20011:52:17" + }, + "nativeSrc": "20011:67:17", + "nodeType": "YulFunctionCall", + "src": "20011:67:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "19998:6:17", + "nodeType": "YulIdentifier", + "src": "19998:6:17" + }, + "nativeSrc": "19998:81:17", + "nodeType": "YulFunctionCall", + "src": "19998:81:17" + }, + "nativeSrc": "19998:81:17", + "nodeType": "YulExpressionStatement", + "src": "19998:81:17" + } + ] + }, + "nativeSrc": "19847:242:17", + "nodeType": "YulCase", + "src": "19847:242:17", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "19155:6:17", + "nodeType": "YulIdentifier", + "src": "19155:6:17" + }, + { + "kind": "number", + "nativeSrc": "19163:2:17", + "nodeType": "YulLiteral", + "src": "19163:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "19152:2:17", + "nodeType": "YulIdentifier", + "src": "19152:2:17" + }, + "nativeSrc": "19152:14:17", + "nodeType": "YulFunctionCall", + "src": "19152:14:17" + }, + "nativeSrc": "19145:944:17", + "nodeType": "YulSwitch", + "src": "19145:944:17" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "18750:1345:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "18831:4:17", + "nodeType": "YulTypedName", + "src": "18831:4:17", + "type": "" + }, + { + "name": "src", + "nativeSrc": "18837:3:17", + "nodeType": "YulTypedName", + "src": "18837:3:17", + "type": "" + } + ], + "src": "18750:1345:17" + }, + { + "body": { + "nativeSrc": "20269:214:17", + "nodeType": "YulBlock", + "src": "20269:214:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20286:9:17", + "nodeType": "YulIdentifier", + "src": "20286:9:17" + }, + { + "kind": "number", + "nativeSrc": "20297:2:17", + "nodeType": "YulLiteral", + "src": "20297:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20279:6:17", + "nodeType": "YulIdentifier", + "src": "20279:6:17" + }, + "nativeSrc": "20279:21:17", + "nodeType": "YulFunctionCall", + "src": "20279:21:17" + }, + "nativeSrc": "20279:21:17", + "nodeType": "YulExpressionStatement", + "src": "20279:21:17" + }, + { + "nativeSrc": "20309:59:17", + "nodeType": "YulVariableDeclaration", + "src": "20309:59:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "20341:6:17", + "nodeType": "YulIdentifier", + "src": "20341:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20353:9:17", + "nodeType": "YulIdentifier", + "src": "20353:9:17" + }, + { + "kind": "number", + "nativeSrc": "20364:2:17", + "nodeType": "YulLiteral", + "src": "20364:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20349:3:17", + "nodeType": "YulIdentifier", + "src": "20349:3:17" + }, + "nativeSrc": "20349:18:17", + "nodeType": "YulFunctionCall", + "src": "20349:18:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "20323:17:17", + "nodeType": "YulIdentifier", + "src": "20323:17:17" + }, + "nativeSrc": "20323:45:17", + "nodeType": "YulFunctionCall", + "src": "20323:45:17" + }, + "variables": [ + { + "name": "tail_1", + "nativeSrc": "20313:6:17", + "nodeType": "YulTypedName", + "src": "20313:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20388:9:17", + "nodeType": "YulIdentifier", + "src": "20388:9:17" + }, + { + "kind": "number", + "nativeSrc": "20399:2:17", + "nodeType": "YulLiteral", + "src": "20399:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20384:3:17", + "nodeType": "YulIdentifier", + "src": "20384:3:17" + }, + "nativeSrc": "20384:18:17", + "nodeType": "YulFunctionCall", + "src": "20384:18:17" + }, + { + "arguments": [ + { + "name": "tail_1", + "nativeSrc": "20408:6:17", + "nodeType": "YulIdentifier", + "src": "20408:6:17" + }, + { + "name": "headStart", + "nativeSrc": "20416:9:17", + "nodeType": "YulIdentifier", + "src": "20416:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20404:3:17", + "nodeType": "YulIdentifier", + "src": "20404:3:17" + }, + "nativeSrc": "20404:22:17", + "nodeType": "YulFunctionCall", + "src": "20404:22:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20377:6:17", + "nodeType": "YulIdentifier", + "src": "20377:6:17" + }, + "nativeSrc": "20377:50:17", + "nodeType": "YulFunctionCall", + "src": "20377:50:17" + }, + "nativeSrc": "20377:50:17", + "nodeType": "YulExpressionStatement", + "src": "20377:50:17" + }, + { + "nativeSrc": "20436:41:17", + "nodeType": "YulAssignment", + "src": "20436:41:17", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "20462:6:17", + "nodeType": "YulIdentifier", + "src": "20462:6:17" + }, + { + "name": "tail_1", + "nativeSrc": "20470:6:17", + "nodeType": "YulIdentifier", + "src": "20470:6:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "20444:17:17", + "nodeType": "YulIdentifier", + "src": "20444:17:17" + }, + "nativeSrc": "20444:33:17", + "nodeType": "YulFunctionCall", + "src": "20444:33:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20436:4:17", + "nodeType": "YulIdentifier", + "src": "20436:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "20100:383:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20230:9:17", + "nodeType": "YulTypedName", + "src": "20230:9:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "20241:6:17", + "nodeType": "YulTypedName", + "src": "20241:6:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "20249:6:17", + "nodeType": "YulTypedName", + "src": "20249:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "20260:4:17", + "nodeType": "YulTypedName", + "src": "20260:4:17", + "type": "" + } + ], + "src": "20100:383:17" + }, + { + "body": { + "nativeSrc": "20662:165:17", + "nodeType": "YulBlock", + "src": "20662:165:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20679:9:17", + "nodeType": "YulIdentifier", + "src": "20679:9:17" + }, + { + "kind": "number", + "nativeSrc": "20690:2:17", + "nodeType": "YulLiteral", + "src": "20690:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20672:6:17", + "nodeType": "YulIdentifier", + "src": "20672:6:17" + }, + "nativeSrc": "20672:21:17", + "nodeType": "YulFunctionCall", + "src": "20672:21:17" + }, + "nativeSrc": "20672:21:17", + "nodeType": "YulExpressionStatement", + "src": "20672:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20713:9:17", + "nodeType": "YulIdentifier", + "src": "20713:9:17" + }, + { + "kind": "number", + "nativeSrc": "20724:2:17", + "nodeType": "YulLiteral", + "src": "20724:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20709:3:17", + "nodeType": "YulIdentifier", + "src": "20709:3:17" + }, + "nativeSrc": "20709:18:17", + "nodeType": "YulFunctionCall", + "src": "20709:18:17" + }, + { + "kind": "number", + "nativeSrc": "20729:2:17", + "nodeType": "YulLiteral", + "src": "20729:2:17", + "type": "", + "value": "15" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20702:6:17", + "nodeType": "YulIdentifier", + "src": "20702:6:17" + }, + "nativeSrc": "20702:30:17", + "nodeType": "YulFunctionCall", + "src": "20702:30:17" + }, + "nativeSrc": "20702:30:17", + "nodeType": "YulExpressionStatement", + "src": "20702:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20752:9:17", + "nodeType": "YulIdentifier", + "src": "20752:9:17" + }, + { + "kind": "number", + "nativeSrc": "20763:2:17", + "nodeType": "YulLiteral", + "src": "20763:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20748:3:17", + "nodeType": "YulIdentifier", + "src": "20748:3:17" + }, + "nativeSrc": "20748:18:17", + "nodeType": "YulFunctionCall", + "src": "20748:18:17" + }, + { + "hexValue": "496e76616c69642061646472657373", + "kind": "string", + "nativeSrc": "20768:17:17", + "nodeType": "YulLiteral", + "src": "20768:17:17", + "type": "", + "value": "Invalid address" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20741:6:17", + "nodeType": "YulIdentifier", + "src": "20741:6:17" + }, + "nativeSrc": "20741:45:17", + "nodeType": "YulFunctionCall", + "src": "20741:45:17" + }, + "nativeSrc": "20741:45:17", + "nodeType": "YulExpressionStatement", + "src": "20741:45:17" + }, + { + "nativeSrc": "20795:26:17", + "nodeType": "YulAssignment", + "src": "20795:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20807:9:17", + "nodeType": "YulIdentifier", + "src": "20807:9:17" + }, + { + "kind": "number", + "nativeSrc": "20818:2:17", + "nodeType": "YulLiteral", + "src": "20818:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20803:3:17", + "nodeType": "YulIdentifier", + "src": "20803:3:17" + }, + "nativeSrc": "20803:18:17", + "nodeType": "YulFunctionCall", + "src": "20803:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20795:4:17", + "nodeType": "YulIdentifier", + "src": "20795:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "20488:339:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20639:9:17", + "nodeType": "YulTypedName", + "src": "20639:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "20653:4:17", + "nodeType": "YulTypedName", + "src": "20653:4:17", + "type": "" + } + ], + "src": "20488:339:17" + }, + { + "body": { + "nativeSrc": "21037:256:17", + "nodeType": "YulBlock", + "src": "21037:256:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21054:9:17", + "nodeType": "YulIdentifier", + "src": "21054:9:17" + }, + { + "name": "value0", + "nativeSrc": "21065:6:17", + "nodeType": "YulIdentifier", + "src": "21065:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21047:6:17", + "nodeType": "YulIdentifier", + "src": "21047:6:17" + }, + "nativeSrc": "21047:25:17", + "nodeType": "YulFunctionCall", + "src": "21047:25:17" + }, + "nativeSrc": "21047:25:17", + "nodeType": "YulExpressionStatement", + "src": "21047:25:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21092:9:17", + "nodeType": "YulIdentifier", + "src": "21092:9:17" + }, + { + "kind": "number", + "nativeSrc": "21103:2:17", + "nodeType": "YulLiteral", + "src": "21103:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21088:3:17", + "nodeType": "YulIdentifier", + "src": "21088:3:17" + }, + "nativeSrc": "21088:18:17", + "nodeType": "YulFunctionCall", + "src": "21088:18:17" + }, + { + "kind": "number", + "nativeSrc": "21108:3:17", + "nodeType": "YulLiteral", + "src": "21108:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21081:6:17", + "nodeType": "YulIdentifier", + "src": "21081:6:17" + }, + "nativeSrc": "21081:31:17", + "nodeType": "YulFunctionCall", + "src": "21081:31:17" + }, + "nativeSrc": "21081:31:17", + "nodeType": "YulExpressionStatement", + "src": "21081:31:17" + }, + { + "nativeSrc": "21121:54:17", + "nodeType": "YulAssignment", + "src": "21121:54:17", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "21147:6:17", + "nodeType": "YulIdentifier", + "src": "21147:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21159:9:17", + "nodeType": "YulIdentifier", + "src": "21159:9:17" + }, + { + "kind": "number", + "nativeSrc": "21170:3:17", + "nodeType": "YulLiteral", + "src": "21170:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21155:3:17", + "nodeType": "YulIdentifier", + "src": "21155:3:17" + }, + "nativeSrc": "21155:19:17", + "nodeType": "YulFunctionCall", + "src": "21155:19:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "21129:17:17", + "nodeType": "YulIdentifier", + "src": "21129:17:17" + }, + "nativeSrc": "21129:46:17", + "nodeType": "YulFunctionCall", + "src": "21129:46:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "21121:4:17", + "nodeType": "YulIdentifier", + "src": "21121:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21195:9:17", + "nodeType": "YulIdentifier", + "src": "21195:9:17" + }, + { + "kind": "number", + "nativeSrc": "21206:2:17", + "nodeType": "YulLiteral", + "src": "21206:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21191:3:17", + "nodeType": "YulIdentifier", + "src": "21191:3:17" + }, + "nativeSrc": "21191:18:17", + "nodeType": "YulFunctionCall", + "src": "21191:18:17" + }, + { + "name": "value2", + "nativeSrc": "21211:6:17", + "nodeType": "YulIdentifier", + "src": "21211:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21184:6:17", + "nodeType": "YulIdentifier", + "src": "21184:6:17" + }, + "nativeSrc": "21184:34:17", + "nodeType": "YulFunctionCall", + "src": "21184:34:17" + }, + "nativeSrc": "21184:34:17", + "nodeType": "YulExpressionStatement", + "src": "21184:34:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21238:9:17", + "nodeType": "YulIdentifier", + "src": "21238:9:17" + }, + { + "kind": "number", + "nativeSrc": "21249:2:17", + "nodeType": "YulLiteral", + "src": "21249:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21234:3:17", + "nodeType": "YulIdentifier", + "src": "21234:3:17" + }, + "nativeSrc": "21234:18:17", + "nodeType": "YulFunctionCall", + "src": "21234:18:17" + }, + { + "arguments": [ + { + "name": "value3", + "nativeSrc": "21258:6:17", + "nodeType": "YulIdentifier", + "src": "21258:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21274:3:17", + "nodeType": "YulLiteral", + "src": "21274:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "21279:1:17", + "nodeType": "YulLiteral", + "src": "21279:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "21270:3:17", + "nodeType": "YulIdentifier", + "src": "21270:3:17" + }, + "nativeSrc": "21270:11:17", + "nodeType": "YulFunctionCall", + "src": "21270:11:17" + }, + { + "kind": "number", + "nativeSrc": "21283:1:17", + "nodeType": "YulLiteral", + "src": "21283:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "21266:3:17", + "nodeType": "YulIdentifier", + "src": "21266:3:17" + }, + "nativeSrc": "21266:19:17", + "nodeType": "YulFunctionCall", + "src": "21266:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "21254:3:17", + "nodeType": "YulIdentifier", + "src": "21254:3:17" + }, + "nativeSrc": "21254:32:17", + "nodeType": "YulFunctionCall", + "src": "21254:32:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21227:6:17", + "nodeType": "YulIdentifier", + "src": "21227:6:17" + }, + "nativeSrc": "21227:60:17", + "nodeType": "YulFunctionCall", + "src": "21227:60:17" + }, + "nativeSrc": "21227:60:17", + "nodeType": "YulExpressionStatement", + "src": "21227:60:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_uint256_t_address__to_t_uint256_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed", + "nativeSrc": "20832:461:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20982:9:17", + "nodeType": "YulTypedName", + "src": "20982:9:17", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "20993:6:17", + "nodeType": "YulTypedName", + "src": "20993:6:17", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "21001:6:17", + "nodeType": "YulTypedName", + "src": "21001:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "21009:6:17", + "nodeType": "YulTypedName", + "src": "21009:6:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "21017:6:17", + "nodeType": "YulTypedName", + "src": "21017:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "21028:4:17", + "nodeType": "YulTypedName", + "src": "21028:4:17", + "type": "" + } + ], + "src": "20832:461:17" + }, + { + "body": { + "nativeSrc": "21345:88:17", + "nodeType": "YulBlock", + "src": "21345:88:17", + "statements": [ + { + "body": { + "nativeSrc": "21376:22:17", + "nodeType": "YulBlock", + "src": "21376:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nativeSrc": "21378:16:17", + "nodeType": "YulIdentifier", + "src": "21378:16:17" + }, + "nativeSrc": "21378:18:17", + "nodeType": "YulFunctionCall", + "src": "21378:18:17" + }, + "nativeSrc": "21378:18:17", + "nodeType": "YulExpressionStatement", + "src": "21378:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21361:5:17", + "nodeType": "YulIdentifier", + "src": "21361:5:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21372:1:17", + "nodeType": "YulLiteral", + "src": "21372:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "21368:3:17", + "nodeType": "YulIdentifier", + "src": "21368:3:17" + }, + "nativeSrc": "21368:6:17", + "nodeType": "YulFunctionCall", + "src": "21368:6:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "21358:2:17", + "nodeType": "YulIdentifier", + "src": "21358:2:17" + }, + "nativeSrc": "21358:17:17", + "nodeType": "YulFunctionCall", + "src": "21358:17:17" + }, + "nativeSrc": "21355:43:17", + "nodeType": "YulIf", + "src": "21355:43:17" + }, + { + "nativeSrc": "21407:20:17", + "nodeType": "YulAssignment", + "src": "21407:20:17", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "21418:5:17", + "nodeType": "YulIdentifier", + "src": "21418:5:17" + }, + { + "kind": "number", + "nativeSrc": "21425:1:17", + "nodeType": "YulLiteral", + "src": "21425:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21414:3:17", + "nodeType": "YulIdentifier", + "src": "21414:3:17" + }, + "nativeSrc": "21414:13:17", + "nodeType": "YulFunctionCall", + "src": "21414:13:17" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "21407:3:17", + "nodeType": "YulIdentifier", + "src": "21407:3:17" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nativeSrc": "21298:135:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "21327:5:17", + "nodeType": "YulTypedName", + "src": "21327:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "21337:3:17", + "nodeType": "YulTypedName", + "src": "21337:3:17", + "type": "" + } + ], + "src": "21298:135:17" + }, + { + "body": { + "nativeSrc": "21519:103:17", + "nodeType": "YulBlock", + "src": "21519:103:17", + "statements": [ + { + "body": { + "nativeSrc": "21565:16:17", + "nodeType": "YulBlock", + "src": "21565:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21574:1:17", + "nodeType": "YulLiteral", + "src": "21574:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21577:1:17", + "nodeType": "YulLiteral", + "src": "21577:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "21567:6:17", + "nodeType": "YulIdentifier", + "src": "21567:6:17" + }, + "nativeSrc": "21567:12:17", + "nodeType": "YulFunctionCall", + "src": "21567:12:17" + }, + "nativeSrc": "21567:12:17", + "nodeType": "YulExpressionStatement", + "src": "21567:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "21540:7:17", + "nodeType": "YulIdentifier", + "src": "21540:7:17" + }, + { + "name": "headStart", + "nativeSrc": "21549:9:17", + "nodeType": "YulIdentifier", + "src": "21549:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "21536:3:17", + "nodeType": "YulIdentifier", + "src": "21536:3:17" + }, + "nativeSrc": "21536:23:17", + "nodeType": "YulFunctionCall", + "src": "21536:23:17" + }, + { + "kind": "number", + "nativeSrc": "21561:2:17", + "nodeType": "YulLiteral", + "src": "21561:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "21532:3:17", + "nodeType": "YulIdentifier", + "src": "21532:3:17" + }, + "nativeSrc": "21532:32:17", + "nodeType": "YulFunctionCall", + "src": "21532:32:17" + }, + "nativeSrc": "21529:52:17", + "nodeType": "YulIf", + "src": "21529:52:17" + }, + { + "nativeSrc": "21590:26:17", + "nodeType": "YulAssignment", + "src": "21590:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21606:9:17", + "nodeType": "YulIdentifier", + "src": "21606:9:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "21600:5:17", + "nodeType": "YulIdentifier", + "src": "21600:5:17" + }, + "nativeSrc": "21600:16:17", + "nodeType": "YulFunctionCall", + "src": "21600:16:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "21590:6:17", + "nodeType": "YulIdentifier", + "src": "21590:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32_fromMemory", + "nativeSrc": "21438:184:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21485:9:17", + "nodeType": "YulTypedName", + "src": "21485:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "21496:7:17", + "nodeType": "YulTypedName", + "src": "21496:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "21508:6:17", + "nodeType": "YulTypedName", + "src": "21508:6:17", + "type": "" + } + ], + "src": "21438:184:17" + }, + { + "body": { + "nativeSrc": "21708:103:17", + "nodeType": "YulBlock", + "src": "21708:103:17", + "statements": [ + { + "body": { + "nativeSrc": "21754:16:17", + "nodeType": "YulBlock", + "src": "21754:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21763:1:17", + "nodeType": "YulLiteral", + "src": "21763:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21766:1:17", + "nodeType": "YulLiteral", + "src": "21766:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "21756:6:17", + "nodeType": "YulIdentifier", + "src": "21756:6:17" + }, + "nativeSrc": "21756:12:17", + "nodeType": "YulFunctionCall", + "src": "21756:12:17" + }, + "nativeSrc": "21756:12:17", + "nodeType": "YulExpressionStatement", + "src": "21756:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "21729:7:17", + "nodeType": "YulIdentifier", + "src": "21729:7:17" + }, + { + "name": "headStart", + "nativeSrc": "21738:9:17", + "nodeType": "YulIdentifier", + "src": "21738:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "21725:3:17", + "nodeType": "YulIdentifier", + "src": "21725:3:17" + }, + "nativeSrc": "21725:23:17", + "nodeType": "YulFunctionCall", + "src": "21725:23:17" + }, + { + "kind": "number", + "nativeSrc": "21750:2:17", + "nodeType": "YulLiteral", + "src": "21750:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "21721:3:17", + "nodeType": "YulIdentifier", + "src": "21721:3:17" + }, + "nativeSrc": "21721:32:17", + "nodeType": "YulFunctionCall", + "src": "21721:32:17" + }, + "nativeSrc": "21718:52:17", + "nodeType": "YulIf", + "src": "21718:52:17" + }, + { + "nativeSrc": "21779:26:17", + "nodeType": "YulAssignment", + "src": "21779:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21795:9:17", + "nodeType": "YulIdentifier", + "src": "21795:9:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "21789:5:17", + "nodeType": "YulIdentifier", + "src": "21789:5:17" + }, + "nativeSrc": "21789:16:17", + "nodeType": "YulFunctionCall", + "src": "21789:16:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "21779:6:17", + "nodeType": "YulIdentifier", + "src": "21779:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nativeSrc": "21627:184:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21674:9:17", + "nodeType": "YulTypedName", + "src": "21674:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "21685:7:17", + "nodeType": "YulTypedName", + "src": "21685:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "21697:6:17", + "nodeType": "YulTypedName", + "src": "21697:6:17", + "type": "" + } + ], + "src": "21627:184:17" + }, + { + "body": { + "nativeSrc": "21923:811:17", + "nodeType": "YulBlock", + "src": "21923:811:17", + "statements": [ + { + "body": { + "nativeSrc": "21969:16:17", + "nodeType": "YulBlock", + "src": "21969:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "21978:1:17", + "nodeType": "YulLiteral", + "src": "21978:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "21981:1:17", + "nodeType": "YulLiteral", + "src": "21981:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "21971:6:17", + "nodeType": "YulIdentifier", + "src": "21971:6:17" + }, + "nativeSrc": "21971:12:17", + "nodeType": "YulFunctionCall", + "src": "21971:12:17" + }, + "nativeSrc": "21971:12:17", + "nodeType": "YulExpressionStatement", + "src": "21971:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "21944:7:17", + "nodeType": "YulIdentifier", + "src": "21944:7:17" + }, + { + "name": "headStart", + "nativeSrc": "21953:9:17", + "nodeType": "YulIdentifier", + "src": "21953:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "21940:3:17", + "nodeType": "YulIdentifier", + "src": "21940:3:17" + }, + "nativeSrc": "21940:23:17", + "nodeType": "YulFunctionCall", + "src": "21940:23:17" + }, + { + "kind": "number", + "nativeSrc": "21965:2:17", + "nodeType": "YulLiteral", + "src": "21965:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "21936:3:17", + "nodeType": "YulIdentifier", + "src": "21936:3:17" + }, + "nativeSrc": "21936:32:17", + "nodeType": "YulFunctionCall", + "src": "21936:32:17" + }, + "nativeSrc": "21933:52:17", + "nodeType": "YulIf", + "src": "21933:52:17" + }, + { + "nativeSrc": "21994:30:17", + "nodeType": "YulVariableDeclaration", + "src": "21994:30:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22014:9:17", + "nodeType": "YulIdentifier", + "src": "22014:9:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "22008:5:17", + "nodeType": "YulIdentifier", + "src": "22008:5:17" + }, + "nativeSrc": "22008:16:17", + "nodeType": "YulFunctionCall", + "src": "22008:16:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "21998:6:17", + "nodeType": "YulTypedName", + "src": "21998:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "22033:28:17", + "nodeType": "YulVariableDeclaration", + "src": "22033:28:17", + "value": { + "kind": "number", + "nativeSrc": "22043:18:17", + "nodeType": "YulLiteral", + "src": "22043:18:17", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "22037:2:17", + "nodeType": "YulTypedName", + "src": "22037:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "22088:16:17", + "nodeType": "YulBlock", + "src": "22088:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22097:1:17", + "nodeType": "YulLiteral", + "src": "22097:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22100:1:17", + "nodeType": "YulLiteral", + "src": "22100:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "22090:6:17", + "nodeType": "YulIdentifier", + "src": "22090:6:17" + }, + "nativeSrc": "22090:12:17", + "nodeType": "YulFunctionCall", + "src": "22090:12:17" + }, + "nativeSrc": "22090:12:17", + "nodeType": "YulExpressionStatement", + "src": "22090:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "22076:6:17", + "nodeType": "YulIdentifier", + "src": "22076:6:17" + }, + { + "name": "_1", + "nativeSrc": "22084:2:17", + "nodeType": "YulIdentifier", + "src": "22084:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "22073:2:17", + "nodeType": "YulIdentifier", + "src": "22073:2:17" + }, + "nativeSrc": "22073:14:17", + "nodeType": "YulFunctionCall", + "src": "22073:14:17" + }, + "nativeSrc": "22070:34:17", + "nodeType": "YulIf", + "src": "22070:34:17" + }, + { + "nativeSrc": "22113:32:17", + "nodeType": "YulVariableDeclaration", + "src": "22113:32:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22127:9:17", + "nodeType": "YulIdentifier", + "src": "22127:9:17" + }, + { + "name": "offset", + "nativeSrc": "22138:6:17", + "nodeType": "YulIdentifier", + "src": "22138:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22123:3:17", + "nodeType": "YulIdentifier", + "src": "22123:3:17" + }, + "nativeSrc": "22123:22:17", + "nodeType": "YulFunctionCall", + "src": "22123:22:17" + }, + "variables": [ + { + "name": "_2", + "nativeSrc": "22117:2:17", + "nodeType": "YulTypedName", + "src": "22117:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "22185:16:17", + "nodeType": "YulBlock", + "src": "22185:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22194:1:17", + "nodeType": "YulLiteral", + "src": "22194:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22197:1:17", + "nodeType": "YulLiteral", + "src": "22197:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "22187:6:17", + "nodeType": "YulIdentifier", + "src": "22187:6:17" + }, + "nativeSrc": "22187:12:17", + "nodeType": "YulFunctionCall", + "src": "22187:12:17" + }, + "nativeSrc": "22187:12:17", + "nodeType": "YulExpressionStatement", + "src": "22187:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "22165:7:17", + "nodeType": "YulIdentifier", + "src": "22165:7:17" + }, + { + "name": "_2", + "nativeSrc": "22174:2:17", + "nodeType": "YulIdentifier", + "src": "22174:2:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "22161:3:17", + "nodeType": "YulIdentifier", + "src": "22161:3:17" + }, + "nativeSrc": "22161:16:17", + "nodeType": "YulFunctionCall", + "src": "22161:16:17" + }, + { + "kind": "number", + "nativeSrc": "22179:4:17", + "nodeType": "YulLiteral", + "src": "22179:4:17", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "22157:3:17", + "nodeType": "YulIdentifier", + "src": "22157:3:17" + }, + "nativeSrc": "22157:27:17", + "nodeType": "YulFunctionCall", + "src": "22157:27:17" + }, + "nativeSrc": "22154:47:17", + "nodeType": "YulIf", + "src": "22154:47:17" + }, + { + "nativeSrc": "22210:35:17", + "nodeType": "YulVariableDeclaration", + "src": "22210:35:17", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_3054", + "nativeSrc": "22223:20:17", + "nodeType": "YulIdentifier", + "src": "22223:20:17" + }, + "nativeSrc": "22223:22:17", + "nodeType": "YulFunctionCall", + "src": "22223:22:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "22214:5:17", + "nodeType": "YulTypedName", + "src": "22214:5:17", + "type": "" + } + ] + }, + { + "nativeSrc": "22254:24:17", + "nodeType": "YulVariableDeclaration", + "src": "22254:24:17", + "value": { + "arguments": [ + { + "name": "_2", + "nativeSrc": "22275:2:17", + "nodeType": "YulIdentifier", + "src": "22275:2:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "22269:5:17", + "nodeType": "YulIdentifier", + "src": "22269:5:17" + }, + "nativeSrc": "22269:9:17", + "nodeType": "YulFunctionCall", + "src": "22269:9:17" + }, + "variables": [ + { + "name": "value_1", + "nativeSrc": "22258:7:17", + "nodeType": "YulTypedName", + "src": "22258:7:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value_1", + "nativeSrc": "22312:7:17", + "nodeType": "YulIdentifier", + "src": "22312:7:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "22287:24:17", + "nodeType": "YulIdentifier", + "src": "22287:24:17" + }, + "nativeSrc": "22287:33:17", + "nodeType": "YulFunctionCall", + "src": "22287:33:17" + }, + "nativeSrc": "22287:33:17", + "nodeType": "YulExpressionStatement", + "src": "22287:33:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "22336:5:17", + "nodeType": "YulIdentifier", + "src": "22336:5:17" + }, + { + "name": "value_1", + "nativeSrc": "22343:7:17", + "nodeType": "YulIdentifier", + "src": "22343:7:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22329:6:17", + "nodeType": "YulIdentifier", + "src": "22329:6:17" + }, + "nativeSrc": "22329:22:17", + "nodeType": "YulFunctionCall", + "src": "22329:22:17" + }, + "nativeSrc": "22329:22:17", + "nodeType": "YulExpressionStatement", + "src": "22329:22:17" + }, + { + "nativeSrc": "22360:34:17", + "nodeType": "YulVariableDeclaration", + "src": "22360:34:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "22386:2:17", + "nodeType": "YulIdentifier", + "src": "22386:2:17" + }, + { + "kind": "number", + "nativeSrc": "22390:2:17", + "nodeType": "YulLiteral", + "src": "22390:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22382:3:17", + "nodeType": "YulIdentifier", + "src": "22382:3:17" + }, + "nativeSrc": "22382:11:17", + "nodeType": "YulFunctionCall", + "src": "22382:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "22376:5:17", + "nodeType": "YulIdentifier", + "src": "22376:5:17" + }, + "nativeSrc": "22376:18:17", + "nodeType": "YulFunctionCall", + "src": "22376:18:17" + }, + "variables": [ + { + "name": "offset_1", + "nativeSrc": "22364:8:17", + "nodeType": "YulTypedName", + "src": "22364:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "22423:16:17", + "nodeType": "YulBlock", + "src": "22423:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22432:1:17", + "nodeType": "YulLiteral", + "src": "22432:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22435:1:17", + "nodeType": "YulLiteral", + "src": "22435:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "22425:6:17", + "nodeType": "YulIdentifier", + "src": "22425:6:17" + }, + "nativeSrc": "22425:12:17", + "nodeType": "YulFunctionCall", + "src": "22425:12:17" + }, + "nativeSrc": "22425:12:17", + "nodeType": "YulExpressionStatement", + "src": "22425:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nativeSrc": "22409:8:17", + "nodeType": "YulIdentifier", + "src": "22409:8:17" + }, + { + "name": "_1", + "nativeSrc": "22419:2:17", + "nodeType": "YulIdentifier", + "src": "22419:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "22406:2:17", + "nodeType": "YulIdentifier", + "src": "22406:2:17" + }, + "nativeSrc": "22406:16:17", + "nodeType": "YulFunctionCall", + "src": "22406:16:17" + }, + "nativeSrc": "22403:36:17", + "nodeType": "YulIf", + "src": "22403:36:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "22459:5:17", + "nodeType": "YulIdentifier", + "src": "22459:5:17" + }, + { + "kind": "number", + "nativeSrc": "22466:2:17", + "nodeType": "YulLiteral", + "src": "22466:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22455:3:17", + "nodeType": "YulIdentifier", + "src": "22455:3:17" + }, + "nativeSrc": "22455:14:17", + "nodeType": "YulFunctionCall", + "src": "22455:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "22504:2:17", + "nodeType": "YulIdentifier", + "src": "22504:2:17" + }, + { + "name": "offset_1", + "nativeSrc": "22508:8:17", + "nodeType": "YulIdentifier", + "src": "22508:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22500:3:17", + "nodeType": "YulIdentifier", + "src": "22500:3:17" + }, + "nativeSrc": "22500:17:17", + "nodeType": "YulFunctionCall", + "src": "22500:17:17" + }, + { + "name": "dataEnd", + "nativeSrc": "22519:7:17", + "nodeType": "YulIdentifier", + "src": "22519:7:17" + } + ], + "functionName": { + "name": "abi_decode_string_fromMemory", + "nativeSrc": "22471:28:17", + "nodeType": "YulIdentifier", + "src": "22471:28:17" + }, + "nativeSrc": "22471:56:17", + "nodeType": "YulFunctionCall", + "src": "22471:56:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22448:6:17", + "nodeType": "YulIdentifier", + "src": "22448:6:17" + }, + "nativeSrc": "22448:80:17", + "nodeType": "YulFunctionCall", + "src": "22448:80:17" + }, + "nativeSrc": "22448:80:17", + "nodeType": "YulExpressionStatement", + "src": "22448:80:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "22548:5:17", + "nodeType": "YulIdentifier", + "src": "22548:5:17" + }, + { + "kind": "number", + "nativeSrc": "22555:2:17", + "nodeType": "YulLiteral", + "src": "22555:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22544:3:17", + "nodeType": "YulIdentifier", + "src": "22544:3:17" + }, + "nativeSrc": "22544:14:17", + "nodeType": "YulFunctionCall", + "src": "22544:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "22570:2:17", + "nodeType": "YulIdentifier", + "src": "22570:2:17" + }, + { + "kind": "number", + "nativeSrc": "22574:2:17", + "nodeType": "YulLiteral", + "src": "22574:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22566:3:17", + "nodeType": "YulIdentifier", + "src": "22566:3:17" + }, + "nativeSrc": "22566:11:17", + "nodeType": "YulFunctionCall", + "src": "22566:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "22560:5:17", + "nodeType": "YulIdentifier", + "src": "22560:5:17" + }, + "nativeSrc": "22560:18:17", + "nodeType": "YulFunctionCall", + "src": "22560:18:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22537:6:17", + "nodeType": "YulIdentifier", + "src": "22537:6:17" + }, + "nativeSrc": "22537:42:17", + "nodeType": "YulFunctionCall", + "src": "22537:42:17" + }, + "nativeSrc": "22537:42:17", + "nodeType": "YulExpressionStatement", + "src": "22537:42:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "22599:5:17", + "nodeType": "YulIdentifier", + "src": "22599:5:17" + }, + { + "kind": "number", + "nativeSrc": "22606:2:17", + "nodeType": "YulLiteral", + "src": "22606:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22595:3:17", + "nodeType": "YulIdentifier", + "src": "22595:3:17" + }, + "nativeSrc": "22595:14:17", + "nodeType": "YulFunctionCall", + "src": "22595:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "22621:2:17", + "nodeType": "YulIdentifier", + "src": "22621:2:17" + }, + { + "kind": "number", + "nativeSrc": "22625:2:17", + "nodeType": "YulLiteral", + "src": "22625:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22617:3:17", + "nodeType": "YulIdentifier", + "src": "22617:3:17" + }, + "nativeSrc": "22617:11:17", + "nodeType": "YulFunctionCall", + "src": "22617:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "22611:5:17", + "nodeType": "YulIdentifier", + "src": "22611:5:17" + }, + "nativeSrc": "22611:18:17", + "nodeType": "YulFunctionCall", + "src": "22611:18:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22588:6:17", + "nodeType": "YulIdentifier", + "src": "22588:6:17" + }, + "nativeSrc": "22588:42:17", + "nodeType": "YulFunctionCall", + "src": "22588:42:17" + }, + "nativeSrc": "22588:42:17", + "nodeType": "YulExpressionStatement", + "src": "22588:42:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "22650:5:17", + "nodeType": "YulIdentifier", + "src": "22650:5:17" + }, + { + "kind": "number", + "nativeSrc": "22657:3:17", + "nodeType": "YulLiteral", + "src": "22657:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22646:3:17", + "nodeType": "YulIdentifier", + "src": "22646:3:17" + }, + "nativeSrc": "22646:15:17", + "nodeType": "YulFunctionCall", + "src": "22646:15:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "22694:2:17", + "nodeType": "YulIdentifier", + "src": "22694:2:17" + }, + { + "kind": "number", + "nativeSrc": "22698:3:17", + "nodeType": "YulLiteral", + "src": "22698:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "22690:3:17", + "nodeType": "YulIdentifier", + "src": "22690:3:17" + }, + "nativeSrc": "22690:12:17", + "nodeType": "YulFunctionCall", + "src": "22690:12:17" + } + ], + "functionName": { + "name": "abi_decode_bool_fromMemory", + "nativeSrc": "22663:26:17", + "nodeType": "YulIdentifier", + "src": "22663:26:17" + }, + "nativeSrc": "22663:40:17", + "nodeType": "YulFunctionCall", + "src": "22663:40:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "22639:6:17", + "nodeType": "YulIdentifier", + "src": "22639:6:17" + }, + "nativeSrc": "22639:65:17", + "nodeType": "YulFunctionCall", + "src": "22639:65:17" + }, + "nativeSrc": "22639:65:17", + "nodeType": "YulExpressionStatement", + "src": "22639:65:17" + }, + { + "nativeSrc": "22713:15:17", + "nodeType": "YulAssignment", + "src": "22713:15:17", + "value": { + "name": "value", + "nativeSrc": "22723:5:17", + "nodeType": "YulIdentifier", + "src": "22723:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "22713:6:17", + "nodeType": "YulIdentifier", + "src": "22713:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_Proposal_$3231_memory_ptr_fromMemory", + "nativeSrc": "21816:918:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21889:9:17", + "nodeType": "YulTypedName", + "src": "21889:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "21900:7:17", + "nodeType": "YulTypedName", + "src": "21900:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "21912:6:17", + "nodeType": "YulTypedName", + "src": "21912:6:17", + "type": "" + } + ], + "src": "21816:918:17" + }, + { + "body": { + "nativeSrc": "22820:170:17", + "nodeType": "YulBlock", + "src": "22820:170:17", + "statements": [ + { + "body": { + "nativeSrc": "22866:16:17", + "nodeType": "YulBlock", + "src": "22866:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "22875:1:17", + "nodeType": "YulLiteral", + "src": "22875:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "22878:1:17", + "nodeType": "YulLiteral", + "src": "22878:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "22868:6:17", + "nodeType": "YulIdentifier", + "src": "22868:6:17" + }, + "nativeSrc": "22868:12:17", + "nodeType": "YulFunctionCall", + "src": "22868:12:17" + }, + "nativeSrc": "22868:12:17", + "nodeType": "YulExpressionStatement", + "src": "22868:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "22841:7:17", + "nodeType": "YulIdentifier", + "src": "22841:7:17" + }, + { + "name": "headStart", + "nativeSrc": "22850:9:17", + "nodeType": "YulIdentifier", + "src": "22850:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "22837:3:17", + "nodeType": "YulIdentifier", + "src": "22837:3:17" + }, + "nativeSrc": "22837:23:17", + "nodeType": "YulFunctionCall", + "src": "22837:23:17" + }, + { + "kind": "number", + "nativeSrc": "22862:2:17", + "nodeType": "YulLiteral", + "src": "22862:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "22833:3:17", + "nodeType": "YulIdentifier", + "src": "22833:3:17" + }, + "nativeSrc": "22833:32:17", + "nodeType": "YulFunctionCall", + "src": "22833:32:17" + }, + "nativeSrc": "22830:52:17", + "nodeType": "YulIf", + "src": "22830:52:17" + }, + { + "nativeSrc": "22891:29:17", + "nodeType": "YulVariableDeclaration", + "src": "22891:29:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "22910:9:17", + "nodeType": "YulIdentifier", + "src": "22910:9:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "22904:5:17", + "nodeType": "YulIdentifier", + "src": "22904:5:17" + }, + "nativeSrc": "22904:16:17", + "nodeType": "YulFunctionCall", + "src": "22904:16:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "22895:5:17", + "nodeType": "YulTypedName", + "src": "22895:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "22954:5:17", + "nodeType": "YulIdentifier", + "src": "22954:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "22929:24:17", + "nodeType": "YulIdentifier", + "src": "22929:24:17" + }, + "nativeSrc": "22929:31:17", + "nodeType": "YulFunctionCall", + "src": "22929:31:17" + }, + "nativeSrc": "22929:31:17", + "nodeType": "YulExpressionStatement", + "src": "22929:31:17" + }, + { + "nativeSrc": "22969:15:17", + "nodeType": "YulAssignment", + "src": "22969:15:17", + "value": { + "name": "value", + "nativeSrc": "22979:5:17", + "nodeType": "YulIdentifier", + "src": "22979:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "22969:6:17", + "nodeType": "YulIdentifier", + "src": "22969:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_fromMemory", + "nativeSrc": "22739:251:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "22786:9:17", + "nodeType": "YulTypedName", + "src": "22786:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "22797:7:17", + "nodeType": "YulTypedName", + "src": "22797:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "22809:6:17", + "nodeType": "YulTypedName", + "src": "22809:6:17", + "type": "" + } + ], + "src": "22739:251:17" + }, + { + "body": { + "nativeSrc": "23101:937:17", + "nodeType": "YulBlock", + "src": "23101:937:17", + "statements": [ + { + "body": { + "nativeSrc": "23147:16:17", + "nodeType": "YulBlock", + "src": "23147:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23156:1:17", + "nodeType": "YulLiteral", + "src": "23156:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "23159:1:17", + "nodeType": "YulLiteral", + "src": "23159:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "23149:6:17", + "nodeType": "YulIdentifier", + "src": "23149:6:17" + }, + "nativeSrc": "23149:12:17", + "nodeType": "YulFunctionCall", + "src": "23149:12:17" + }, + "nativeSrc": "23149:12:17", + "nodeType": "YulExpressionStatement", + "src": "23149:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "23122:7:17", + "nodeType": "YulIdentifier", + "src": "23122:7:17" + }, + { + "name": "headStart", + "nativeSrc": "23131:9:17", + "nodeType": "YulIdentifier", + "src": "23131:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "23118:3:17", + "nodeType": "YulIdentifier", + "src": "23118:3:17" + }, + "nativeSrc": "23118:23:17", + "nodeType": "YulFunctionCall", + "src": "23118:23:17" + }, + { + "kind": "number", + "nativeSrc": "23143:2:17", + "nodeType": "YulLiteral", + "src": "23143:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "23114:3:17", + "nodeType": "YulIdentifier", + "src": "23114:3:17" + }, + "nativeSrc": "23114:32:17", + "nodeType": "YulFunctionCall", + "src": "23114:32:17" + }, + "nativeSrc": "23111:52:17", + "nodeType": "YulIf", + "src": "23111:52:17" + }, + { + "nativeSrc": "23172:30:17", + "nodeType": "YulVariableDeclaration", + "src": "23172:30:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23192:9:17", + "nodeType": "YulIdentifier", + "src": "23192:9:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "23186:5:17", + "nodeType": "YulIdentifier", + "src": "23186:5:17" + }, + "nativeSrc": "23186:16:17", + "nodeType": "YulFunctionCall", + "src": "23186:16:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "23176:6:17", + "nodeType": "YulTypedName", + "src": "23176:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "23211:28:17", + "nodeType": "YulVariableDeclaration", + "src": "23211:28:17", + "value": { + "kind": "number", + "nativeSrc": "23221:18:17", + "nodeType": "YulLiteral", + "src": "23221:18:17", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "23215:2:17", + "nodeType": "YulTypedName", + "src": "23215:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "23266:16:17", + "nodeType": "YulBlock", + "src": "23266:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23275:1:17", + "nodeType": "YulLiteral", + "src": "23275:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "23278:1:17", + "nodeType": "YulLiteral", + "src": "23278:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "23268:6:17", + "nodeType": "YulIdentifier", + "src": "23268:6:17" + }, + "nativeSrc": "23268:12:17", + "nodeType": "YulFunctionCall", + "src": "23268:12:17" + }, + "nativeSrc": "23268:12:17", + "nodeType": "YulExpressionStatement", + "src": "23268:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "23254:6:17", + "nodeType": "YulIdentifier", + "src": "23254:6:17" + }, + { + "name": "_1", + "nativeSrc": "23262:2:17", + "nodeType": "YulIdentifier", + "src": "23262:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "23251:2:17", + "nodeType": "YulIdentifier", + "src": "23251:2:17" + }, + "nativeSrc": "23251:14:17", + "nodeType": "YulFunctionCall", + "src": "23251:14:17" + }, + "nativeSrc": "23248:34:17", + "nodeType": "YulIf", + "src": "23248:34:17" + }, + { + "nativeSrc": "23291:32:17", + "nodeType": "YulVariableDeclaration", + "src": "23291:32:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "23305:9:17", + "nodeType": "YulIdentifier", + "src": "23305:9:17" + }, + { + "name": "offset", + "nativeSrc": "23316:6:17", + "nodeType": "YulIdentifier", + "src": "23316:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23301:3:17", + "nodeType": "YulIdentifier", + "src": "23301:3:17" + }, + "nativeSrc": "23301:22:17", + "nodeType": "YulFunctionCall", + "src": "23301:22:17" + }, + "variables": [ + { + "name": "_2", + "nativeSrc": "23295:2:17", + "nodeType": "YulTypedName", + "src": "23295:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "23363:16:17", + "nodeType": "YulBlock", + "src": "23363:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23372:1:17", + "nodeType": "YulLiteral", + "src": "23372:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "23375:1:17", + "nodeType": "YulLiteral", + "src": "23375:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "23365:6:17", + "nodeType": "YulIdentifier", + "src": "23365:6:17" + }, + "nativeSrc": "23365:12:17", + "nodeType": "YulFunctionCall", + "src": "23365:12:17" + }, + "nativeSrc": "23365:12:17", + "nodeType": "YulExpressionStatement", + "src": "23365:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "23343:7:17", + "nodeType": "YulIdentifier", + "src": "23343:7:17" + }, + { + "name": "_2", + "nativeSrc": "23352:2:17", + "nodeType": "YulIdentifier", + "src": "23352:2:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "23339:3:17", + "nodeType": "YulIdentifier", + "src": "23339:3:17" + }, + "nativeSrc": "23339:16:17", + "nodeType": "YulFunctionCall", + "src": "23339:16:17" + }, + { + "kind": "number", + "nativeSrc": "23357:4:17", + "nodeType": "YulLiteral", + "src": "23357:4:17", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "23335:3:17", + "nodeType": "YulIdentifier", + "src": "23335:3:17" + }, + "nativeSrc": "23335:27:17", + "nodeType": "YulFunctionCall", + "src": "23335:27:17" + }, + "nativeSrc": "23332:47:17", + "nodeType": "YulIf", + "src": "23332:47:17" + }, + { + "nativeSrc": "23388:35:17", + "nodeType": "YulVariableDeclaration", + "src": "23388:35:17", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_3056", + "nativeSrc": "23401:20:17", + "nodeType": "YulIdentifier", + "src": "23401:20:17" + }, + "nativeSrc": "23401:22:17", + "nodeType": "YulFunctionCall", + "src": "23401:22:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "23392:5:17", + "nodeType": "YulTypedName", + "src": "23392:5:17", + "type": "" + } + ] + }, + { + "nativeSrc": "23432:25:17", + "nodeType": "YulVariableDeclaration", + "src": "23432:25:17", + "value": { + "arguments": [ + { + "name": "_2", + "nativeSrc": "23454:2:17", + "nodeType": "YulIdentifier", + "src": "23454:2:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "23448:5:17", + "nodeType": "YulIdentifier", + "src": "23448:5:17" + }, + "nativeSrc": "23448:9:17", + "nodeType": "YulFunctionCall", + "src": "23448:9:17" + }, + "variables": [ + { + "name": "offset_1", + "nativeSrc": "23436:8:17", + "nodeType": "YulTypedName", + "src": "23436:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "23486:16:17", + "nodeType": "YulBlock", + "src": "23486:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23495:1:17", + "nodeType": "YulLiteral", + "src": "23495:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "23498:1:17", + "nodeType": "YulLiteral", + "src": "23498:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "23488:6:17", + "nodeType": "YulIdentifier", + "src": "23488:6:17" + }, + "nativeSrc": "23488:12:17", + "nodeType": "YulFunctionCall", + "src": "23488:12:17" + }, + "nativeSrc": "23488:12:17", + "nodeType": "YulExpressionStatement", + "src": "23488:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nativeSrc": "23472:8:17", + "nodeType": "YulIdentifier", + "src": "23472:8:17" + }, + { + "name": "_1", + "nativeSrc": "23482:2:17", + "nodeType": "YulIdentifier", + "src": "23482:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "23469:2:17", + "nodeType": "YulIdentifier", + "src": "23469:2:17" + }, + "nativeSrc": "23469:16:17", + "nodeType": "YulFunctionCall", + "src": "23469:16:17" + }, + "nativeSrc": "23466:36:17", + "nodeType": "YulIf", + "src": "23466:36:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "23518:5:17", + "nodeType": "YulIdentifier", + "src": "23518:5:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "23558:2:17", + "nodeType": "YulIdentifier", + "src": "23558:2:17" + }, + { + "name": "offset_1", + "nativeSrc": "23562:8:17", + "nodeType": "YulIdentifier", + "src": "23562:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23554:3:17", + "nodeType": "YulIdentifier", + "src": "23554:3:17" + }, + "nativeSrc": "23554:17:17", + "nodeType": "YulFunctionCall", + "src": "23554:17:17" + }, + { + "name": "dataEnd", + "nativeSrc": "23573:7:17", + "nodeType": "YulIdentifier", + "src": "23573:7:17" + } + ], + "functionName": { + "name": "abi_decode_string_fromMemory", + "nativeSrc": "23525:28:17", + "nodeType": "YulIdentifier", + "src": "23525:28:17" + }, + "nativeSrc": "23525:56:17", + "nodeType": "YulFunctionCall", + "src": "23525:56:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23511:6:17", + "nodeType": "YulIdentifier", + "src": "23511:6:17" + }, + "nativeSrc": "23511:71:17", + "nodeType": "YulFunctionCall", + "src": "23511:71:17" + }, + "nativeSrc": "23511:71:17", + "nodeType": "YulExpressionStatement", + "src": "23511:71:17" + }, + { + "nativeSrc": "23591:34:17", + "nodeType": "YulVariableDeclaration", + "src": "23591:34:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "23617:2:17", + "nodeType": "YulIdentifier", + "src": "23617:2:17" + }, + { + "kind": "number", + "nativeSrc": "23621:2:17", + "nodeType": "YulLiteral", + "src": "23621:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23613:3:17", + "nodeType": "YulIdentifier", + "src": "23613:3:17" + }, + "nativeSrc": "23613:11:17", + "nodeType": "YulFunctionCall", + "src": "23613:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "23607:5:17", + "nodeType": "YulIdentifier", + "src": "23607:5:17" + }, + "nativeSrc": "23607:18:17", + "nodeType": "YulFunctionCall", + "src": "23607:18:17" + }, + "variables": [ + { + "name": "offset_2", + "nativeSrc": "23595:8:17", + "nodeType": "YulTypedName", + "src": "23595:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "23654:16:17", + "nodeType": "YulBlock", + "src": "23654:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23663:1:17", + "nodeType": "YulLiteral", + "src": "23663:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "23666:1:17", + "nodeType": "YulLiteral", + "src": "23666:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "23656:6:17", + "nodeType": "YulIdentifier", + "src": "23656:6:17" + }, + "nativeSrc": "23656:12:17", + "nodeType": "YulFunctionCall", + "src": "23656:12:17" + }, + "nativeSrc": "23656:12:17", + "nodeType": "YulExpressionStatement", + "src": "23656:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nativeSrc": "23640:8:17", + "nodeType": "YulIdentifier", + "src": "23640:8:17" + }, + { + "name": "_1", + "nativeSrc": "23650:2:17", + "nodeType": "YulIdentifier", + "src": "23650:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "23637:2:17", + "nodeType": "YulIdentifier", + "src": "23637:2:17" + }, + "nativeSrc": "23637:16:17", + "nodeType": "YulFunctionCall", + "src": "23637:16:17" + }, + "nativeSrc": "23634:36:17", + "nodeType": "YulIf", + "src": "23634:36:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "23690:5:17", + "nodeType": "YulIdentifier", + "src": "23690:5:17" + }, + { + "kind": "number", + "nativeSrc": "23697:2:17", + "nodeType": "YulLiteral", + "src": "23697:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23686:3:17", + "nodeType": "YulIdentifier", + "src": "23686:3:17" + }, + "nativeSrc": "23686:14:17", + "nodeType": "YulFunctionCall", + "src": "23686:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "23735:2:17", + "nodeType": "YulIdentifier", + "src": "23735:2:17" + }, + { + "name": "offset_2", + "nativeSrc": "23739:8:17", + "nodeType": "YulIdentifier", + "src": "23739:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23731:3:17", + "nodeType": "YulIdentifier", + "src": "23731:3:17" + }, + "nativeSrc": "23731:17:17", + "nodeType": "YulFunctionCall", + "src": "23731:17:17" + }, + { + "name": "dataEnd", + "nativeSrc": "23750:7:17", + "nodeType": "YulIdentifier", + "src": "23750:7:17" + } + ], + "functionName": { + "name": "abi_decode_string_fromMemory", + "nativeSrc": "23702:28:17", + "nodeType": "YulIdentifier", + "src": "23702:28:17" + }, + "nativeSrc": "23702:56:17", + "nodeType": "YulFunctionCall", + "src": "23702:56:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23679:6:17", + "nodeType": "YulIdentifier", + "src": "23679:6:17" + }, + "nativeSrc": "23679:80:17", + "nodeType": "YulFunctionCall", + "src": "23679:80:17" + }, + "nativeSrc": "23679:80:17", + "nodeType": "YulExpressionStatement", + "src": "23679:80:17" + }, + { + "nativeSrc": "23768:34:17", + "nodeType": "YulVariableDeclaration", + "src": "23768:34:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "23794:2:17", + "nodeType": "YulIdentifier", + "src": "23794:2:17" + }, + { + "kind": "number", + "nativeSrc": "23798:2:17", + "nodeType": "YulLiteral", + "src": "23798:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23790:3:17", + "nodeType": "YulIdentifier", + "src": "23790:3:17" + }, + "nativeSrc": "23790:11:17", + "nodeType": "YulFunctionCall", + "src": "23790:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "23784:5:17", + "nodeType": "YulIdentifier", + "src": "23784:5:17" + }, + "nativeSrc": "23784:18:17", + "nodeType": "YulFunctionCall", + "src": "23784:18:17" + }, + "variables": [ + { + "name": "offset_3", + "nativeSrc": "23772:8:17", + "nodeType": "YulTypedName", + "src": "23772:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "23831:16:17", + "nodeType": "YulBlock", + "src": "23831:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "23840:1:17", + "nodeType": "YulLiteral", + "src": "23840:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "23843:1:17", + "nodeType": "YulLiteral", + "src": "23843:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "23833:6:17", + "nodeType": "YulIdentifier", + "src": "23833:6:17" + }, + "nativeSrc": "23833:12:17", + "nodeType": "YulFunctionCall", + "src": "23833:12:17" + }, + "nativeSrc": "23833:12:17", + "nodeType": "YulExpressionStatement", + "src": "23833:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_3", + "nativeSrc": "23817:8:17", + "nodeType": "YulIdentifier", + "src": "23817:8:17" + }, + { + "name": "_1", + "nativeSrc": "23827:2:17", + "nodeType": "YulIdentifier", + "src": "23827:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "23814:2:17", + "nodeType": "YulIdentifier", + "src": "23814:2:17" + }, + "nativeSrc": "23814:16:17", + "nodeType": "YulFunctionCall", + "src": "23814:16:17" + }, + "nativeSrc": "23811:36:17", + "nodeType": "YulIf", + "src": "23811:36:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "23867:5:17", + "nodeType": "YulIdentifier", + "src": "23867:5:17" + }, + { + "kind": "number", + "nativeSrc": "23874:2:17", + "nodeType": "YulLiteral", + "src": "23874:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23863:3:17", + "nodeType": "YulIdentifier", + "src": "23863:3:17" + }, + "nativeSrc": "23863:14:17", + "nodeType": "YulFunctionCall", + "src": "23863:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "23912:2:17", + "nodeType": "YulIdentifier", + "src": "23912:2:17" + }, + { + "name": "offset_3", + "nativeSrc": "23916:8:17", + "nodeType": "YulIdentifier", + "src": "23916:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23908:3:17", + "nodeType": "YulIdentifier", + "src": "23908:3:17" + }, + "nativeSrc": "23908:17:17", + "nodeType": "YulFunctionCall", + "src": "23908:17:17" + }, + { + "name": "dataEnd", + "nativeSrc": "23927:7:17", + "nodeType": "YulIdentifier", + "src": "23927:7:17" + } + ], + "functionName": { + "name": "abi_decode_string_fromMemory", + "nativeSrc": "23879:28:17", + "nodeType": "YulIdentifier", + "src": "23879:28:17" + }, + "nativeSrc": "23879:56:17", + "nodeType": "YulFunctionCall", + "src": "23879:56:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23856:6:17", + "nodeType": "YulIdentifier", + "src": "23856:6:17" + }, + "nativeSrc": "23856:80:17", + "nodeType": "YulFunctionCall", + "src": "23856:80:17" + }, + "nativeSrc": "23856:80:17", + "nodeType": "YulExpressionStatement", + "src": "23856:80:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "23956:5:17", + "nodeType": "YulIdentifier", + "src": "23956:5:17" + }, + { + "kind": "number", + "nativeSrc": "23963:2:17", + "nodeType": "YulLiteral", + "src": "23963:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23952:3:17", + "nodeType": "YulIdentifier", + "src": "23952:3:17" + }, + "nativeSrc": "23952:14:17", + "nodeType": "YulFunctionCall", + "src": "23952:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "23999:2:17", + "nodeType": "YulIdentifier", + "src": "23999:2:17" + }, + { + "kind": "number", + "nativeSrc": "24003:2:17", + "nodeType": "YulLiteral", + "src": "24003:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "23995:3:17", + "nodeType": "YulIdentifier", + "src": "23995:3:17" + }, + "nativeSrc": "23995:11:17", + "nodeType": "YulFunctionCall", + "src": "23995:11:17" + } + ], + "functionName": { + "name": "abi_decode_bool_fromMemory", + "nativeSrc": "23968:26:17", + "nodeType": "YulIdentifier", + "src": "23968:26:17" + }, + "nativeSrc": "23968:39:17", + "nodeType": "YulFunctionCall", + "src": "23968:39:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "23945:6:17", + "nodeType": "YulIdentifier", + "src": "23945:6:17" + }, + "nativeSrc": "23945:63:17", + "nodeType": "YulFunctionCall", + "src": "23945:63:17" + }, + "nativeSrc": "23945:63:17", + "nodeType": "YulExpressionStatement", + "src": "23945:63:17" + }, + { + "nativeSrc": "24017:15:17", + "nodeType": "YulAssignment", + "src": "24017:15:17", + "value": { + "name": "value", + "nativeSrc": "24027:5:17", + "nodeType": "YulIdentifier", + "src": "24027:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "24017:6:17", + "nodeType": "YulIdentifier", + "src": "24017:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_Service_$1448_memory_ptr_fromMemory", + "nativeSrc": "22995:1043:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "23067:9:17", + "nodeType": "YulTypedName", + "src": "23067:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "23078:7:17", + "nodeType": "YulTypedName", + "src": "23078:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "23090:6:17", + "nodeType": "YulTypedName", + "src": "23090:6:17", + "type": "" + } + ], + "src": "22995:1043:17" + }, + { + "body": { + "nativeSrc": "24260:329:17", + "nodeType": "YulBlock", + "src": "24260:329:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24277:9:17", + "nodeType": "YulIdentifier", + "src": "24277:9:17" + }, + { + "kind": "number", + "nativeSrc": "24288:2:17", + "nodeType": "YulLiteral", + "src": "24288:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24270:6:17", + "nodeType": "YulIdentifier", + "src": "24270:6:17" + }, + "nativeSrc": "24270:21:17", + "nodeType": "YulFunctionCall", + "src": "24270:21:17" + }, + "nativeSrc": "24270:21:17", + "nodeType": "YulExpressionStatement", + "src": "24270:21:17" + }, + { + "nativeSrc": "24300:59:17", + "nodeType": "YulVariableDeclaration", + "src": "24300:59:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "24332:6:17", + "nodeType": "YulIdentifier", + "src": "24332:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24344:9:17", + "nodeType": "YulIdentifier", + "src": "24344:9:17" + }, + { + "kind": "number", + "nativeSrc": "24355:2:17", + "nodeType": "YulLiteral", + "src": "24355:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24340:3:17", + "nodeType": "YulIdentifier", + "src": "24340:3:17" + }, + "nativeSrc": "24340:18:17", + "nodeType": "YulFunctionCall", + "src": "24340:18:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "24314:17:17", + "nodeType": "YulIdentifier", + "src": "24314:17:17" + }, + "nativeSrc": "24314:45:17", + "nodeType": "YulFunctionCall", + "src": "24314:45:17" + }, + "variables": [ + { + "name": "tail_1", + "nativeSrc": "24304:6:17", + "nodeType": "YulTypedName", + "src": "24304:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24379:9:17", + "nodeType": "YulIdentifier", + "src": "24379:9:17" + }, + { + "kind": "number", + "nativeSrc": "24390:2:17", + "nodeType": "YulLiteral", + "src": "24390:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24375:3:17", + "nodeType": "YulIdentifier", + "src": "24375:3:17" + }, + "nativeSrc": "24375:18:17", + "nodeType": "YulFunctionCall", + "src": "24375:18:17" + }, + { + "arguments": [ + { + "name": "tail_1", + "nativeSrc": "24399:6:17", + "nodeType": "YulIdentifier", + "src": "24399:6:17" + }, + { + "name": "headStart", + "nativeSrc": "24407:9:17", + "nodeType": "YulIdentifier", + "src": "24407:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "24395:3:17", + "nodeType": "YulIdentifier", + "src": "24395:3:17" + }, + "nativeSrc": "24395:22:17", + "nodeType": "YulFunctionCall", + "src": "24395:22:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24368:6:17", + "nodeType": "YulIdentifier", + "src": "24368:6:17" + }, + "nativeSrc": "24368:50:17", + "nodeType": "YulFunctionCall", + "src": "24368:50:17" + }, + "nativeSrc": "24368:50:17", + "nodeType": "YulExpressionStatement", + "src": "24368:50:17" + }, + { + "nativeSrc": "24427:47:17", + "nodeType": "YulVariableDeclaration", + "src": "24427:47:17", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "24459:6:17", + "nodeType": "YulIdentifier", + "src": "24459:6:17" + }, + { + "name": "tail_1", + "nativeSrc": "24467:6:17", + "nodeType": "YulIdentifier", + "src": "24467:6:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "24441:17:17", + "nodeType": "YulIdentifier", + "src": "24441:17:17" + }, + "nativeSrc": "24441:33:17", + "nodeType": "YulFunctionCall", + "src": "24441:33:17" + }, + "variables": [ + { + "name": "tail_2", + "nativeSrc": "24431:6:17", + "nodeType": "YulTypedName", + "src": "24431:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24494:9:17", + "nodeType": "YulIdentifier", + "src": "24494:9:17" + }, + { + "kind": "number", + "nativeSrc": "24505:2:17", + "nodeType": "YulLiteral", + "src": "24505:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24490:3:17", + "nodeType": "YulIdentifier", + "src": "24490:3:17" + }, + "nativeSrc": "24490:18:17", + "nodeType": "YulFunctionCall", + "src": "24490:18:17" + }, + { + "arguments": [ + { + "name": "tail_2", + "nativeSrc": "24514:6:17", + "nodeType": "YulIdentifier", + "src": "24514:6:17" + }, + { + "name": "headStart", + "nativeSrc": "24522:9:17", + "nodeType": "YulIdentifier", + "src": "24522:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "24510:3:17", + "nodeType": "YulIdentifier", + "src": "24510:3:17" + }, + "nativeSrc": "24510:22:17", + "nodeType": "YulFunctionCall", + "src": "24510:22:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "24483:6:17", + "nodeType": "YulIdentifier", + "src": "24483:6:17" + }, + "nativeSrc": "24483:50:17", + "nodeType": "YulFunctionCall", + "src": "24483:50:17" + }, + "nativeSrc": "24483:50:17", + "nodeType": "YulExpressionStatement", + "src": "24483:50:17" + }, + { + "nativeSrc": "24542:41:17", + "nodeType": "YulAssignment", + "src": "24542:41:17", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "24568:6:17", + "nodeType": "YulIdentifier", + "src": "24568:6:17" + }, + { + "name": "tail_2", + "nativeSrc": "24576:6:17", + "nodeType": "YulIdentifier", + "src": "24576:6:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "24550:17:17", + "nodeType": "YulIdentifier", + "src": "24550:17:17" + }, + "nativeSrc": "24550:33:17", + "nodeType": "YulFunctionCall", + "src": "24550:33:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "24542:4:17", + "nodeType": "YulIdentifier", + "src": "24542:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "24043:546:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "24213:9:17", + "nodeType": "YulTypedName", + "src": "24213:9:17", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "24224:6:17", + "nodeType": "YulTypedName", + "src": "24224:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "24232:6:17", + "nodeType": "YulTypedName", + "src": "24232:6:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "24240:6:17", + "nodeType": "YulTypedName", + "src": "24240:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "24251:4:17", + "nodeType": "YulTypedName", + "src": "24251:4:17", + "type": "" + } + ], + "src": "24043:546:17" + }, + { + "body": { + "nativeSrc": "24700:865:17", + "nodeType": "YulBlock", + "src": "24700:865:17", + "statements": [ + { + "body": { + "nativeSrc": "24746:16:17", + "nodeType": "YulBlock", + "src": "24746:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "24755:1:17", + "nodeType": "YulLiteral", + "src": "24755:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "24758:1:17", + "nodeType": "YulLiteral", + "src": "24758:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "24748:6:17", + "nodeType": "YulIdentifier", + "src": "24748:6:17" + }, + "nativeSrc": "24748:12:17", + "nodeType": "YulFunctionCall", + "src": "24748:12:17" + }, + "nativeSrc": "24748:12:17", + "nodeType": "YulExpressionStatement", + "src": "24748:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "24721:7:17", + "nodeType": "YulIdentifier", + "src": "24721:7:17" + }, + { + "name": "headStart", + "nativeSrc": "24730:9:17", + "nodeType": "YulIdentifier", + "src": "24730:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "24717:3:17", + "nodeType": "YulIdentifier", + "src": "24717:3:17" + }, + "nativeSrc": "24717:23:17", + "nodeType": "YulFunctionCall", + "src": "24717:23:17" + }, + { + "kind": "number", + "nativeSrc": "24742:2:17", + "nodeType": "YulLiteral", + "src": "24742:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "24713:3:17", + "nodeType": "YulIdentifier", + "src": "24713:3:17" + }, + "nativeSrc": "24713:32:17", + "nodeType": "YulFunctionCall", + "src": "24713:32:17" + }, + "nativeSrc": "24710:52:17", + "nodeType": "YulIf", + "src": "24710:52:17" + }, + { + "nativeSrc": "24771:30:17", + "nodeType": "YulVariableDeclaration", + "src": "24771:30:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24791:9:17", + "nodeType": "YulIdentifier", + "src": "24791:9:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "24785:5:17", + "nodeType": "YulIdentifier", + "src": "24785:5:17" + }, + "nativeSrc": "24785:16:17", + "nodeType": "YulFunctionCall", + "src": "24785:16:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "24775:6:17", + "nodeType": "YulTypedName", + "src": "24775:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "24810:28:17", + "nodeType": "YulVariableDeclaration", + "src": "24810:28:17", + "value": { + "kind": "number", + "nativeSrc": "24820:18:17", + "nodeType": "YulLiteral", + "src": "24820:18:17", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "24814:2:17", + "nodeType": "YulTypedName", + "src": "24814:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "24865:16:17", + "nodeType": "YulBlock", + "src": "24865:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "24874:1:17", + "nodeType": "YulLiteral", + "src": "24874:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "24877:1:17", + "nodeType": "YulLiteral", + "src": "24877:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "24867:6:17", + "nodeType": "YulIdentifier", + "src": "24867:6:17" + }, + "nativeSrc": "24867:12:17", + "nodeType": "YulFunctionCall", + "src": "24867:12:17" + }, + "nativeSrc": "24867:12:17", + "nodeType": "YulExpressionStatement", + "src": "24867:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "24853:6:17", + "nodeType": "YulIdentifier", + "src": "24853:6:17" + }, + { + "name": "_1", + "nativeSrc": "24861:2:17", + "nodeType": "YulIdentifier", + "src": "24861:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "24850:2:17", + "nodeType": "YulIdentifier", + "src": "24850:2:17" + }, + "nativeSrc": "24850:14:17", + "nodeType": "YulFunctionCall", + "src": "24850:14:17" + }, + "nativeSrc": "24847:34:17", + "nodeType": "YulIf", + "src": "24847:34:17" + }, + { + "nativeSrc": "24890:32:17", + "nodeType": "YulVariableDeclaration", + "src": "24890:32:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "24904:9:17", + "nodeType": "YulIdentifier", + "src": "24904:9:17" + }, + { + "name": "offset", + "nativeSrc": "24915:6:17", + "nodeType": "YulIdentifier", + "src": "24915:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "24900:3:17", + "nodeType": "YulIdentifier", + "src": "24900:3:17" + }, + "nativeSrc": "24900:22:17", + "nodeType": "YulFunctionCall", + "src": "24900:22:17" + }, + "variables": [ + { + "name": "_2", + "nativeSrc": "24894:2:17", + "nodeType": "YulTypedName", + "src": "24894:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "24962:16:17", + "nodeType": "YulBlock", + "src": "24962:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "24971:1:17", + "nodeType": "YulLiteral", + "src": "24971:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "24974:1:17", + "nodeType": "YulLiteral", + "src": "24974:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "24964:6:17", + "nodeType": "YulIdentifier", + "src": "24964:6:17" + }, + "nativeSrc": "24964:12:17", + "nodeType": "YulFunctionCall", + "src": "24964:12:17" + }, + "nativeSrc": "24964:12:17", + "nodeType": "YulExpressionStatement", + "src": "24964:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "24942:7:17", + "nodeType": "YulIdentifier", + "src": "24942:7:17" + }, + { + "name": "_2", + "nativeSrc": "24951:2:17", + "nodeType": "YulIdentifier", + "src": "24951:2:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "24938:3:17", + "nodeType": "YulIdentifier", + "src": "24938:3:17" + }, + "nativeSrc": "24938:16:17", + "nodeType": "YulFunctionCall", + "src": "24938:16:17" + }, + { + "kind": "number", + "nativeSrc": "24956:4:17", + "nodeType": "YulLiteral", + "src": "24956:4:17", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "24934:3:17", + "nodeType": "YulIdentifier", + "src": "24934:3:17" + }, + "nativeSrc": "24934:27:17", + "nodeType": "YulFunctionCall", + "src": "24934:27:17" + }, + "nativeSrc": "24931:47:17", + "nodeType": "YulIf", + "src": "24931:47:17" + }, + { + "nativeSrc": "24987:35:17", + "nodeType": "YulVariableDeclaration", + "src": "24987:35:17", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_3058", + "nativeSrc": "25000:20:17", + "nodeType": "YulIdentifier", + "src": "25000:20:17" + }, + "nativeSrc": "25000:22:17", + "nodeType": "YulFunctionCall", + "src": "25000:22:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "24991:5:17", + "nodeType": "YulTypedName", + "src": "24991:5:17", + "type": "" + } + ] + }, + { + "nativeSrc": "25031:25:17", + "nodeType": "YulVariableDeclaration", + "src": "25031:25:17", + "value": { + "arguments": [ + { + "name": "_2", + "nativeSrc": "25053:2:17", + "nodeType": "YulIdentifier", + "src": "25053:2:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "25047:5:17", + "nodeType": "YulIdentifier", + "src": "25047:5:17" + }, + "nativeSrc": "25047:9:17", + "nodeType": "YulFunctionCall", + "src": "25047:9:17" + }, + "variables": [ + { + "name": "offset_1", + "nativeSrc": "25035:8:17", + "nodeType": "YulTypedName", + "src": "25035:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "25085:16:17", + "nodeType": "YulBlock", + "src": "25085:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "25094:1:17", + "nodeType": "YulLiteral", + "src": "25094:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "25097:1:17", + "nodeType": "YulLiteral", + "src": "25097:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "25087:6:17", + "nodeType": "YulIdentifier", + "src": "25087:6:17" + }, + "nativeSrc": "25087:12:17", + "nodeType": "YulFunctionCall", + "src": "25087:12:17" + }, + "nativeSrc": "25087:12:17", + "nodeType": "YulExpressionStatement", + "src": "25087:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nativeSrc": "25071:8:17", + "nodeType": "YulIdentifier", + "src": "25071:8:17" + }, + { + "name": "_1", + "nativeSrc": "25081:2:17", + "nodeType": "YulIdentifier", + "src": "25081:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "25068:2:17", + "nodeType": "YulIdentifier", + "src": "25068:2:17" + }, + "nativeSrc": "25068:16:17", + "nodeType": "YulFunctionCall", + "src": "25068:16:17" + }, + "nativeSrc": "25065:36:17", + "nodeType": "YulIf", + "src": "25065:36:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "25117:5:17", + "nodeType": "YulIdentifier", + "src": "25117:5:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "25157:2:17", + "nodeType": "YulIdentifier", + "src": "25157:2:17" + }, + { + "name": "offset_1", + "nativeSrc": "25161:8:17", + "nodeType": "YulIdentifier", + "src": "25161:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25153:3:17", + "nodeType": "YulIdentifier", + "src": "25153:3:17" + }, + "nativeSrc": "25153:17:17", + "nodeType": "YulFunctionCall", + "src": "25153:17:17" + }, + { + "name": "dataEnd", + "nativeSrc": "25172:7:17", + "nodeType": "YulIdentifier", + "src": "25172:7:17" + } + ], + "functionName": { + "name": "abi_decode_string_fromMemory", + "nativeSrc": "25124:28:17", + "nodeType": "YulIdentifier", + "src": "25124:28:17" + }, + "nativeSrc": "25124:56:17", + "nodeType": "YulFunctionCall", + "src": "25124:56:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "25110:6:17", + "nodeType": "YulIdentifier", + "src": "25110:6:17" + }, + "nativeSrc": "25110:71:17", + "nodeType": "YulFunctionCall", + "src": "25110:71:17" + }, + "nativeSrc": "25110:71:17", + "nodeType": "YulExpressionStatement", + "src": "25110:71:17" + }, + { + "nativeSrc": "25190:34:17", + "nodeType": "YulVariableDeclaration", + "src": "25190:34:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "25216:2:17", + "nodeType": "YulIdentifier", + "src": "25216:2:17" + }, + { + "kind": "number", + "nativeSrc": "25220:2:17", + "nodeType": "YulLiteral", + "src": "25220:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25212:3:17", + "nodeType": "YulIdentifier", + "src": "25212:3:17" + }, + "nativeSrc": "25212:11:17", + "nodeType": "YulFunctionCall", + "src": "25212:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "25206:5:17", + "nodeType": "YulIdentifier", + "src": "25206:5:17" + }, + "nativeSrc": "25206:18:17", + "nodeType": "YulFunctionCall", + "src": "25206:18:17" + }, + "variables": [ + { + "name": "offset_2", + "nativeSrc": "25194:8:17", + "nodeType": "YulTypedName", + "src": "25194:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "25253:16:17", + "nodeType": "YulBlock", + "src": "25253:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "25262:1:17", + "nodeType": "YulLiteral", + "src": "25262:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "25265:1:17", + "nodeType": "YulLiteral", + "src": "25265:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "25255:6:17", + "nodeType": "YulIdentifier", + "src": "25255:6:17" + }, + "nativeSrc": "25255:12:17", + "nodeType": "YulFunctionCall", + "src": "25255:12:17" + }, + "nativeSrc": "25255:12:17", + "nodeType": "YulExpressionStatement", + "src": "25255:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nativeSrc": "25239:8:17", + "nodeType": "YulIdentifier", + "src": "25239:8:17" + }, + { + "name": "_1", + "nativeSrc": "25249:2:17", + "nodeType": "YulIdentifier", + "src": "25249:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "25236:2:17", + "nodeType": "YulIdentifier", + "src": "25236:2:17" + }, + "nativeSrc": "25236:16:17", + "nodeType": "YulFunctionCall", + "src": "25236:16:17" + }, + "nativeSrc": "25233:36:17", + "nodeType": "YulIf", + "src": "25233:36:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "25289:5:17", + "nodeType": "YulIdentifier", + "src": "25289:5:17" + }, + { + "kind": "number", + "nativeSrc": "25296:2:17", + "nodeType": "YulLiteral", + "src": "25296:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25285:3:17", + "nodeType": "YulIdentifier", + "src": "25285:3:17" + }, + "nativeSrc": "25285:14:17", + "nodeType": "YulFunctionCall", + "src": "25285:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "25334:2:17", + "nodeType": "YulIdentifier", + "src": "25334:2:17" + }, + { + "name": "offset_2", + "nativeSrc": "25338:8:17", + "nodeType": "YulIdentifier", + "src": "25338:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25330:3:17", + "nodeType": "YulIdentifier", + "src": "25330:3:17" + }, + "nativeSrc": "25330:17:17", + "nodeType": "YulFunctionCall", + "src": "25330:17:17" + }, + { + "name": "dataEnd", + "nativeSrc": "25349:7:17", + "nodeType": "YulIdentifier", + "src": "25349:7:17" + } + ], + "functionName": { + "name": "abi_decode_string_fromMemory", + "nativeSrc": "25301:28:17", + "nodeType": "YulIdentifier", + "src": "25301:28:17" + }, + "nativeSrc": "25301:56:17", + "nodeType": "YulFunctionCall", + "src": "25301:56:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "25278:6:17", + "nodeType": "YulIdentifier", + "src": "25278:6:17" + }, + "nativeSrc": "25278:80:17", + "nodeType": "YulFunctionCall", + "src": "25278:80:17" + }, + "nativeSrc": "25278:80:17", + "nodeType": "YulExpressionStatement", + "src": "25278:80:17" + }, + { + "nativeSrc": "25367:34:17", + "nodeType": "YulVariableDeclaration", + "src": "25367:34:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "25393:2:17", + "nodeType": "YulIdentifier", + "src": "25393:2:17" + }, + { + "kind": "number", + "nativeSrc": "25397:2:17", + "nodeType": "YulLiteral", + "src": "25397:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25389:3:17", + "nodeType": "YulIdentifier", + "src": "25389:3:17" + }, + "nativeSrc": "25389:11:17", + "nodeType": "YulFunctionCall", + "src": "25389:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "25383:5:17", + "nodeType": "YulIdentifier", + "src": "25383:5:17" + }, + "nativeSrc": "25383:18:17", + "nodeType": "YulFunctionCall", + "src": "25383:18:17" + }, + "variables": [ + { + "name": "offset_3", + "nativeSrc": "25371:8:17", + "nodeType": "YulTypedName", + "src": "25371:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "25430:16:17", + "nodeType": "YulBlock", + "src": "25430:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "25439:1:17", + "nodeType": "YulLiteral", + "src": "25439:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "25442:1:17", + "nodeType": "YulLiteral", + "src": "25442:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "25432:6:17", + "nodeType": "YulIdentifier", + "src": "25432:6:17" + }, + "nativeSrc": "25432:12:17", + "nodeType": "YulFunctionCall", + "src": "25432:12:17" + }, + "nativeSrc": "25432:12:17", + "nodeType": "YulExpressionStatement", + "src": "25432:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_3", + "nativeSrc": "25416:8:17", + "nodeType": "YulIdentifier", + "src": "25416:8:17" + }, + { + "name": "_1", + "nativeSrc": "25426:2:17", + "nodeType": "YulIdentifier", + "src": "25426:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "25413:2:17", + "nodeType": "YulIdentifier", + "src": "25413:2:17" + }, + "nativeSrc": "25413:16:17", + "nodeType": "YulFunctionCall", + "src": "25413:16:17" + }, + "nativeSrc": "25410:36:17", + "nodeType": "YulIf", + "src": "25410:36:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "25466:5:17", + "nodeType": "YulIdentifier", + "src": "25466:5:17" + }, + { + "kind": "number", + "nativeSrc": "25473:2:17", + "nodeType": "YulLiteral", + "src": "25473:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25462:3:17", + "nodeType": "YulIdentifier", + "src": "25462:3:17" + }, + "nativeSrc": "25462:14:17", + "nodeType": "YulFunctionCall", + "src": "25462:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_2", + "nativeSrc": "25511:2:17", + "nodeType": "YulIdentifier", + "src": "25511:2:17" + }, + { + "name": "offset_3", + "nativeSrc": "25515:8:17", + "nodeType": "YulIdentifier", + "src": "25515:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25507:3:17", + "nodeType": "YulIdentifier", + "src": "25507:3:17" + }, + "nativeSrc": "25507:17:17", + "nodeType": "YulFunctionCall", + "src": "25507:17:17" + }, + { + "name": "dataEnd", + "nativeSrc": "25526:7:17", + "nodeType": "YulIdentifier", + "src": "25526:7:17" + } + ], + "functionName": { + "name": "abi_decode_string_fromMemory", + "nativeSrc": "25478:28:17", + "nodeType": "YulIdentifier", + "src": "25478:28:17" + }, + "nativeSrc": "25478:56:17", + "nodeType": "YulFunctionCall", + "src": "25478:56:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "25455:6:17", + "nodeType": "YulIdentifier", + "src": "25455:6:17" + }, + "nativeSrc": "25455:80:17", + "nodeType": "YulFunctionCall", + "src": "25455:80:17" + }, + "nativeSrc": "25455:80:17", + "nodeType": "YulExpressionStatement", + "src": "25455:80:17" + }, + { + "nativeSrc": "25544:15:17", + "nodeType": "YulAssignment", + "src": "25544:15:17", + "value": { + "name": "value", + "nativeSrc": "25554:5:17", + "nodeType": "YulIdentifier", + "src": "25554:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "25544:6:17", + "nodeType": "YulIdentifier", + "src": "25544:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_Service_$2382_memory_ptr_fromMemory", + "nativeSrc": "24594:971:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "24666:9:17", + "nodeType": "YulTypedName", + "src": "24666:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "24677:7:17", + "nodeType": "YulTypedName", + "src": "24677:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "24689:6:17", + "nodeType": "YulTypedName", + "src": "24689:6:17", + "type": "" + } + ], + "src": "24594:971:17" + }, + { + "body": { + "nativeSrc": "25707:150:17", + "nodeType": "YulBlock", + "src": "25707:150:17", + "statements": [ + { + "nativeSrc": "25717:27:17", + "nodeType": "YulVariableDeclaration", + "src": "25717:27:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "25737:6:17", + "nodeType": "YulIdentifier", + "src": "25737:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "25731:5:17", + "nodeType": "YulIdentifier", + "src": "25731:5:17" + }, + "nativeSrc": "25731:13:17", + "nodeType": "YulFunctionCall", + "src": "25731:13:17" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "25721:6:17", + "nodeType": "YulTypedName", + "src": "25721:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "25792:6:17", + "nodeType": "YulIdentifier", + "src": "25792:6:17" + }, + { + "kind": "number", + "nativeSrc": "25800:4:17", + "nodeType": "YulLiteral", + "src": "25800:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25788:3:17", + "nodeType": "YulIdentifier", + "src": "25788:3:17" + }, + "nativeSrc": "25788:17:17", + "nodeType": "YulFunctionCall", + "src": "25788:17:17" + }, + { + "name": "pos", + "nativeSrc": "25807:3:17", + "nodeType": "YulIdentifier", + "src": "25807:3:17" + }, + { + "name": "length", + "nativeSrc": "25812:6:17", + "nodeType": "YulIdentifier", + "src": "25812:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "25753:34:17", + "nodeType": "YulIdentifier", + "src": "25753:34:17" + }, + "nativeSrc": "25753:66:17", + "nodeType": "YulFunctionCall", + "src": "25753:66:17" + }, + "nativeSrc": "25753:66:17", + "nodeType": "YulExpressionStatement", + "src": "25753:66:17" + }, + { + "nativeSrc": "25828:23:17", + "nodeType": "YulAssignment", + "src": "25828:23:17", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "25839:3:17", + "nodeType": "YulIdentifier", + "src": "25839:3:17" + }, + { + "name": "length", + "nativeSrc": "25844:6:17", + "nodeType": "YulIdentifier", + "src": "25844:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "25835:3:17", + "nodeType": "YulIdentifier", + "src": "25835:3:17" + }, + "nativeSrc": "25835:16:17", + "nodeType": "YulFunctionCall", + "src": "25835:16:17" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "25828:3:17", + "nodeType": "YulIdentifier", + "src": "25828:3:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "25570:287:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "25683:3:17", + "nodeType": "YulTypedName", + "src": "25683:3:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "25688:6:17", + "nodeType": "YulTypedName", + "src": "25688:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "25699:3:17", + "nodeType": "YulTypedName", + "src": "25699:3:17", + "type": "" + } + ], + "src": "25570:287:17" + } + ] + }, + "contents": "{\n { }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\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_string(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_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__to_t_address_t_string_memory_ptr_t_uint256_t_address_t_uint256_t_bool__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), 192)\n tail := abi_encode_string(value1, add(headStart, 192))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), and(value3, _1))\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), iszero(iszero(value5)))\n }\n function validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\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_3052() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0xc0)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_3054() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0xa0)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_3056() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x80)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n function allocate_memory_3058() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0x60)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\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_string(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_available_length_string(src, length, end) -> array\n {\n array := allocate_memory(array_allocation_size_string(length))\n mstore(array, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(array, 0x20), src, length)\n mstore(add(add(array, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptrt_string_memory_ptrt_uint256t_address(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5\n {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 96))\n if gt(offset_2, _1) { revert(0, 0) }\n value3 := abi_decode_string(add(headStart, offset_2), dataEnd)\n value4 := calldataload(add(headStart, 128))\n let value_1 := calldataload(add(headStart, 160))\n validator_revert_address(value_1)\n value5 := value_1\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_contract$_IAgentRegistryV1_$3258t_contract$_ServiceRegistryUpgradeable_$2577(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let value_1 := calldataload(add(headStart, 32))\n validator_revert_address(value_1)\n value1 := value_1\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 validator_revert_address(value)\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 value1 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 64))\n if gt(offset_1, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset_1), dataEnd)\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_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 abi_encode_tuple_t_struct$_AgentData_$1479_memory_ptr__to_t_struct$_AgentData_$1479_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let memberValue0 := mload(value0)\n mstore(add(headStart, 32), 0xc0)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 224))\n let memberValue0_1 := mload(add(value0, 32))\n mstore(add(headStart, 64), add(sub(tail_1, headStart), not(31)))\n let tail_2 := abi_encode_string(memberValue0_1, tail_1)\n let memberValue0_2 := mload(add(value0, 64))\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 96), and(memberValue0_2, _1))\n mstore(add(headStart, 128), and(mload(add(value0, 96)), _1))\n mstore(add(headStart, 160), mload(add(value0, 128)))\n mstore(add(headStart, 0xc0), mload(add(value0, 160)))\n tail := tail_2\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_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_addresst_string_memory_ptrt_uint256t_address(headStart, dataEnd) -> value0, value1, value2, value3\n {\n if slt(sub(dataEnd, headStart), 128) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n value2 := calldataload(add(headStart, 64))\n let value_1 := calldataload(add(headStart, 96))\n validator_revert_address(value_1)\n value3 := value_1\n }\n function abi_encode_tuple_t_struct$_ServiceProposal_$3273_memory_ptr__to_t_struct$_ServiceProposal_$3273_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 32), and(mload(value0), _1))\n let memberValue0 := mload(add(value0, 32))\n mstore(add(headStart, 64), 0xc0)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 224))\n mstore(add(headStart, 96), mload(add(value0, 64)))\n mstore(add(headStart, 128), and(mload(add(value0, 96)), _1))\n mstore(add(headStart, 160), mload(add(value0, 128)))\n mstore(add(headStart, 0xc0), iszero(iszero(mload(add(value0, 160)))))\n tail := tail_1\n }\n function abi_encode_tuple_t_contract$_ServiceRegistryUpgradeable_$2577__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 abi_encode_tuple_t_contract$_IAgentRegistryV1_$3258__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 abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__to_t_string_memory_ptr_t_string_memory_ptr_t_address_t_address_t_uint256_t_uint256__fromStack_reversed(headStart, value5, value4, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, 192)\n let tail_1 := abi_encode_string(value0, add(headStart, 192))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_string(value1, tail_1)\n let _1 := sub(shl(160, 1), 1)\n mstore(add(headStart, 64), and(value2, _1))\n mstore(add(headStart, 96), and(value3, _1))\n mstore(add(headStart, 128), value4)\n mstore(add(headStart, 160), value5)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_t_stringliteral_3c17f52d7f382f39131bc893c7e27e69aa71bee31c68e2de3649b59b8bfebc2b__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Agent already registered\")\n tail := add(headStart, 96)\n }\n function abi_decode_bool_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_bool_fromMemory(headStart)\n }\n function abi_encode_tuple_t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"Service not registered\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffff))\n }\n function abi_decode_string_fromMemory(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let _1 := mload(offset)\n let array_1 := allocate_memory(array_allocation_size_string(_1))\n mstore(array_1, _1)\n if gt(add(add(offset, _1), 0x20), end) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(offset, 0x20), add(array_1, 0x20), _1)\n array := array_1\n }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n validator_revert_address(value)\n }\n function abi_decode_tuple_t_struct$_AgentData_$3220_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0xc0) { revert(0, 0) }\n let value := allocate_memory_3052()\n let offset_1 := mload(_2)\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(value, abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 32))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, 32), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n mstore(add(value, 64), abi_decode_address_fromMemory(add(_2, 64)))\n mstore(add(value, 96), abi_decode_address_fromMemory(add(_2, 96)))\n mstore(add(value, 128), mload(add(_2, 128)))\n mstore(add(value, 160), mload(add(_2, 160)))\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_50182bd41cda0e194d07720f94dca7a677e712fa34d7dd8998809213f4730ecf__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 24)\n mstore(add(headStart, 64), \"Not owner or agent owner\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ab4f7bdcd44e35f2fe5cd34e07194c1c227455329229f7f3f1e8494de9e5c74c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 29)\n mstore(add(headStart, 64), \"Not the TaskRegistry contract\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e__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), \"Rating must be between 0 and 100\")\n tail := add(headStart, 96)\n }\n function panic_error_0x11()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n function checked_add_t_uint256(x, y) -> sum\n {\n sum := add(x, y)\n if gt(x, sum) { panic_error_0x11() }\n }\n function checked_sub_t_uint256(x, y) -> diff\n {\n diff := sub(x, y)\n if gt(diff, x) { panic_error_0x11() }\n }\n function checked_mul_t_uint256(x, y) -> product\n {\n product := mul(x, y)\n if iszero(or(iszero(x), eq(y, div(product, x)))) { panic_error_0x11() }\n }\n function checked_div_t_uint256(x, y) -> r\n {\n if iszero(y)\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x12)\n revert(0, 0x24)\n }\n r := div(x, y)\n }\n function abi_encode_tuple_t_stringliteral_333080ba9ab8738c4a0b47b5b79d2c142d573a23f488baafda66363f88786955__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Not the owner of the agent\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ServiceProposal not found\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_6b24a63f053c9f60b33a6142346432678adff778fb93a8ecec9013d5a898e395__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Agent not registered\")\n tail := add(headStart, 96)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(0, array)\n let data := keccak256(0, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := 0x20\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart, value1, value0) -> tail\n {\n mstore(headStart, 64)\n let tail_1 := abi_encode_string(value0, add(headStart, 64))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n tail := abi_encode_string(value1, tail_1)\n }\n function abi_encode_tuple_t_stringliteral_1462473b7a4b33d32b109b815fd2324d00c9e5839b707ecf16d0ab5744f99226__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 15)\n mstore(add(headStart, 64), \"Invalid address\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_uint256_t_string_memory_ptr_t_uint256_t_address__to_t_uint256_t_string_memory_ptr_t_uint256_t_address__fromStack_reversed(headStart, value3, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), 128)\n tail := abi_encode_string(value1, add(headStart, 128))\n mstore(add(headStart, 64), value2)\n mstore(add(headStart, 96), and(value3, sub(shl(160, 1), 1)))\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0)) { panic_error_0x11() }\n ret := add(value, 1)\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_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := mload(headStart)\n }\n function abi_decode_tuple_t_struct$_Proposal_$3231_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0xa0) { revert(0, 0) }\n let value := allocate_memory_3054()\n let value_1 := mload(_2)\n validator_revert_address(value_1)\n mstore(value, value_1)\n let offset_1 := mload(add(_2, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(add(value, 32), abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n mstore(add(value, 64), mload(add(_2, 64)))\n mstore(add(value, 96), mload(add(_2, 96)))\n mstore(add(value, 128), abi_decode_bool_fromMemory(add(_2, 128)))\n value0 := value\n }\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := mload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_decode_tuple_t_struct$_Service_$1448_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0x80) { revert(0, 0) }\n let value := allocate_memory_3056()\n let offset_1 := mload(_2)\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(value, abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 32))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, 32), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n let offset_3 := mload(add(_2, 64))\n if gt(offset_3, _1) { revert(0, 0) }\n mstore(add(value, 64), abi_decode_string_fromMemory(add(_2, offset_3), dataEnd))\n mstore(add(value, 96), abi_decode_bool_fromMemory(add(_2, 96)))\n value0 := value\n }\n function abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 96)\n let tail_1 := abi_encode_string(value0, add(headStart, 96))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_string(value2, tail_2)\n }\n function abi_decode_tuple_t_struct$_Service_$2382_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := mload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n let _2 := add(headStart, offset)\n if slt(sub(dataEnd, _2), 0x60) { revert(0, 0) }\n let value := allocate_memory_3058()\n let offset_1 := mload(_2)\n if gt(offset_1, _1) { revert(0, 0) }\n mstore(value, abi_decode_string_fromMemory(add(_2, offset_1), dataEnd))\n let offset_2 := mload(add(_2, 32))\n if gt(offset_2, _1) { revert(0, 0) }\n mstore(add(value, 32), abi_decode_string_fromMemory(add(_2, offset_2), dataEnd))\n let offset_3 := mload(add(_2, 64))\n if gt(offset_3, _1) { revert(0, 0) }\n mstore(add(value, 64), abi_decode_string_fromMemory(add(_2, offset_3), dataEnd))\n value0 := value\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}", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": { + "482": [ + { + "length": 32, + "start": 6384 + }, + { + "length": 32, + "start": 6425 + }, + { + "length": 32, + "start": 6746 + } + ] + }, + "linkReferences": {}, + "object": "6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x181 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x97A6278E GT PUSH2 0xD1 JUMPI DUP1 PUSH4 0xB2D78069 GT PUSH2 0x8A JUMPI DUP1 PUSH4 0xD7071B1F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD7071B1F EQ PUSH2 0x4B2 JUMPI DUP1 PUSH4 0xDCA60776 EQ PUSH2 0x4D2 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4F2 JUMPI DUP1 PUSH4 0xFD66091E EQ PUSH2 0x512 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0xB2D78069 EQ PUSH2 0x445 JUMPI DUP1 PUSH4 0xC7F758A8 EQ PUSH2 0x465 JUMPI DUP1 PUSH4 0xCBCF252A EQ PUSH2 0x492 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x97A6278E EQ PUSH2 0x341 JUMPI DUP1 PUSH4 0x9C89A0E2 EQ PUSH2 0x361 JUMPI DUP1 PUSH4 0x9E498F16 EQ PUSH2 0x39A JUMPI DUP1 PUSH4 0xAAC9F15A EQ PUSH2 0x3BA JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x3E7 JUMPI DUP1 PUSH4 0xAEBFD80E EQ PUSH2 0x425 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 GT PUSH2 0x13E JUMPI DUP1 PUSH4 0x7216FE48 GT PUSH2 0x118 JUMPI DUP1 PUSH4 0x7216FE48 EQ PUSH2 0x2A4 JUMPI DUP1 PUSH4 0x7B5C219D EQ PUSH2 0x2C4 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2F4 JUMPI DUP1 PUSH4 0x96A45139 EQ PUSH2 0x321 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x5C8A4839 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0x70370A81 EQ PUSH2 0x26F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x28F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x13CF08B EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x270BAAA8 EQ PUSH2 0x1C1 JUMPI DUP1 PUSH4 0x2AB09D14 EQ PUSH2 0x1E3 JUMPI DUP1 PUSH4 0x485CC955 EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x227 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x23A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x192 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A6 PUSH2 0x1A1 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D3 JUMP JUMPDEST PUSH2 0x544 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x223C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x1DC CALLDATASIZE PUSH1 0x4 PUSH2 0x23F4 JUMP JUMPDEST PUSH2 0x619 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1EF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x5 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x222 CALLDATASIZE PUSH1 0x4 PUSH2 0x24AB JUMP JUMPDEST PUSH2 0x736 JUMP JUMPDEST PUSH2 0x1E1 PUSH2 0x235 CALLDATASIZE PUSH1 0x4 PUSH2 0x24E4 JUMP JUMPDEST PUSH2 0x86C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x246 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x88B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x26A CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x8A8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x27B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x28A CALLDATASIZE PUSH1 0x4 PUSH2 0x2564 JUMP JUMPDEST PUSH2 0xA07 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0xBC5 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2B0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x2BF CALLDATASIZE PUSH1 0x4 PUSH2 0x2590 JUMP JUMPDEST PUSH2 0xBD9 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2E4 PUSH2 0x2DF CALLDATASIZE PUSH1 0x4 PUSH2 0x2564 JUMP JUMPDEST PUSH2 0xC28 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x309 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x1B8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x32D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x33C CALLDATASIZE PUSH1 0x4 PUSH2 0x2590 JUMP JUMPDEST PUSH2 0xD9D JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x34D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x35C CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0xECF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH2 0x37C CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD SWAP1 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x2 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3DA PUSH2 0x3D5 CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x1035 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2605 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x418 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x2681 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x431 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x440 CALLDATASIZE PUSH1 0x4 PUSH2 0x2694 JUMP JUMPDEST PUSH2 0x1207 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x451 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x460 CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x130E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x471 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x485 PUSH2 0x480 CALLDATASIZE PUSH1 0x4 PUSH2 0x21D3 JUMP JUMPDEST PUSH2 0x1380 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP2 SWAP1 PUSH2 0x26FF JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x49E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x1 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x4CD CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x14C8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x0 SLOAD PUSH2 0x309 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E1 PUSH2 0x50D CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x153A JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x51E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x532 PUSH2 0x52D CALLDATASIZE PUSH1 0x4 PUSH2 0x2547 JUMP JUMPDEST PUSH2 0x1578 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1B8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2767 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP3 AND SWAP3 SWAP2 PUSH2 0x570 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x59C SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5E9 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x5BE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5E9 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x5CC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 SWAP2 SWAP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP3 POP PUSH1 0xFF AND DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x65E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x68E SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x6AB 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 0x6CF SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x714 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x722 DUP7 DUP7 DUP7 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x72E DUP7 DUP5 DUP5 DUP5 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x740 PUSH2 0x18A3 JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x767 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x783 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x791 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x7AF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x7D9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x7E2 CALLER PUSH2 0x18CC JUMP JUMPDEST PUSH2 0x7EA PUSH2 0x18DD JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP11 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND OR SWAP1 SWAP3 SSTORE PUSH1 0x1 DUP1 SLOAD SWAP3 DUP10 AND SWAP3 SWAP1 SWAP2 AND SWAP2 SWAP1 SWAP2 OR DUP2 SSTORE PUSH1 0x5 SSTORE DUP4 ISZERO PUSH2 0x863 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x874 PUSH2 0x18E5 JUMP JUMPDEST PUSH2 0x87D DUP3 PUSH2 0x198A JUMP JUMPDEST PUSH2 0x887 DUP3 DUP3 PUSH2 0x1992 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x895 PUSH2 0x1A4F JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0x8E4 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x5564F8AD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x4 DUP4 ADD MSTORE SWAP1 SWAP2 AND SWAP1 PUSH4 0xAAC9F15A SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x92F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x957 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x28B4 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x40 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ DUP1 PUSH2 0x995 JUMPI POP PUSH2 0x980 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ JUMPDEST PUSH2 0x9E1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x18 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F74206F776E6572206F72206167656E74206F776E65720000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x9FE DUP3 DUP3 PUSH1 0x0 ADD MLOAD DUP4 PUSH1 0x20 ADD MLOAD DUP5 PUSH1 0x40 ADD MLOAD DUP6 PUSH1 0x80 ADD MLOAD PUSH2 0x16CB JUMP JUMPDEST PUSH2 0x887 DUP3 PUSH2 0x1A98 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xA64 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865205461736B526567697374727920636F6E7472616374000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x64 DUP3 GT ISZERO PUSH2 0xAB5 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0x1 SWAP3 SWAP1 PUSH2 0xAE1 SWAP1 DUP5 SWAP1 PUSH2 0x2993 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD DUP3 PUSH2 0xB0E PUSH1 0x1 DUP4 PUSH2 0x29A6 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD PUSH2 0xB34 SWAP2 SWAP1 PUSH2 0x29B9 JUMP JUMPDEST PUSH2 0xB3E SWAP2 SWAP1 PUSH2 0x2993 JUMP JUMPDEST PUSH2 0xB48 SWAP2 SWAP1 PUSH2 0x29D0 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 PUSH1 0x4 ADD DUP4 SWAP1 SSTORE MLOAD SWAP1 SWAP2 PUSH32 0xFC577563F1B9A0461E24ABEF1E1FCC0D33D3D881F20B5DF6DDA59DE4AAE2C821 SWAP2 PUSH2 0xB99 SWAP2 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x4 ADD SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0xBCD PUSH2 0x1BEF JUMP JUMPDEST PUSH2 0xBD7 PUSH1 0x0 PUSH2 0x1C21 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND ISZERO PUSH2 0xC15 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x27F5 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 DUP4 CALLER PUSH1 0x0 PUSH2 0x16CB JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 PUSH1 0x2 ADD SLOAD SWAP1 SWAP2 DUP5 SWAP2 AND CALLER EQ PUSH2 0xC68 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND SWAP2 AND EQ PUSH2 0xCD1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0xCFB PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP4 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP PUSH1 0x1 SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP5 SWAP2 AND CALLER EQ PUSH2 0xDDB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xE3D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH2 0xE5F DUP5 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x1 ADD PUSH2 0xE85 DUP4 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH32 0x244B747F2AC491B7662C44209B5F6110934A8725F40D2BD91805F9D919A78B10 DUP5 DUP5 PUSH1 0x40 MLOAD PUSH2 0xEC1 SWAP3 SWAP2 SWAP1 PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP2 AND CALLER EQ PUSH2 0xF0D JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 ADD SLOAD AND PUSH2 0xF6F JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x1059D95B9D081B9BDD081C9959DA5CDD195C9959 PUSH1 0x62 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD AND PUSH2 0xF96 DUP4 PUSH2 0x1C92 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 SWAP1 PUSH2 0xFB9 DUP3 DUP3 PUSH2 0x2185 JUMP JUMPDEST PUSH2 0xFC7 PUSH1 0x1 DUP4 ADD PUSH1 0x0 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP1 DUP2 AND SWAP1 SWAP2 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD SWAP1 SWAP2 AND SWAP1 SSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x5 SWAP1 SWAP2 ADD DUP2 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP3 SWAP1 DUP7 AND SWAP2 PUSH32 0x4CE8B3FE8E0BF47A6FEFBECDFD7C799755CEDE6061655521B10FC2E4B1FCC6B3 SWAP2 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0x1080 PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 DUP2 SWAP1 KECCAK256 DUP2 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP3 MSTORE DUP1 SLOAD SWAP1 SWAP2 SWAP1 DUP3 SWAP1 DUP3 SWAP1 DUP3 SWAP1 PUSH2 0x10B7 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x10E3 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1130 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1105 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1130 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1113 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x1149 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1175 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x11C2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1197 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x11C2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x11A5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x3 DUP4 ADD SLOAD AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP6 SWAP2 AND CALLER EQ PUSH2 0x1245 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x655 SWAP1 PUSH2 0x29F2 JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1275 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1292 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 0x12B6 SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x12FB JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1307 DUP6 DUP6 DUP6 DUP6 PUSH2 0x177B JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH2 0x1316 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x135E JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x2 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x13CD PUSH1 0x40 MLOAD DUP1 PUSH1 0xC0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH1 0xC0 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x1409 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1435 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1482 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1457 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1482 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1465 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x5 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND ISZERO ISZERO PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x14D0 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1518 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xF PUSH1 0x24 DUP3 ADD MSTORE PUSH15 0x496E76616C69642061646472657373 PUSH1 0x88 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x1 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH2 0x1542 PUSH2 0x1BEF JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x156C JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1C21 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD DUP2 SWAP1 PUSH2 0x1593 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x15BF SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x160C JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x15E1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x160C JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x15EF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x1621 SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x164D SWAP1 PUSH2 0x27BB JUMP JUMPDEST DUP1 ISZERO PUSH2 0x169A JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x166F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x169A JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x167D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 SWAP1 SWAP6 ADD SLOAD SWAP4 SWAP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND SWAP5 SWAP3 SWAP1 SWAP2 AND SWAP3 POP SWAP1 DUP7 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x3 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 PUSH2 0x16EE DUP7 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x1 DUP2 ADD PUSH2 0x16FD DUP6 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP3 DUP4 AND DUP2 OR SWAP1 SWAP4 SSTORE PUSH1 0x3 DUP5 ADD DUP1 SLOAD SWAP2 DUP11 AND SWAP2 SWAP1 SWAP3 AND DUP2 OR SWAP1 SWAP2 SSTORE PUSH1 0x4 DUP4 ADD DUP5 SWAP1 SSTORE PUSH1 0x40 MLOAD PUSH32 0x2A562EFB52E7CEC209321F57200606311256DA6D2A1B19D44DB7837A3209DE28 SWAP1 PUSH2 0x176B SWAP1 DUP10 SWAP1 DUP10 SWAP1 PUSH2 0x2B30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xC0 DUP2 ADD DUP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP7 DUP2 AND DUP3 MSTORE PUSH1 0x20 DUP1 DUP4 ADD DUP8 DUP2 MSTORE DUP4 DUP6 ADD DUP8 SWAP1 MSTORE DUP6 DUP4 AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x5 SLOAD PUSH1 0x80 DUP6 ADD DUP2 SWAP1 MSTORE PUSH1 0x1 PUSH1 0xA0 DUP7 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x4 SWAP1 SWAP4 MSTORE SWAP5 SWAP1 SWAP5 KECCAK256 DUP4 MLOAD DUP2 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP4 AND SWAP3 SWAP1 SWAP3 OR DUP3 SSTORE SWAP3 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP3 ADD SWAP1 PUSH2 0x17F3 SWAP1 DUP3 PUSH2 0x2A71 JUMP JUMPDEST POP PUSH1 0x40 DUP3 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x3 DUP4 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 DUP4 AND OR SWAP1 SSTORE PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x4 DUP5 ADD SSTORE PUSH1 0xA0 SWAP1 SWAP4 ADD MLOAD PUSH1 0x5 SWAP3 DUP4 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP2 ISZERO ISZERO SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE SWAP1 SLOAD SWAP1 MLOAD SWAP2 DUP8 AND SWAP2 PUSH32 0xA6E87A4BA187A506BB81720F5FBD241C879EC33DF712DE8C1BFCCC354DBE450F SWAP2 PUSH2 0x187F SWAP2 DUP9 SWAP1 DUP9 SWAP1 DUP9 SWAP1 PUSH2 0x2B55 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x5 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x1897 DUP4 PUSH2 0x2B8F JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0xBBF JUMP JUMPDEST PUSH2 0x18D4 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1575 DUP2 PUSH2 0x1DA0 JUMP JUMPDEST PUSH2 0xBD7 PUSH2 0x1D7B JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x196C JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1960 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1575 PUSH2 0x1BEF JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x19EC JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x19E9 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x1A14 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x1A45 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH2 0xC23 DUP4 DUP4 PUSH2 0x1DA8 JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0x2AB09D14 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 0x1AEC 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 0x1B10 SWAP2 SWAP1 PUSH2 0x2BA8 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP1 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1B67 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1B8F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2BC1 JUMP JUMPDEST SWAP1 POP DUP4 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 PUSH1 0x0 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO DUP1 PUSH2 0x1BB8 JUMPI POP DUP1 PUSH1 0x80 ADD MLOAD ISZERO JUMPDEST ISZERO PUSH2 0x1BC3 JUMPI POP PUSH2 0x1BE7 JUMP JUMPDEST PUSH2 0x1BD0 DUP2 PUSH1 0x20 ADD MLOAD PUSH2 0x1DFE JUMP JUMPDEST PUSH2 0x1BE5 DUP5 DUP3 PUSH1 0x20 ADD MLOAD DUP4 PUSH1 0x40 ADD MLOAD PUSH1 0x0 PUSH2 0x177B JUMP JUMPDEST POP JUMPDEST PUSH1 0x1 ADD PUSH2 0x1B15 JUMP JUMPDEST CALLER PUSH2 0x1BF8 PUSH2 0xD6F JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH1 0x5 SLOAD DUP2 LT ISZERO PUSH2 0x887 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 DUP2 AND SWAP2 AND EQ DUP1 ISZERO PUSH2 0x1CD9 JUMPI POP PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x5 ADD SLOAD PUSH1 0xFF AND JUMPDEST ISZERO PUSH2 0x1D73 JUMPI PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x4 PUSH1 0x20 MSTORE PUSH1 0x40 DUP2 KECCAK256 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND DUP2 SSTORE SWAP1 PUSH2 0x1D08 PUSH1 0x1 DUP4 ADD DUP3 PUSH2 0x2185 JUMP JUMPDEST POP PUSH1 0x0 PUSH1 0x2 DUP3 ADD DUP2 SWAP1 SSTORE PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND SWAP1 SSTORE PUSH1 0x4 DUP3 ADD SSTORE PUSH1 0x5 ADD DUP1 SLOAD PUSH1 0xFF NOT AND SWAP1 SSTORE PUSH1 0x40 MLOAD DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0x45204680E8152470A4BB058A5049426C93D82614D97945E5B6541E67ABA4A8F2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST PUSH1 0x1 ADD PUSH2 0x1C95 JUMP JUMPDEST PUSH2 0x1D83 PUSH2 0x1FEA JUMP JUMPDEST PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1542 PUSH2 0x1D7B JUMP JUMPDEST PUSH2 0x1DB1 DUP3 PUSH2 0x2004 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1DF6 JUMPI PUSH2 0xC23 DUP3 DUP3 PUSH2 0x2069 JUMP JUMPDEST PUSH2 0x887 PUSH2 0x20DF JUMP JUMPDEST PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x1E2E SWAP1 DUP5 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1E4B 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 0x1E6F SWAP2 SWAP1 PUSH2 0x2841 JUMP JUMPDEST PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH4 0xCBCF252A 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 0x1EC7 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 0x1EEB SWAP2 SWAP1 PUSH2 0x2C65 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0x3CA3AC5F PUSH1 0xE1 SHL DUP2 MSTORE SWAP1 SWAP2 POP DUP2 SWAP1 PUSH1 0x0 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH4 0x794758BE SWAP1 PUSH2 0x1F1F SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x2681 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1F3C JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1F64 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2C82 JUMP JUMPDEST PUSH1 0x1 SLOAD DUP2 MLOAD PUSH1 0x20 DUP4 ADD MLOAD PUSH1 0x40 DUP1 DUP6 ADD MLOAD SWAP1 MLOAD PUSH4 0x3BD5F621 PUSH1 0xE2 SHL DUP2 MSTORE SWAP5 SWAP6 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP4 PUSH4 0xEF57D884 SWAP4 PUSH2 0x1FA3 SWAP4 SWAP3 SWAP2 PUSH1 0x4 ADD PUSH2 0x2D47 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0x1FC2 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x1307 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2D8A JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1FF4 PUSH2 0x18A3 JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x203A JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x2E5B DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x2086 SWAP2 SWAP1 PUSH2 0x2E3E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x20C1 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 0x20C6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x20D6 DUP6 DUP4 DUP4 PUSH2 0x20FE JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xBD7 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x2113 JUMPI PUSH2 0x210E DUP3 PUSH2 0x215D JUMP JUMPDEST PUSH2 0x2156 JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x212A JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x2153 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x655 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x216C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP DUP1 SLOAD PUSH2 0x2191 SWAP1 PUSH2 0x27BB JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x21A1 JUMPI POP POP JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x1575 SWAP2 SWAP1 JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x21CF JUMPI PUSH1 0x0 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x21BB JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x21E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x2207 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x21EF JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x2228 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x21EC JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP10 AND DUP4 MSTORE PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x225E PUSH1 0xC0 DUP5 ADD DUP10 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x40 DUP5 ADD SWAP8 SWAP1 SWAP8 MSTORE SWAP5 SWAP1 SWAP5 AND PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE ISZERO ISZERO PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1575 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xC0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0xA0 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x80 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x60 DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x22D3 JUMPI PUSH2 0x22D3 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x2367 JUMPI PUSH2 0x2367 PUSH2 0x229B JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP3 GT ISZERO PUSH2 0x2388 JUMPI PUSH2 0x2388 PUSH2 0x229B JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x23A9 PUSH2 0x23A4 DUP5 PUSH2 0x236F JUMP JUMPDEST PUSH2 0x233F JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x23BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x23E5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x2396 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x240D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP7 CALLDATALOAD PUSH2 0x2418 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP6 POP PUSH1 0x20 DUP8 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2434 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2440 DUP11 DUP4 DUP12 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP7 POP PUSH1 0x40 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2456 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2462 DUP11 DUP4 DUP12 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP6 POP PUSH1 0x60 DUP10 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x2478 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2485 DUP10 DUP3 DUP11 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 DUP8 ADD CALLDATALOAD SWAP2 POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH2 0x249D DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x24C9 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x24D9 DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x24F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2502 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x251D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x252E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x253D DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x2396 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2559 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2156 DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2577 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2582 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x25A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH2 0x25B0 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP3 POP PUSH1 0x20 DUP5 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x25CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x25D8 DUP8 DUP4 DUP9 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x25EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25FB DUP7 DUP3 DUP8 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0xC0 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2621 PUSH1 0xE0 DUP5 ADD DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP5 DUP4 SUB ADD PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x263E DUP3 DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP2 POP POP PUSH1 0x40 DUP5 ADD MLOAD PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP3 AND PUSH1 0x60 DUP7 ADD MSTORE DUP1 PUSH1 0x60 DUP8 ADD MLOAD AND PUSH1 0x80 DUP7 ADD MSTORE POP POP PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0xA0 DUP5 ADD MSTORE PUSH1 0xA0 DUP5 ADD MLOAD PUSH1 0xC0 DUP5 ADD MSTORE DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2156 PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x80 DUP6 DUP8 SUB SLT ISZERO PUSH2 0x26AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP5 CALLDATALOAD PUSH2 0x26B5 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP4 POP PUSH1 0x20 DUP6 ADD CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x26D0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26DC DUP8 DUP3 DUP9 ADD PUSH2 0x23D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x40 DUP6 ADD CALLDATALOAD SWAP2 POP PUSH1 0x60 DUP6 ADD CALLDATALOAD PUSH2 0x26F4 DUP2 PUSH2 0x2286 JUMP JUMPDEST SWAP4 SWAP7 SWAP3 SWAP6 POP SWAP1 SWAP4 POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB DUP1 DUP5 MLOAD AND PUSH1 0x20 DUP5 ADD MSTORE PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0xC0 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x272E PUSH1 0xE0 DUP6 ADD DUP3 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP PUSH1 0x40 DUP6 ADD MLOAD PUSH1 0x60 DUP6 ADD MSTORE DUP2 PUSH1 0x60 DUP7 ADD MLOAD AND PUSH1 0x80 DUP6 ADD MSTORE PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0xA0 DUP6 ADD MSTORE PUSH1 0xA0 DUP6 ADD MLOAD ISZERO ISZERO PUSH1 0xC0 DUP6 ADD MSTORE DUP1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0xC0 DUP2 MSTORE PUSH1 0x0 PUSH2 0x277A PUSH1 0xC0 DUP4 ADD DUP10 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x278C DUP2 DUP10 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP8 DUP9 AND PUSH1 0x40 DUP6 ADD MSTORE SWAP6 SWAP1 SWAP7 AND PUSH1 0x60 DUP4 ADD MSTORE POP PUSH1 0x80 DUP2 ADD SWAP3 SWAP1 SWAP3 MSTORE PUSH1 0xA0 SWAP1 SWAP2 ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x27CF JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x27EF JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x18 SWAP1 DUP3 ADD MSTORE PUSH32 0x4167656E7420616C726561647920726567697374657265640000000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x283C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2853 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2156 DUP3 PUSH2 0x282C JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x286D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x287B PUSH2 0x23A4 DUP3 PUSH2 0x236F JUMP JUMPDEST DUP2 DUP2 MSTORE DUP5 PUSH1 0x20 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x2890 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28A1 DUP3 PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP8 ADD PUSH2 0x21EC JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST DUP1 MLOAD PUSH2 0x283C DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x28DD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xC0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x28F1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x28F9 PUSH2 0x22B1 JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2908 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2914 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2929 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2935 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH2 0x2947 PUSH1 0x40 DUP5 ADD PUSH2 0x28A9 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD MSTORE PUSH2 0x2958 PUSH1 0x60 DUP5 ADD PUSH2 0x28A9 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH1 0xA0 DUP4 ADD MLOAD PUSH1 0xA0 DUP3 ADD MSTORE DUP1 SWAP4 POP POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP1 DUP3 ADD DUP1 DUP3 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST DUP2 DUP2 SUB DUP2 DUP2 GT ISZERO PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST DUP1 DUP3 MUL DUP2 ISZERO DUP3 DUP3 DIV DUP5 EQ OR PUSH2 0xBBF JUMPI PUSH2 0xBBF PUSH2 0x297D JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH2 0x29ED JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x12 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP DIV SWAP1 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE PUSH1 0x1A SWAP1 DUP3 ADD MSTORE PUSH32 0x4E6F7420746865206F776E6572206F6620746865206167656E74000000000000 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 ADD SWAP1 JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xC23 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2A52 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x72E JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2A5E JUMP JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP2 GT ISZERO PUSH2 0x2A8A JUMPI PUSH2 0x2A8A PUSH2 0x229B JUMP JUMPDEST PUSH2 0x2A9E DUP2 PUSH2 0x2A98 DUP5 SLOAD PUSH2 0x27BB JUMP JUMPDEST DUP5 PUSH2 0x2A29 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2AD3 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x2ABB JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x72E JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x2B02 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2AE3 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x2B20 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x40 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2B43 PUSH1 0x40 DUP4 ADD DUP6 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x20D6 DUP2 DUP6 PUSH2 0x2210 JUMP JUMPDEST DUP5 DUP2 MSTORE PUSH1 0x80 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x2B6E PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2210 JUMP JUMPDEST PUSH1 0x40 DUP4 ADD SWAP5 SWAP1 SWAP5 MSTORE POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 SWAP1 SWAP2 AND PUSH1 0x60 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2BA1 JUMPI PUSH2 0x2BA1 PUSH2 0x297D JUMP JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BBA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2BD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2BEA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0xA0 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2BFE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C06 PUSH2 0x22D9 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2C11 DUP2 PUSH2 0x2286 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2C25 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2C31 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x60 DUP4 ADD MLOAD PUSH1 0x60 DUP3 ADD MSTORE PUSH2 0x2C57 PUSH1 0x80 DUP5 ADD PUSH2 0x282C JUMP JUMPDEST PUSH1 0x80 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C77 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2156 DUP2 PUSH2 0x2286 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2C94 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2CAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x80 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2CBF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CC7 PUSH2 0x22FB JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CD6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2CE2 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2CF7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D03 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2D1B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2D27 DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP PUSH2 0x2D39 PUSH1 0x60 DUP5 ADD PUSH2 0x282C JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x2D5A PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2210 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2D6C DUP2 DUP7 PUSH2 0x2210 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x2D80 DUP2 DUP6 PUSH2 0x2210 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2D9C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB DUP1 DUP3 GT ISZERO PUSH2 0x2DB3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP4 ADD SWAP1 PUSH1 0x60 DUP3 DUP7 SUB SLT ISZERO PUSH2 0x2DC7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DCF PUSH2 0x231D JUMP JUMPDEST DUP3 MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DDE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2DEA DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST DUP3 MSTORE POP PUSH1 0x20 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2DFF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E0B DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x20 DUP4 ADD MSTORE POP PUSH1 0x40 DUP4 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2E23 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2E2F DUP8 DUP3 DUP7 ADD PUSH2 0x285C JUMP JUMPDEST PUSH1 0x40 DUP4 ADD MSTORE POP SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2E50 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x21EC JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220E6 PUSH28 0x6B991D09FEF792E3DB660BFACD5075339C91E8CDDAD24262B3C4C2FC 0xDC 0xE1 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "961:13134:11:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1436:52;;;;;;;;;;-1:-1:-1;1436:52:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;:::-;;;;;;;;5118:576;;;;;;;;;;-1:-1:-1;5118:576:11;;;;;:::i;:::-;;:::i;:::-;;1494:29;;;;;;;;;;;;;;;;;;;4963:25:17;;;4951:2;4936:18;1494:29:11;4817:177:17;2023:343:11;;;;;;;;;;-1:-1:-1;2023:343:11;;;;;:::i;:::-;;:::i;4161:214:2:-;;;;;;:::i;:::-;;:::i;3708:134::-;;;;;;;;;;;;;:::i;7427:536:11:-;;;;;;;;;;-1:-1:-1;7427:536:11;;;;;:::i;:::-;;:::i;7969:643::-;;;;;;;;;;-1:-1:-1;7969:643:11;;;;;:::i;:::-;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;4302:269:11:-;;;;;;;;;;-1:-1:-1;4302:269:11;;;;;:::i;:::-;;:::i;6964:364::-;;;;;;;;;;-1:-1:-1;6964:364:11;;;;;:::i;:::-;;:::i;:::-;;;7644:14:17;;7637:22;7619:41;;7607:2;7592:18;6964:364:11;7479:187:17;2441:144:0;;;;;;;;;;;;;:::i;:::-;;;-1:-1:-1;;;;;7835:32:17;;;7817:51;;7805:2;7790:18;2441:144:0;7671:203:17;9634:375:11;;;;;;;;;;-1:-1:-1;9634:375:11;;;;;:::i;:::-;;:::i;10389:435::-;;;;;;;;;;-1:-1:-1;10389:435:11;;;;;:::i;:::-;;:::i;8618:118::-;;;;;;;;;;-1:-1:-1;8618:118:11;;;;;:::i;:::-;-1:-1:-1;;;;;8705:13:11;8679:7;8705:13;;;:6;:13;;;;;:24;;;;8618:118;1353:27;;;;;;;;;;-1:-1:-1;1353:27:11;;;;-1:-1:-1;;;;;1353:27:11;;;8895:170;;;;;;;;;;-1:-1:-1;8895:170:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1819:58:2:-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;6124:382:11:-;;;;;;;;;;-1:-1:-1;6124:382:11;;;;;:::i;:::-;;:::i;3319:177::-;;;;;;;;;;-1:-1:-1;3319:177:11;;;;;:::i;:::-;;:::i;9071:147::-;;;;;;;;;;-1:-1:-1;9071:147:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1298:49::-;;;;;;;;;;-1:-1:-1;1298:49:11;;;;-1:-1:-1;;;;;1298:49:11;;;3656:220;;;;;;;;;;-1:-1:-1;3656:220:11;;;;;:::i;:::-;;:::i;1253:39::-;;;;;;;;;;-1:-1:-1;1253:39:11;;;;-1:-1:-1;;;;;1253:39:11;;;3405:215:0;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;1387:43:11:-;;;;;;;;;;-1:-1:-1;1387:43:11;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;:::i;1436:52::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1436:52:11;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1436:52:11;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1436:52:11;;;;-1:-1:-1;1436:52:11;;;:::o;5118:576::-;-1:-1:-1;;;;;5363:13:11;;;5394:1;5363:13;;;:6;:13;;;;;;;;:19;;;:33;5355:70;;;;-1:-1:-1;;;5355:70:11;;;;;;;:::i;:::-;;;;;;;;;5456:15;;:48;;-1:-1:-1;;;5456:48:11;;-1:-1:-1;;;;;5456:15:11;;;;:35;;:48;;5492:11;;5456:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5435:117;;;;-1:-1:-1;;;5435:117:11;;12974:2:17;5435:117:11;;;12956:21:17;13013:2;12993:18;;;12986:30;-1:-1:-1;;;13032:18:17;;;13025:52;13094:18;;5435:117:11;12772:346:17;5435:117:11;5563:50;5576:5;5583:4;5589:8;5599:10;5611:1;5563:12;:50::i;:::-;5624:63;5640:5;5647:11;5660:12;5674;5624:15;:63::i;:::-;5118:576;;;;;;:::o;2023:343::-;4158:30:1;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:1;-1:-1:-1;;;4302:15:1;;;4301:16;;-1:-1:-1;;;;;4348:14:1;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;-1:-1:-1;;;;;4788:16:1;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;2174:26:11::1;2189:10;2174:14;:26::i;:::-;2210:24;:22;:24::i;:::-;2253:15;:34:::0;;-1:-1:-1;;;;;2253:34:11;;::::1;-1:-1:-1::0;;;;;;2253:34:11;;::::1;;::::0;;;;2297;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;2341:14:::1;:18:::0;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;13276:50:17;;5140:14:1;;13264:2:17;13249:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;2023:343:11;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;7427:536:11:-;-1:-1:-1;;;;;7491:13:11;;;7522:1;7491:13;;;:6;:13;;;;;;;;:19;;;:33;7483:70;;;;-1:-1:-1;;;7483:70:11;;;;;;;:::i;:::-;7564:45;7629:15;;7612:53;;-1:-1:-1;;;7612:53:11;;-1:-1:-1;;;;;7835:32:17;;;7612:53:11;;;7817:51:17;7629:15:11;;;;7612:46;;7790:18:17;;7612:53:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7612:53:11;;;;;;;;;;;;:::i;:::-;7564:101;;7711:11;:17;;;-1:-1:-1;;;;;7697:31:11;:10;-1:-1:-1;;;;;7697:31:11;;:56;;;;7746:7;:5;:7::i;:::-;-1:-1:-1;;;;;7732:21:11;:10;-1:-1:-1;;;;;7732:21:11;;7697:56;7676:127;;;;-1:-1:-1;;;7676:127:11;;15187:2:17;7676:127:11;;;15169:21:17;15226:2;15206:18;;;15199:30;15265:26;15245:18;;;15238:54;15309:18;;7676:127:11;14985:348:17;7676:127:11;7814:102;7827:5;7834:11;:16;;;7852:11;:20;;;7874:11;:17;;;7893:11;:22;;;7814:12;:102::i;:::-;7927:29;7950:5;7927:22;:29::i;7969:643::-;8099:12;;8058:7;;-1:-1:-1;;;;;8099:12:11;8085:10;:26;8077:68;;;;-1:-1:-1;;;8077:68:11;;15540:2:17;8077:68:11;;;15522:21:17;15579:2;15559:18;;;15552:30;15618:31;15598:18;;;15591:59;15667:18;;8077:68:11;15338:353:17;8077:68:11;8203:3;8192:7;:14;;8155:109;;;;-1:-1:-1;;;8155:109:11;;15898:2:17;8155:109:11;;;15880:21:17;;;15917:18;;;15910:30;15976:34;15956:18;;;15949:62;16028:18;;8155:109:11;15696:356:17;8155:109:11;-1:-1:-1;;;;;8274:13:11;;;;;;:6;:13;;;;;:26;;:31;;8304:1;;8274:13;:31;;8304:1;;8274:31;:::i;:::-;;;;-1:-1:-1;;;;;;;8472:13:11;;;;;;:6;:13;;;;;:26;;;8449:7;8399:30;8428:1;8472:26;8399:30;:::i;:::-;-1:-1:-1;;;;;8355:13:11;;;;;;:6;:13;;;;;:24;;;:75;;;;:::i;:::-;:101;;;;:::i;:::-;8354:144;;;;:::i;:::-;-1:-1:-1;;;;;8315:13:11;;;;;;:6;:13;;;;;;;:24;;:183;;;8513:50;8315:13;;8513:50;;;;4963:25:17;;4951:2;4936:18;;4817:177;8513:50:11;;;;;;;;-1:-1:-1;;;;;;8581:13:11;;;;;;:6;:13;;;;;:24;;;7969:643;;;;;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;4302:269:11:-;-1:-1:-1;;;;;4441:13:11;;;4472:1;4441:13;;;:6;:13;;;;;;;;:19;;;:33;4433:70;;;;-1:-1:-1;;;4433:70:11;;;;;;;:::i;:::-;4514:50;4527:5;4534:4;4540:8;4550:10;4562:1;4514:12;:50::i;:::-;4302:269;;;:::o;6964:364::-;-1:-1:-1;;;;;1600:13:11;;;7085:4;1600:13;;;:6;:13;;;;;:19;;;7085:4;;7069:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:11;;;;;;;:::i;:::-;7122:21:::1;::::0;;;:9:::1;:21;::::0;;;;:28;-1:-1:-1;;;;;7122:37:11;;::::1;:28:::0;::::1;:37;7101:109;;;::::0;-1:-1:-1;;;7101:109:11;;17404:2:17;7101:109:11::1;::::0;::::1;17386:21:17::0;17443:2;17423:18;;;17416:30;17482:27;17462:18;;;17455:55;17527:18;;7101:109:11::1;17202:349:17::0;7101:109:11::1;7228:21;::::0;;;:9:::1;:21;::::0;;;;7221:28;;-1:-1:-1;;;;;;7221:28:11::1;::::0;;7228:21;7221:28:::1;::::0;;::::1;7228:21:::0;7221:28:::1;:::i;:::-;-1:-1:-1::0;7221:28:11::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;7221:28:11::1;::::0;;::::1;::::0;::::1;::::0;::::1;;::::0;;-1:-1:-1;;7221:28:11::1;::::0;;7265:34:::1;::::0;4963:25:17;;;-1:-1:-1;;;;;7265:34:11;::::1;::::0;::::1;::::0;4951:2:17;4936:18;7265:34:11::1;;;;;;;-1:-1:-1::0;7317:4:11::1;::::0;6964:364;-1:-1:-1;;;6964:364:11:o;2441:144:0:-;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144::o;9634:375:11:-;-1:-1:-1;;;;;1600:13:11;;;;;;;:6;:13;;;;;:19;;;9769:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:11;;;;;;;:::i;:::-;-1:-1:-1;;;;;9794:13:11;;::::1;9825:1;9794:13:::0;;;:6:::1;:13;::::0;;;;;;;:19:::1;::::0;::::1;9786:66;;;::::0;-1:-1:-1;;;9786:66:11;;17758:2:17;9786:66:11::1;::::0;::::1;17740:21:17::0;17797:2;17777:18;;;17770:30;-1:-1:-1;;;17816:18:17;;;17809:50;17876:18;;9786:66:11::1;17556:344:17::0;9786:66:11::1;-1:-1:-1::0;;;;;9871:13:11;::::1;;::::0;;;:6:::1;:13;::::0;;;;:25:::1;9892:4:::0;9871:13;:25:::1;:::i;:::-;-1:-1:-1::0;;;;;;9906:13:11;::::1;;::::0;;;:6:::1;:13;::::0;;;;:22:::1;;:33;9931:8:::0;9906:22;:33:::1;:::i;:::-;;9980:5;-1:-1:-1::0;;;;;9963:39:11::1;;9987:4;9993:8;9963:39;;;;;;;:::i;:::-;;;;;;;;9634:375:::0;;;;:::o;10389:435::-;-1:-1:-1;;;;;1600:13:11;;;;;;;:6;:13;;;;;:19;;;10449:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:11;;;;;;;:::i;:::-;-1:-1:-1;;;;;10474:13:11;;::::1;10505:1;10474:13:::0;;;:6:::1;:13;::::0;;;;;;;:19:::1;::::0;::::1;10466:66;;;::::0;-1:-1:-1;;;10466:66:11;;17758:2:17;10466:66:11::1;::::0;::::1;17740:21:17::0;17797:2;17777:18;;;17770:30;-1:-1:-1;;;17816:18:17;;;17809:50;17876:18;;10466:66:11::1;17556:344:17::0;10466:66:11::1;-1:-1:-1::0;;;;;10572:13:11;;::::1;10551:18;10572:13:::0;;;:6:::1;:13;::::0;;;;:19:::1;;::::0;::::1;10664:31;10579:5:::0;10664:24:::1;:31::i;:::-;-1:-1:-1::0;;;;;10749:13:11;::::1;;::::0;;;:6:::1;:13;::::0;;;;;10742:20:::1;10749:13:::0;;10742:20:::1;:::i;:::-;;;::::0;::::1;;;:::i;:::-;-1:-1:-1::0;10742:20:11::1;::::0;::::1;::::0;;-1:-1:-1;;;;;;10742:20:11;;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;::::1;::::0;;::::1;;::::0;::::1;::::0;;;::::1;::::0;;::::1;::::0;;;10786:31:::1;::::0;-1:-1:-1;;;;;10786:31:11;;::::1;::::0;;;::::1;::::0;::::1;::::0;10742:20;10786:31:::1;10456:368;10389:435:::0;;:::o;8895:170::-;8970:16;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8970:16:11;-1:-1:-1;;;;;9023:14:11;;8998:22;9023:14;;;:6;:14;;;;;;;9047:11;;;;;;;;;;9023:14;;9047:11;9023:14;;9047:11;;9023:14;;9047:11;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9047:11:11;;;-1:-1:-1;;9047:11:11;;;;-1:-1:-1;;;;;9047:11:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8895:170;-1:-1:-1;;;8895:170:11:o;6124:382::-;-1:-1:-1;;;;;1600:13:11;;;;;;;:6;:13;;;;;:19;;;6291:5;;1600:19;1623:10;1600:33;1579:106;;;;-1:-1:-1;;;1579:106:11;;;;;;;:::i;:::-;6329:15:::1;::::0;:48:::1;::::0;-1:-1:-1;;;6329:48:11;;-1:-1:-1;;;;;6329:15:11;;::::1;::::0;:35:::1;::::0;:48:::1;::::0;6365:11;;6329:48:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6308:117;;;::::0;-1:-1:-1;;;6308:117:11;;12974:2:17;6308:117:11::1;::::0;::::1;12956:21:17::0;13013:2;12993:18;;;12986:30;-1:-1:-1;;;13032:18:17;;;13025:52;13094:18;;6308:117:11::1;12772:346:17::0;6308:117:11::1;6436:63;6452:5;6459:11;6472:12;6486;6436:15;:63::i;:::-;6124:382:::0;;;;;:::o;3319:177::-;2334:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3404:27:11;::::1;3396:55;;;::::0;-1:-1:-1;;;3396:55:11;;20690:2:17;3396:55:11::1;::::0;::::1;20672:21:17::0;20729:2;20709:18;;;20702:30;-1:-1:-1;;;20748:18:17;;;20741:45;20803:18;;3396:55:11::1;20488:339:17::0;3396:55:11::1;3461:12;:28:::0;;-1:-1:-1;;;;;;3461:28:11::1;-1:-1:-1::0;;;;;3461:28:11;;;::::1;::::0;;;::::1;::::0;;3319:177::o;9071:147::-;9149:22;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9149:22:11;9190:21;;;;:9;:21;;;;;;;;;9183:28;;;;;;;;;;-1:-1:-1;;;;;9183:28:11;;;;;;;;9190:21;;9183:28;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9183:28:11;;;-1:-1:-1;;9183:28:11;;;;;;;;;;;;-1:-1:-1;;;;;9183:28:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;9071:147;-1:-1:-1;;9071:147:11:o;3656:220::-;2334:13:0;:11;:13::i;:::-;-1:-1:-1;;;;;3747:30:11;::::1;3739:58;;;::::0;-1:-1:-1;;;3739:58:11;;20690:2:17;3739:58:11::1;::::0;::::1;20672:21:17::0;20729:2;20709:18;;;20702:30;-1:-1:-1;;;20748:18:17;;;20741:45;20803:18;;3739:58:11::1;20488:339:17::0;3739:58:11::1;3807:15;:62:::0;;-1:-1:-1;;;;;;3807:62:11::1;-1:-1:-1::0;;;;;3807:62:11;;;::::1;::::0;;;::::1;::::0;;3656:220::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;7817:51:17::0;7790:18;;3534:31:0::1;7671:203:17::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;1387:43:11:-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1387:43:11;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1387:43:11;;;;;;;;;-1:-1:-1;1387:43:11;;:::o;10830:470::-;-1:-1:-1;;;;;11040:13:11;;11010:27;11040:13;;;:6;:13;;;;;;11063:21;11080:4;11040:13;11063:21;:::i;:::-;-1:-1:-1;11094:18:11;;;:29;11115:8;11094:18;:29;:::i;:::-;-1:-1:-1;11133:15:11;;;:23;;-1:-1:-1;;;;;11133:23:11;;;-1:-1:-1;;;;;;11133:23:11;;;;;;;;11166:15;;;:23;;;;;;;;;;;;;;11199:20;;;:33;;;11248:45;;;;;;11278:4;;11284:8;;11248:45;:::i;:::-;;;;;;;;11000:300;10830:470;;;;;:::o;11306:548::-;11510:167;;;;;;;;-1:-1:-1;;;;;11510:167:11;;;;;;;;;;;;;;;;;;;;;;;;;11635:14;;11510:167;;;;;;11663:4;11510:167;;;;;;-1:-1:-1;11688:25:11;;;:9;:25;;;;;;;:39;;;;-1:-1:-1;;;;;;11688:39:11;;;;;;;;;;;11510:167;;;;11688:39;;;;;;;;:::i;:::-;-1:-1:-1;11688:39:11;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11688:39:11;-1:-1:-1;;;;;11688:39:11;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11688:39:11;;;;;;;;;;11764:14;;11743:77;;;;;;;;;;11780:11;;11793:12;;11807;;11743:77;:::i;:::-;;;;;;;;11831:14;:16;;;:14;:16;;;:::i;:::-;;;;;;11463:391;11306:548;;;;:::o;9071:205:1:-;9129:30;;3147:66;9186:27;8819:122;1847:127:0;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:6;-1:-1:-1;;;;;1519:53:6;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;13917:84:11;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;7835:32:17;;6493:60:2;;;7817:51:17;7790:18;;6493:60:2;7671:203:17;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;4963:25:17;;;4936:18;;6292:34:2;4817:177:17;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;12534:633:11;12599:30;12649:15;;;;;;;;;-1:-1:-1;;;;;12649:15:11;-1:-1:-1;;;;;12632:61:11;;:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12599:96;;12711:9;12706:455;12730:22;12726:1;:26;12706:455;;;12773:41;12851:15;;12817:78;;-1:-1:-1;;;12817:78:11;;;;;4963:25:17;;;-1:-1:-1;;;;;12851:15:11;;;;12817:75;;4936:18:17;;12817:78:11;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12817:78:11;;;;;;;;;;;;:::i;:::-;12773:122;;12933:5;-1:-1:-1;;;;;12914:24:11;:8;:15;;;-1:-1:-1;;;;;12914:24:11;;;:46;;;;12943:8;:17;;;12942:18;12914:46;12910:93;;;12980:8;;;12910:93;13017:46;13042:8;:20;;;13017:24;:46::i;:::-;13078:72;13094:5;13101:8;:20;;;13123:8;:14;;;13147:1;13078:15;:72::i;:::-;12759:402;12706:455;12754:3;;12706:455;;2658:162:0;966:10:3;2717:7:0;:5;:7::i;:::-;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;7817:51:17;7790:18;;2763:40:0;7671:203:17;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;13349:379:11:-;13511:1;13494:228;13518:14;;13514:1;:18;13494:228;;;13557:12;;;;:9;:12;;;;;:19;-1:-1:-1;;;;;13557:28:11;;;:19;;:28;:53;;;;-1:-1:-1;13589:12:11;;;;:9;:12;;;;;:21;;;;;13557:53;13553:159;;;13637:12;;;;:9;:12;;;;;13630:19;;-1:-1:-1;;;;;;13630:19:11;;;13637:12;13630:19;;;;13637:12;13630:19;:::i;:::-;-1:-1:-1;13630:19:11;;;;;;;;;;;;-1:-1:-1;;;;;;13630:19:11;;;;;;;;;;;-1:-1:-1;;13630:19:11;;;13672:25;;4963::17;;;-1:-1:-1;;;;;13672:25:11;;;;;4951:2:17;4936:18;13672:25:11;;;;;;;13553:159;13534:3;;13494:228;;7082:141:1;7149:17;:15;:17::i;:::-;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;2264:344:6:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:6;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;11860:668:11:-;11944:15;;:48;;-1:-1:-1;;;11944:48:11;;-1:-1:-1;;;;;11944:15:11;;;;:35;;:48;;11980:11;;11944:48;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11939:583;;12008:29;12057:15;;;;;;;;;-1:-1:-1;;;;;12057:15:11;-1:-1:-1;;;;;12040:66:11;;:68;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12292:58;;-1:-1:-1;;;12292:58:11;;12008:100;;-1:-1:-1;12008:100:11;;12123:36;;-1:-1:-1;;;;;12292:45:11;;;;;:58;;12338:11;;12292:58;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12292:58:11;;;;;;;;;;;;:::i;:::-;12365:15;;12414:12;;12444:16;;;;12478:19;;;;;12365:146;;-1:-1:-1;;;12365:146:11;;12248:102;;-1:-1:-1;;;;;;12365:15:11;;;;:31;;:146;;12414:12;12444:16;12365:146;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;12365:146:11;;;;;;;;;;;;:::i;8485:120:1:-;8535:4;8558:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8558:40:1;;;;;;-1:-1:-1;8485:120:1:o;1671:281:6:-;1748:17;-1:-1:-1;;;;;1748:29:6;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:6;;-1:-1:-1;;;;;7835:32:17;;1805:47:6;;;7817:51:17;7790:18;;1805:47:6;7671:203:17;1744:119:6;-1:-1:-1;;;;;;;;;;;1872:73:6;;-1:-1:-1;;;;;;1872:73:6;-1:-1:-1;;;;;1872:73:6;;;;;;;;;;1671:281::o;3916:253:8:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:8;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:8:o;6113:122:6:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:6;;;;;;;;;;;4437:582:8;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:8;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:8;;-1:-1:-1;;;;;7835:32:17;;4933:24:8;;;7817:51:17;7790:18;;4933:24:8;7671:203:17;4853:119:8;-1:-1:-1;4992:10:8;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:8;;;;;;;;;;;-1:-1:-1;;;;;;;:::i;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:180:17:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;-1:-1:-1;165:23:17;;14:180;-1:-1:-1;14:180:17:o;199:250::-;284:1;294:113;308:6;305:1;302:13;294:113;;;384:11;;;378:18;365:11;;;358:39;330:2;323:10;294:113;;;-1:-1:-1;;441:1:17;423:16;;416:27;199:250::o;454:271::-;496:3;534:5;528:12;561:6;556:3;549:19;577:76;646:6;639:4;634:3;630:14;623:4;616:5;612:16;577:76;:::i;:::-;707:2;686:15;-1:-1:-1;;682:29:17;673:39;;;;714:4;669:50;;454:271;-1:-1:-1;;454:271:17:o;730:645::-;976:4;1022:1;1018;1013:3;1009:11;1005:19;1063:2;1055:6;1051:15;1040:9;1033:34;1103:3;1098:2;1087:9;1083:18;1076:31;1124:46;1165:3;1154:9;1150:19;1142:6;1124:46;:::i;:::-;1201:2;1186:18;;1179:34;;;;1249:15;;;;1244:2;1229:18;;1222:43;1296:3;1281:19;;1274:35;;;;1353:14;1346:22;1340:3;1325:19;;;1318:51;-1:-1:-1;1116:54:17;730:645;-1:-1:-1;;730:645:17:o;1380:131::-;-1:-1:-1;;;;;1455:31:17;;1445:42;;1435:70;;1501:1;1498;1491:12;1516:127;1577:10;1572:3;1568:20;1565:1;1558:31;1608:4;1605:1;1598:15;1632:4;1629:1;1622:15;1648:253;1720:2;1714:9;1762:4;1750:17;;-1:-1:-1;;;;;1782:34:17;;1818:22;;;1779:62;1776:88;;;1844:18;;:::i;:::-;1880:2;1873:22;1648:253;:::o;1906:::-;1978:2;1972:9;2020:4;2008:17;;-1:-1:-1;;;;;2040:34:17;;2076:22;;;2037:62;2034:88;;;2102:18;;:::i;2164:253::-;2236:2;2230:9;2278:4;2266:17;;-1:-1:-1;;;;;2298:34:17;;2334:22;;;2295:62;2292:88;;;2360:18;;:::i;2422:253::-;2494:2;2488:9;2536:4;2524:17;;-1:-1:-1;;;;;2556:34:17;;2592:22;;;2553:62;2550:88;;;2618:18;;:::i;2680:275::-;2751:2;2745:9;2816:2;2797:13;;-1:-1:-1;;2793:27:17;2781:40;;-1:-1:-1;;;;;2836:34:17;;2872:22;;;2833:62;2830:88;;;2898:18;;:::i;:::-;2934:2;2927:22;2680:275;;-1:-1:-1;2680:275:17:o;2960:187::-;3009:4;-1:-1:-1;;;;;3034:6:17;3031:30;3028:56;;;3064:18;;:::i;:::-;-1:-1:-1;3130:2:17;3109:15;-1:-1:-1;;3105:29:17;3136:4;3101:40;;2960:187::o;3152:338::-;3217:5;3246:53;3262:36;3291:6;3262:36;:::i;:::-;3246:53;:::i;:::-;3237:62;;3322:6;3315:5;3308:21;3362:3;3353:6;3348:3;3344:16;3341:25;3338:45;;;3379:1;3376;3369:12;3338:45;3428:6;3423:3;3416:4;3409:5;3405:16;3392:43;3482:1;3475:4;3466:6;3459:5;3455:18;3451:29;3444:40;3152:338;;;;;:::o;3495:222::-;3538:5;3591:3;3584:4;3576:6;3572:17;3568:27;3558:55;;3609:1;3606;3599:12;3558:55;3631:80;3707:3;3698:6;3685:20;3678:4;3670:6;3666:17;3631:80;:::i;3722:1090::-;3856:6;3864;3872;3880;3888;3896;3949:3;3937:9;3928:7;3924:23;3920:33;3917:53;;;3966:1;3963;3956:12;3917:53;4005:9;3992:23;4024:31;4049:5;4024:31;:::i;:::-;4074:5;-1:-1:-1;4130:2:17;4115:18;;4102:32;-1:-1:-1;;;;;4183:14:17;;;4180:34;;;4210:1;4207;4200:12;4180:34;4233:50;4275:7;4266:6;4255:9;4251:22;4233:50;:::i;:::-;4223:60;;4336:2;4325:9;4321:18;4308:32;4292:48;;4365:2;4355:8;4352:16;4349:36;;;4381:1;4378;4371:12;4349:36;4404:52;4448:7;4437:8;4426:9;4422:24;4404:52;:::i;:::-;4394:62;;4509:2;4498:9;4494:18;4481:32;4465:48;;4538:2;4528:8;4525:16;4522:36;;;4554:1;4551;4544:12;4522:36;;4577:52;4621:7;4610:8;4599:9;4595:24;4577:52;:::i;:::-;4567:62;;;4676:3;4665:9;4661:19;4648:33;4638:43;;4733:3;4722:9;4718:19;4705:33;4747;4772:7;4747:33;:::i;:::-;4799:7;4789:17;;;3722:1090;;;;;;;;:::o;4999:448::-;5127:6;5135;5188:2;5176:9;5167:7;5163:23;5159:32;5156:52;;;5204:1;5201;5194:12;5156:52;5243:9;5230:23;5262:31;5287:5;5262:31;:::i;:::-;5312:5;-1:-1:-1;5369:2:17;5354:18;;5341:32;5382:33;5341:32;5382:33;:::i;:::-;5434:7;5424:17;;;4999:448;;;;;:::o;5452:585::-;5529:6;5537;5590:2;5578:9;5569:7;5565:23;5561:32;5558:52;;;5606:1;5603;5596:12;5558:52;5645:9;5632:23;5664:31;5689:5;5664:31;:::i;:::-;5714:5;-1:-1:-1;5770:2:17;5755:18;;5742:32;-1:-1:-1;;;;;5786:30:17;;5783:50;;;5829:1;5826;5819:12;5783:50;5852:22;;5905:4;5897:13;;5893:27;-1:-1:-1;5883:55:17;;5934:1;5931;5924:12;5883:55;5957:74;6023:7;6018:2;6005:16;6000:2;5996;5992:11;5957:74;:::i;:::-;5947:84;;;5452:585;;;;;:::o;6224:247::-;6283:6;6336:2;6324:9;6315:7;6311:23;6307:32;6304:52;;;6352:1;6349;6342:12;6304:52;6391:9;6378:23;6410:31;6435:5;6410:31;:::i;6476:315::-;6544:6;6552;6605:2;6593:9;6584:7;6580:23;6576:32;6573:52;;;6621:1;6618;6611:12;6573:52;6660:9;6647:23;6679:31;6704:5;6679:31;:::i;:::-;6729:5;6781:2;6766:18;;;;6753:32;;-1:-1:-1;;;6476:315:17:o;6796:678::-;6893:6;6901;6909;6962:2;6950:9;6941:7;6937:23;6933:32;6930:52;;;6978:1;6975;6968:12;6930:52;7017:9;7004:23;7036:31;7061:5;7036:31;:::i;:::-;7086:5;-1:-1:-1;7142:2:17;7127:18;;7114:32;-1:-1:-1;;;;;7195:14:17;;;7192:34;;;7222:1;7219;7212:12;7192:34;7245:50;7287:7;7278:6;7267:9;7263:22;7245:50;:::i;:::-;7235:60;;7348:2;7337:9;7333:18;7320:32;7304:48;;7377:2;7367:8;7364:16;7361:36;;;7393:1;7390;7383:12;7361:36;;7416:52;7460:7;7449:8;7438:9;7434:24;7416:52;:::i;:::-;7406:62;;;6796:678;;;;;:::o;7879:906::-;8062:2;8051:9;8044:21;8025:4;8100:6;8094:13;8143:4;8138:2;8127:9;8123:18;8116:32;8171:52;8218:3;8207:9;8203:19;8189:12;8171:52;:::i;:::-;8157:66;;8272:2;8264:6;8260:15;8254:22;8344:2;8340:7;8328:9;8320:6;8316:22;8312:36;8307:2;8296:9;8292:18;8285:64;8372:41;8406:6;8390:14;8372:41;:::i;:::-;8358:55;;;8462:2;8454:6;8450:15;8444:22;8502:1;8498;8493:3;8489:11;8485:19;8560:2;8544:14;8540:23;8535:2;8524:9;8520:18;8513:51;8629:2;8623;8615:6;8611:15;8605:22;8601:31;8595:3;8584:9;8580:19;8573:60;;;8688:3;8680:6;8676:16;8670:23;8664:3;8653:9;8649:19;8642:52;8750:3;8742:6;8738:16;8732:23;8725:4;8714:9;8710:20;8703:53;8773:6;8765:14;;;7879:906;;;;:::o;8790:220::-;8939:2;8928:9;8921:21;8902:4;8959:45;9000:2;8989:9;8985:18;8977:6;8959:45;:::i;9015:667::-;9111:6;9119;9127;9135;9188:3;9176:9;9167:7;9163:23;9159:33;9156:53;;;9205:1;9202;9195:12;9156:53;9244:9;9231:23;9263:31;9288:5;9263:31;:::i;:::-;9313:5;-1:-1:-1;9369:2:17;9354:18;;9341:32;-1:-1:-1;;;;;9385:30:17;;9382:50;;;9428:1;9425;9418:12;9382:50;9451;9493:7;9484:6;9473:9;9469:22;9451:50;:::i;:::-;9441:60;;;9548:2;9537:9;9533:18;9520:32;9510:42;;9604:2;9593:9;9589:18;9576:32;9617:33;9642:7;9617:33;:::i;:::-;9015:667;;;;-1:-1:-1;9015:667:17;;-1:-1:-1;;9015:667:17:o;9687:758::-;9882:2;9871:9;9864:21;9845:4;9921:1;9917;9912:3;9908:11;9904:19;9978:2;9969:6;9963:13;9959:22;9954:2;9943:9;9939:18;9932:50;10029:2;10021:6;10017:15;10011:22;10069:4;10064:2;10053:9;10049:18;10042:32;10097:52;10144:3;10133:9;10129:19;10115:12;10097:52;:::i;:::-;10083:66;;10203:2;10195:6;10191:15;10185:22;10180:2;10169:9;10165:18;10158:50;10273:2;10267;10259:6;10255:15;10249:22;10245:31;10239:3;10228:9;10224:19;10217:60;10332:3;10324:6;10320:16;10314:23;10308:3;10297:9;10293:19;10286:52;10408:3;10400:6;10396:16;10390:23;10383:31;10376:39;10369:4;10358:9;10354:20;10347:69;10433:6;10425:14;;;;9687:758;;;;:::o;10926:727::-;11235:3;11224:9;11217:22;11198:4;11262:46;11303:3;11292:9;11288:19;11280:6;11262:46;:::i;:::-;11356:9;11348:6;11344:22;11339:2;11328:9;11324:18;11317:50;11384:33;11410:6;11402;11384:33;:::i;:::-;-1:-1:-1;;;;;11491:15:17;;;11486:2;11471:18;;11464:43;11543:15;;;;11538:2;11523:18;;11516:43;-1:-1:-1;11590:3:17;11575:19;;11568:35;;;;11444:3;11619:19;;;11612:35;11543:15;11376:41;-1:-1:-1;;;10926:727:17:o;11658:380::-;11737:1;11733:12;;;;11780;;;11801:61;;11855:4;11847:6;11843:17;11833:27;;11801:61;11908:2;11900:6;11897:14;11877:18;11874:38;11871:161;;11954:10;11949:3;11945:20;11942:1;11935:31;11989:4;11986:1;11979:15;12017:4;12014:1;12007:15;11871:161;;11658:380;;;:::o;12043:348::-;12245:2;12227:21;;;12284:2;12264:18;;;12257:30;12323:26;12318:2;12303:18;;12296:54;12382:2;12367:18;;12043:348::o;12396:164::-;12472:13;;12521;;12514:21;12504:32;;12494:60;;12550:1;12547;12540:12;12494:60;12396:164;;;:::o;12565:202::-;12632:6;12685:2;12673:9;12664:7;12660:23;12656:32;12653:52;;;12701:1;12698;12691:12;12653:52;12724:37;12751:9;12724:37;:::i;13337:443::-;13391:5;13444:3;13437:4;13429:6;13425:17;13421:27;13411:55;;13462:1;13459;13452:12;13411:55;13491:6;13485:13;13522:49;13538:32;13567:2;13538:32;:::i;13522:49::-;13596:2;13587:7;13580:19;13642:3;13635:4;13630:2;13622:6;13618:15;13614:26;13611:35;13608:55;;;13659:1;13656;13649:12;13608:55;13672:77;13746:2;13739:4;13730:7;13726:18;13719:4;13711:6;13707:17;13672:77;:::i;:::-;13767:7;13337:443;-1:-1:-1;;;;13337:443:17:o;13785:138::-;13864:13;;13886:31;13864:13;13886:31;:::i;13928:1052::-;14025:6;14078:2;14066:9;14057:7;14053:23;14049:32;14046:52;;;14094:1;14091;14084:12;14046:52;14127:9;14121:16;-1:-1:-1;;;;;14197:2:17;14189:6;14186:14;14183:34;;;14213:1;14210;14203:12;14183:34;14236:22;;;;14292:4;14274:16;;;14270:27;14267:47;;;14310:1;14307;14300:12;14267:47;14336:22;;:::i;:::-;14389:2;14383:9;14417:2;14407:8;14404:16;14401:36;;;14433:1;14430;14423:12;14401:36;14460:56;14508:7;14497:8;14493:2;14489:17;14460:56;:::i;:::-;14453:5;14446:71;;14556:2;14552;14548:11;14542:18;14585:2;14575:8;14572:16;14569:36;;;14601:1;14598;14591:12;14569:36;14637:56;14685:7;14674:8;14670:2;14666:17;14637:56;:::i;:::-;14632:2;14625:5;14621:14;14614:80;;14726:42;14764:2;14760;14756:11;14726:42;:::i;:::-;14721:2;14714:5;14710:14;14703:66;14801:42;14839:2;14835;14831:11;14801:42;:::i;:::-;14796:2;14789:5;14785:14;14778:66;14891:3;14887:2;14883:12;14877:19;14871:3;14864:5;14860:15;14853:44;14944:3;14940:2;14936:12;14930:19;14924:3;14917:5;14913:15;14906:44;14969:5;14959:15;;;;;13928:1052;;;;:::o;16057:127::-;16118:10;16113:3;16109:20;16106:1;16099:31;16149:4;16146:1;16139:15;16173:4;16170:1;16163:15;16189:125;16254:9;;;16275:10;;;16272:36;;;16288:18;;:::i;16319:128::-;16386:9;;;16407:11;;;16404:37;;;16421:18;;:::i;16452:168::-;16525:9;;;16556;;16573:15;;;16567:22;;16553:37;16543:71;;16594:18;;:::i;16625:217::-;16665:1;16691;16681:132;;16735:10;16730:3;16726:20;16723:1;16716:31;16770:4;16767:1;16760:15;16798:4;16795:1;16788:15;16681:132;-1:-1:-1;16827:9:17;;16625:217::o;16847:350::-;17049:2;17031:21;;;17088:2;17068:18;;;17061:30;17127:28;17122:2;17107:18;;17100:56;17188:2;17173:18;;16847:350::o;18031:543::-;18133:2;18128:3;18125:11;18122:446;;;18169:1;18193:5;18190:1;18183:16;18237:4;18234:1;18224:18;18307:2;18295:10;18291:19;18288:1;18284:27;18278:4;18274:38;18343:4;18331:10;18328:20;18325:47;;;-1:-1:-1;18366:4:17;18325:47;18421:2;18416:3;18412:12;18409:1;18405:20;18399:4;18395:31;18385:41;;18476:82;18494:2;18487:5;18484:13;18476:82;;;18539:17;;;18520:1;18509:13;18476:82;;18750:1345;18876:3;18870:10;-1:-1:-1;;;;;18895:6:17;18892:30;18889:56;;;18925:18;;:::i;:::-;18954:97;19044:6;19004:38;19036:4;19030:11;19004:38;:::i;:::-;18998:4;18954:97;:::i;:::-;19106:4;;19163:2;19152:14;;19180:1;19175:663;;;;19882:1;19899:6;19896:89;;;-1:-1:-1;19951:19:17;;;19945:26;19896:89;-1:-1:-1;;18707:1:17;18703:11;;;18699:24;18695:29;18685:40;18731:1;18727:11;;;18682:57;19998:81;;19145:944;;19175:663;17978:1;17971:14;;;18015:4;18002:18;;-1:-1:-1;;19211:20:17;;;19329:236;19343:7;19340:1;19337:14;19329:236;;;19432:19;;;19426:26;19411:42;;19524:27;;;;19492:1;19480:14;;;;19359:19;;19329:236;;;19333:3;19593:6;19584:7;19581:19;19578:201;;;19654:19;;;19648:26;-1:-1:-1;;19737:1:17;19733:14;;;19749:3;19729:24;19725:37;19721:42;19706:58;19691:74;;19578:201;-1:-1:-1;;;;;19825:1:17;19809:14;;;19805:22;19792:36;;-1:-1:-1;18750:1345:17:o;20100:383::-;20297:2;20286:9;20279:21;20260:4;20323:45;20364:2;20353:9;20349:18;20341:6;20323:45;:::i;:::-;20416:9;20408:6;20404:22;20399:2;20388:9;20384:18;20377:50;20444:33;20470:6;20462;20444:33;:::i;20832:461::-;21065:6;21054:9;21047:25;21108:3;21103:2;21092:9;21088:18;21081:31;21028:4;21129:46;21170:3;21159:9;21155:19;21147:6;21129:46;:::i;:::-;21206:2;21191:18;;21184:34;;;;-1:-1:-1;;;;;;21254:32:17;;;;21249:2;21234:18;;;21227:60;21121:54;20832:461;-1:-1:-1;;20832:461:17:o;21298:135::-;21337:3;21358:17;;;21355:43;;21378:18;;:::i;:::-;-1:-1:-1;21425:1:17;21414:13;;21298:135::o;21438:184::-;21508:6;21561:2;21549:9;21540:7;21536:23;21532:32;21529:52;;;21577:1;21574;21567:12;21529:52;-1:-1:-1;21600:16:17;;21438:184;-1:-1:-1;21438:184:17:o;21816:918::-;21912:6;21965:2;21953:9;21944:7;21940:23;21936:32;21933:52;;;21981:1;21978;21971:12;21933:52;22014:9;22008:16;-1:-1:-1;;;;;22084:2:17;22076:6;22073:14;22070:34;;;22100:1;22097;22090:12;22070:34;22123:22;;;;22179:4;22161:16;;;22157:27;22154:47;;;22197:1;22194;22187:12;22154:47;22223:22;;:::i;:::-;22275:2;22269:9;22287:33;22312:7;22287:33;:::i;:::-;22329:22;;22390:2;22382:11;;22376:18;22406:16;;;22403:36;;;22435:1;22432;22425:12;22403:36;22471:56;22519:7;22508:8;22504:2;22500:17;22471:56;:::i;:::-;22466:2;22459:5;22455:14;22448:80;;22574:2;22570;22566:11;22560:18;22555:2;22548:5;22544:14;22537:42;22625:2;22621;22617:11;22611:18;22606:2;22599:5;22595:14;22588:42;22663:40;22698:3;22694:2;22690:12;22663:40;:::i;:::-;22657:3;22646:15;;22639:65;22650:5;21816:918;-1:-1:-1;;;;;21816:918:17:o;22739:251::-;22809:6;22862:2;22850:9;22841:7;22837:23;22833:32;22830:52;;;22878:1;22875;22868:12;22830:52;22910:9;22904:16;22929:31;22954:5;22929:31;:::i;22995:1043::-;23090:6;23143:2;23131:9;23122:7;23118:23;23114:32;23111:52;;;23159:1;23156;23149:12;23111:52;23192:9;23186:16;-1:-1:-1;;;;;23262:2:17;23254:6;23251:14;23248:34;;;23278:1;23275;23268:12;23248:34;23301:22;;;;23357:4;23339:16;;;23335:27;23332:47;;;23375:1;23372;23365:12;23332:47;23401:22;;:::i;:::-;23454:2;23448:9;23482:2;23472:8;23469:16;23466:36;;;23498:1;23495;23488:12;23466:36;23525:56;23573:7;23562:8;23558:2;23554:17;23525:56;:::i;:::-;23518:5;23511:71;;23621:2;23617;23613:11;23607:18;23650:2;23640:8;23637:16;23634:36;;;23666:1;23663;23656:12;23634:36;23702:56;23750:7;23739:8;23735:2;23731:17;23702:56;:::i;:::-;23697:2;23690:5;23686:14;23679:80;;23798:2;23794;23790:11;23784:18;23827:2;23817:8;23814:16;23811:36;;;23843:1;23840;23833:12;23811:36;23879:56;23927:7;23916:8;23912:2;23908:17;23879:56;:::i;:::-;23874:2;23867:5;23863:14;23856:80;;23968:39;24003:2;23999;23995:11;23968:39;:::i;:::-;23963:2;23952:14;;23945:63;23956:5;22995:1043;-1:-1:-1;;;;;22995:1043:17:o;24043:546::-;24288:2;24277:9;24270:21;24251:4;24314:45;24355:2;24344:9;24340:18;24332:6;24314:45;:::i;:::-;24407:9;24399:6;24395:22;24390:2;24379:9;24375:18;24368:50;24441:33;24467:6;24459;24441:33;:::i;:::-;24427:47;;24522:9;24514:6;24510:22;24505:2;24494:9;24490:18;24483:50;24550:33;24576:6;24568;24550:33;:::i;:::-;24542:41;24043:546;-1:-1:-1;;;;;;24043:546:17:o;24594:971::-;24689:6;24742:2;24730:9;24721:7;24717:23;24713:32;24710:52;;;24758:1;24755;24748:12;24710:52;24791:9;24785:16;-1:-1:-1;;;;;24861:2:17;24853:6;24850:14;24847:34;;;24877:1;24874;24867:12;24847:34;24900:22;;;;24956:4;24938:16;;;24934:27;24931:47;;;24974:1;24971;24964:12;24931:47;25000:22;;:::i;:::-;25053:2;25047:9;25081:2;25071:8;25068:16;25065:36;;;25097:1;25094;25087:12;25065:36;25124:56;25172:7;25161:8;25157:2;25153:17;25124:56;:::i;:::-;25117:5;25110:71;;25220:2;25216;25212:11;25206:18;25249:2;25239:8;25236:16;25233:36;;;25265:1;25262;25255:12;25233:36;25301:56;25349:7;25338:8;25334:2;25330:17;25301:56;:::i;:::-;25296:2;25289:5;25285:14;25278:80;;25397:2;25393;25389:11;25383:18;25426:2;25416:8;25413:16;25410:36;;;25442:1;25439;25432:12;25410:36;25478:56;25526:7;25515:8;25511:2;25507:17;25478:56;:::i;:::-;25473:2;25462:14;;25455:80;-1:-1:-1;25466:5:17;24594:971;-1:-1:-1;;;;;24594:971:17:o;25570:287::-;25699:3;25737:6;25731:13;25753:66;25812:6;25807:3;25800:4;25792:6;25788:17;25753:66;:::i;:::-;25835:16;;;;;25570:287;-1:-1:-1;;25570:287:17:o" + }, + "methodIdentifiers": { + "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", + "addProposal(address,string,uint256,address)": "aebfd80e", + "addRating(address,uint256)": "70370a81", + "agentRegistryV1()": "dca60776", + "agents(address)": "fd66091e", + "getAgentData(address)": "aac9f15a", + "getProposal(uint256)": "c7f758a8", + "getReputation(address)": "9c89a0e2", + "initialize(address,address)": "485cc955", + "migrateAgent(address)": "5c8a4839", + "nextProposalId()": "2ab09d14", + "owner()": "8da5cb5b", + "proposals(uint256)": "013cf08b", + "proxiableUUID()": "52d1902d", + "registerAgent(address,string,string)": "7216fe48", + "registerAgentWithService(address,string,string,string,uint256,address)": "270baaa8", + "removeAgent(address)": "97a6278e", + "removeProposal(address,uint256)": "7b5c219d", + "renounceOwnership()": "715018a6", + "serviceRegistry()": "cbcf252a", + "setAgentData(address,string,string)": "96a45139", + "setServiceRegistry(address)": "d7071b1f", + "setTaskRegistry(address)": "b2d78069", + "taskRegistry()": "9e498f16", + "transferOwnership(address)": "f2fde38b", + "upgradeToAndCall(address,bytes)": "4f1ef286" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"AgentDataUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"AgentRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AgentRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"version\",\"type\":\"uint64\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"ProposalAdded\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"ProposalRemoved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"ProposalUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newReputation\",\"type\":\"uint256\"}],\"name\":\"ReputationUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"servicePrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"addProposal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_rating\",\"type\":\"uint256\"}],\"name\":\"addRating\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"agentRegistryV1\",\"outputs\":[{\"internalType\":\"contract IAgentRegistryV1\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"agents\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reputation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalRatings\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_agent\",\"type\":\"address\"}],\"name\":\"getAgentData\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reputation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalRatings\",\"type\":\"uint256\"}],\"internalType\":\"struct AgentsRegistryUpgradeable.AgentData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct IProposalStruct.ServiceProposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"getReputation\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract IAgentRegistryV1\",\"name\":\"_agentRegistryV1\",\"type\":\"address\"},{\"internalType\":\"contract ServiceRegistryUpgradeable\",\"name\":\"_serviceRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"migrateAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"registerAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"servicePrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"}],\"name\":\"registerAgentWithService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"removeAgent\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"removeProposal\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"serviceRegistry\",\"outputs\":[{\"internalType\":\"contract ServiceRegistryUpgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"}],\"name\":\"setAgentData\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_serviceRegistry\",\"type\":\"address\"}],\"name\":\"setServiceRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_taskRegistry\",\"type\":\"address\"}],\"name\":\"setTaskRegistry\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"taskRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"addProposal(address,string,uint256,address)\":{\"details\":\"Adds a new proposal for an agent.\",\"params\":{\"agent\":\"The address of the agent.\",\"serviceName\":\"The name of the service.\",\"servicePrice\":\"The price of the service. Requirements: - The caller must be the owner of the agent. - The agent must be registered. - The service must be registered. Emits a {ProposalAdded} event.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getAgentData(address)\":{\"details\":\"Returns the data of an agent.\",\"params\":{\"_agent\":\"The address of the agent.\"},\"returns\":{\"_0\":\"AgentData The data of the agent.\"}},\"initialize(address,address)\":{\"details\":\"Initializes the contract\",\"params\":{\"_agentRegistryV1\":\"The address of the V1 agent registry for migration\",\"_serviceRegistry\":\"The address of the service registry\"}},\"migrateAgent(address)\":{\"details\":\"Migrates an agent.\",\"params\":{\"agent\":\"The address of the agent.\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerAgent(address,string,string)\":{\"details\":\"Registers a new agent with the given details.\",\"params\":{\"agent\":\"The address of the agent. Requirements: - The agent must not already be registered. - The caller will be set as the owner of the agent. Emits an {AgentRegistered} event.\",\"agentUri\":\"The URI pointing to the agent's metadata.\",\"name\":\"The name of the agent.\"}},\"registerAgentWithService(address,string,string,string,uint256,address)\":{\"details\":\"Registers a new agent with the given details and the proposal.\",\"params\":{\"agent\":\"The address of the agent.\",\"agentUri\":\"The URI pointing to the agent's metadata.\",\"name\":\"The name of the agent.\",\"serviceName\":\"The name of the service.\",\"servicePrice\":\"The price of the service. Requirements: - The agent must not already be registered. - The caller will be set as the owner of the agent. Emits an {AgentRegistered} event.\"}},\"removeAgent(address)\":{\"details\":\"Removes an existing agent and removes all associated proposals.\",\"params\":{\"agent\":\"The address of the agent to remove. Requirements: - The caller must be the owner of the agent. - The agent must be registered. Emits an {AgentRemoved} event and {ProposalRemoved} events for each removed proposal.\"}},\"removeProposal(address,uint256)\":{\"details\":\"Removes a proposal for an agent.\",\"params\":{\"agent\":\"The address of the agent.\",\"proposalId\":\"The ID of the proposal to remove.\"},\"returns\":{\"_0\":\"true if the proposal was removed successfully, false otherwise. Requirements: - The caller must be the owner of the agent. - The agent must be registered. - The proposal must exist. Emits a {ProposalRemoved} event.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setAgentData(address,string,string)\":{\"details\":\"Sets the data of an existing agent.\",\"params\":{\"agent\":\"The address of the agent to update.\",\"agentUri\":\"The new URI pointing to the agent's metadata. Requirements: - The caller must be the owner of the agent. - The agent must be registered. Emits an {AgentDataUpdated} event.\",\"name\":\"The new name of the agent.\"}},\"setServiceRegistry(address)\":{\"details\":\"Sets the address of the ServiceRegistry contract.\",\"params\":{\"_serviceRegistry\":\"The address of the ServiceRegistry contract.\"}},\"setTaskRegistry(address)\":{\"details\":\"Sets the address of the TaskRegistry contract.\",\"params\":{\"_taskRegistry\":\"The address of the TaskRegistry contract.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"AgentsRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the agents, and the services proposals provided by the agents.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AgentsRegistryUpgradeable.sol\":\"AgentsRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xe5149f631a8e1a7a69acb078fe71de57ee8cceafd8fbd853f7e06608123c76a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31c481c3cc50228da8d41963f7c84a3d1c29a5ef31e6fee38857a7cdbe4e884e\",\"dweb:/ipfs/QmYFgcoeARWkTwEks7Vie9ezcFmHssGYAqxDfo5TnUkdBc\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]}},\"version\":1}", + "storageLayout": { + "storage": [ + { + "astId": 1482, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "agentRegistryV1", + "offset": 0, + "slot": "0", + "type": "t_contract(IAgentRegistryV1)3258" + }, + { + "astId": 1485, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "serviceRegistry", + "offset": 0, + "slot": "1", + "type": "t_contract(ServiceRegistryUpgradeable)2577" + }, + { + "astId": 1487, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "taskRegistry", + "offset": 0, + "slot": "2", + "type": "t_address" + }, + { + "astId": 1492, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "agents", + "offset": 0, + "slot": "3", + "type": "t_mapping(t_address,t_struct(AgentData)1479_storage)" + }, + { + "astId": 1497, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "proposals", + "offset": 0, + "slot": "4", + "type": "t_mapping(t_uint256,t_struct(ServiceProposal)3273_storage)" + }, + { + "astId": 1499, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "nextProposalId", + "offset": 0, + "slot": "5", + "type": "t_uint256" + }, + { + "astId": 2362, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "__gap", + "offset": 0, + "slot": "6", + "type": "t_array(t_uint256)50_storage" + } + ], + "types": { + "t_address": { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)50_storage": { + "base": "t_uint256", + "encoding": "inplace", + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "encoding": "inplace", + "label": "bool", + "numberOfBytes": "1" + }, + "t_contract(IAgentRegistryV1)3258": { + "encoding": "inplace", + "label": "contract IAgentRegistryV1", + "numberOfBytes": "20" + }, + "t_contract(ServiceRegistryUpgradeable)2577": { + "encoding": "inplace", + "label": "contract ServiceRegistryUpgradeable", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_struct(AgentData)1479_storage)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => struct AgentsRegistryUpgradeable.AgentData)", + "numberOfBytes": "32", + "value": "t_struct(AgentData)1479_storage" + }, + "t_mapping(t_uint256,t_struct(ServiceProposal)3273_storage)": { + "encoding": "mapping", + "key": "t_uint256", + "label": "mapping(uint256 => struct IProposalStruct.ServiceProposal)", + "numberOfBytes": "32", + "value": "t_struct(ServiceProposal)3273_storage" + }, + "t_string_storage": { + "encoding": "bytes", + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(AgentData)1479_storage": { + "encoding": "inplace", + "label": "struct AgentsRegistryUpgradeable.AgentData", + "members": [ + { + "astId": 1468, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "name", + "offset": 0, + "slot": "0", + "type": "t_string_storage" + }, + { + "astId": 1470, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "agentUri", + "offset": 0, + "slot": "1", + "type": "t_string_storage" + }, + { + "astId": 1472, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "owner", + "offset": 0, + "slot": "2", + "type": "t_address" + }, + { + "astId": 1474, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "agent", + "offset": 0, + "slot": "3", + "type": "t_address" + }, + { + "astId": 1476, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "reputation", + "offset": 0, + "slot": "4", + "type": "t_uint256" + }, + { + "astId": 1478, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "totalRatings", + "offset": 0, + "slot": "5", + "type": "t_uint256" + } + ], + "numberOfBytes": "192" + }, + "t_struct(ServiceProposal)3273_storage": { + "encoding": "inplace", + "label": "struct IProposalStruct.ServiceProposal", + "members": [ + { + "astId": 3262, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "issuer", + "offset": 0, + "slot": "0", + "type": "t_address" + }, + { + "astId": 3264, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "serviceName", + "offset": 0, + "slot": "1", + "type": "t_string_storage" + }, + { + "astId": 3266, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "price", + "offset": 0, + "slot": "2", + "type": "t_uint256" + }, + { + "astId": 3268, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "tokenAddress", + "offset": 0, + "slot": "3", + "type": "t_address" + }, + { + "astId": 3270, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "proposalId", + "offset": 0, + "slot": "4", + "type": "t_uint256" + }, + { + "astId": 3272, + "contract": "contracts/AgentsRegistryUpgradeable.sol:AgentsRegistryUpgradeable", + "label": "isActive", + "offset": 0, + "slot": "5", + "type": "t_bool" + } + ], + "numberOfBytes": "192" + }, + "t_uint256": { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + } + }, + "IServiceRegistryV1": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "serviceName", + "type": "string" + } + ], + "name": "getService", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "category", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + }, + { + "internalType": "bool", + "name": "isActive", + "type": "bool" + } + ], + "internalType": "struct IServiceRegistryV1.Service", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "getService(string)": "794758be" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"}],\"name\":\"getService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct IServiceRegistryV1.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/AgentsRegistryUpgradeable.sol\":\"IServiceRegistryV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xe5149f631a8e1a7a69acb078fe71de57ee8cceafd8fbd853f7e06608123c76a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31c481c3cc50228da8d41963f7c84a3d1c29a5ef31e6fee38857a7cdbe4e884e\",\"dweb:/ipfs/QmYFgcoeARWkTwEks7Vie9ezcFmHssGYAqxDfo5TnUkdBc\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "contracts/ServiceRegistryUpgradeable.sol": { + "ServiceRegistryUpgradeable": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "type": "error" + }, + { + "inputs": [], + "name": "FailedCall", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "inputs": [], + "name": "UUPSUnauthorizedCallContext", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + } + ], + "name": "UUPSUnsupportedProxiableUUID", + "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": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "category", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "name": "ServiceRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "category", + "type": "string" + }, + { + "indexed": false, + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "name": "ServiceUpdated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "getService", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "category", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "internalType": "struct ServiceRegistryUpgradeable.Service", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + } + ], + "name": "isServiceRegistered", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "category", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "name": "registerService", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "category", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "internalType": "struct ServiceRegistryUpgradeable.Service", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "serviceCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "services", + "outputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "category", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "category", + "type": "string" + }, + { + "internalType": "string", + "name": "description", + "type": "string" + } + ], + "name": "updateService", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_2413": { + "entryPoint": null, + "id": 2413, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_disableInitializers_416": { + "entryPoint": 34, + "id": 416, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_getInitializableStorage_461": { + "entryPoint": null, + "id": 461, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_initializableStorageSlot_447": { + "entryPoint": null, + "id": 447, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:216:17", + "nodeType": "YulBlock", + "src": "0:216:17", + "statements": [ + { + "nativeSrc": "6:3:17", + "nodeType": "YulBlock", + "src": "6:3:17", + "statements": [] + }, + { + "body": { + "nativeSrc": "113:101:17", + "nodeType": "YulBlock", + "src": "113:101:17", + "statements": [ + { + "nativeSrc": "123:26:17", + "nodeType": "YulAssignment", + "src": "123:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "135:9:17", + "nodeType": "YulIdentifier", + "src": "135:9:17" + }, + { + "kind": "number", + "nativeSrc": "146:2:17", + "nodeType": "YulLiteral", + "src": "146:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "131:3:17", + "nodeType": "YulIdentifier", + "src": "131:3:17" + }, + "nativeSrc": "131:18:17", + "nodeType": "YulFunctionCall", + "src": "131:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "123:4:17", + "nodeType": "YulIdentifier", + "src": "123:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "165:9:17", + "nodeType": "YulIdentifier", + "src": "165:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "180:6:17", + "nodeType": "YulIdentifier", + "src": "180:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "196:2:17", + "nodeType": "YulLiteral", + "src": "196:2:17", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nativeSrc": "200:1:17", + "nodeType": "YulLiteral", + "src": "200:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "192:3:17", + "nodeType": "YulIdentifier", + "src": "192:3:17" + }, + "nativeSrc": "192:10:17", + "nodeType": "YulFunctionCall", + "src": "192:10:17" + }, + { + "kind": "number", + "nativeSrc": "204:1:17", + "nodeType": "YulLiteral", + "src": "204:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "188:3:17", + "nodeType": "YulIdentifier", + "src": "188:3:17" + }, + "nativeSrc": "188:18:17", + "nodeType": "YulFunctionCall", + "src": "188:18:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "176:3:17", + "nodeType": "YulIdentifier", + "src": "176:3:17" + }, + "nativeSrc": "176:31:17", + "nodeType": "YulFunctionCall", + "src": "176:31:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "158:6:17", + "nodeType": "YulIdentifier", + "src": "158:6:17" + }, + "nativeSrc": "158:50:17", + "nodeType": "YulFunctionCall", + "src": "158:50:17" + }, + "nativeSrc": "158:50:17", + "nodeType": "YulExpressionStatement", + "src": "158:50:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed", + "nativeSrc": "14:200:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "82:9:17", + "nodeType": "YulTypedName", + "src": "82:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "93:6:17", + "nodeType": "YulTypedName", + "src": "93:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "104:4:17", + "nodeType": "YulTypedName", + "src": "104:4:17", + "type": "" + } + ], + "src": "14:200:17" + } + ] + }, + "contents": "{\n { }\n function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n }\n}", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516115ab6100fd60003960008181610bce01528181610bf70152610d3d01526115ab6000f3fe6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611131565b6102b5565b6040516100e7939291906111be565b61013261012d36600461121d565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611131565b6104ca565b6040516100e7919061127f565b34801561019757600080fd5b506101326101a63660046112d7565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e7919061135f565b34801561025157600080fd5b50610265610260366004611131565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d7565b6109da565b3480156102a157600080fd5b506101326102b0366004611372565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138d565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138d565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138d565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155683398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c7565b90815260200160405180910390206040518060600160405290816000820180546105279061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138d565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138d565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138d565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff90869060040161135f565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e3565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c7565b908152604051908190036020019020815181906107d29082611455565b50602082015160018201906107e79082611455565b50604082015160028201906107fc9082611455565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111be565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c7565b90815260405190819003602001902080546109d09061138d565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a2190879060040161135f565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e3565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c7565b90815260405190819003602001902081518190610afc9082611455565b5060208201516001820190610b119082611455565b5060408201516002820190610b269082611455565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111be565b60405180910390a160018054906000610b7583611515565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611556833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153c565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115568339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c7565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b6576110b6611085565b604051601f8501601f19908116603f011681019082821181831017156110de576110de611085565b816040528093508581528686860111156110f757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112257600080fd5b610b7e8383356020850161109b565b60006020828403121561114357600080fd5b813567ffffffffffffffff81111561115a57600080fd5b61116684828501611111565b949350505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b6060815260006111d16060830186611192565b82810360208401526111e38186611192565b905082810360408401526111f78185611192565b9695505050505050565b80356001600160a01b038116811461121857600080fd5b919050565b6000806040838503121561123057600080fd5b61123983611201565b9150602083013567ffffffffffffffff81111561125557600080fd5b8301601f8101851361126657600080fd5b6112758582356020840161109b565b9150509250929050565b60208152600082516060602084015261129b6080840182611192565b90506020840151601f19808584030160408601526112b98383611192565b9250604086015191508085840301606086015250610fd98282611192565b6000806000606084860312156112ec57600080fd5b833567ffffffffffffffff8082111561130457600080fd5b61131087838801611111565b9450602086013591508082111561132657600080fd5b61133287838801611111565b9350604086013591508082111561134857600080fd5b5061135586828701611111565b9150509250925092565b602081526000610b7e6020830184611192565b60006020828403121561138457600080fd5b610b7e82611201565b600181811c908216806113a157607f821691505b6020821081036113c157634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113d981846020870161116e565b9190910192915050565b6000602082840312156113f557600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142e5750805b601f850160051c820191505b8181101561144d5782815560010161143a565b505050505050565b815167ffffffffffffffff81111561146f5761146f611085565b6114838161147d845461138d565b84611405565b602080601f8311600181146114b857600084156114a05750858301515b600019600386901b1c1916600185901b17855561144d565b600085815260208120601f198616915b828110156114e7578886015182559484019460019091019084016114c8565b50858210156115055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153557634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154e57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212202bfc3b81f904787b5ab23808a04349a17cd56f161fa1b7a96ecce2619be06d4264736f6c63430008160033", + "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x14 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D PUSH2 0x22 JUMP JUMPDEST PUSH2 0xD4 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x72 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH2 0xD1 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x15AB PUSH2 0xFD PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0xBCE ADD MSTORE DUP2 DUP2 PUSH2 0xBF7 ADD MSTORE PUSH2 0xD3D ADD MSTORE PUSH2 0x15AB PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC2 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7F3ED719 GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xAD3CB1CC GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xB405166B EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xEF57D884 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7F3ED719 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x1AB JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6237526 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x3017BA09 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x794758BE EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x110 PUSH2 0x10B CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH2 0x132 PUSH2 0x12D CALLDATASIZE PUSH1 0x4 PUSH2 0x121D JUMP JUMPDEST PUSH2 0x47A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x499 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x4B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x127F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x1A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D7 JUMP JUMPDEST PUSH2 0x6D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x840 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x238 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x135F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D7 JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1372 JUMP JUMPDEST PUSH2 0xB85 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x0 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD DUP2 SWAP1 PUSH2 0x2DB SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x354 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x329 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x354 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x337 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x369 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x395 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3E2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3C5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x3F7 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x423 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x470 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x445 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x470 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x453 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xBC3 JUMP JUMPDEST PUSH2 0x48B DUP3 PUSH2 0xC68 JUMP JUMPDEST PUSH2 0x495 DUP3 DUP3 PUSH2 0xC70 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A3 PUSH2 0xD32 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x4BE PUSH2 0xD7B JUMP JUMPDEST PUSH2 0x4C8 PUSH1 0x0 PUSH2 0xDD6 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH2 0x4FE SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x527 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x553 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5A0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x575 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5A0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x583 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x5B9 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5E5 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x632 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x607 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x632 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x615 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x64B SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x677 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6C4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x699 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6C4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6A7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6DC PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x6FF SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x135F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x71C 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 0x740 SWAP2 SWAP1 PUSH2 0x13E3 JUMP JUMPDEST PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP5 PUSH1 0x40 MLOAD PUSH2 0x7B5 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0x7D2 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0x7E7 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x7FC SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0x4CD09E35844CCDF25AAC9862AF453CEDF05D8A8B765F2763BE8373B55215DF8D DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x833 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x1 PUSH1 0x40 SHL DUP2 DIV PUSH1 0xFF AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x886 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x8A3 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x8B1 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x8CF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x8F9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x902 CALLER PUSH2 0xE47 JUMP JUMPDEST PUSH2 0x90A PUSH2 0xE58 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SSTORE DUP4 ISZERO PUSH2 0x955 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD GT PUSH2 0x9A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x496E76616C69642073657276696365206E616D65 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x40 MLOAD PUSH2 0x9B6 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x9D0 SWAP1 PUSH2 0x138D JUMP JUMPDEST SWAP1 POP GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0xA21 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x135F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA3E 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 0xA62 SWAP2 SWAP1 PUSH2 0x13E3 JUMP JUMPDEST ISZERO PUSH2 0xAAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636520616C72656164792072656769737465726564000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 POP DUP1 PUSH1 0x0 DUP7 PUSH1 0x40 MLOAD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0xAFC SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0xB11 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0xB26 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xC182FE36565BE4905BE53A8ED353F07898B528F1625E778EDF77C13674806486 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xB5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xB75 DUP4 PUSH2 0x1515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP SWAP1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xB8D PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBB7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xDD6 JUMP JUMPDEST POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0xC4A JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC3E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBC0 PUSH2 0xD7B JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xCCA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xCC7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x153C JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xCF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0xD23 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xD2D DUP4 DUP4 PUSH2 0xE60 JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0xDAD PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0xE4F PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xEFF JUMP JUMPDEST PUSH2 0x4C8 PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xE69 DUP3 PUSH2 0xF07 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0xEAE JUMPI PUSH2 0xD2D DUP3 DUP3 PUSH2 0xF6C JUMP JUMPDEST PUSH2 0x495 PUSH2 0xFE2 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB8D PUSH2 0xEB6 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0xF3D JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0xF89 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xFC4 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 0xFC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xFD9 DUP6 DUP4 DUP4 PUSH2 0x1001 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1016 JUMPI PUSH2 0x1011 DUP3 PUSH2 0x105D JUMP JUMPDEST PUSH2 0xB7E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x102D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1056 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST POP DUP1 PUSH2 0xB7E JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x106C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x10B6 JUMPI PUSH2 0x10B6 PUSH2 0x1085 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x10DE JUMPI PUSH2 0x10DE PUSH2 0x1085 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x10F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1122 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x109B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x115A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1166 DUP5 DUP3 DUP6 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1189 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1171 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x11AA DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x116E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x11D1 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x1192 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x11E3 DUP2 DUP7 PUSH2 0x1192 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x11F7 DUP2 DUP6 PUSH2 0x1192 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1239 DUP4 PUSH2 0x1201 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1255 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x1266 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1275 DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x109B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0x60 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x129B PUSH1 0x80 DUP5 ADD DUP3 PUSH2 0x1192 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP1 DUP6 DUP5 SUB ADD PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x12B9 DUP4 DUP4 PUSH2 0x1192 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP6 DUP5 SUB ADD PUSH1 0x60 DUP7 ADD MSTORE POP PUSH2 0xFD9 DUP3 DUP3 PUSH2 0x1192 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x12EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1304 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1310 DUP8 DUP4 DUP9 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1332 DUP8 DUP4 DUP9 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1355 DUP7 DUP3 DUP8 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xB7E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1192 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1384 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP3 PUSH2 0x1201 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x13A1 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x13C1 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x13D9 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x116E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xD2D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x142E JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x144D JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x143A JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x146F JUMPI PUSH2 0x146F PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x1483 DUP2 PUSH2 0x147D DUP5 SLOAD PUSH2 0x138D JUMP JUMPDEST DUP5 PUSH2 0x1405 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x14B8 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x14A0 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x144D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x14E7 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x14C8 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1505 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1535 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x154E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA26469706673582212202B 0xFC EXTCODESIZE DUP2 0xF9 DIV PUSH25 0x7B5AB23808A04349A17CD56F161FA1B7A96ECCE2619BE06D42 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "498:2704:12:-:0;;;1171:4:2;1128:48;;987:53:12;;;;;;;;;-1:-1:-1;1011:22:12;:20;:22::i;:::-;498:2704;;7709:422:1;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:1;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:1;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:1;-1:-1:-1;;;;;8033:33:1;;;;;8085:29;;158:50:17;;;8085:29:1;;146:2:17;131:18;8085:29:1;;;;;;;7979:146;7758:373;7709:422::o;14:200:17:-;498:2704:12;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@UPGRADE_INTERFACE_VERSION_486": { + "entryPoint": null, + "id": 486, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@__Ownable_init_54": { + "entryPoint": 3655, + "id": 54, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@__Ownable_init_unchained_81": { + "entryPoint": 3839, + "id": 81, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@__UUPSUpgradeable_init_516": { + "entryPoint": 3672, + "id": 516, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_authorizeUpgrade_2571": { + "entryPoint": 3176, + "id": 2571, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_checkInitializing_370": { + "entryPoint": 3766, + "id": 370, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_checkNonPayable_1014": { + "entryPoint": 4066, + "id": 1014, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_checkNotDelegated_592": { + "entryPoint": 3378, + "id": 592, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_checkOwner_122": { + "entryPoint": 3451, + "id": 122, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_checkProxy_576": { + "entryPoint": 3011, + "id": 576, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_getInitializableStorage_461": { + "entryPoint": null, + "id": 461, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_getOwnableStorage_25": { + "entryPoint": null, + "id": 25, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_initializableStorageSlot_447": { + "entryPoint": null, + "id": 447, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_isInitializing_438": { + "entryPoint": null, + "id": 438, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_msgSender_672": { + "entryPoint": null, + "id": 672, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_revert_1284": { + "entryPoint": 4189, + "id": 1284, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_setImplementation_794": { + "entryPoint": 3847, + "id": 794, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_transferOwnership_193": { + "entryPoint": 3542, + "id": 193, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_upgradeToAndCallUUPS_643": { + "entryPoint": 3184, + "id": 643, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@functionDelegateCall_1202": { + "entryPoint": 3948, + "id": 1202, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@getAddressSlot_1342": { + "entryPoint": null, + "id": 1342, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getImplementation_767": { + "entryPoint": null, + "id": 767, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getService_2495": { + "entryPoint": 1226, + "id": 2495, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@initialize_2432": { + "entryPoint": 2112, + "id": 2432, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@isServiceRegistered_2525": { + "entryPoint": 2396, + "id": 2525, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@owner_105": { + "entryPoint": null, + "id": 105, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@proxiableUUID_534": { + "entryPoint": 1177, + "id": 534, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@registerService_2481": { + "entryPoint": 2522, + "id": 2481, + "parameterSlots": 3, + "returnSlots": 1 + }, + "@renounceOwnership_136": { + "entryPoint": 1206, + "id": 136, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@serviceCount_2389": { + "entryPoint": null, + "id": 2389, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@services_2387": { + "entryPoint": 693, + "id": 2387, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@transferOwnership_164": { + "entryPoint": 2949, + "id": 164, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@updateService_2561": { + "entryPoint": 1748, + "id": 2561, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@upgradeToAndCall_554": { + "entryPoint": 1146, + "id": 554, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@upgradeToAndCall_830": { + "entryPoint": 3680, + "id": 830, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@verifyCallResultFromTarget_1242": { + "entryPoint": 4097, + "id": 1242, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_address": { + "entryPoint": 4609, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_available_length_string": { + "entryPoint": 4251, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_string": { + "entryPoint": 4369, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 4978, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_bytes_memory_ptr": { + "entryPoint": 4637, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_bool_fromMemory": { + "entryPoint": 5091, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes32_fromMemory": { + "entryPoint": 5436, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptr": { + "entryPoint": 4401, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr": { + "entryPoint": 4823, + "id": null, + "parameterSlots": 2, + "returnSlots": 3 + }, + "abi_encode_string": { + "entryPoint": 4498, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 5063, + "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_bytes32__to_t_bytes32__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 4959, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 4542, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_ac2c61739514b5f463c314c2780e64fc7747cb6b4d2c3e9147a35ee5c42aeefa__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_b193a272406cc908bf089bbfd62bbee3e6f0f99dfc3103f9a3b8b4618c96abfe__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_struct$_Service_$2382_memory_ptr__to_t_struct$_Service_$2382_memory_ptr__fromStack_reversed": { + "entryPoint": 4735, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "array_dataslot_string_storage": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_string_storage": { + "entryPoint": 5125, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 5205, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 4462, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 5005, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "increment_t_uint256": { + "entryPoint": 5397, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x41": { + "entryPoint": 4229, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:10937:17", + "nodeType": "YulBlock", + "src": "0:10937:17", + "statements": [ + { + "nativeSrc": "6:3:17", + "nodeType": "YulBlock", + "src": "6:3:17", + "statements": [] + }, + { + "body": { + "nativeSrc": "115:76:17", + "nodeType": "YulBlock", + "src": "115:76:17", + "statements": [ + { + "nativeSrc": "125:26:17", + "nodeType": "YulAssignment", + "src": "125:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "137:9:17", + "nodeType": "YulIdentifier", + "src": "137:9:17" + }, + { + "kind": "number", + "nativeSrc": "148:2:17", + "nodeType": "YulLiteral", + "src": "148:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "133:3:17", + "nodeType": "YulIdentifier", + "src": "133:3:17" + }, + "nativeSrc": "133:18:17", + "nodeType": "YulFunctionCall", + "src": "133:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "125:4:17", + "nodeType": "YulIdentifier", + "src": "125:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "167:9:17", + "nodeType": "YulIdentifier", + "src": "167:9:17" + }, + { + "name": "value0", + "nativeSrc": "178:6:17", + "nodeType": "YulIdentifier", + "src": "178:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "160:6:17", + "nodeType": "YulIdentifier", + "src": "160:6:17" + }, + "nativeSrc": "160:25:17", + "nodeType": "YulFunctionCall", + "src": "160:25:17" + }, + "nativeSrc": "160:25:17", + "nodeType": "YulExpressionStatement", + "src": "160:25:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "14:177:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "84:9:17", + "nodeType": "YulTypedName", + "src": "84:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "95:6:17", + "nodeType": "YulTypedName", + "src": "95:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "106:4:17", + "nodeType": "YulTypedName", + "src": "106:4:17", + "type": "" + } + ], + "src": "14:177:17" + }, + { + "body": { + "nativeSrc": "228:95:17", + "nodeType": "YulBlock", + "src": "228:95:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "245:1:17", + "nodeType": "YulLiteral", + "src": "245:1:17", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "252:3:17", + "nodeType": "YulLiteral", + "src": "252:3:17", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nativeSrc": "257:10:17", + "nodeType": "YulLiteral", + "src": "257:10:17", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "248:3:17", + "nodeType": "YulIdentifier", + "src": "248:3:17" + }, + "nativeSrc": "248:20:17", + "nodeType": "YulFunctionCall", + "src": "248:20:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "238:6:17", + "nodeType": "YulIdentifier", + "src": "238:6:17" + }, + "nativeSrc": "238:31:17", + "nodeType": "YulFunctionCall", + "src": "238:31:17" + }, + "nativeSrc": "238:31:17", + "nodeType": "YulExpressionStatement", + "src": "238:31:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "285:1:17", + "nodeType": "YulLiteral", + "src": "285:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "288:4:17", + "nodeType": "YulLiteral", + "src": "288:4:17", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "278:6:17", + "nodeType": "YulIdentifier", + "src": "278:6:17" + }, + "nativeSrc": "278:15:17", + "nodeType": "YulFunctionCall", + "src": "278:15:17" + }, + "nativeSrc": "278:15:17", + "nodeType": "YulExpressionStatement", + "src": "278:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "309:1:17", + "nodeType": "YulLiteral", + "src": "309:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "312:4:17", + "nodeType": "YulLiteral", + "src": "312:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "302:6:17", + "nodeType": "YulIdentifier", + "src": "302:6:17" + }, + "nativeSrc": "302:15:17", + "nodeType": "YulFunctionCall", + "src": "302:15:17" + }, + "nativeSrc": "302:15:17", + "nodeType": "YulExpressionStatement", + "src": "302:15:17" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "196:127:17", + "nodeType": "YulFunctionDefinition", + "src": "196:127:17" + }, + { + "body": { + "nativeSrc": "403:557:17", + "nodeType": "YulBlock", + "src": "403:557:17", + "statements": [ + { + "nativeSrc": "413:28:17", + "nodeType": "YulVariableDeclaration", + "src": "413:28:17", + "value": { + "kind": "number", + "nativeSrc": "423:18:17", + "nodeType": "YulLiteral", + "src": "423:18:17", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "417:2:17", + "nodeType": "YulTypedName", + "src": "417:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "468:22:17", + "nodeType": "YulBlock", + "src": "468:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "470:16:17", + "nodeType": "YulIdentifier", + "src": "470:16:17" + }, + "nativeSrc": "470:18:17", + "nodeType": "YulFunctionCall", + "src": "470:18:17" + }, + "nativeSrc": "470:18:17", + "nodeType": "YulExpressionStatement", + "src": "470:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "456:6:17", + "nodeType": "YulIdentifier", + "src": "456:6:17" + }, + { + "name": "_1", + "nativeSrc": "464:2:17", + "nodeType": "YulIdentifier", + "src": "464:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "453:2:17", + "nodeType": "YulIdentifier", + "src": "453:2:17" + }, + "nativeSrc": "453:14:17", + "nodeType": "YulFunctionCall", + "src": "453:14:17" + }, + "nativeSrc": "450:40:17", + "nodeType": "YulIf", + "src": "450:40:17" + }, + { + "nativeSrc": "499:17:17", + "nodeType": "YulVariableDeclaration", + "src": "499:17:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "513:2:17", + "nodeType": "YulLiteral", + "src": "513:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "509:3:17", + "nodeType": "YulIdentifier", + "src": "509:3:17" + }, + "nativeSrc": "509:7:17", + "nodeType": "YulFunctionCall", + "src": "509:7:17" + }, + "variables": [ + { + "name": "_2", + "nativeSrc": "503:2:17", + "nodeType": "YulTypedName", + "src": "503:2:17", + "type": "" + } + ] + }, + { + "nativeSrc": "525:23:17", + "nodeType": "YulVariableDeclaration", + "src": "525:23:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "545:2:17", + "nodeType": "YulLiteral", + "src": "545:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "539:5:17", + "nodeType": "YulIdentifier", + "src": "539:5:17" + }, + "nativeSrc": "539:9:17", + "nodeType": "YulFunctionCall", + "src": "539:9:17" + }, + "variables": [ + { + "name": "memPtr", + "nativeSrc": "529:6:17", + "nodeType": "YulTypedName", + "src": "529:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "557:73:17", + "nodeType": "YulVariableDeclaration", + "src": "557:73:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "579:6:17", + "nodeType": "YulIdentifier", + "src": "579:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "603:6:17", + "nodeType": "YulIdentifier", + "src": "603:6:17" + }, + { + "kind": "number", + "nativeSrc": "611:2:17", + "nodeType": "YulLiteral", + "src": "611:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "599:3:17", + "nodeType": "YulIdentifier", + "src": "599:3:17" + }, + "nativeSrc": "599:15:17", + "nodeType": "YulFunctionCall", + "src": "599:15:17" + }, + { + "name": "_2", + "nativeSrc": "616:2:17", + "nodeType": "YulIdentifier", + "src": "616:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "595:3:17", + "nodeType": "YulIdentifier", + "src": "595:3:17" + }, + "nativeSrc": "595:24:17", + "nodeType": "YulFunctionCall", + "src": "595:24:17" + }, + { + "kind": "number", + "nativeSrc": "621:2:17", + "nodeType": "YulLiteral", + "src": "621:2:17", + "type": "", + "value": "63" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "591:3:17", + "nodeType": "YulIdentifier", + "src": "591:3:17" + }, + "nativeSrc": "591:33:17", + "nodeType": "YulFunctionCall", + "src": "591:33:17" + }, + { + "name": "_2", + "nativeSrc": "626:2:17", + "nodeType": "YulIdentifier", + "src": "626:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "587:3:17", + "nodeType": "YulIdentifier", + "src": "587:3:17" + }, + "nativeSrc": "587:42:17", + "nodeType": "YulFunctionCall", + "src": "587:42:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "575:3:17", + "nodeType": "YulIdentifier", + "src": "575:3:17" + }, + "nativeSrc": "575:55:17", + "nodeType": "YulFunctionCall", + "src": "575:55:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "561:10:17", + "nodeType": "YulTypedName", + "src": "561:10:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "689:22:17", + "nodeType": "YulBlock", + "src": "689:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "691:16:17", + "nodeType": "YulIdentifier", + "src": "691:16:17" + }, + "nativeSrc": "691:18:17", + "nodeType": "YulFunctionCall", + "src": "691:18:17" + }, + "nativeSrc": "691:18:17", + "nodeType": "YulExpressionStatement", + "src": "691:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "648:10:17", + "nodeType": "YulIdentifier", + "src": "648:10:17" + }, + { + "name": "_1", + "nativeSrc": "660:2:17", + "nodeType": "YulIdentifier", + "src": "660:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "645:2:17", + "nodeType": "YulIdentifier", + "src": "645:2:17" + }, + "nativeSrc": "645:18:17", + "nodeType": "YulFunctionCall", + "src": "645:18:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "668:10:17", + "nodeType": "YulIdentifier", + "src": "668:10:17" + }, + { + "name": "memPtr", + "nativeSrc": "680:6:17", + "nodeType": "YulIdentifier", + "src": "680:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "665:2:17", + "nodeType": "YulIdentifier", + "src": "665:2:17" + }, + "nativeSrc": "665:22:17", + "nodeType": "YulFunctionCall", + "src": "665:22:17" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "642:2:17", + "nodeType": "YulIdentifier", + "src": "642:2:17" + }, + "nativeSrc": "642:46:17", + "nodeType": "YulFunctionCall", + "src": "642:46:17" + }, + "nativeSrc": "639:72:17", + "nodeType": "YulIf", + "src": "639:72:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "727:2:17", + "nodeType": "YulLiteral", + "src": "727:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "731:10:17", + "nodeType": "YulIdentifier", + "src": "731:10:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "720:6:17", + "nodeType": "YulIdentifier", + "src": "720:6:17" + }, + "nativeSrc": "720:22:17", + "nodeType": "YulFunctionCall", + "src": "720:22:17" + }, + "nativeSrc": "720:22:17", + "nodeType": "YulExpressionStatement", + "src": "720:22:17" + }, + { + "nativeSrc": "751:15:17", + "nodeType": "YulAssignment", + "src": "751:15:17", + "value": { + "name": "memPtr", + "nativeSrc": "760:6:17", + "nodeType": "YulIdentifier", + "src": "760:6:17" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "751:5:17", + "nodeType": "YulIdentifier", + "src": "751:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "782:6:17", + "nodeType": "YulIdentifier", + "src": "782:6:17" + }, + { + "name": "length", + "nativeSrc": "790:6:17", + "nodeType": "YulIdentifier", + "src": "790:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "775:6:17", + "nodeType": "YulIdentifier", + "src": "775:6:17" + }, + "nativeSrc": "775:22:17", + "nodeType": "YulFunctionCall", + "src": "775:22:17" + }, + "nativeSrc": "775:22:17", + "nodeType": "YulExpressionStatement", + "src": "775:22:17" + }, + { + "body": { + "nativeSrc": "835:16:17", + "nodeType": "YulBlock", + "src": "835:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "844:1:17", + "nodeType": "YulLiteral", + "src": "844:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "847:1:17", + "nodeType": "YulLiteral", + "src": "847:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "837:6:17", + "nodeType": "YulIdentifier", + "src": "837:6:17" + }, + "nativeSrc": "837:12:17", + "nodeType": "YulFunctionCall", + "src": "837:12:17" + }, + "nativeSrc": "837:12:17", + "nodeType": "YulExpressionStatement", + "src": "837:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "816:3:17", + "nodeType": "YulIdentifier", + "src": "816:3:17" + }, + { + "name": "length", + "nativeSrc": "821:6:17", + "nodeType": "YulIdentifier", + "src": "821:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "812:3:17", + "nodeType": "YulIdentifier", + "src": "812:3:17" + }, + "nativeSrc": "812:16:17", + "nodeType": "YulFunctionCall", + "src": "812:16:17" + }, + { + "name": "end", + "nativeSrc": "830:3:17", + "nodeType": "YulIdentifier", + "src": "830:3:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "809:2:17", + "nodeType": "YulIdentifier", + "src": "809:2:17" + }, + "nativeSrc": "809:25:17", + "nodeType": "YulFunctionCall", + "src": "809:25:17" + }, + "nativeSrc": "806:45:17", + "nodeType": "YulIf", + "src": "806:45:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "877:6:17", + "nodeType": "YulIdentifier", + "src": "877:6:17" + }, + { + "kind": "number", + "nativeSrc": "885:4:17", + "nodeType": "YulLiteral", + "src": "885:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "873:3:17", + "nodeType": "YulIdentifier", + "src": "873:3:17" + }, + "nativeSrc": "873:17:17", + "nodeType": "YulFunctionCall", + "src": "873:17:17" + }, + { + "name": "src", + "nativeSrc": "892:3:17", + "nodeType": "YulIdentifier", + "src": "892:3:17" + }, + { + "name": "length", + "nativeSrc": "897:6:17", + "nodeType": "YulIdentifier", + "src": "897:6:17" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "860:12:17", + "nodeType": "YulIdentifier", + "src": "860:12:17" + }, + "nativeSrc": "860:44:17", + "nodeType": "YulFunctionCall", + "src": "860:44:17" + }, + "nativeSrc": "860:44:17", + "nodeType": "YulExpressionStatement", + "src": "860:44:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "928:6:17", + "nodeType": "YulIdentifier", + "src": "928:6:17" + }, + { + "name": "length", + "nativeSrc": "936:6:17", + "nodeType": "YulIdentifier", + "src": "936:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "924:3:17", + "nodeType": "YulIdentifier", + "src": "924:3:17" + }, + "nativeSrc": "924:19:17", + "nodeType": "YulFunctionCall", + "src": "924:19:17" + }, + { + "kind": "number", + "nativeSrc": "945:4:17", + "nodeType": "YulLiteral", + "src": "945:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "920:3:17", + "nodeType": "YulIdentifier", + "src": "920:3:17" + }, + "nativeSrc": "920:30:17", + "nodeType": "YulFunctionCall", + "src": "920:30:17" + }, + { + "kind": "number", + "nativeSrc": "952:1:17", + "nodeType": "YulLiteral", + "src": "952:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "913:6:17", + "nodeType": "YulIdentifier", + "src": "913:6:17" + }, + "nativeSrc": "913:41:17", + "nodeType": "YulFunctionCall", + "src": "913:41:17" + }, + "nativeSrc": "913:41:17", + "nodeType": "YulExpressionStatement", + "src": "913:41:17" + } + ] + }, + "name": "abi_decode_available_length_string", + "nativeSrc": "328:632:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "372:3:17", + "nodeType": "YulTypedName", + "src": "372:3:17", + "type": "" + }, + { + "name": "length", + "nativeSrc": "377:6:17", + "nodeType": "YulTypedName", + "src": "377:6:17", + "type": "" + }, + { + "name": "end", + "nativeSrc": "385:3:17", + "nodeType": "YulTypedName", + "src": "385:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "393:5:17", + "nodeType": "YulTypedName", + "src": "393:5:17", + "type": "" + } + ], + "src": "328:632:17" + }, + { + "body": { + "nativeSrc": "1018:169:17", + "nodeType": "YulBlock", + "src": "1018:169:17", + "statements": [ + { + "body": { + "nativeSrc": "1067:16:17", + "nodeType": "YulBlock", + "src": "1067:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1076:1:17", + "nodeType": "YulLiteral", + "src": "1076:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1079:1:17", + "nodeType": "YulLiteral", + "src": "1079:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1069:6:17", + "nodeType": "YulIdentifier", + "src": "1069:6:17" + }, + "nativeSrc": "1069:12:17", + "nodeType": "YulFunctionCall", + "src": "1069:12:17" + }, + "nativeSrc": "1069:12:17", + "nodeType": "YulExpressionStatement", + "src": "1069:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1046:6:17", + "nodeType": "YulIdentifier", + "src": "1046:6:17" + }, + { + "kind": "number", + "nativeSrc": "1054:4:17", + "nodeType": "YulLiteral", + "src": "1054:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1042:3:17", + "nodeType": "YulIdentifier", + "src": "1042:3:17" + }, + "nativeSrc": "1042:17:17", + "nodeType": "YulFunctionCall", + "src": "1042:17:17" + }, + { + "name": "end", + "nativeSrc": "1061:3:17", + "nodeType": "YulIdentifier", + "src": "1061:3:17" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "1038:3:17", + "nodeType": "YulIdentifier", + "src": "1038:3:17" + }, + "nativeSrc": "1038:27:17", + "nodeType": "YulFunctionCall", + "src": "1038:27:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1031:6:17", + "nodeType": "YulIdentifier", + "src": "1031:6:17" + }, + "nativeSrc": "1031:35:17", + "nodeType": "YulFunctionCall", + "src": "1031:35:17" + }, + "nativeSrc": "1028:55:17", + "nodeType": "YulIf", + "src": "1028:55:17" + }, + { + "nativeSrc": "1092:89:17", + "nodeType": "YulAssignment", + "src": "1092:89:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1140:6:17", + "nodeType": "YulIdentifier", + "src": "1140:6:17" + }, + { + "kind": "number", + "nativeSrc": "1148:4:17", + "nodeType": "YulLiteral", + "src": "1148:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1136:3:17", + "nodeType": "YulIdentifier", + "src": "1136:3:17" + }, + "nativeSrc": "1136:17:17", + "nodeType": "YulFunctionCall", + "src": "1136:17:17" + }, + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1168:6:17", + "nodeType": "YulIdentifier", + "src": "1168:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "1155:12:17", + "nodeType": "YulIdentifier", + "src": "1155:12:17" + }, + "nativeSrc": "1155:20:17", + "nodeType": "YulFunctionCall", + "src": "1155:20:17" + }, + { + "name": "end", + "nativeSrc": "1177:3:17", + "nodeType": "YulIdentifier", + "src": "1177:3:17" + } + ], + "functionName": { + "name": "abi_decode_available_length_string", + "nativeSrc": "1101:34:17", + "nodeType": "YulIdentifier", + "src": "1101:34:17" + }, + "nativeSrc": "1101:80:17", + "nodeType": "YulFunctionCall", + "src": "1101:80:17" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1092:5:17", + "nodeType": "YulIdentifier", + "src": "1092:5:17" + } + ] + } + ] + }, + "name": "abi_decode_string", + "nativeSrc": "965:222:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "992:6:17", + "nodeType": "YulTypedName", + "src": "992:6:17", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1000:3:17", + "nodeType": "YulTypedName", + "src": "1000:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1008:5:17", + "nodeType": "YulTypedName", + "src": "1008:5:17", + "type": "" + } + ], + "src": "965:222:17" + }, + { + "body": { + "nativeSrc": "1272:242:17", + "nodeType": "YulBlock", + "src": "1272:242:17", + "statements": [ + { + "body": { + "nativeSrc": "1318:16:17", + "nodeType": "YulBlock", + "src": "1318:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1327:1:17", + "nodeType": "YulLiteral", + "src": "1327:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1330:1:17", + "nodeType": "YulLiteral", + "src": "1330:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1320:6:17", + "nodeType": "YulIdentifier", + "src": "1320:6:17" + }, + "nativeSrc": "1320:12:17", + "nodeType": "YulFunctionCall", + "src": "1320:12:17" + }, + "nativeSrc": "1320:12:17", + "nodeType": "YulExpressionStatement", + "src": "1320:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "1293:7:17", + "nodeType": "YulIdentifier", + "src": "1293:7:17" + }, + { + "name": "headStart", + "nativeSrc": "1302:9:17", + "nodeType": "YulIdentifier", + "src": "1302:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1289:3:17", + "nodeType": "YulIdentifier", + "src": "1289:3:17" + }, + "nativeSrc": "1289:23:17", + "nodeType": "YulFunctionCall", + "src": "1289:23:17" + }, + { + "kind": "number", + "nativeSrc": "1314:2:17", + "nodeType": "YulLiteral", + "src": "1314:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "1285:3:17", + "nodeType": "YulIdentifier", + "src": "1285:3:17" + }, + "nativeSrc": "1285:32:17", + "nodeType": "YulFunctionCall", + "src": "1285:32:17" + }, + "nativeSrc": "1282:52:17", + "nodeType": "YulIf", + "src": "1282:52:17" + }, + { + "nativeSrc": "1343:37:17", + "nodeType": "YulVariableDeclaration", + "src": "1343:37:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1370:9:17", + "nodeType": "YulIdentifier", + "src": "1370:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "1357:12:17", + "nodeType": "YulIdentifier", + "src": "1357:12:17" + }, + "nativeSrc": "1357:23:17", + "nodeType": "YulFunctionCall", + "src": "1357:23:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1347:6:17", + "nodeType": "YulTypedName", + "src": "1347:6:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1423:16:17", + "nodeType": "YulBlock", + "src": "1423:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1432:1:17", + "nodeType": "YulLiteral", + "src": "1432:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1435:1:17", + "nodeType": "YulLiteral", + "src": "1435:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1425:6:17", + "nodeType": "YulIdentifier", + "src": "1425:6:17" + }, + "nativeSrc": "1425:12:17", + "nodeType": "YulFunctionCall", + "src": "1425:12:17" + }, + "nativeSrc": "1425:12:17", + "nodeType": "YulExpressionStatement", + "src": "1425:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1395:6:17", + "nodeType": "YulIdentifier", + "src": "1395:6:17" + }, + { + "kind": "number", + "nativeSrc": "1403:18:17", + "nodeType": "YulLiteral", + "src": "1403:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1392:2:17", + "nodeType": "YulIdentifier", + "src": "1392:2:17" + }, + "nativeSrc": "1392:30:17", + "nodeType": "YulFunctionCall", + "src": "1392:30:17" + }, + "nativeSrc": "1389:50:17", + "nodeType": "YulIf", + "src": "1389:50:17" + }, + { + "nativeSrc": "1448:60:17", + "nodeType": "YulAssignment", + "src": "1448:60:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1480:9:17", + "nodeType": "YulIdentifier", + "src": "1480:9:17" + }, + { + "name": "offset", + "nativeSrc": "1491:6:17", + "nodeType": "YulIdentifier", + "src": "1491:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1476:3:17", + "nodeType": "YulIdentifier", + "src": "1476:3:17" + }, + "nativeSrc": "1476:22:17", + "nodeType": "YulFunctionCall", + "src": "1476:22:17" + }, + { + "name": "dataEnd", + "nativeSrc": "1500:7:17", + "nodeType": "YulIdentifier", + "src": "1500:7:17" + } + ], + "functionName": { + "name": "abi_decode_string", + "nativeSrc": "1458:17:17", + "nodeType": "YulIdentifier", + "src": "1458:17:17" + }, + "nativeSrc": "1458:50:17", + "nodeType": "YulFunctionCall", + "src": "1458:50:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1448:6:17", + "nodeType": "YulIdentifier", + "src": "1448:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptr", + "nativeSrc": "1192:322:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1238:9:17", + "nodeType": "YulTypedName", + "src": "1238:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "1249:7:17", + "nodeType": "YulTypedName", + "src": "1249:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "1261:6:17", + "nodeType": "YulTypedName", + "src": "1261:6:17", + "type": "" + } + ], + "src": "1192:322:17" + }, + { + "body": { + "nativeSrc": "1585:184:17", + "nodeType": "YulBlock", + "src": "1585:184:17", + "statements": [ + { + "nativeSrc": "1595:10:17", + "nodeType": "YulVariableDeclaration", + "src": "1595:10:17", + "value": { + "kind": "number", + "nativeSrc": "1604:1:17", + "nodeType": "YulLiteral", + "src": "1604:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "1599:1:17", + "nodeType": "YulTypedName", + "src": "1599:1:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1664:63:17", + "nodeType": "YulBlock", + "src": "1664:63:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1689:3:17", + "nodeType": "YulIdentifier", + "src": "1689:3:17" + }, + { + "name": "i", + "nativeSrc": "1694:1:17", + "nodeType": "YulIdentifier", + "src": "1694:1:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1685:3:17", + "nodeType": "YulIdentifier", + "src": "1685:3:17" + }, + "nativeSrc": "1685:11:17", + "nodeType": "YulFunctionCall", + "src": "1685:11:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "1708:3:17", + "nodeType": "YulIdentifier", + "src": "1708:3:17" + }, + { + "name": "i", + "nativeSrc": "1713:1:17", + "nodeType": "YulIdentifier", + "src": "1713:1:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1704:3:17", + "nodeType": "YulIdentifier", + "src": "1704:3:17" + }, + "nativeSrc": "1704:11:17", + "nodeType": "YulFunctionCall", + "src": "1704:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1698:5:17", + "nodeType": "YulIdentifier", + "src": "1698:5:17" + }, + "nativeSrc": "1698:18:17", + "nodeType": "YulFunctionCall", + "src": "1698:18:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1678:6:17", + "nodeType": "YulIdentifier", + "src": "1678:6:17" + }, + "nativeSrc": "1678:39:17", + "nodeType": "YulFunctionCall", + "src": "1678:39:17" + }, + "nativeSrc": "1678:39:17", + "nodeType": "YulExpressionStatement", + "src": "1678:39:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1625:1:17", + "nodeType": "YulIdentifier", + "src": "1625:1:17" + }, + { + "name": "length", + "nativeSrc": "1628:6:17", + "nodeType": "YulIdentifier", + "src": "1628:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1622:2:17", + "nodeType": "YulIdentifier", + "src": "1622:2:17" + }, + "nativeSrc": "1622:13:17", + "nodeType": "YulFunctionCall", + "src": "1622:13:17" + }, + "nativeSrc": "1614:113:17", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "1636:19:17", + "nodeType": "YulBlock", + "src": "1636:19:17", + "statements": [ + { + "nativeSrc": "1638:15:17", + "nodeType": "YulAssignment", + "src": "1638:15:17", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1647:1:17", + "nodeType": "YulIdentifier", + "src": "1647:1:17" + }, + { + "kind": "number", + "nativeSrc": "1650:2:17", + "nodeType": "YulLiteral", + "src": "1650:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1643:3:17", + "nodeType": "YulIdentifier", + "src": "1643:3:17" + }, + "nativeSrc": "1643:10:17", + "nodeType": "YulFunctionCall", + "src": "1643:10:17" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "1638:1:17", + "nodeType": "YulIdentifier", + "src": "1638:1:17" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "1618:3:17", + "nodeType": "YulBlock", + "src": "1618:3:17", + "statements": [] + }, + "src": "1614:113:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "1747:3:17", + "nodeType": "YulIdentifier", + "src": "1747:3:17" + }, + { + "name": "length", + "nativeSrc": "1752:6:17", + "nodeType": "YulIdentifier", + "src": "1752:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1743:3:17", + "nodeType": "YulIdentifier", + "src": "1743:3:17" + }, + "nativeSrc": "1743:16:17", + "nodeType": "YulFunctionCall", + "src": "1743:16:17" + }, + { + "kind": "number", + "nativeSrc": "1761:1:17", + "nodeType": "YulLiteral", + "src": "1761:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1736:6:17", + "nodeType": "YulIdentifier", + "src": "1736:6:17" + }, + "nativeSrc": "1736:27:17", + "nodeType": "YulFunctionCall", + "src": "1736:27:17" + }, + "nativeSrc": "1736:27:17", + "nodeType": "YulExpressionStatement", + "src": "1736:27:17" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1519:250:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1563:3:17", + "nodeType": "YulTypedName", + "src": "1563:3:17", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1568:3:17", + "nodeType": "YulTypedName", + "src": "1568:3:17", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1573:6:17", + "nodeType": "YulTypedName", + "src": "1573:6:17", + "type": "" + } + ], + "src": "1519:250:17" + }, + { + "body": { + "nativeSrc": "1824:221:17", + "nodeType": "YulBlock", + "src": "1824:221:17", + "statements": [ + { + "nativeSrc": "1834:26:17", + "nodeType": "YulVariableDeclaration", + "src": "1834:26:17", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "1854:5:17", + "nodeType": "YulIdentifier", + "src": "1854:5:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "1848:5:17", + "nodeType": "YulIdentifier", + "src": "1848:5:17" + }, + "nativeSrc": "1848:12:17", + "nodeType": "YulFunctionCall", + "src": "1848:12:17" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "1838:6:17", + "nodeType": "YulTypedName", + "src": "1838:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1876:3:17", + "nodeType": "YulIdentifier", + "src": "1876:3:17" + }, + { + "name": "length", + "nativeSrc": "1881:6:17", + "nodeType": "YulIdentifier", + "src": "1881:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1869:6:17", + "nodeType": "YulIdentifier", + "src": "1869:6:17" + }, + "nativeSrc": "1869:19:17", + "nodeType": "YulFunctionCall", + "src": "1869:19:17" + }, + "nativeSrc": "1869:19:17", + "nodeType": "YulExpressionStatement", + "src": "1869:19:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "1936:5:17", + "nodeType": "YulIdentifier", + "src": "1936:5:17" + }, + { + "kind": "number", + "nativeSrc": "1943:4:17", + "nodeType": "YulLiteral", + "src": "1943:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1932:3:17", + "nodeType": "YulIdentifier", + "src": "1932:3:17" + }, + "nativeSrc": "1932:16:17", + "nodeType": "YulFunctionCall", + "src": "1932:16:17" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1954:3:17", + "nodeType": "YulIdentifier", + "src": "1954:3:17" + }, + { + "kind": "number", + "nativeSrc": "1959:4:17", + "nodeType": "YulLiteral", + "src": "1959:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1950:3:17", + "nodeType": "YulIdentifier", + "src": "1950:3:17" + }, + "nativeSrc": "1950:14:17", + "nodeType": "YulFunctionCall", + "src": "1950:14:17" + }, + { + "name": "length", + "nativeSrc": "1966:6:17", + "nodeType": "YulIdentifier", + "src": "1966:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1897:34:17", + "nodeType": "YulIdentifier", + "src": "1897:34:17" + }, + "nativeSrc": "1897:76:17", + "nodeType": "YulFunctionCall", + "src": "1897:76:17" + }, + "nativeSrc": "1897:76:17", + "nodeType": "YulExpressionStatement", + "src": "1897:76:17" + }, + { + "nativeSrc": "1982:57:17", + "nodeType": "YulAssignment", + "src": "1982:57:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "1997:3:17", + "nodeType": "YulIdentifier", + "src": "1997:3:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2010:6:17", + "nodeType": "YulIdentifier", + "src": "2010:6:17" + }, + { + "kind": "number", + "nativeSrc": "2018:2:17", + "nodeType": "YulLiteral", + "src": "2018:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2006:3:17", + "nodeType": "YulIdentifier", + "src": "2006:3:17" + }, + "nativeSrc": "2006:15:17", + "nodeType": "YulFunctionCall", + "src": "2006:15:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2027:2:17", + "nodeType": "YulLiteral", + "src": "2027:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "2023:3:17", + "nodeType": "YulIdentifier", + "src": "2023:3:17" + }, + "nativeSrc": "2023:7:17", + "nodeType": "YulFunctionCall", + "src": "2023:7:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2002:3:17", + "nodeType": "YulIdentifier", + "src": "2002:3:17" + }, + "nativeSrc": "2002:29:17", + "nodeType": "YulFunctionCall", + "src": "2002:29:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1993:3:17", + "nodeType": "YulIdentifier", + "src": "1993:3:17" + }, + "nativeSrc": "1993:39:17", + "nodeType": "YulFunctionCall", + "src": "1993:39:17" + }, + { + "kind": "number", + "nativeSrc": "2034:4:17", + "nodeType": "YulLiteral", + "src": "2034:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1989:3:17", + "nodeType": "YulIdentifier", + "src": "1989:3:17" + }, + "nativeSrc": "1989:50:17", + "nodeType": "YulFunctionCall", + "src": "1989:50:17" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "1982:3:17", + "nodeType": "YulIdentifier", + "src": "1982:3:17" + } + ] + } + ] + }, + "name": "abi_encode_string", + "nativeSrc": "1774:271:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "1801:5:17", + "nodeType": "YulTypedName", + "src": "1801:5:17", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "1808:3:17", + "nodeType": "YulTypedName", + "src": "1808:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "1816:3:17", + "nodeType": "YulTypedName", + "src": "1816:3:17", + "type": "" + } + ], + "src": "1774:271:17" + }, + { + "body": { + "nativeSrc": "2267:329:17", + "nodeType": "YulBlock", + "src": "2267:329:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2284:9:17", + "nodeType": "YulIdentifier", + "src": "2284:9:17" + }, + { + "kind": "number", + "nativeSrc": "2295:2:17", + "nodeType": "YulLiteral", + "src": "2295:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2277:6:17", + "nodeType": "YulIdentifier", + "src": "2277:6:17" + }, + "nativeSrc": "2277:21:17", + "nodeType": "YulFunctionCall", + "src": "2277:21:17" + }, + "nativeSrc": "2277:21:17", + "nodeType": "YulExpressionStatement", + "src": "2277:21:17" + }, + { + "nativeSrc": "2307:59:17", + "nodeType": "YulVariableDeclaration", + "src": "2307:59:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "2339:6:17", + "nodeType": "YulIdentifier", + "src": "2339:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2351:9:17", + "nodeType": "YulIdentifier", + "src": "2351:9:17" + }, + { + "kind": "number", + "nativeSrc": "2362:2:17", + "nodeType": "YulLiteral", + "src": "2362:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2347:3:17", + "nodeType": "YulIdentifier", + "src": "2347:3:17" + }, + "nativeSrc": "2347:18:17", + "nodeType": "YulFunctionCall", + "src": "2347:18:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "2321:17:17", + "nodeType": "YulIdentifier", + "src": "2321:17:17" + }, + "nativeSrc": "2321:45:17", + "nodeType": "YulFunctionCall", + "src": "2321:45:17" + }, + "variables": [ + { + "name": "tail_1", + "nativeSrc": "2311:6:17", + "nodeType": "YulTypedName", + "src": "2311:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2386:9:17", + "nodeType": "YulIdentifier", + "src": "2386:9:17" + }, + { + "kind": "number", + "nativeSrc": "2397:2:17", + "nodeType": "YulLiteral", + "src": "2397:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2382:3:17", + "nodeType": "YulIdentifier", + "src": "2382:3:17" + }, + "nativeSrc": "2382:18:17", + "nodeType": "YulFunctionCall", + "src": "2382:18:17" + }, + { + "arguments": [ + { + "name": "tail_1", + "nativeSrc": "2406:6:17", + "nodeType": "YulIdentifier", + "src": "2406:6:17" + }, + { + "name": "headStart", + "nativeSrc": "2414:9:17", + "nodeType": "YulIdentifier", + "src": "2414:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2402:3:17", + "nodeType": "YulIdentifier", + "src": "2402:3:17" + }, + "nativeSrc": "2402:22:17", + "nodeType": "YulFunctionCall", + "src": "2402:22:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2375:6:17", + "nodeType": "YulIdentifier", + "src": "2375:6:17" + }, + "nativeSrc": "2375:50:17", + "nodeType": "YulFunctionCall", + "src": "2375:50:17" + }, + "nativeSrc": "2375:50:17", + "nodeType": "YulExpressionStatement", + "src": "2375:50:17" + }, + { + "nativeSrc": "2434:47:17", + "nodeType": "YulVariableDeclaration", + "src": "2434:47:17", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "2466:6:17", + "nodeType": "YulIdentifier", + "src": "2466:6:17" + }, + { + "name": "tail_1", + "nativeSrc": "2474:6:17", + "nodeType": "YulIdentifier", + "src": "2474:6:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "2448:17:17", + "nodeType": "YulIdentifier", + "src": "2448:17:17" + }, + "nativeSrc": "2448:33:17", + "nodeType": "YulFunctionCall", + "src": "2448:33:17" + }, + "variables": [ + { + "name": "tail_2", + "nativeSrc": "2438:6:17", + "nodeType": "YulTypedName", + "src": "2438:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2501:9:17", + "nodeType": "YulIdentifier", + "src": "2501:9:17" + }, + { + "kind": "number", + "nativeSrc": "2512:2:17", + "nodeType": "YulLiteral", + "src": "2512:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2497:3:17", + "nodeType": "YulIdentifier", + "src": "2497:3:17" + }, + "nativeSrc": "2497:18:17", + "nodeType": "YulFunctionCall", + "src": "2497:18:17" + }, + { + "arguments": [ + { + "name": "tail_2", + "nativeSrc": "2521:6:17", + "nodeType": "YulIdentifier", + "src": "2521:6:17" + }, + { + "name": "headStart", + "nativeSrc": "2529:9:17", + "nodeType": "YulIdentifier", + "src": "2529:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2517:3:17", + "nodeType": "YulIdentifier", + "src": "2517:3:17" + }, + "nativeSrc": "2517:22:17", + "nodeType": "YulFunctionCall", + "src": "2517:22:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2490:6:17", + "nodeType": "YulIdentifier", + "src": "2490:6:17" + }, + "nativeSrc": "2490:50:17", + "nodeType": "YulFunctionCall", + "src": "2490:50:17" + }, + "nativeSrc": "2490:50:17", + "nodeType": "YulExpressionStatement", + "src": "2490:50:17" + }, + { + "nativeSrc": "2549:41:17", + "nodeType": "YulAssignment", + "src": "2549:41:17", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "2575:6:17", + "nodeType": "YulIdentifier", + "src": "2575:6:17" + }, + { + "name": "tail_2", + "nativeSrc": "2583:6:17", + "nodeType": "YulIdentifier", + "src": "2583:6:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "2557:17:17", + "nodeType": "YulIdentifier", + "src": "2557:17:17" + }, + "nativeSrc": "2557:33:17", + "nodeType": "YulFunctionCall", + "src": "2557:33:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "2549:4:17", + "nodeType": "YulIdentifier", + "src": "2549:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "2050:546:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "2220:9:17", + "nodeType": "YulTypedName", + "src": "2220:9:17", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "2231:6:17", + "nodeType": "YulTypedName", + "src": "2231:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "2239:6:17", + "nodeType": "YulTypedName", + "src": "2239:6:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "2247:6:17", + "nodeType": "YulTypedName", + "src": "2247:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "2258:4:17", + "nodeType": "YulTypedName", + "src": "2258:4:17", + "type": "" + } + ], + "src": "2050:546:17" + }, + { + "body": { + "nativeSrc": "2650:124:17", + "nodeType": "YulBlock", + "src": "2650:124:17", + "statements": [ + { + "nativeSrc": "2660:29:17", + "nodeType": "YulAssignment", + "src": "2660:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "2682:6:17", + "nodeType": "YulIdentifier", + "src": "2682:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "2669:12:17", + "nodeType": "YulIdentifier", + "src": "2669:12:17" + }, + "nativeSrc": "2669:20:17", + "nodeType": "YulFunctionCall", + "src": "2669:20:17" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "2660:5:17", + "nodeType": "YulIdentifier", + "src": "2660:5:17" + } + ] + }, + { + "body": { + "nativeSrc": "2752:16:17", + "nodeType": "YulBlock", + "src": "2752:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2761:1:17", + "nodeType": "YulLiteral", + "src": "2761:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2764:1:17", + "nodeType": "YulLiteral", + "src": "2764:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2754:6:17", + "nodeType": "YulIdentifier", + "src": "2754:6:17" + }, + "nativeSrc": "2754:12:17", + "nodeType": "YulFunctionCall", + "src": "2754:12:17" + }, + "nativeSrc": "2754:12:17", + "nodeType": "YulExpressionStatement", + "src": "2754:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2711:5:17", + "nodeType": "YulIdentifier", + "src": "2711:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2722:5:17", + "nodeType": "YulIdentifier", + "src": "2722:5:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2737:3:17", + "nodeType": "YulLiteral", + "src": "2737:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "2742:1:17", + "nodeType": "YulLiteral", + "src": "2742:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "2733:3:17", + "nodeType": "YulIdentifier", + "src": "2733:3:17" + }, + "nativeSrc": "2733:11:17", + "nodeType": "YulFunctionCall", + "src": "2733:11:17" + }, + { + "kind": "number", + "nativeSrc": "2746:1:17", + "nodeType": "YulLiteral", + "src": "2746:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2729:3:17", + "nodeType": "YulIdentifier", + "src": "2729:3:17" + }, + "nativeSrc": "2729:19:17", + "nodeType": "YulFunctionCall", + "src": "2729:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2718:3:17", + "nodeType": "YulIdentifier", + "src": "2718:3:17" + }, + "nativeSrc": "2718:31:17", + "nodeType": "YulFunctionCall", + "src": "2718:31:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "2708:2:17", + "nodeType": "YulIdentifier", + "src": "2708:2:17" + }, + "nativeSrc": "2708:42:17", + "nodeType": "YulFunctionCall", + "src": "2708:42:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2701:6:17", + "nodeType": "YulIdentifier", + "src": "2701:6:17" + }, + "nativeSrc": "2701:50:17", + "nodeType": "YulFunctionCall", + "src": "2701:50:17" + }, + "nativeSrc": "2698:70:17", + "nodeType": "YulIf", + "src": "2698:70:17" + } + ] + }, + "name": "abi_decode_address", + "nativeSrc": "2601:173:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "2629:6:17", + "nodeType": "YulTypedName", + "src": "2629:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "2640:5:17", + "nodeType": "YulTypedName", + "src": "2640:5:17", + "type": "" + } + ], + "src": "2601:173:17" + }, + { + "body": { + "nativeSrc": "2875:428:17", + "nodeType": "YulBlock", + "src": "2875:428:17", + "statements": [ + { + "body": { + "nativeSrc": "2921:16:17", + "nodeType": "YulBlock", + "src": "2921:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2930:1:17", + "nodeType": "YulLiteral", + "src": "2930:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2933:1:17", + "nodeType": "YulLiteral", + "src": "2933:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2923:6:17", + "nodeType": "YulIdentifier", + "src": "2923:6:17" + }, + "nativeSrc": "2923:12:17", + "nodeType": "YulFunctionCall", + "src": "2923:12:17" + }, + "nativeSrc": "2923:12:17", + "nodeType": "YulExpressionStatement", + "src": "2923:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "2896:7:17", + "nodeType": "YulIdentifier", + "src": "2896:7:17" + }, + { + "name": "headStart", + "nativeSrc": "2905:9:17", + "nodeType": "YulIdentifier", + "src": "2905:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2892:3:17", + "nodeType": "YulIdentifier", + "src": "2892:3:17" + }, + "nativeSrc": "2892:23:17", + "nodeType": "YulFunctionCall", + "src": "2892:23:17" + }, + { + "kind": "number", + "nativeSrc": "2917:2:17", + "nodeType": "YulLiteral", + "src": "2917:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "2888:3:17", + "nodeType": "YulIdentifier", + "src": "2888:3:17" + }, + "nativeSrc": "2888:32:17", + "nodeType": "YulFunctionCall", + "src": "2888:32:17" + }, + "nativeSrc": "2885:52:17", + "nodeType": "YulIf", + "src": "2885:52:17" + }, + { + "nativeSrc": "2946:39:17", + "nodeType": "YulAssignment", + "src": "2946:39:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "2975:9:17", + "nodeType": "YulIdentifier", + "src": "2975:9:17" + } + ], + "functionName": { + "name": "abi_decode_address", + "nativeSrc": "2956:18:17", + "nodeType": "YulIdentifier", + "src": "2956:18:17" + }, + "nativeSrc": "2956:29:17", + "nodeType": "YulFunctionCall", + "src": "2956:29:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "2946:6:17", + "nodeType": "YulIdentifier", + "src": "2946:6:17" + } + ] + }, + { + "nativeSrc": "2994:46:17", + "nodeType": "YulVariableDeclaration", + "src": "2994:46:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3025:9:17", + "nodeType": "YulIdentifier", + "src": "3025:9:17" + }, + { + "kind": "number", + "nativeSrc": "3036:2:17", + "nodeType": "YulLiteral", + "src": "3036:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3021:3:17", + "nodeType": "YulIdentifier", + "src": "3021:3:17" + }, + "nativeSrc": "3021:18:17", + "nodeType": "YulFunctionCall", + "src": "3021:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3008:12:17", + "nodeType": "YulIdentifier", + "src": "3008:12:17" + }, + "nativeSrc": "3008:32:17", + "nodeType": "YulFunctionCall", + "src": "3008:32:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "2998:6:17", + "nodeType": "YulTypedName", + "src": "2998:6:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3083:16:17", + "nodeType": "YulBlock", + "src": "3083:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3092:1:17", + "nodeType": "YulLiteral", + "src": "3092:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3095:1:17", + "nodeType": "YulLiteral", + "src": "3095:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3085:6:17", + "nodeType": "YulIdentifier", + "src": "3085:6:17" + }, + "nativeSrc": "3085:12:17", + "nodeType": "YulFunctionCall", + "src": "3085:12:17" + }, + "nativeSrc": "3085:12:17", + "nodeType": "YulExpressionStatement", + "src": "3085:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "3055:6:17", + "nodeType": "YulIdentifier", + "src": "3055:6:17" + }, + { + "kind": "number", + "nativeSrc": "3063:18:17", + "nodeType": "YulLiteral", + "src": "3063:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "3052:2:17", + "nodeType": "YulIdentifier", + "src": "3052:2:17" + }, + "nativeSrc": "3052:30:17", + "nodeType": "YulFunctionCall", + "src": "3052:30:17" + }, + "nativeSrc": "3049:50:17", + "nodeType": "YulIf", + "src": "3049:50:17" + }, + { + "nativeSrc": "3108:32:17", + "nodeType": "YulVariableDeclaration", + "src": "3108:32:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3122:9:17", + "nodeType": "YulIdentifier", + "src": "3122:9:17" + }, + { + "name": "offset", + "nativeSrc": "3133:6:17", + "nodeType": "YulIdentifier", + "src": "3133:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3118:3:17", + "nodeType": "YulIdentifier", + "src": "3118:3:17" + }, + "nativeSrc": "3118:22:17", + "nodeType": "YulFunctionCall", + "src": "3118:22:17" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "3112:2:17", + "nodeType": "YulTypedName", + "src": "3112:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "3188:16:17", + "nodeType": "YulBlock", + "src": "3188:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3197:1:17", + "nodeType": "YulLiteral", + "src": "3197:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "3200:1:17", + "nodeType": "YulLiteral", + "src": "3200:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "3190:6:17", + "nodeType": "YulIdentifier", + "src": "3190:6:17" + }, + "nativeSrc": "3190:12:17", + "nodeType": "YulFunctionCall", + "src": "3190:12:17" + }, + "nativeSrc": "3190:12:17", + "nodeType": "YulExpressionStatement", + "src": "3190:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nativeSrc": "3167:2:17", + "nodeType": "YulIdentifier", + "src": "3167:2:17" + }, + { + "kind": "number", + "nativeSrc": "3171:4:17", + "nodeType": "YulLiteral", + "src": "3171:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3163:3:17", + "nodeType": "YulIdentifier", + "src": "3163:3:17" + }, + "nativeSrc": "3163:13:17", + "nodeType": "YulFunctionCall", + "src": "3163:13:17" + }, + { + "name": "dataEnd", + "nativeSrc": "3178:7:17", + "nodeType": "YulIdentifier", + "src": "3178:7:17" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "3159:3:17", + "nodeType": "YulIdentifier", + "src": "3159:3:17" + }, + "nativeSrc": "3159:27:17", + "nodeType": "YulFunctionCall", + "src": "3159:27:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "3152:6:17", + "nodeType": "YulIdentifier", + "src": "3152:6:17" + }, + "nativeSrc": "3152:35:17", + "nodeType": "YulFunctionCall", + "src": "3152:35:17" + }, + "nativeSrc": "3149:55:17", + "nodeType": "YulIf", + "src": "3149:55:17" + }, + { + "nativeSrc": "3213:84:17", + "nodeType": "YulAssignment", + "src": "3213:84:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nativeSrc": "3262:2:17", + "nodeType": "YulIdentifier", + "src": "3262:2:17" + }, + { + "kind": "number", + "nativeSrc": "3266:2:17", + "nodeType": "YulLiteral", + "src": "3266:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3258:3:17", + "nodeType": "YulIdentifier", + "src": "3258:3:17" + }, + "nativeSrc": "3258:11:17", + "nodeType": "YulFunctionCall", + "src": "3258:11:17" + }, + { + "arguments": [ + { + "name": "_1", + "nativeSrc": "3284:2:17", + "nodeType": "YulIdentifier", + "src": "3284:2:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "3271:12:17", + "nodeType": "YulIdentifier", + "src": "3271:12:17" + }, + "nativeSrc": "3271:16:17", + "nodeType": "YulFunctionCall", + "src": "3271:16:17" + }, + { + "name": "dataEnd", + "nativeSrc": "3289:7:17", + "nodeType": "YulIdentifier", + "src": "3289:7:17" + } + ], + "functionName": { + "name": "abi_decode_available_length_string", + "nativeSrc": "3223:34:17", + "nodeType": "YulIdentifier", + "src": "3223:34:17" + }, + "nativeSrc": "3223:74:17", + "nodeType": "YulFunctionCall", + "src": "3223:74:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "3213:6:17", + "nodeType": "YulIdentifier", + "src": "3213:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes_memory_ptr", + "nativeSrc": "2779:524:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "2833:9:17", + "nodeType": "YulTypedName", + "src": "2833:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "2844:7:17", + "nodeType": "YulTypedName", + "src": "2844:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "2856:6:17", + "nodeType": "YulTypedName", + "src": "2856:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "2864:6:17", + "nodeType": "YulTypedName", + "src": "2864:6:17", + "type": "" + } + ], + "src": "2779:524:17" + }, + { + "body": { + "nativeSrc": "3409:76:17", + "nodeType": "YulBlock", + "src": "3409:76:17", + "statements": [ + { + "nativeSrc": "3419:26:17", + "nodeType": "YulAssignment", + "src": "3419:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3431:9:17", + "nodeType": "YulIdentifier", + "src": "3431:9:17" + }, + { + "kind": "number", + "nativeSrc": "3442:2:17", + "nodeType": "YulLiteral", + "src": "3442:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3427:3:17", + "nodeType": "YulIdentifier", + "src": "3427:3:17" + }, + "nativeSrc": "3427:18:17", + "nodeType": "YulFunctionCall", + "src": "3427:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "3419:4:17", + "nodeType": "YulIdentifier", + "src": "3419:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3461:9:17", + "nodeType": "YulIdentifier", + "src": "3461:9:17" + }, + { + "name": "value0", + "nativeSrc": "3472:6:17", + "nodeType": "YulIdentifier", + "src": "3472:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3454:6:17", + "nodeType": "YulIdentifier", + "src": "3454:6:17" + }, + "nativeSrc": "3454:25:17", + "nodeType": "YulFunctionCall", + "src": "3454:25:17" + }, + "nativeSrc": "3454:25:17", + "nodeType": "YulExpressionStatement", + "src": "3454:25:17" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nativeSrc": "3308:177:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3378:9:17", + "nodeType": "YulTypedName", + "src": "3378:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "3389:6:17", + "nodeType": "YulTypedName", + "src": "3389:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "3400:4:17", + "nodeType": "YulTypedName", + "src": "3400:4:17", + "type": "" + } + ], + "src": "3308:177:17" + }, + { + "body": { + "nativeSrc": "3641:587:17", + "nodeType": "YulBlock", + "src": "3641:587:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3658:9:17", + "nodeType": "YulIdentifier", + "src": "3658:9:17" + }, + { + "kind": "number", + "nativeSrc": "3669:2:17", + "nodeType": "YulLiteral", + "src": "3669:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3651:6:17", + "nodeType": "YulIdentifier", + "src": "3651:6:17" + }, + "nativeSrc": "3651:21:17", + "nodeType": "YulFunctionCall", + "src": "3651:21:17" + }, + "nativeSrc": "3651:21:17", + "nodeType": "YulExpressionStatement", + "src": "3651:21:17" + }, + { + "nativeSrc": "3681:33:17", + "nodeType": "YulVariableDeclaration", + "src": "3681:33:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3707:6:17", + "nodeType": "YulIdentifier", + "src": "3707:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3701:5:17", + "nodeType": "YulIdentifier", + "src": "3701:5:17" + }, + "nativeSrc": "3701:13:17", + "nodeType": "YulFunctionCall", + "src": "3701:13:17" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3685:12:17", + "nodeType": "YulTypedName", + "src": "3685:12:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3734:9:17", + "nodeType": "YulIdentifier", + "src": "3734:9:17" + }, + { + "kind": "number", + "nativeSrc": "3745:2:17", + "nodeType": "YulLiteral", + "src": "3745:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3730:3:17", + "nodeType": "YulIdentifier", + "src": "3730:3:17" + }, + "nativeSrc": "3730:18:17", + "nodeType": "YulFunctionCall", + "src": "3730:18:17" + }, + { + "kind": "number", + "nativeSrc": "3750:4:17", + "nodeType": "YulLiteral", + "src": "3750:4:17", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3723:6:17", + "nodeType": "YulIdentifier", + "src": "3723:6:17" + }, + "nativeSrc": "3723:32:17", + "nodeType": "YulFunctionCall", + "src": "3723:32:17" + }, + "nativeSrc": "3723:32:17", + "nodeType": "YulExpressionStatement", + "src": "3723:32:17" + }, + { + "nativeSrc": "3764:66:17", + "nodeType": "YulVariableDeclaration", + "src": "3764:66:17", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3796:12:17", + "nodeType": "YulIdentifier", + "src": "3796:12:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3814:9:17", + "nodeType": "YulIdentifier", + "src": "3814:9:17" + }, + { + "kind": "number", + "nativeSrc": "3825:3:17", + "nodeType": "YulLiteral", + "src": "3825:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3810:3:17", + "nodeType": "YulIdentifier", + "src": "3810:3:17" + }, + "nativeSrc": "3810:19:17", + "nodeType": "YulFunctionCall", + "src": "3810:19:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "3778:17:17", + "nodeType": "YulIdentifier", + "src": "3778:17:17" + }, + "nativeSrc": "3778:52:17", + "nodeType": "YulFunctionCall", + "src": "3778:52:17" + }, + "variables": [ + { + "name": "tail_1", + "nativeSrc": "3768:6:17", + "nodeType": "YulTypedName", + "src": "3768:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "3839:44:17", + "nodeType": "YulVariableDeclaration", + "src": "3839:44:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3871:6:17", + "nodeType": "YulIdentifier", + "src": "3871:6:17" + }, + { + "kind": "number", + "nativeSrc": "3879:2:17", + "nodeType": "YulLiteral", + "src": "3879:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3867:3:17", + "nodeType": "YulIdentifier", + "src": "3867:3:17" + }, + "nativeSrc": "3867:15:17", + "nodeType": "YulFunctionCall", + "src": "3867:15:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3861:5:17", + "nodeType": "YulIdentifier", + "src": "3861:5:17" + }, + "nativeSrc": "3861:22:17", + "nodeType": "YulFunctionCall", + "src": "3861:22:17" + }, + "variables": [ + { + "name": "memberValue0_1", + "nativeSrc": "3843:14:17", + "nodeType": "YulTypedName", + "src": "3843:14:17", + "type": "" + } + ] + }, + { + "nativeSrc": "3892:17:17", + "nodeType": "YulVariableDeclaration", + "src": "3892:17:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3906:2:17", + "nodeType": "YulLiteral", + "src": "3906:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "3902:3:17", + "nodeType": "YulIdentifier", + "src": "3902:3:17" + }, + "nativeSrc": "3902:7:17", + "nodeType": "YulFunctionCall", + "src": "3902:7:17" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "3896:2:17", + "nodeType": "YulTypedName", + "src": "3896:2:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3929:9:17", + "nodeType": "YulIdentifier", + "src": "3929:9:17" + }, + { + "kind": "number", + "nativeSrc": "3940:2:17", + "nodeType": "YulLiteral", + "src": "3940:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3925:3:17", + "nodeType": "YulIdentifier", + "src": "3925:3:17" + }, + "nativeSrc": "3925:18:17", + "nodeType": "YulFunctionCall", + "src": "3925:18:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_1", + "nativeSrc": "3953:6:17", + "nodeType": "YulIdentifier", + "src": "3953:6:17" + }, + { + "name": "headStart", + "nativeSrc": "3961:9:17", + "nodeType": "YulIdentifier", + "src": "3961:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3949:3:17", + "nodeType": "YulIdentifier", + "src": "3949:3:17" + }, + "nativeSrc": "3949:22:17", + "nodeType": "YulFunctionCall", + "src": "3949:22:17" + }, + { + "name": "_1", + "nativeSrc": "3973:2:17", + "nodeType": "YulIdentifier", + "src": "3973:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3945:3:17", + "nodeType": "YulIdentifier", + "src": "3945:3:17" + }, + "nativeSrc": "3945:31:17", + "nodeType": "YulFunctionCall", + "src": "3945:31:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3918:6:17", + "nodeType": "YulIdentifier", + "src": "3918:6:17" + }, + "nativeSrc": "3918:59:17", + "nodeType": "YulFunctionCall", + "src": "3918:59:17" + }, + "nativeSrc": "3918:59:17", + "nodeType": "YulExpressionStatement", + "src": "3918:59:17" + }, + { + "nativeSrc": "3986:55:17", + "nodeType": "YulVariableDeclaration", + "src": "3986:55:17", + "value": { + "arguments": [ + { + "name": "memberValue0_1", + "nativeSrc": "4018:14:17", + "nodeType": "YulIdentifier", + "src": "4018:14:17" + }, + { + "name": "tail_1", + "nativeSrc": "4034:6:17", + "nodeType": "YulIdentifier", + "src": "4034:6:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "4000:17:17", + "nodeType": "YulIdentifier", + "src": "4000:17:17" + }, + "nativeSrc": "4000:41:17", + "nodeType": "YulFunctionCall", + "src": "4000:41:17" + }, + "variables": [ + { + "name": "tail_2", + "nativeSrc": "3990:6:17", + "nodeType": "YulTypedName", + "src": "3990:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "4050:44:17", + "nodeType": "YulVariableDeclaration", + "src": "4050:44:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4082:6:17", + "nodeType": "YulIdentifier", + "src": "4082:6:17" + }, + { + "kind": "number", + "nativeSrc": "4090:2:17", + "nodeType": "YulLiteral", + "src": "4090:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4078:3:17", + "nodeType": "YulIdentifier", + "src": "4078:3:17" + }, + "nativeSrc": "4078:15:17", + "nodeType": "YulFunctionCall", + "src": "4078:15:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "4072:5:17", + "nodeType": "YulIdentifier", + "src": "4072:5:17" + }, + "nativeSrc": "4072:22:17", + "nodeType": "YulFunctionCall", + "src": "4072:22:17" + }, + "variables": [ + { + "name": "memberValue0_2", + "nativeSrc": "4054:14:17", + "nodeType": "YulTypedName", + "src": "4054:14:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4114:9:17", + "nodeType": "YulIdentifier", + "src": "4114:9:17" + }, + { + "kind": "number", + "nativeSrc": "4125:4:17", + "nodeType": "YulLiteral", + "src": "4125:4:17", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4110:3:17", + "nodeType": "YulIdentifier", + "src": "4110:3:17" + }, + "nativeSrc": "4110:20:17", + "nodeType": "YulFunctionCall", + "src": "4110:20:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_2", + "nativeSrc": "4140:6:17", + "nodeType": "YulIdentifier", + "src": "4140:6:17" + }, + { + "name": "headStart", + "nativeSrc": "4148:9:17", + "nodeType": "YulIdentifier", + "src": "4148:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4136:3:17", + "nodeType": "YulIdentifier", + "src": "4136:3:17" + }, + "nativeSrc": "4136:22:17", + "nodeType": "YulFunctionCall", + "src": "4136:22:17" + }, + { + "name": "_1", + "nativeSrc": "4160:2:17", + "nodeType": "YulIdentifier", + "src": "4160:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4132:3:17", + "nodeType": "YulIdentifier", + "src": "4132:3:17" + }, + "nativeSrc": "4132:31:17", + "nodeType": "YulFunctionCall", + "src": "4132:31:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4103:6:17", + "nodeType": "YulIdentifier", + "src": "4103:6:17" + }, + "nativeSrc": "4103:61:17", + "nodeType": "YulFunctionCall", + "src": "4103:61:17" + }, + "nativeSrc": "4103:61:17", + "nodeType": "YulExpressionStatement", + "src": "4103:61:17" + }, + { + "nativeSrc": "4173:49:17", + "nodeType": "YulAssignment", + "src": "4173:49:17", + "value": { + "arguments": [ + { + "name": "memberValue0_2", + "nativeSrc": "4199:14:17", + "nodeType": "YulIdentifier", + "src": "4199:14:17" + }, + { + "name": "tail_2", + "nativeSrc": "4215:6:17", + "nodeType": "YulIdentifier", + "src": "4215:6:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "4181:17:17", + "nodeType": "YulIdentifier", + "src": "4181:17:17" + }, + "nativeSrc": "4181:41:17", + "nodeType": "YulFunctionCall", + "src": "4181:41:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4173:4:17", + "nodeType": "YulIdentifier", + "src": "4173:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_Service_$2382_memory_ptr__to_t_struct$_Service_$2382_memory_ptr__fromStack_reversed", + "nativeSrc": "3490:738:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3610:9:17", + "nodeType": "YulTypedName", + "src": "3610:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "3621:6:17", + "nodeType": "YulTypedName", + "src": "3621:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "3632:4:17", + "nodeType": "YulTypedName", + "src": "3632:4:17", + "type": "" + } + ], + "src": "3490:738:17" + }, + { + "body": { + "nativeSrc": "4367:609:17", + "nodeType": "YulBlock", + "src": "4367:609:17", + "statements": [ + { + "body": { + "nativeSrc": "4413:16:17", + "nodeType": "YulBlock", + "src": "4413:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4422:1:17", + "nodeType": "YulLiteral", + "src": "4422:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4425:1:17", + "nodeType": "YulLiteral", + "src": "4425:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4415:6:17", + "nodeType": "YulIdentifier", + "src": "4415:6:17" + }, + "nativeSrc": "4415:12:17", + "nodeType": "YulFunctionCall", + "src": "4415:12:17" + }, + "nativeSrc": "4415:12:17", + "nodeType": "YulExpressionStatement", + "src": "4415:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "4388:7:17", + "nodeType": "YulIdentifier", + "src": "4388:7:17" + }, + { + "name": "headStart", + "nativeSrc": "4397:9:17", + "nodeType": "YulIdentifier", + "src": "4397:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4384:3:17", + "nodeType": "YulIdentifier", + "src": "4384:3:17" + }, + "nativeSrc": "4384:23:17", + "nodeType": "YulFunctionCall", + "src": "4384:23:17" + }, + { + "kind": "number", + "nativeSrc": "4409:2:17", + "nodeType": "YulLiteral", + "src": "4409:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "4380:3:17", + "nodeType": "YulIdentifier", + "src": "4380:3:17" + }, + "nativeSrc": "4380:32:17", + "nodeType": "YulFunctionCall", + "src": "4380:32:17" + }, + "nativeSrc": "4377:52:17", + "nodeType": "YulIf", + "src": "4377:52:17" + }, + { + "nativeSrc": "4438:37:17", + "nodeType": "YulVariableDeclaration", + "src": "4438:37:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4465:9:17", + "nodeType": "YulIdentifier", + "src": "4465:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "4452:12:17", + "nodeType": "YulIdentifier", + "src": "4452:12:17" + }, + "nativeSrc": "4452:23:17", + "nodeType": "YulFunctionCall", + "src": "4452:23:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "4442:6:17", + "nodeType": "YulTypedName", + "src": "4442:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "4484:28:17", + "nodeType": "YulVariableDeclaration", + "src": "4484:28:17", + "value": { + "kind": "number", + "nativeSrc": "4494:18:17", + "nodeType": "YulLiteral", + "src": "4494:18:17", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "4488:2:17", + "nodeType": "YulTypedName", + "src": "4488:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4539:16:17", + "nodeType": "YulBlock", + "src": "4539:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4548:1:17", + "nodeType": "YulLiteral", + "src": "4548:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4551:1:17", + "nodeType": "YulLiteral", + "src": "4551:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4541:6:17", + "nodeType": "YulIdentifier", + "src": "4541:6:17" + }, + "nativeSrc": "4541:12:17", + "nodeType": "YulFunctionCall", + "src": "4541:12:17" + }, + "nativeSrc": "4541:12:17", + "nodeType": "YulExpressionStatement", + "src": "4541:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "4527:6:17", + "nodeType": "YulIdentifier", + "src": "4527:6:17" + }, + { + "name": "_1", + "nativeSrc": "4535:2:17", + "nodeType": "YulIdentifier", + "src": "4535:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4524:2:17", + "nodeType": "YulIdentifier", + "src": "4524:2:17" + }, + "nativeSrc": "4524:14:17", + "nodeType": "YulFunctionCall", + "src": "4524:14:17" + }, + "nativeSrc": "4521:34:17", + "nodeType": "YulIf", + "src": "4521:34:17" + }, + { + "nativeSrc": "4564:60:17", + "nodeType": "YulAssignment", + "src": "4564:60:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4596:9:17", + "nodeType": "YulIdentifier", + "src": "4596:9:17" + }, + { + "name": "offset", + "nativeSrc": "4607:6:17", + "nodeType": "YulIdentifier", + "src": "4607:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4592:3:17", + "nodeType": "YulIdentifier", + "src": "4592:3:17" + }, + "nativeSrc": "4592:22:17", + "nodeType": "YulFunctionCall", + "src": "4592:22:17" + }, + { + "name": "dataEnd", + "nativeSrc": "4616:7:17", + "nodeType": "YulIdentifier", + "src": "4616:7:17" + } + ], + "functionName": { + "name": "abi_decode_string", + "nativeSrc": "4574:17:17", + "nodeType": "YulIdentifier", + "src": "4574:17:17" + }, + "nativeSrc": "4574:50:17", + "nodeType": "YulFunctionCall", + "src": "4574:50:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4564:6:17", + "nodeType": "YulIdentifier", + "src": "4564:6:17" + } + ] + }, + { + "nativeSrc": "4633:48:17", + "nodeType": "YulVariableDeclaration", + "src": "4633:48:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4666:9:17", + "nodeType": "YulIdentifier", + "src": "4666:9:17" + }, + { + "kind": "number", + "nativeSrc": "4677:2:17", + "nodeType": "YulLiteral", + "src": "4677:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4662:3:17", + "nodeType": "YulIdentifier", + "src": "4662:3:17" + }, + "nativeSrc": "4662:18:17", + "nodeType": "YulFunctionCall", + "src": "4662:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "4649:12:17", + "nodeType": "YulIdentifier", + "src": "4649:12:17" + }, + "nativeSrc": "4649:32:17", + "nodeType": "YulFunctionCall", + "src": "4649:32:17" + }, + "variables": [ + { + "name": "offset_1", + "nativeSrc": "4637:8:17", + "nodeType": "YulTypedName", + "src": "4637:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4710:16:17", + "nodeType": "YulBlock", + "src": "4710:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4719:1:17", + "nodeType": "YulLiteral", + "src": "4719:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4722:1:17", + "nodeType": "YulLiteral", + "src": "4722:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4712:6:17", + "nodeType": "YulIdentifier", + "src": "4712:6:17" + }, + "nativeSrc": "4712:12:17", + "nodeType": "YulFunctionCall", + "src": "4712:12:17" + }, + "nativeSrc": "4712:12:17", + "nodeType": "YulExpressionStatement", + "src": "4712:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nativeSrc": "4696:8:17", + "nodeType": "YulIdentifier", + "src": "4696:8:17" + }, + { + "name": "_1", + "nativeSrc": "4706:2:17", + "nodeType": "YulIdentifier", + "src": "4706:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4693:2:17", + "nodeType": "YulIdentifier", + "src": "4693:2:17" + }, + "nativeSrc": "4693:16:17", + "nodeType": "YulFunctionCall", + "src": "4693:16:17" + }, + "nativeSrc": "4690:36:17", + "nodeType": "YulIf", + "src": "4690:36:17" + }, + { + "nativeSrc": "4735:62:17", + "nodeType": "YulAssignment", + "src": "4735:62:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4767:9:17", + "nodeType": "YulIdentifier", + "src": "4767:9:17" + }, + { + "name": "offset_1", + "nativeSrc": "4778:8:17", + "nodeType": "YulIdentifier", + "src": "4778:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4763:3:17", + "nodeType": "YulIdentifier", + "src": "4763:3:17" + }, + "nativeSrc": "4763:24:17", + "nodeType": "YulFunctionCall", + "src": "4763:24:17" + }, + { + "name": "dataEnd", + "nativeSrc": "4789:7:17", + "nodeType": "YulIdentifier", + "src": "4789:7:17" + } + ], + "functionName": { + "name": "abi_decode_string", + "nativeSrc": "4745:17:17", + "nodeType": "YulIdentifier", + "src": "4745:17:17" + }, + "nativeSrc": "4745:52:17", + "nodeType": "YulFunctionCall", + "src": "4745:52:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "4735:6:17", + "nodeType": "YulIdentifier", + "src": "4735:6:17" + } + ] + }, + { + "nativeSrc": "4806:48:17", + "nodeType": "YulVariableDeclaration", + "src": "4806:48:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4839:9:17", + "nodeType": "YulIdentifier", + "src": "4839:9:17" + }, + { + "kind": "number", + "nativeSrc": "4850:2:17", + "nodeType": "YulLiteral", + "src": "4850:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4835:3:17", + "nodeType": "YulIdentifier", + "src": "4835:3:17" + }, + "nativeSrc": "4835:18:17", + "nodeType": "YulFunctionCall", + "src": "4835:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "4822:12:17", + "nodeType": "YulIdentifier", + "src": "4822:12:17" + }, + "nativeSrc": "4822:32:17", + "nodeType": "YulFunctionCall", + "src": "4822:32:17" + }, + "variables": [ + { + "name": "offset_2", + "nativeSrc": "4810:8:17", + "nodeType": "YulTypedName", + "src": "4810:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "4883:16:17", + "nodeType": "YulBlock", + "src": "4883:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4892:1:17", + "nodeType": "YulLiteral", + "src": "4892:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4895:1:17", + "nodeType": "YulLiteral", + "src": "4895:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4885:6:17", + "nodeType": "YulIdentifier", + "src": "4885:6:17" + }, + "nativeSrc": "4885:12:17", + "nodeType": "YulFunctionCall", + "src": "4885:12:17" + }, + "nativeSrc": "4885:12:17", + "nodeType": "YulExpressionStatement", + "src": "4885:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_2", + "nativeSrc": "4869:8:17", + "nodeType": "YulIdentifier", + "src": "4869:8:17" + }, + { + "name": "_1", + "nativeSrc": "4879:2:17", + "nodeType": "YulIdentifier", + "src": "4879:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "4866:2:17", + "nodeType": "YulIdentifier", + "src": "4866:2:17" + }, + "nativeSrc": "4866:16:17", + "nodeType": "YulFunctionCall", + "src": "4866:16:17" + }, + "nativeSrc": "4863:36:17", + "nodeType": "YulIf", + "src": "4863:36:17" + }, + { + "nativeSrc": "4908:62:17", + "nodeType": "YulAssignment", + "src": "4908:62:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4940:9:17", + "nodeType": "YulIdentifier", + "src": "4940:9:17" + }, + { + "name": "offset_2", + "nativeSrc": "4951:8:17", + "nodeType": "YulIdentifier", + "src": "4951:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4936:3:17", + "nodeType": "YulIdentifier", + "src": "4936:3:17" + }, + "nativeSrc": "4936:24:17", + "nodeType": "YulFunctionCall", + "src": "4936:24:17" + }, + { + "name": "dataEnd", + "nativeSrc": "4962:7:17", + "nodeType": "YulIdentifier", + "src": "4962:7:17" + } + ], + "functionName": { + "name": "abi_decode_string", + "nativeSrc": "4918:17:17", + "nodeType": "YulIdentifier", + "src": "4918:17:17" + }, + "nativeSrc": "4918:52:17", + "nodeType": "YulFunctionCall", + "src": "4918:52:17" + }, + "variableNames": [ + { + "name": "value2", + "nativeSrc": "4908:6:17", + "nodeType": "YulIdentifier", + "src": "4908:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr", + "nativeSrc": "4233:743:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4317:9:17", + "nodeType": "YulTypedName", + "src": "4317:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "4328:7:17", + "nodeType": "YulTypedName", + "src": "4328:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "4340:6:17", + "nodeType": "YulTypedName", + "src": "4340:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "4348:6:17", + "nodeType": "YulTypedName", + "src": "4348:6:17", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "4356:6:17", + "nodeType": "YulTypedName", + "src": "4356:6:17", + "type": "" + } + ], + "src": "4233:743:17" + }, + { + "body": { + "nativeSrc": "5082:102:17", + "nodeType": "YulBlock", + "src": "5082:102:17", + "statements": [ + { + "nativeSrc": "5092:26:17", + "nodeType": "YulAssignment", + "src": "5092:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5104:9:17", + "nodeType": "YulIdentifier", + "src": "5104:9:17" + }, + { + "kind": "number", + "nativeSrc": "5115:2:17", + "nodeType": "YulLiteral", + "src": "5115:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5100:3:17", + "nodeType": "YulIdentifier", + "src": "5100:3:17" + }, + "nativeSrc": "5100:18:17", + "nodeType": "YulFunctionCall", + "src": "5100:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5092:4:17", + "nodeType": "YulIdentifier", + "src": "5092:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5134:9:17", + "nodeType": "YulIdentifier", + "src": "5134:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5149:6:17", + "nodeType": "YulIdentifier", + "src": "5149:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5165:3:17", + "nodeType": "YulLiteral", + "src": "5165:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "5170:1:17", + "nodeType": "YulLiteral", + "src": "5170:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "5161:3:17", + "nodeType": "YulIdentifier", + "src": "5161:3:17" + }, + "nativeSrc": "5161:11:17", + "nodeType": "YulFunctionCall", + "src": "5161:11:17" + }, + { + "kind": "number", + "nativeSrc": "5174:1:17", + "nodeType": "YulLiteral", + "src": "5174:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5157:3:17", + "nodeType": "YulIdentifier", + "src": "5157:3:17" + }, + "nativeSrc": "5157:19:17", + "nodeType": "YulFunctionCall", + "src": "5157:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "5145:3:17", + "nodeType": "YulIdentifier", + "src": "5145:3:17" + }, + "nativeSrc": "5145:32:17", + "nodeType": "YulFunctionCall", + "src": "5145:32:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5127:6:17", + "nodeType": "YulIdentifier", + "src": "5127:6:17" + }, + "nativeSrc": "5127:51:17", + "nodeType": "YulFunctionCall", + "src": "5127:51:17" + }, + "nativeSrc": "5127:51:17", + "nodeType": "YulExpressionStatement", + "src": "5127:51:17" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "4981:203:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5051:9:17", + "nodeType": "YulTypedName", + "src": "5051:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5062:6:17", + "nodeType": "YulTypedName", + "src": "5062:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5073:4:17", + "nodeType": "YulTypedName", + "src": "5073:4:17", + "type": "" + } + ], + "src": "4981:203:17" + }, + { + "body": { + "nativeSrc": "5310:99:17", + "nodeType": "YulBlock", + "src": "5310:99:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5327:9:17", + "nodeType": "YulIdentifier", + "src": "5327:9:17" + }, + { + "kind": "number", + "nativeSrc": "5338:2:17", + "nodeType": "YulLiteral", + "src": "5338:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5320:6:17", + "nodeType": "YulIdentifier", + "src": "5320:6:17" + }, + "nativeSrc": "5320:21:17", + "nodeType": "YulFunctionCall", + "src": "5320:21:17" + }, + "nativeSrc": "5320:21:17", + "nodeType": "YulExpressionStatement", + "src": "5320:21:17" + }, + { + "nativeSrc": "5350:53:17", + "nodeType": "YulAssignment", + "src": "5350:53:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5376:6:17", + "nodeType": "YulIdentifier", + "src": "5376:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5388:9:17", + "nodeType": "YulIdentifier", + "src": "5388:9:17" + }, + { + "kind": "number", + "nativeSrc": "5399:2:17", + "nodeType": "YulLiteral", + "src": "5399:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5384:3:17", + "nodeType": "YulIdentifier", + "src": "5384:3:17" + }, + "nativeSrc": "5384:18:17", + "nodeType": "YulFunctionCall", + "src": "5384:18:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "5358:17:17", + "nodeType": "YulIdentifier", + "src": "5358:17:17" + }, + "nativeSrc": "5358:45:17", + "nodeType": "YulFunctionCall", + "src": "5358:45:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5350:4:17", + "nodeType": "YulIdentifier", + "src": "5350:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "5189:220:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5279:9:17", + "nodeType": "YulTypedName", + "src": "5279:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5290:6:17", + "nodeType": "YulTypedName", + "src": "5290:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5301:4:17", + "nodeType": "YulTypedName", + "src": "5301:4:17", + "type": "" + } + ], + "src": "5189:220:17" + }, + { + "body": { + "nativeSrc": "5509:92:17", + "nodeType": "YulBlock", + "src": "5509:92:17", + "statements": [ + { + "nativeSrc": "5519:26:17", + "nodeType": "YulAssignment", + "src": "5519:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5531:9:17", + "nodeType": "YulIdentifier", + "src": "5531:9:17" + }, + { + "kind": "number", + "nativeSrc": "5542:2:17", + "nodeType": "YulLiteral", + "src": "5542:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5527:3:17", + "nodeType": "YulIdentifier", + "src": "5527:3:17" + }, + "nativeSrc": "5527:18:17", + "nodeType": "YulFunctionCall", + "src": "5527:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5519:4:17", + "nodeType": "YulIdentifier", + "src": "5519:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5561:9:17", + "nodeType": "YulIdentifier", + "src": "5561:9:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "5586:6:17", + "nodeType": "YulIdentifier", + "src": "5586:6:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5579:6:17", + "nodeType": "YulIdentifier", + "src": "5579:6:17" + }, + "nativeSrc": "5579:14:17", + "nodeType": "YulFunctionCall", + "src": "5579:14:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5572:6:17", + "nodeType": "YulIdentifier", + "src": "5572:6:17" + }, + "nativeSrc": "5572:22:17", + "nodeType": "YulFunctionCall", + "src": "5572:22:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5554:6:17", + "nodeType": "YulIdentifier", + "src": "5554:6:17" + }, + "nativeSrc": "5554:41:17", + "nodeType": "YulFunctionCall", + "src": "5554:41:17" + }, + "nativeSrc": "5554:41:17", + "nodeType": "YulExpressionStatement", + "src": "5554:41:17" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nativeSrc": "5414:187:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5478:9:17", + "nodeType": "YulTypedName", + "src": "5478:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5489:6:17", + "nodeType": "YulTypedName", + "src": "5489:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5500:4:17", + "nodeType": "YulTypedName", + "src": "5500:4:17", + "type": "" + } + ], + "src": "5414:187:17" + }, + { + "body": { + "nativeSrc": "5676:116:17", + "nodeType": "YulBlock", + "src": "5676:116:17", + "statements": [ + { + "body": { + "nativeSrc": "5722:16:17", + "nodeType": "YulBlock", + "src": "5722:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5731:1:17", + "nodeType": "YulLiteral", + "src": "5731:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5734:1:17", + "nodeType": "YulLiteral", + "src": "5734:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5724:6:17", + "nodeType": "YulIdentifier", + "src": "5724:6:17" + }, + "nativeSrc": "5724:12:17", + "nodeType": "YulFunctionCall", + "src": "5724:12:17" + }, + "nativeSrc": "5724:12:17", + "nodeType": "YulExpressionStatement", + "src": "5724:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5697:7:17", + "nodeType": "YulIdentifier", + "src": "5697:7:17" + }, + { + "name": "headStart", + "nativeSrc": "5706:9:17", + "nodeType": "YulIdentifier", + "src": "5706:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5693:3:17", + "nodeType": "YulIdentifier", + "src": "5693:3:17" + }, + "nativeSrc": "5693:23:17", + "nodeType": "YulFunctionCall", + "src": "5693:23:17" + }, + { + "kind": "number", + "nativeSrc": "5718:2:17", + "nodeType": "YulLiteral", + "src": "5718:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5689:3:17", + "nodeType": "YulIdentifier", + "src": "5689:3:17" + }, + "nativeSrc": "5689:32:17", + "nodeType": "YulFunctionCall", + "src": "5689:32:17" + }, + "nativeSrc": "5686:52:17", + "nodeType": "YulIf", + "src": "5686:52:17" + }, + { + "nativeSrc": "5747:39:17", + "nodeType": "YulAssignment", + "src": "5747:39:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5776:9:17", + "nodeType": "YulIdentifier", + "src": "5776:9:17" + } + ], + "functionName": { + "name": "abi_decode_address", + "nativeSrc": "5757:18:17", + "nodeType": "YulIdentifier", + "src": "5757:18:17" + }, + "nativeSrc": "5757:29:17", + "nodeType": "YulFunctionCall", + "src": "5757:29:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5747:6:17", + "nodeType": "YulIdentifier", + "src": "5747:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "5606:186:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5642:9:17", + "nodeType": "YulTypedName", + "src": "5642:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5653:7:17", + "nodeType": "YulTypedName", + "src": "5653:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "5665:6:17", + "nodeType": "YulTypedName", + "src": "5665:6:17", + "type": "" + } + ], + "src": "5606:186:17" + }, + { + "body": { + "nativeSrc": "5852:325:17", + "nodeType": "YulBlock", + "src": "5852:325:17", + "statements": [ + { + "nativeSrc": "5862:22:17", + "nodeType": "YulAssignment", + "src": "5862:22:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5876:1:17", + "nodeType": "YulLiteral", + "src": "5876:1:17", + "type": "", + "value": "1" + }, + { + "name": "data", + "nativeSrc": "5879:4:17", + "nodeType": "YulIdentifier", + "src": "5879:4:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "5872:3:17", + "nodeType": "YulIdentifier", + "src": "5872:3:17" + }, + "nativeSrc": "5872:12:17", + "nodeType": "YulFunctionCall", + "src": "5872:12:17" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5862:6:17", + "nodeType": "YulIdentifier", + "src": "5862:6:17" + } + ] + }, + { + "nativeSrc": "5893:38:17", + "nodeType": "YulVariableDeclaration", + "src": "5893:38:17", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "5923:4:17", + "nodeType": "YulIdentifier", + "src": "5923:4:17" + }, + { + "kind": "number", + "nativeSrc": "5929:1:17", + "nodeType": "YulLiteral", + "src": "5929:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "5919:3:17", + "nodeType": "YulIdentifier", + "src": "5919:3:17" + }, + "nativeSrc": "5919:12:17", + "nodeType": "YulFunctionCall", + "src": "5919:12:17" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "5897:18:17", + "nodeType": "YulTypedName", + "src": "5897:18:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5970:31:17", + "nodeType": "YulBlock", + "src": "5970:31:17", + "statements": [ + { + "nativeSrc": "5972:27:17", + "nodeType": "YulAssignment", + "src": "5972:27:17", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "5986:6:17", + "nodeType": "YulIdentifier", + "src": "5986:6:17" + }, + { + "kind": "number", + "nativeSrc": "5994:4:17", + "nodeType": "YulLiteral", + "src": "5994:4:17", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "5982:3:17", + "nodeType": "YulIdentifier", + "src": "5982:3:17" + }, + "nativeSrc": "5982:17:17", + "nodeType": "YulFunctionCall", + "src": "5982:17:17" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "5972:6:17", + "nodeType": "YulIdentifier", + "src": "5972:6:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "5950:18:17", + "nodeType": "YulIdentifier", + "src": "5950:18:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5943:6:17", + "nodeType": "YulIdentifier", + "src": "5943:6:17" + }, + "nativeSrc": "5943:26:17", + "nodeType": "YulFunctionCall", + "src": "5943:26:17" + }, + "nativeSrc": "5940:61:17", + "nodeType": "YulIf", + "src": "5940:61:17" + }, + { + "body": { + "nativeSrc": "6060:111:17", + "nodeType": "YulBlock", + "src": "6060:111:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6081:1:17", + "nodeType": "YulLiteral", + "src": "6081:1:17", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6088:3:17", + "nodeType": "YulLiteral", + "src": "6088:3:17", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nativeSrc": "6093:10:17", + "nodeType": "YulLiteral", + "src": "6093:10:17", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "6084:3:17", + "nodeType": "YulIdentifier", + "src": "6084:3:17" + }, + "nativeSrc": "6084:20:17", + "nodeType": "YulFunctionCall", + "src": "6084:20:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6074:6:17", + "nodeType": "YulIdentifier", + "src": "6074:6:17" + }, + "nativeSrc": "6074:31:17", + "nodeType": "YulFunctionCall", + "src": "6074:31:17" + }, + "nativeSrc": "6074:31:17", + "nodeType": "YulExpressionStatement", + "src": "6074:31:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6125:1:17", + "nodeType": "YulLiteral", + "src": "6125:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "6128:4:17", + "nodeType": "YulLiteral", + "src": "6128:4:17", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6118:6:17", + "nodeType": "YulIdentifier", + "src": "6118:6:17" + }, + "nativeSrc": "6118:15:17", + "nodeType": "YulFunctionCall", + "src": "6118:15:17" + }, + "nativeSrc": "6118:15:17", + "nodeType": "YulExpressionStatement", + "src": "6118:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6153:1:17", + "nodeType": "YulLiteral", + "src": "6153:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6156:4:17", + "nodeType": "YulLiteral", + "src": "6156:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6146:6:17", + "nodeType": "YulIdentifier", + "src": "6146:6:17" + }, + "nativeSrc": "6146:15:17", + "nodeType": "YulFunctionCall", + "src": "6146:15:17" + }, + "nativeSrc": "6146:15:17", + "nodeType": "YulExpressionStatement", + "src": "6146:15:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "6016:18:17", + "nodeType": "YulIdentifier", + "src": "6016:18:17" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "6039:6:17", + "nodeType": "YulIdentifier", + "src": "6039:6:17" + }, + { + "kind": "number", + "nativeSrc": "6047:2:17", + "nodeType": "YulLiteral", + "src": "6047:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "6036:2:17", + "nodeType": "YulIdentifier", + "src": "6036:2:17" + }, + "nativeSrc": "6036:14:17", + "nodeType": "YulFunctionCall", + "src": "6036:14:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6013:2:17", + "nodeType": "YulIdentifier", + "src": "6013:2:17" + }, + "nativeSrc": "6013:38:17", + "nodeType": "YulFunctionCall", + "src": "6013:38:17" + }, + "nativeSrc": "6010:161:17", + "nodeType": "YulIf", + "src": "6010:161:17" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "5797:380:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "5832:4:17", + "nodeType": "YulTypedName", + "src": "5832:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "5841:6:17", + "nodeType": "YulTypedName", + "src": "5841:6:17", + "type": "" + } + ], + "src": "5797:380:17" + }, + { + "body": { + "nativeSrc": "6321:150:17", + "nodeType": "YulBlock", + "src": "6321:150:17", + "statements": [ + { + "nativeSrc": "6331:27:17", + "nodeType": "YulVariableDeclaration", + "src": "6331:27:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "6351:6:17", + "nodeType": "YulIdentifier", + "src": "6351:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "6345:5:17", + "nodeType": "YulIdentifier", + "src": "6345:5:17" + }, + "nativeSrc": "6345:13:17", + "nodeType": "YulFunctionCall", + "src": "6345:13:17" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "6335:6:17", + "nodeType": "YulTypedName", + "src": "6335:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "6406:6:17", + "nodeType": "YulIdentifier", + "src": "6406:6:17" + }, + { + "kind": "number", + "nativeSrc": "6414:4:17", + "nodeType": "YulLiteral", + "src": "6414:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6402:3:17", + "nodeType": "YulIdentifier", + "src": "6402:3:17" + }, + "nativeSrc": "6402:17:17", + "nodeType": "YulFunctionCall", + "src": "6402:17:17" + }, + { + "name": "pos", + "nativeSrc": "6421:3:17", + "nodeType": "YulIdentifier", + "src": "6421:3:17" + }, + { + "name": "length", + "nativeSrc": "6426:6:17", + "nodeType": "YulIdentifier", + "src": "6426:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "6367:34:17", + "nodeType": "YulIdentifier", + "src": "6367:34:17" + }, + "nativeSrc": "6367:66:17", + "nodeType": "YulFunctionCall", + "src": "6367:66:17" + }, + "nativeSrc": "6367:66:17", + "nodeType": "YulExpressionStatement", + "src": "6367:66:17" + }, + { + "nativeSrc": "6442:23:17", + "nodeType": "YulAssignment", + "src": "6442:23:17", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "6453:3:17", + "nodeType": "YulIdentifier", + "src": "6453:3:17" + }, + { + "name": "length", + "nativeSrc": "6458:6:17", + "nodeType": "YulIdentifier", + "src": "6458:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6449:3:17", + "nodeType": "YulIdentifier", + "src": "6449:3:17" + }, + "nativeSrc": "6449:16:17", + "nodeType": "YulFunctionCall", + "src": "6449:16:17" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "6442:3:17", + "nodeType": "YulIdentifier", + "src": "6442:3:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "6182:289:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "6297:3:17", + "nodeType": "YulTypedName", + "src": "6297:3:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "6302:6:17", + "nodeType": "YulTypedName", + "src": "6302:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "6313:3:17", + "nodeType": "YulTypedName", + "src": "6313:3:17", + "type": "" + } + ], + "src": "6182:289:17" + }, + { + "body": { + "nativeSrc": "6554:199:17", + "nodeType": "YulBlock", + "src": "6554:199:17", + "statements": [ + { + "body": { + "nativeSrc": "6600:16:17", + "nodeType": "YulBlock", + "src": "6600:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6609:1:17", + "nodeType": "YulLiteral", + "src": "6609:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6612:1:17", + "nodeType": "YulLiteral", + "src": "6612:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6602:6:17", + "nodeType": "YulIdentifier", + "src": "6602:6:17" + }, + "nativeSrc": "6602:12:17", + "nodeType": "YulFunctionCall", + "src": "6602:12:17" + }, + "nativeSrc": "6602:12:17", + "nodeType": "YulExpressionStatement", + "src": "6602:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6575:7:17", + "nodeType": "YulIdentifier", + "src": "6575:7:17" + }, + { + "name": "headStart", + "nativeSrc": "6584:9:17", + "nodeType": "YulIdentifier", + "src": "6584:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6571:3:17", + "nodeType": "YulIdentifier", + "src": "6571:3:17" + }, + "nativeSrc": "6571:23:17", + "nodeType": "YulFunctionCall", + "src": "6571:23:17" + }, + { + "kind": "number", + "nativeSrc": "6596:2:17", + "nodeType": "YulLiteral", + "src": "6596:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6567:3:17", + "nodeType": "YulIdentifier", + "src": "6567:3:17" + }, + "nativeSrc": "6567:32:17", + "nodeType": "YulFunctionCall", + "src": "6567:32:17" + }, + "nativeSrc": "6564:52:17", + "nodeType": "YulIf", + "src": "6564:52:17" + }, + { + "nativeSrc": "6625:29:17", + "nodeType": "YulVariableDeclaration", + "src": "6625:29:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6644:9:17", + "nodeType": "YulIdentifier", + "src": "6644:9:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "6638:5:17", + "nodeType": "YulIdentifier", + "src": "6638:5:17" + }, + "nativeSrc": "6638:16:17", + "nodeType": "YulFunctionCall", + "src": "6638:16:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "6629:5:17", + "nodeType": "YulTypedName", + "src": "6629:5:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6707:16:17", + "nodeType": "YulBlock", + "src": "6707:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6716:1:17", + "nodeType": "YulLiteral", + "src": "6716:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6719:1:17", + "nodeType": "YulLiteral", + "src": "6719:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6709:6:17", + "nodeType": "YulIdentifier", + "src": "6709:6:17" + }, + "nativeSrc": "6709:12:17", + "nodeType": "YulFunctionCall", + "src": "6709:12:17" + }, + "nativeSrc": "6709:12:17", + "nodeType": "YulExpressionStatement", + "src": "6709:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6676:5:17", + "nodeType": "YulIdentifier", + "src": "6676:5:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6697:5:17", + "nodeType": "YulIdentifier", + "src": "6697:5:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6690:6:17", + "nodeType": "YulIdentifier", + "src": "6690:6:17" + }, + "nativeSrc": "6690:13:17", + "nodeType": "YulFunctionCall", + "src": "6690:13:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6683:6:17", + "nodeType": "YulIdentifier", + "src": "6683:6:17" + }, + "nativeSrc": "6683:21:17", + "nodeType": "YulFunctionCall", + "src": "6683:21:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6673:2:17", + "nodeType": "YulIdentifier", + "src": "6673:2:17" + }, + "nativeSrc": "6673:32:17", + "nodeType": "YulFunctionCall", + "src": "6673:32:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6666:6:17", + "nodeType": "YulIdentifier", + "src": "6666:6:17" + }, + "nativeSrc": "6666:40:17", + "nodeType": "YulFunctionCall", + "src": "6666:40:17" + }, + "nativeSrc": "6663:60:17", + "nodeType": "YulIf", + "src": "6663:60:17" + }, + { + "nativeSrc": "6732:15:17", + "nodeType": "YulAssignment", + "src": "6732:15:17", + "value": { + "name": "value", + "nativeSrc": "6742:5:17", + "nodeType": "YulIdentifier", + "src": "6742:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6732:6:17", + "nodeType": "YulIdentifier", + "src": "6732:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nativeSrc": "6476:277:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6520:9:17", + "nodeType": "YulTypedName", + "src": "6520:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6531:7:17", + "nodeType": "YulTypedName", + "src": "6531:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6543:6:17", + "nodeType": "YulTypedName", + "src": "6543:6:17", + "type": "" + } + ], + "src": "6476:277:17" + }, + { + "body": { + "nativeSrc": "6932:172:17", + "nodeType": "YulBlock", + "src": "6932:172:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6949:9:17", + "nodeType": "YulIdentifier", + "src": "6949:9:17" + }, + { + "kind": "number", + "nativeSrc": "6960:2:17", + "nodeType": "YulLiteral", + "src": "6960:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6942:6:17", + "nodeType": "YulIdentifier", + "src": "6942:6:17" + }, + "nativeSrc": "6942:21:17", + "nodeType": "YulFunctionCall", + "src": "6942:21:17" + }, + "nativeSrc": "6942:21:17", + "nodeType": "YulExpressionStatement", + "src": "6942:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6983:9:17", + "nodeType": "YulIdentifier", + "src": "6983:9:17" + }, + { + "kind": "number", + "nativeSrc": "6994:2:17", + "nodeType": "YulLiteral", + "src": "6994:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6979:3:17", + "nodeType": "YulIdentifier", + "src": "6979:3:17" + }, + "nativeSrc": "6979:18:17", + "nodeType": "YulFunctionCall", + "src": "6979:18:17" + }, + { + "kind": "number", + "nativeSrc": "6999:2:17", + "nodeType": "YulLiteral", + "src": "6999:2:17", + "type": "", + "value": "22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6972:6:17", + "nodeType": "YulIdentifier", + "src": "6972:6:17" + }, + "nativeSrc": "6972:30:17", + "nodeType": "YulFunctionCall", + "src": "6972:30:17" + }, + "nativeSrc": "6972:30:17", + "nodeType": "YulExpressionStatement", + "src": "6972:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7022:9:17", + "nodeType": "YulIdentifier", + "src": "7022:9:17" + }, + { + "kind": "number", + "nativeSrc": "7033:2:17", + "nodeType": "YulLiteral", + "src": "7033:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7018:3:17", + "nodeType": "YulIdentifier", + "src": "7018:3:17" + }, + "nativeSrc": "7018:18:17", + "nodeType": "YulFunctionCall", + "src": "7018:18:17" + }, + { + "hexValue": "53657276696365206e6f742072656769737465726564", + "kind": "string", + "nativeSrc": "7038:24:17", + "nodeType": "YulLiteral", + "src": "7038:24:17", + "type": "", + "value": "Service not registered" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7011:6:17", + "nodeType": "YulIdentifier", + "src": "7011:6:17" + }, + "nativeSrc": "7011:52:17", + "nodeType": "YulFunctionCall", + "src": "7011:52:17" + }, + "nativeSrc": "7011:52:17", + "nodeType": "YulExpressionStatement", + "src": "7011:52:17" + }, + { + "nativeSrc": "7072:26:17", + "nodeType": "YulAssignment", + "src": "7072:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7084:9:17", + "nodeType": "YulIdentifier", + "src": "7084:9:17" + }, + { + "kind": "number", + "nativeSrc": "7095:2:17", + "nodeType": "YulLiteral", + "src": "7095:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7080:3:17", + "nodeType": "YulIdentifier", + "src": "7080:3:17" + }, + "nativeSrc": "7080:18:17", + "nodeType": "YulFunctionCall", + "src": "7080:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7072:4:17", + "nodeType": "YulIdentifier", + "src": "7072:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "6758:346:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6909:9:17", + "nodeType": "YulTypedName", + "src": "6909:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6923:4:17", + "nodeType": "YulTypedName", + "src": "6923:4:17", + "type": "" + } + ], + "src": "6758:346:17" + }, + { + "body": { + "nativeSrc": "7165:65:17", + "nodeType": "YulBlock", + "src": "7165:65:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7182:1:17", + "nodeType": "YulLiteral", + "src": "7182:1:17", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "7185:3:17", + "nodeType": "YulIdentifier", + "src": "7185:3:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7175:6:17", + "nodeType": "YulIdentifier", + "src": "7175:6:17" + }, + "nativeSrc": "7175:14:17", + "nodeType": "YulFunctionCall", + "src": "7175:14:17" + }, + "nativeSrc": "7175:14:17", + "nodeType": "YulExpressionStatement", + "src": "7175:14:17" + }, + { + "nativeSrc": "7198:26:17", + "nodeType": "YulAssignment", + "src": "7198:26:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7216:1:17", + "nodeType": "YulLiteral", + "src": "7216:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7219:4:17", + "nodeType": "YulLiteral", + "src": "7219:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "7206:9:17", + "nodeType": "YulIdentifier", + "src": "7206:9:17" + }, + "nativeSrc": "7206:18:17", + "nodeType": "YulFunctionCall", + "src": "7206:18:17" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "7198:4:17", + "nodeType": "YulIdentifier", + "src": "7198:4:17" + } + ] + } + ] + }, + "name": "array_dataslot_string_storage", + "nativeSrc": "7109:121:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "7148:3:17", + "nodeType": "YulTypedName", + "src": "7148:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "7156:4:17", + "nodeType": "YulTypedName", + "src": "7156:4:17", + "type": "" + } + ], + "src": "7109:121:17" + }, + { + "body": { + "nativeSrc": "7316:462:17", + "nodeType": "YulBlock", + "src": "7316:462:17", + "statements": [ + { + "body": { + "nativeSrc": "7349:423:17", + "nodeType": "YulBlock", + "src": "7349:423:17", + "statements": [ + { + "nativeSrc": "7363:11:17", + "nodeType": "YulVariableDeclaration", + "src": "7363:11:17", + "value": { + "kind": "number", + "nativeSrc": "7373:1:17", + "nodeType": "YulLiteral", + "src": "7373:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "7367:2:17", + "nodeType": "YulTypedName", + "src": "7367:2:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7394:1:17", + "nodeType": "YulLiteral", + "src": "7394:1:17", + "type": "", + "value": "0" + }, + { + "name": "array", + "nativeSrc": "7397:5:17", + "nodeType": "YulIdentifier", + "src": "7397:5:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7387:6:17", + "nodeType": "YulIdentifier", + "src": "7387:6:17" + }, + "nativeSrc": "7387:16:17", + "nodeType": "YulFunctionCall", + "src": "7387:16:17" + }, + "nativeSrc": "7387:16:17", + "nodeType": "YulExpressionStatement", + "src": "7387:16:17" + }, + { + "nativeSrc": "7416:30:17", + "nodeType": "YulVariableDeclaration", + "src": "7416:30:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7438:1:17", + "nodeType": "YulLiteral", + "src": "7438:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7441:4:17", + "nodeType": "YulLiteral", + "src": "7441:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "7428:9:17", + "nodeType": "YulIdentifier", + "src": "7428:9:17" + }, + "nativeSrc": "7428:18:17", + "nodeType": "YulFunctionCall", + "src": "7428:18:17" + }, + "variables": [ + { + "name": "data", + "nativeSrc": "7420:4:17", + "nodeType": "YulTypedName", + "src": "7420:4:17", + "type": "" + } + ] + }, + { + "nativeSrc": "7459:57:17", + "nodeType": "YulVariableDeclaration", + "src": "7459:57:17", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "7482:4:17", + "nodeType": "YulIdentifier", + "src": "7482:4:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7492:1:17", + "nodeType": "YulLiteral", + "src": "7492:1:17", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "7499:10:17", + "nodeType": "YulIdentifier", + "src": "7499:10:17" + }, + { + "kind": "number", + "nativeSrc": "7511:2:17", + "nodeType": "YulLiteral", + "src": "7511:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7495:3:17", + "nodeType": "YulIdentifier", + "src": "7495:3:17" + }, + "nativeSrc": "7495:19:17", + "nodeType": "YulFunctionCall", + "src": "7495:19:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "7488:3:17", + "nodeType": "YulIdentifier", + "src": "7488:3:17" + }, + "nativeSrc": "7488:27:17", + "nodeType": "YulFunctionCall", + "src": "7488:27:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7478:3:17", + "nodeType": "YulIdentifier", + "src": "7478:3:17" + }, + "nativeSrc": "7478:38:17", + "nodeType": "YulFunctionCall", + "src": "7478:38:17" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "7463:11:17", + "nodeType": "YulTypedName", + "src": "7463:11:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7553:23:17", + "nodeType": "YulBlock", + "src": "7553:23:17", + "statements": [ + { + "nativeSrc": "7555:19:17", + "nodeType": "YulAssignment", + "src": "7555:19:17", + "value": { + "name": "data", + "nativeSrc": "7570:4:17", + "nodeType": "YulIdentifier", + "src": "7570:4:17" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "7555:11:17", + "nodeType": "YulIdentifier", + "src": "7555:11:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "7535:10:17", + "nodeType": "YulIdentifier", + "src": "7535:10:17" + }, + { + "kind": "number", + "nativeSrc": "7547:4:17", + "nodeType": "YulLiteral", + "src": "7547:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7532:2:17", + "nodeType": "YulIdentifier", + "src": "7532:2:17" + }, + "nativeSrc": "7532:20:17", + "nodeType": "YulFunctionCall", + "src": "7532:20:17" + }, + "nativeSrc": "7529:47:17", + "nodeType": "YulIf", + "src": "7529:47:17" + }, + { + "nativeSrc": "7589:41:17", + "nodeType": "YulVariableDeclaration", + "src": "7589:41:17", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "7603:4:17", + "nodeType": "YulIdentifier", + "src": "7603:4:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7613:1:17", + "nodeType": "YulLiteral", + "src": "7613:1:17", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "7620:3:17", + "nodeType": "YulIdentifier", + "src": "7620:3:17" + }, + { + "kind": "number", + "nativeSrc": "7625:2:17", + "nodeType": "YulLiteral", + "src": "7625:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7616:3:17", + "nodeType": "YulIdentifier", + "src": "7616:3:17" + }, + "nativeSrc": "7616:12:17", + "nodeType": "YulFunctionCall", + "src": "7616:12:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "7609:3:17", + "nodeType": "YulIdentifier", + "src": "7609:3:17" + }, + "nativeSrc": "7609:20:17", + "nodeType": "YulFunctionCall", + "src": "7609:20:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7599:3:17", + "nodeType": "YulIdentifier", + "src": "7599:3:17" + }, + "nativeSrc": "7599:31:17", + "nodeType": "YulFunctionCall", + "src": "7599:31:17" + }, + "variables": [ + { + "name": "_2", + "nativeSrc": "7593:2:17", + "nodeType": "YulTypedName", + "src": "7593:2:17", + "type": "" + } + ] + }, + { + "nativeSrc": "7643:24:17", + "nodeType": "YulVariableDeclaration", + "src": "7643:24:17", + "value": { + "name": "deleteStart", + "nativeSrc": "7656:11:17", + "nodeType": "YulIdentifier", + "src": "7656:11:17" + }, + "variables": [ + { + "name": "start", + "nativeSrc": "7647:5:17", + "nodeType": "YulTypedName", + "src": "7647:5:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7741:21:17", + "nodeType": "YulBlock", + "src": "7741:21:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "7750:5:17", + "nodeType": "YulIdentifier", + "src": "7750:5:17" + }, + { + "name": "_1", + "nativeSrc": "7757:2:17", + "nodeType": "YulIdentifier", + "src": "7757:2:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "7743:6:17", + "nodeType": "YulIdentifier", + "src": "7743:6:17" + }, + "nativeSrc": "7743:17:17", + "nodeType": "YulFunctionCall", + "src": "7743:17:17" + }, + "nativeSrc": "7743:17:17", + "nodeType": "YulExpressionStatement", + "src": "7743:17:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "7691:5:17", + "nodeType": "YulIdentifier", + "src": "7691:5:17" + }, + { + "name": "_2", + "nativeSrc": "7698:2:17", + "nodeType": "YulIdentifier", + "src": "7698:2:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7688:2:17", + "nodeType": "YulIdentifier", + "src": "7688:2:17" + }, + "nativeSrc": "7688:13:17", + "nodeType": "YulFunctionCall", + "src": "7688:13:17" + }, + "nativeSrc": "7680:82:17", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "7702:26:17", + "nodeType": "YulBlock", + "src": "7702:26:17", + "statements": [ + { + "nativeSrc": "7704:22:17", + "nodeType": "YulAssignment", + "src": "7704:22:17", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "7717:5:17", + "nodeType": "YulIdentifier", + "src": "7717:5:17" + }, + { + "kind": "number", + "nativeSrc": "7724:1:17", + "nodeType": "YulLiteral", + "src": "7724:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7713:3:17", + "nodeType": "YulIdentifier", + "src": "7713:3:17" + }, + "nativeSrc": "7713:13:17", + "nodeType": "YulFunctionCall", + "src": "7713:13:17" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "7704:5:17", + "nodeType": "YulIdentifier", + "src": "7704:5:17" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "7684:3:17", + "nodeType": "YulBlock", + "src": "7684:3:17", + "statements": [] + }, + "src": "7680:82:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "7332:3:17", + "nodeType": "YulIdentifier", + "src": "7332:3:17" + }, + { + "kind": "number", + "nativeSrc": "7337:2:17", + "nodeType": "YulLiteral", + "src": "7337:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7329:2:17", + "nodeType": "YulIdentifier", + "src": "7329:2:17" + }, + "nativeSrc": "7329:11:17", + "nodeType": "YulFunctionCall", + "src": "7329:11:17" + }, + "nativeSrc": "7326:446:17", + "nodeType": "YulIf", + "src": "7326:446:17" + } + ] + }, + "name": "clean_up_bytearray_end_slots_string_storage", + "nativeSrc": "7235:543:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "7288:5:17", + "nodeType": "YulTypedName", + "src": "7288:5:17", + "type": "" + }, + { + "name": "len", + "nativeSrc": "7295:3:17", + "nodeType": "YulTypedName", + "src": "7295:3:17", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "7300:10:17", + "nodeType": "YulTypedName", + "src": "7300:10:17", + "type": "" + } + ], + "src": "7235:543:17" + }, + { + "body": { + "nativeSrc": "7868:81:17", + "nodeType": "YulBlock", + "src": "7868:81:17", + "statements": [ + { + "nativeSrc": "7878:65:17", + "nodeType": "YulAssignment", + "src": "7878:65:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "data", + "nativeSrc": "7893:4:17", + "nodeType": "YulIdentifier", + "src": "7893:4:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7911:1:17", + "nodeType": "YulLiteral", + "src": "7911:1:17", + "type": "", + "value": "3" + }, + { + "name": "len", + "nativeSrc": "7914:3:17", + "nodeType": "YulIdentifier", + "src": "7914:3:17" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "7907:3:17", + "nodeType": "YulIdentifier", + "src": "7907:3:17" + }, + "nativeSrc": "7907:11:17", + "nodeType": "YulFunctionCall", + "src": "7907:11:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7924:1:17", + "nodeType": "YulLiteral", + "src": "7924:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "7920:3:17", + "nodeType": "YulIdentifier", + "src": "7920:3:17" + }, + "nativeSrc": "7920:6:17", + "nodeType": "YulFunctionCall", + "src": "7920:6:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "7903:3:17", + "nodeType": "YulIdentifier", + "src": "7903:3:17" + }, + "nativeSrc": "7903:24:17", + "nodeType": "YulFunctionCall", + "src": "7903:24:17" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "7899:3:17", + "nodeType": "YulIdentifier", + "src": "7899:3:17" + }, + "nativeSrc": "7899:29:17", + "nodeType": "YulFunctionCall", + "src": "7899:29:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "7889:3:17", + "nodeType": "YulIdentifier", + "src": "7889:3:17" + }, + "nativeSrc": "7889:40:17", + "nodeType": "YulFunctionCall", + "src": "7889:40:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7935:1:17", + "nodeType": "YulLiteral", + "src": "7935:1:17", + "type": "", + "value": "1" + }, + { + "name": "len", + "nativeSrc": "7938:3:17", + "nodeType": "YulIdentifier", + "src": "7938:3:17" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "7931:3:17", + "nodeType": "YulIdentifier", + "src": "7931:3:17" + }, + "nativeSrc": "7931:11:17", + "nodeType": "YulFunctionCall", + "src": "7931:11:17" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "7886:2:17", + "nodeType": "YulIdentifier", + "src": "7886:2:17" + }, + "nativeSrc": "7886:57:17", + "nodeType": "YulFunctionCall", + "src": "7886:57:17" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "7878:4:17", + "nodeType": "YulIdentifier", + "src": "7878:4:17" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "7783:166:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "7845:4:17", + "nodeType": "YulTypedName", + "src": "7845:4:17", + "type": "" + }, + { + "name": "len", + "nativeSrc": "7851:3:17", + "nodeType": "YulTypedName", + "src": "7851:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "7859:4:17", + "nodeType": "YulTypedName", + "src": "7859:4:17", + "type": "" + } + ], + "src": "7783:166:17" + }, + { + "body": { + "nativeSrc": "8050:1249:17", + "nodeType": "YulBlock", + "src": "8050:1249:17", + "statements": [ + { + "nativeSrc": "8060:24:17", + "nodeType": "YulVariableDeclaration", + "src": "8060:24:17", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "8080:3:17", + "nodeType": "YulIdentifier", + "src": "8080:3:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8074:5:17", + "nodeType": "YulIdentifier", + "src": "8074:5:17" + }, + "nativeSrc": "8074:10:17", + "nodeType": "YulFunctionCall", + "src": "8074:10:17" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "8064:6:17", + "nodeType": "YulTypedName", + "src": "8064:6:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8127:22:17", + "nodeType": "YulBlock", + "src": "8127:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "8129:16:17", + "nodeType": "YulIdentifier", + "src": "8129:16:17" + }, + "nativeSrc": "8129:18:17", + "nodeType": "YulFunctionCall", + "src": "8129:18:17" + }, + "nativeSrc": "8129:18:17", + "nodeType": "YulExpressionStatement", + "src": "8129:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "8099:6:17", + "nodeType": "YulIdentifier", + "src": "8099:6:17" + }, + { + "kind": "number", + "nativeSrc": "8107:18:17", + "nodeType": "YulLiteral", + "src": "8107:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8096:2:17", + "nodeType": "YulIdentifier", + "src": "8096:2:17" + }, + "nativeSrc": "8096:30:17", + "nodeType": "YulFunctionCall", + "src": "8096:30:17" + }, + "nativeSrc": "8093:56:17", + "nodeType": "YulIf", + "src": "8093:56:17" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "8202:4:17", + "nodeType": "YulIdentifier", + "src": "8202:4:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "8240:4:17", + "nodeType": "YulIdentifier", + "src": "8240:4:17" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "8234:5:17", + "nodeType": "YulIdentifier", + "src": "8234:5:17" + }, + "nativeSrc": "8234:11:17", + "nodeType": "YulFunctionCall", + "src": "8234:11:17" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "8208:25:17", + "nodeType": "YulIdentifier", + "src": "8208:25:17" + }, + "nativeSrc": "8208:38:17", + "nodeType": "YulFunctionCall", + "src": "8208:38:17" + }, + { + "name": "newLen", + "nativeSrc": "8248:6:17", + "nodeType": "YulIdentifier", + "src": "8248:6:17" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_string_storage", + "nativeSrc": "8158:43:17", + "nodeType": "YulIdentifier", + "src": "8158:43:17" + }, + "nativeSrc": "8158:97:17", + "nodeType": "YulFunctionCall", + "src": "8158:97:17" + }, + "nativeSrc": "8158:97:17", + "nodeType": "YulExpressionStatement", + "src": "8158:97:17" + }, + { + "nativeSrc": "8264:18:17", + "nodeType": "YulVariableDeclaration", + "src": "8264:18:17", + "value": { + "kind": "number", + "nativeSrc": "8281:1:17", + "nodeType": "YulLiteral", + "src": "8281:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "8268:9:17", + "nodeType": "YulTypedName", + "src": "8268:9:17", + "type": "" + } + ] + }, + { + "nativeSrc": "8291:23:17", + "nodeType": "YulVariableDeclaration", + "src": "8291:23:17", + "value": { + "kind": "number", + "nativeSrc": "8310:4:17", + "nodeType": "YulLiteral", + "src": "8310:4:17", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "srcOffset_1", + "nativeSrc": "8295:11:17", + "nodeType": "YulTypedName", + "src": "8295:11:17", + "type": "" + } + ] + }, + { + "nativeSrc": "8323:17:17", + "nodeType": "YulAssignment", + "src": "8323:17:17", + "value": { + "kind": "number", + "nativeSrc": "8336:4:17", + "nodeType": "YulLiteral", + "src": "8336:4:17", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "8323:9:17", + "nodeType": "YulIdentifier", + "src": "8323:9:17" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "8386:656:17", + "nodeType": "YulBlock", + "src": "8386:656:17", + "statements": [ + { + "nativeSrc": "8400:35:17", + "nodeType": "YulVariableDeclaration", + "src": "8400:35:17", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "8419:6:17", + "nodeType": "YulIdentifier", + "src": "8419:6:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8431:2:17", + "nodeType": "YulLiteral", + "src": "8431:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8427:3:17", + "nodeType": "YulIdentifier", + "src": "8427:3:17" + }, + "nativeSrc": "8427:7:17", + "nodeType": "YulFunctionCall", + "src": "8427:7:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8415:3:17", + "nodeType": "YulIdentifier", + "src": "8415:3:17" + }, + "nativeSrc": "8415:20:17", + "nodeType": "YulFunctionCall", + "src": "8415:20:17" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "8404:7:17", + "nodeType": "YulTypedName", + "src": "8404:7:17", + "type": "" + } + ] + }, + { + "nativeSrc": "8448:49:17", + "nodeType": "YulVariableDeclaration", + "src": "8448:49:17", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "8492:4:17", + "nodeType": "YulIdentifier", + "src": "8492:4:17" + } + ], + "functionName": { + "name": "array_dataslot_string_storage", + "nativeSrc": "8462:29:17", + "nodeType": "YulIdentifier", + "src": "8462:29:17" + }, + "nativeSrc": "8462:35:17", + "nodeType": "YulFunctionCall", + "src": "8462:35:17" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "8452:6:17", + "nodeType": "YulTypedName", + "src": "8452:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "8510:10:17", + "nodeType": "YulVariableDeclaration", + "src": "8510:10:17", + "value": { + "kind": "number", + "nativeSrc": "8519:1:17", + "nodeType": "YulLiteral", + "src": "8519:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "8514:1:17", + "nodeType": "YulTypedName", + "src": "8514:1:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "8597:172:17", + "nodeType": "YulBlock", + "src": "8597:172:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "8622:6:17", + "nodeType": "YulIdentifier", + "src": "8622:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "8640:3:17", + "nodeType": "YulIdentifier", + "src": "8640:3:17" + }, + { + "name": "srcOffset", + "nativeSrc": "8645:9:17", + "nodeType": "YulIdentifier", + "src": "8645:9:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8636:3:17", + "nodeType": "YulIdentifier", + "src": "8636:3:17" + }, + "nativeSrc": "8636:19:17", + "nodeType": "YulFunctionCall", + "src": "8636:19:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8630:5:17", + "nodeType": "YulIdentifier", + "src": "8630:5:17" + }, + "nativeSrc": "8630:26:17", + "nodeType": "YulFunctionCall", + "src": "8630:26:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "8615:6:17", + "nodeType": "YulIdentifier", + "src": "8615:6:17" + }, + "nativeSrc": "8615:42:17", + "nodeType": "YulFunctionCall", + "src": "8615:42:17" + }, + "nativeSrc": "8615:42:17", + "nodeType": "YulExpressionStatement", + "src": "8615:42:17" + }, + { + "nativeSrc": "8674:24:17", + "nodeType": "YulAssignment", + "src": "8674:24:17", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "8688:6:17", + "nodeType": "YulIdentifier", + "src": "8688:6:17" + }, + { + "kind": "number", + "nativeSrc": "8696:1:17", + "nodeType": "YulLiteral", + "src": "8696:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8684:3:17", + "nodeType": "YulIdentifier", + "src": "8684:3:17" + }, + "nativeSrc": "8684:14:17", + "nodeType": "YulFunctionCall", + "src": "8684:14:17" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "8674:6:17", + "nodeType": "YulIdentifier", + "src": "8674:6:17" + } + ] + }, + { + "nativeSrc": "8715:40:17", + "nodeType": "YulAssignment", + "src": "8715:40:17", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "8732:9:17", + "nodeType": "YulIdentifier", + "src": "8732:9:17" + }, + { + "name": "srcOffset_1", + "nativeSrc": "8743:11:17", + "nodeType": "YulIdentifier", + "src": "8743:11:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8728:3:17", + "nodeType": "YulIdentifier", + "src": "8728:3:17" + }, + "nativeSrc": "8728:27:17", + "nodeType": "YulFunctionCall", + "src": "8728:27:17" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "8715:9:17", + "nodeType": "YulIdentifier", + "src": "8715:9:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "8544:1:17", + "nodeType": "YulIdentifier", + "src": "8544:1:17" + }, + { + "name": "loopEnd", + "nativeSrc": "8547:7:17", + "nodeType": "YulIdentifier", + "src": "8547:7:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8541:2:17", + "nodeType": "YulIdentifier", + "src": "8541:2:17" + }, + "nativeSrc": "8541:14:17", + "nodeType": "YulFunctionCall", + "src": "8541:14:17" + }, + "nativeSrc": "8533:236:17", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "8556:28:17", + "nodeType": "YulBlock", + "src": "8556:28:17", + "statements": [ + { + "nativeSrc": "8558:24:17", + "nodeType": "YulAssignment", + "src": "8558:24:17", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "8567:1:17", + "nodeType": "YulIdentifier", + "src": "8567:1:17" + }, + { + "name": "srcOffset_1", + "nativeSrc": "8570:11:17", + "nodeType": "YulIdentifier", + "src": "8570:11:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8563:3:17", + "nodeType": "YulIdentifier", + "src": "8563:3:17" + }, + "nativeSrc": "8563:19:17", + "nodeType": "YulFunctionCall", + "src": "8563:19:17" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "8558:1:17", + "nodeType": "YulIdentifier", + "src": "8558:1:17" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "8537:3:17", + "nodeType": "YulBlock", + "src": "8537:3:17", + "statements": [] + }, + "src": "8533:236:17" + }, + { + "body": { + "nativeSrc": "8817:166:17", + "nodeType": "YulBlock", + "src": "8817:166:17", + "statements": [ + { + "nativeSrc": "8835:43:17", + "nodeType": "YulVariableDeclaration", + "src": "8835:43:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "8862:3:17", + "nodeType": "YulIdentifier", + "src": "8862:3:17" + }, + { + "name": "srcOffset", + "nativeSrc": "8867:9:17", + "nodeType": "YulIdentifier", + "src": "8867:9:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8858:3:17", + "nodeType": "YulIdentifier", + "src": "8858:3:17" + }, + "nativeSrc": "8858:19:17", + "nodeType": "YulFunctionCall", + "src": "8858:19:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "8852:5:17", + "nodeType": "YulIdentifier", + "src": "8852:5:17" + }, + "nativeSrc": "8852:26:17", + "nodeType": "YulFunctionCall", + "src": "8852:26:17" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "8839:9:17", + "nodeType": "YulTypedName", + "src": "8839:9:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "8902:6:17", + "nodeType": "YulIdentifier", + "src": "8902:6:17" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "8914:9:17", + "nodeType": "YulIdentifier", + "src": "8914:9:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8941:1:17", + "nodeType": "YulLiteral", + "src": "8941:1:17", + "type": "", + "value": "3" + }, + { + "name": "newLen", + "nativeSrc": "8944:6:17", + "nodeType": "YulIdentifier", + "src": "8944:6:17" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "8937:3:17", + "nodeType": "YulIdentifier", + "src": "8937:3:17" + }, + "nativeSrc": "8937:14:17", + "nodeType": "YulFunctionCall", + "src": "8937:14:17" + }, + { + "kind": "number", + "nativeSrc": "8953:3:17", + "nodeType": "YulLiteral", + "src": "8953:3:17", + "type": "", + "value": "248" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8933:3:17", + "nodeType": "YulIdentifier", + "src": "8933:3:17" + }, + "nativeSrc": "8933:24:17", + "nodeType": "YulFunctionCall", + "src": "8933:24:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8963:1:17", + "nodeType": "YulLiteral", + "src": "8963:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8959:3:17", + "nodeType": "YulIdentifier", + "src": "8959:3:17" + }, + "nativeSrc": "8959:6:17", + "nodeType": "YulFunctionCall", + "src": "8959:6:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "8929:3:17", + "nodeType": "YulIdentifier", + "src": "8929:3:17" + }, + "nativeSrc": "8929:37:17", + "nodeType": "YulFunctionCall", + "src": "8929:37:17" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "8925:3:17", + "nodeType": "YulIdentifier", + "src": "8925:3:17" + }, + "nativeSrc": "8925:42:17", + "nodeType": "YulFunctionCall", + "src": "8925:42:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8910:3:17", + "nodeType": "YulIdentifier", + "src": "8910:3:17" + }, + "nativeSrc": "8910:58:17", + "nodeType": "YulFunctionCall", + "src": "8910:58:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "8895:6:17", + "nodeType": "YulIdentifier", + "src": "8895:6:17" + }, + "nativeSrc": "8895:74:17", + "nodeType": "YulFunctionCall", + "src": "8895:74:17" + }, + "nativeSrc": "8895:74:17", + "nodeType": "YulExpressionStatement", + "src": "8895:74:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "8788:7:17", + "nodeType": "YulIdentifier", + "src": "8788:7:17" + }, + { + "name": "newLen", + "nativeSrc": "8797:6:17", + "nodeType": "YulIdentifier", + "src": "8797:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "8785:2:17", + "nodeType": "YulIdentifier", + "src": "8785:2:17" + }, + "nativeSrc": "8785:19:17", + "nodeType": "YulFunctionCall", + "src": "8785:19:17" + }, + "nativeSrc": "8782:201:17", + "nodeType": "YulIf", + "src": "8782:201:17" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9003:4:17", + "nodeType": "YulIdentifier", + "src": "9003:4:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9017:1:17", + "nodeType": "YulLiteral", + "src": "9017:1:17", + "type": "", + "value": "1" + }, + { + "name": "newLen", + "nativeSrc": "9020:6:17", + "nodeType": "YulIdentifier", + "src": "9020:6:17" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "9013:3:17", + "nodeType": "YulIdentifier", + "src": "9013:3:17" + }, + "nativeSrc": "9013:14:17", + "nodeType": "YulFunctionCall", + "src": "9013:14:17" + }, + { + "kind": "number", + "nativeSrc": "9029:1:17", + "nodeType": "YulLiteral", + "src": "9029:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9009:3:17", + "nodeType": "YulIdentifier", + "src": "9009:3:17" + }, + "nativeSrc": "9009:22:17", + "nodeType": "YulFunctionCall", + "src": "9009:22:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "8996:6:17", + "nodeType": "YulIdentifier", + "src": "8996:6:17" + }, + "nativeSrc": "8996:36:17", + "nodeType": "YulFunctionCall", + "src": "8996:36:17" + }, + "nativeSrc": "8996:36:17", + "nodeType": "YulExpressionStatement", + "src": "8996:36:17" + } + ] + }, + "nativeSrc": "8379:663:17", + "nodeType": "YulCase", + "src": "8379:663:17", + "value": { + "kind": "number", + "nativeSrc": "8384:1:17", + "nodeType": "YulLiteral", + "src": "8384:1:17", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "9059:234:17", + "nodeType": "YulBlock", + "src": "9059:234:17", + "statements": [ + { + "nativeSrc": "9073:14:17", + "nodeType": "YulVariableDeclaration", + "src": "9073:14:17", + "value": { + "kind": "number", + "nativeSrc": "9086:1:17", + "nodeType": "YulLiteral", + "src": "9086:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "9077:5:17", + "nodeType": "YulTypedName", + "src": "9077:5:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9122:67:17", + "nodeType": "YulBlock", + "src": "9122:67:17", + "statements": [ + { + "nativeSrc": "9140:35:17", + "nodeType": "YulAssignment", + "src": "9140:35:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "9159:3:17", + "nodeType": "YulIdentifier", + "src": "9159:3:17" + }, + { + "name": "srcOffset", + "nativeSrc": "9164:9:17", + "nodeType": "YulIdentifier", + "src": "9164:9:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9155:3:17", + "nodeType": "YulIdentifier", + "src": "9155:3:17" + }, + "nativeSrc": "9155:19:17", + "nodeType": "YulFunctionCall", + "src": "9155:19:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9149:5:17", + "nodeType": "YulIdentifier", + "src": "9149:5:17" + }, + "nativeSrc": "9149:26:17", + "nodeType": "YulFunctionCall", + "src": "9149:26:17" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9140:5:17", + "nodeType": "YulIdentifier", + "src": "9140:5:17" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "9103:6:17", + "nodeType": "YulIdentifier", + "src": "9103:6:17" + }, + "nativeSrc": "9100:89:17", + "nodeType": "YulIf", + "src": "9100:89:17" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "9209:4:17", + "nodeType": "YulIdentifier", + "src": "9209:4:17" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9268:5:17", + "nodeType": "YulIdentifier", + "src": "9268:5:17" + }, + { + "name": "newLen", + "nativeSrc": "9275:6:17", + "nodeType": "YulIdentifier", + "src": "9275:6:17" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "9215:52:17", + "nodeType": "YulIdentifier", + "src": "9215:52:17" + }, + "nativeSrc": "9215:67:17", + "nodeType": "YulFunctionCall", + "src": "9215:67:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "9202:6:17", + "nodeType": "YulIdentifier", + "src": "9202:6:17" + }, + "nativeSrc": "9202:81:17", + "nodeType": "YulFunctionCall", + "src": "9202:81:17" + }, + "nativeSrc": "9202:81:17", + "nodeType": "YulExpressionStatement", + "src": "9202:81:17" + } + ] + }, + "nativeSrc": "9051:242:17", + "nodeType": "YulCase", + "src": "9051:242:17", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "8359:6:17", + "nodeType": "YulIdentifier", + "src": "8359:6:17" + }, + { + "kind": "number", + "nativeSrc": "8367:2:17", + "nodeType": "YulLiteral", + "src": "8367:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "8356:2:17", + "nodeType": "YulIdentifier", + "src": "8356:2:17" + }, + "nativeSrc": "8356:14:17", + "nodeType": "YulFunctionCall", + "src": "8356:14:17" + }, + "nativeSrc": "8349:944:17", + "nodeType": "YulSwitch", + "src": "8349:944:17" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "7954:1345:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "8035:4:17", + "nodeType": "YulTypedName", + "src": "8035:4:17", + "type": "" + }, + { + "name": "src", + "nativeSrc": "8041:3:17", + "nodeType": "YulTypedName", + "src": "8041:3:17", + "type": "" + } + ], + "src": "7954:1345:17" + }, + { + "body": { + "nativeSrc": "9412:101:17", + "nodeType": "YulBlock", + "src": "9412:101:17", + "statements": [ + { + "nativeSrc": "9422:26:17", + "nodeType": "YulAssignment", + "src": "9422:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9434:9:17", + "nodeType": "YulIdentifier", + "src": "9434:9:17" + }, + { + "kind": "number", + "nativeSrc": "9445:2:17", + "nodeType": "YulLiteral", + "src": "9445:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9430:3:17", + "nodeType": "YulIdentifier", + "src": "9430:3:17" + }, + "nativeSrc": "9430:18:17", + "nodeType": "YulFunctionCall", + "src": "9430:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "9422:4:17", + "nodeType": "YulIdentifier", + "src": "9422:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9464:9:17", + "nodeType": "YulIdentifier", + "src": "9464:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "9479:6:17", + "nodeType": "YulIdentifier", + "src": "9479:6:17" + }, + { + "kind": "number", + "nativeSrc": "9487:18:17", + "nodeType": "YulLiteral", + "src": "9487:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "9475:3:17", + "nodeType": "YulIdentifier", + "src": "9475:3:17" + }, + "nativeSrc": "9475:31:17", + "nodeType": "YulFunctionCall", + "src": "9475:31:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9457:6:17", + "nodeType": "YulIdentifier", + "src": "9457:6:17" + }, + "nativeSrc": "9457:50:17", + "nodeType": "YulFunctionCall", + "src": "9457:50:17" + }, + "nativeSrc": "9457:50:17", + "nodeType": "YulExpressionStatement", + "src": "9457:50:17" + } + ] + }, + "name": "abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed", + "nativeSrc": "9304:209:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9381:9:17", + "nodeType": "YulTypedName", + "src": "9381:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "9392:6:17", + "nodeType": "YulTypedName", + "src": "9392:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "9403:4:17", + "nodeType": "YulTypedName", + "src": "9403:4:17", + "type": "" + } + ], + "src": "9304:209:17" + }, + { + "body": { + "nativeSrc": "9692:170:17", + "nodeType": "YulBlock", + "src": "9692:170:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9709:9:17", + "nodeType": "YulIdentifier", + "src": "9709:9:17" + }, + { + "kind": "number", + "nativeSrc": "9720:2:17", + "nodeType": "YulLiteral", + "src": "9720:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9702:6:17", + "nodeType": "YulIdentifier", + "src": "9702:6:17" + }, + "nativeSrc": "9702:21:17", + "nodeType": "YulFunctionCall", + "src": "9702:21:17" + }, + "nativeSrc": "9702:21:17", + "nodeType": "YulExpressionStatement", + "src": "9702:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9743:9:17", + "nodeType": "YulIdentifier", + "src": "9743:9:17" + }, + { + "kind": "number", + "nativeSrc": "9754:2:17", + "nodeType": "YulLiteral", + "src": "9754:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9739:3:17", + "nodeType": "YulIdentifier", + "src": "9739:3:17" + }, + "nativeSrc": "9739:18:17", + "nodeType": "YulFunctionCall", + "src": "9739:18:17" + }, + { + "kind": "number", + "nativeSrc": "9759:2:17", + "nodeType": "YulLiteral", + "src": "9759:2:17", + "type": "", + "value": "20" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9732:6:17", + "nodeType": "YulIdentifier", + "src": "9732:6:17" + }, + "nativeSrc": "9732:30:17", + "nodeType": "YulFunctionCall", + "src": "9732:30:17" + }, + "nativeSrc": "9732:30:17", + "nodeType": "YulExpressionStatement", + "src": "9732:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9782:9:17", + "nodeType": "YulIdentifier", + "src": "9782:9:17" + }, + { + "kind": "number", + "nativeSrc": "9793:2:17", + "nodeType": "YulLiteral", + "src": "9793:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9778:3:17", + "nodeType": "YulIdentifier", + "src": "9778:3:17" + }, + "nativeSrc": "9778:18:17", + "nodeType": "YulFunctionCall", + "src": "9778:18:17" + }, + { + "hexValue": "496e76616c69642073657276696365206e616d65", + "kind": "string", + "nativeSrc": "9798:22:17", + "nodeType": "YulLiteral", + "src": "9798:22:17", + "type": "", + "value": "Invalid service name" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9771:6:17", + "nodeType": "YulIdentifier", + "src": "9771:6:17" + }, + "nativeSrc": "9771:50:17", + "nodeType": "YulFunctionCall", + "src": "9771:50:17" + }, + "nativeSrc": "9771:50:17", + "nodeType": "YulExpressionStatement", + "src": "9771:50:17" + }, + { + "nativeSrc": "9830:26:17", + "nodeType": "YulAssignment", + "src": "9830:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9842:9:17", + "nodeType": "YulIdentifier", + "src": "9842:9:17" + }, + { + "kind": "number", + "nativeSrc": "9853:2:17", + "nodeType": "YulLiteral", + "src": "9853:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9838:3:17", + "nodeType": "YulIdentifier", + "src": "9838:3:17" + }, + "nativeSrc": "9838:18:17", + "nodeType": "YulFunctionCall", + "src": "9838:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "9830:4:17", + "nodeType": "YulIdentifier", + "src": "9830:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b193a272406cc908bf089bbfd62bbee3e6f0f99dfc3103f9a3b8b4618c96abfe__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "9518:344:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9669:9:17", + "nodeType": "YulTypedName", + "src": "9669:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "9683:4:17", + "nodeType": "YulTypedName", + "src": "9683:4:17", + "type": "" + } + ], + "src": "9518:344:17" + }, + { + "body": { + "nativeSrc": "10041:176:17", + "nodeType": "YulBlock", + "src": "10041:176:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10058:9:17", + "nodeType": "YulIdentifier", + "src": "10058:9:17" + }, + { + "kind": "number", + "nativeSrc": "10069:2:17", + "nodeType": "YulLiteral", + "src": "10069:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10051:6:17", + "nodeType": "YulIdentifier", + "src": "10051:6:17" + }, + "nativeSrc": "10051:21:17", + "nodeType": "YulFunctionCall", + "src": "10051:21:17" + }, + "nativeSrc": "10051:21:17", + "nodeType": "YulExpressionStatement", + "src": "10051:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10092:9:17", + "nodeType": "YulIdentifier", + "src": "10092:9:17" + }, + { + "kind": "number", + "nativeSrc": "10103:2:17", + "nodeType": "YulLiteral", + "src": "10103:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10088:3:17", + "nodeType": "YulIdentifier", + "src": "10088:3:17" + }, + "nativeSrc": "10088:18:17", + "nodeType": "YulFunctionCall", + "src": "10088:18:17" + }, + { + "kind": "number", + "nativeSrc": "10108:2:17", + "nodeType": "YulLiteral", + "src": "10108:2:17", + "type": "", + "value": "26" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10081:6:17", + "nodeType": "YulIdentifier", + "src": "10081:6:17" + }, + "nativeSrc": "10081:30:17", + "nodeType": "YulFunctionCall", + "src": "10081:30:17" + }, + "nativeSrc": "10081:30:17", + "nodeType": "YulExpressionStatement", + "src": "10081:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10131:9:17", + "nodeType": "YulIdentifier", + "src": "10131:9:17" + }, + { + "kind": "number", + "nativeSrc": "10142:2:17", + "nodeType": "YulLiteral", + "src": "10142:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10127:3:17", + "nodeType": "YulIdentifier", + "src": "10127:3:17" + }, + "nativeSrc": "10127:18:17", + "nodeType": "YulFunctionCall", + "src": "10127:18:17" + }, + { + "hexValue": "5365727669636520616c72656164792072656769737465726564", + "kind": "string", + "nativeSrc": "10147:28:17", + "nodeType": "YulLiteral", + "src": "10147:28:17", + "type": "", + "value": "Service already registered" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10120:6:17", + "nodeType": "YulIdentifier", + "src": "10120:6:17" + }, + "nativeSrc": "10120:56:17", + "nodeType": "YulFunctionCall", + "src": "10120:56:17" + }, + "nativeSrc": "10120:56:17", + "nodeType": "YulExpressionStatement", + "src": "10120:56:17" + }, + { + "nativeSrc": "10185:26:17", + "nodeType": "YulAssignment", + "src": "10185:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10197:9:17", + "nodeType": "YulIdentifier", + "src": "10197:9:17" + }, + { + "kind": "number", + "nativeSrc": "10208:2:17", + "nodeType": "YulLiteral", + "src": "10208:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10193:3:17", + "nodeType": "YulIdentifier", + "src": "10193:3:17" + }, + "nativeSrc": "10193:18:17", + "nodeType": "YulFunctionCall", + "src": "10193:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "10185:4:17", + "nodeType": "YulIdentifier", + "src": "10185:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_ac2c61739514b5f463c314c2780e64fc7747cb6b4d2c3e9147a35ee5c42aeefa__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "9867:350:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10018:9:17", + "nodeType": "YulTypedName", + "src": "10018:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "10032:4:17", + "nodeType": "YulTypedName", + "src": "10032:4:17", + "type": "" + } + ], + "src": "9867:350:17" + }, + { + "body": { + "nativeSrc": "10269:185:17", + "nodeType": "YulBlock", + "src": "10269:185:17", + "statements": [ + { + "body": { + "nativeSrc": "10308:111:17", + "nodeType": "YulBlock", + "src": "10308:111:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10329:1:17", + "nodeType": "YulLiteral", + "src": "10329:1:17", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10336:3:17", + "nodeType": "YulLiteral", + "src": "10336:3:17", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nativeSrc": "10341:10:17", + "nodeType": "YulLiteral", + "src": "10341:10:17", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "10332:3:17", + "nodeType": "YulIdentifier", + "src": "10332:3:17" + }, + "nativeSrc": "10332:20:17", + "nodeType": "YulFunctionCall", + "src": "10332:20:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10322:6:17", + "nodeType": "YulIdentifier", + "src": "10322:6:17" + }, + "nativeSrc": "10322:31:17", + "nodeType": "YulFunctionCall", + "src": "10322:31:17" + }, + "nativeSrc": "10322:31:17", + "nodeType": "YulExpressionStatement", + "src": "10322:31:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10373:1:17", + "nodeType": "YulLiteral", + "src": "10373:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "10376:4:17", + "nodeType": "YulLiteral", + "src": "10376:4:17", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10366:6:17", + "nodeType": "YulIdentifier", + "src": "10366:6:17" + }, + "nativeSrc": "10366:15:17", + "nodeType": "YulFunctionCall", + "src": "10366:15:17" + }, + "nativeSrc": "10366:15:17", + "nodeType": "YulExpressionStatement", + "src": "10366:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10401:1:17", + "nodeType": "YulLiteral", + "src": "10401:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10404:4:17", + "nodeType": "YulLiteral", + "src": "10404:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10394:6:17", + "nodeType": "YulIdentifier", + "src": "10394:6:17" + }, + "nativeSrc": "10394:15:17", + "nodeType": "YulFunctionCall", + "src": "10394:15:17" + }, + "nativeSrc": "10394:15:17", + "nodeType": "YulExpressionStatement", + "src": "10394:15:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nativeSrc": "10285:5:17", + "nodeType": "YulIdentifier", + "src": "10285:5:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10296:1:17", + "nodeType": "YulLiteral", + "src": "10296:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "10292:3:17", + "nodeType": "YulIdentifier", + "src": "10292:3:17" + }, + "nativeSrc": "10292:6:17", + "nodeType": "YulFunctionCall", + "src": "10292:6:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "10282:2:17", + "nodeType": "YulIdentifier", + "src": "10282:2:17" + }, + "nativeSrc": "10282:17:17", + "nodeType": "YulFunctionCall", + "src": "10282:17:17" + }, + "nativeSrc": "10279:140:17", + "nodeType": "YulIf", + "src": "10279:140:17" + }, + { + "nativeSrc": "10428:20:17", + "nodeType": "YulAssignment", + "src": "10428:20:17", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "10439:5:17", + "nodeType": "YulIdentifier", + "src": "10439:5:17" + }, + { + "kind": "number", + "nativeSrc": "10446:1:17", + "nodeType": "YulLiteral", + "src": "10446:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10435:3:17", + "nodeType": "YulIdentifier", + "src": "10435:3:17" + }, + "nativeSrc": "10435:13:17", + "nodeType": "YulFunctionCall", + "src": "10435:13:17" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "10428:3:17", + "nodeType": "YulIdentifier", + "src": "10428:3:17" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nativeSrc": "10222:232:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "10251:5:17", + "nodeType": "YulTypedName", + "src": "10251:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "10261:3:17", + "nodeType": "YulTypedName", + "src": "10261:3:17", + "type": "" + } + ], + "src": "10222:232:17" + }, + { + "body": { + "nativeSrc": "10540:103:17", + "nodeType": "YulBlock", + "src": "10540:103:17", + "statements": [ + { + "body": { + "nativeSrc": "10586:16:17", + "nodeType": "YulBlock", + "src": "10586:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10595:1:17", + "nodeType": "YulLiteral", + "src": "10595:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10598:1:17", + "nodeType": "YulLiteral", + "src": "10598:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10588:6:17", + "nodeType": "YulIdentifier", + "src": "10588:6:17" + }, + "nativeSrc": "10588:12:17", + "nodeType": "YulFunctionCall", + "src": "10588:12:17" + }, + "nativeSrc": "10588:12:17", + "nodeType": "YulExpressionStatement", + "src": "10588:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "10561:7:17", + "nodeType": "YulIdentifier", + "src": "10561:7:17" + }, + { + "name": "headStart", + "nativeSrc": "10570:9:17", + "nodeType": "YulIdentifier", + "src": "10570:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10557:3:17", + "nodeType": "YulIdentifier", + "src": "10557:3:17" + }, + "nativeSrc": "10557:23:17", + "nodeType": "YulFunctionCall", + "src": "10557:23:17" + }, + { + "kind": "number", + "nativeSrc": "10582:2:17", + "nodeType": "YulLiteral", + "src": "10582:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10553:3:17", + "nodeType": "YulIdentifier", + "src": "10553:3:17" + }, + "nativeSrc": "10553:32:17", + "nodeType": "YulFunctionCall", + "src": "10553:32:17" + }, + "nativeSrc": "10550:52:17", + "nodeType": "YulIf", + "src": "10550:52:17" + }, + { + "nativeSrc": "10611:26:17", + "nodeType": "YulAssignment", + "src": "10611:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10627:9:17", + "nodeType": "YulIdentifier", + "src": "10627:9:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10621:5:17", + "nodeType": "YulIdentifier", + "src": "10621:5:17" + }, + "nativeSrc": "10621:16:17", + "nodeType": "YulFunctionCall", + "src": "10621:16:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "10611:6:17", + "nodeType": "YulIdentifier", + "src": "10611:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32_fromMemory", + "nativeSrc": "10459:184:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "10506:9:17", + "nodeType": "YulTypedName", + "src": "10506:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "10517:7:17", + "nodeType": "YulTypedName", + "src": "10517:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "10529:6:17", + "nodeType": "YulTypedName", + "src": "10529:6:17", + "type": "" + } + ], + "src": "10459:184:17" + }, + { + "body": { + "nativeSrc": "10785:150:17", + "nodeType": "YulBlock", + "src": "10785:150:17", + "statements": [ + { + "nativeSrc": "10795:27:17", + "nodeType": "YulVariableDeclaration", + "src": "10795:27:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10815:6:17", + "nodeType": "YulIdentifier", + "src": "10815:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10809:5:17", + "nodeType": "YulIdentifier", + "src": "10809:5:17" + }, + "nativeSrc": "10809:13:17", + "nodeType": "YulFunctionCall", + "src": "10809:13:17" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "10799:6:17", + "nodeType": "YulTypedName", + "src": "10799:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "10870:6:17", + "nodeType": "YulIdentifier", + "src": "10870:6:17" + }, + { + "kind": "number", + "nativeSrc": "10878:4:17", + "nodeType": "YulLiteral", + "src": "10878:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10866:3:17", + "nodeType": "YulIdentifier", + "src": "10866:3:17" + }, + "nativeSrc": "10866:17:17", + "nodeType": "YulFunctionCall", + "src": "10866:17:17" + }, + { + "name": "pos", + "nativeSrc": "10885:3:17", + "nodeType": "YulIdentifier", + "src": "10885:3:17" + }, + { + "name": "length", + "nativeSrc": "10890:6:17", + "nodeType": "YulIdentifier", + "src": "10890:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "10831:34:17", + "nodeType": "YulIdentifier", + "src": "10831:34:17" + }, + "nativeSrc": "10831:66:17", + "nodeType": "YulFunctionCall", + "src": "10831:66:17" + }, + "nativeSrc": "10831:66:17", + "nodeType": "YulExpressionStatement", + "src": "10831:66:17" + }, + { + "nativeSrc": "10906:23:17", + "nodeType": "YulAssignment", + "src": "10906:23:17", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "10917:3:17", + "nodeType": "YulIdentifier", + "src": "10917:3:17" + }, + { + "name": "length", + "nativeSrc": "10922:6:17", + "nodeType": "YulIdentifier", + "src": "10922:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10913:3:17", + "nodeType": "YulIdentifier", + "src": "10913:3:17" + }, + "nativeSrc": "10913:16:17", + "nodeType": "YulFunctionCall", + "src": "10913:16:17" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "10906:3:17", + "nodeType": "YulIdentifier", + "src": "10906:3:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "10648:287:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "10761:3:17", + "nodeType": "YulTypedName", + "src": "10761:3:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "10766:6:17", + "nodeType": "YulTypedName", + "src": "10766:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "10777:3:17", + "nodeType": "YulTypedName", + "src": "10777:3:17", + "type": "" + } + ], + "src": "10648:287:17" + } + ] + }, + "contents": "{\n { }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function panic_error_0x41()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n function abi_decode_available_length_string(src, length, end) -> array\n {\n let _1 := 0xffffffffffffffff\n if gt(length, _1) { panic_error_0x41() }\n let _2 := not(31)\n let memPtr := mload(64)\n let newFreePtr := add(memPtr, and(add(and(add(length, 31), _2), 63), _2))\n if or(gt(newFreePtr, _1), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n array := memPtr\n mstore(memPtr, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(memPtr, 0x20), src, length)\n mstore(add(add(memPtr, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\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_string(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_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, 96)\n let tail_1 := abi_encode_string(value0, add(headStart, 96))\n mstore(add(headStart, 32), sub(tail_1, headStart))\n let tail_2 := abi_encode_string(value1, tail_1)\n mstore(add(headStart, 64), sub(tail_2, headStart))\n tail := abi_encode_string(value2, tail_2)\n }\n function abi_decode_address(offset) -> value\n {\n value := calldataload(offset)\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\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 value0 := abi_decode_address(headStart)\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 value1 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_struct$_Service_$2382_memory_ptr__to_t_struct$_Service_$2382_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n let memberValue0 := mload(value0)\n mstore(add(headStart, 32), 0x60)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 128))\n let memberValue0_1 := mload(add(value0, 32))\n let _1 := not(31)\n mstore(add(headStart, 64), add(sub(tail_1, headStart), _1))\n let tail_2 := abi_encode_string(memberValue0_1, tail_1)\n let memberValue0_2 := mload(add(value0, 64))\n mstore(add(headStart, 0x60), add(sub(tail_2, headStart), _1))\n tail := abi_encode_string(memberValue0_2, tail_2)\n }\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2\n {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n let offset := calldataload(headStart)\n let _1 := 0xffffffffffffffff\n if gt(offset, _1) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n let offset_1 := calldataload(add(headStart, 32))\n if gt(offset_1, _1) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset_1), dataEnd)\n let offset_2 := calldataload(add(headStart, 64))\n if gt(offset_2, _1) { revert(0, 0) }\n value2 := abi_decode_string(add(headStart, offset_2), dataEnd)\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 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_string(value0, add(headStart, 32))\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_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_address(headStart)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_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_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_6c6314a0049a5689ebdc1966b74f113478eb9746a5ea46af2b9e0b0a4adceee6__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 22)\n mstore(add(headStart, 64), \"Service not registered\")\n tail := add(headStart, 96)\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(0, array)\n let data := keccak256(0, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := 0x20\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffff))\n }\n function abi_encode_tuple_t_stringliteral_b193a272406cc908bf089bbfd62bbee3e6f0f99dfc3103f9a3b8b4618c96abfe__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 20)\n mstore(add(headStart, 64), \"Invalid service name\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_ac2c61739514b5f463c314c2780e64fc7747cb6b4d2c3e9147a35ee5c42aeefa__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Service already registered\")\n tail := add(headStart, 96)\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n ret := add(value, 1)\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_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}", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": { + "482": [ + { + "length": 32, + "start": 3022 + }, + { + "length": 32, + "start": 3063 + }, + { + "length": 32, + "start": 3389 + } + ] + }, + "linkReferences": {}, + "object": "6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611131565b6102b5565b6040516100e7939291906111be565b61013261012d36600461121d565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611131565b6104ca565b6040516100e7919061127f565b34801561019757600080fd5b506101326101a63660046112d7565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e7919061135f565b34801561025157600080fd5b50610265610260366004611131565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d7565b6109da565b3480156102a157600080fd5b506101326102b0366004611372565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138d565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138d565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138d565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155683398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c7565b90815260200160405180910390206040518060600160405290816000820180546105279061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138d565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138d565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138d565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff90869060040161135f565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e3565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c7565b908152604051908190036020019020815181906107d29082611455565b50602082015160018201906107e79082611455565b50604082015160028201906107fc9082611455565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111be565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c7565b90815260405190819003602001902080546109d09061138d565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a2190879060040161135f565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e3565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c7565b90815260405190819003602001902081518190610afc9082611455565b5060208201516001820190610b119082611455565b5060408201516002820190610b269082611455565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111be565b60405180910390a160018054906000610b7583611515565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611556833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153c565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115568339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c7565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b6576110b6611085565b604051601f8501601f19908116603f011681019082821181831017156110de576110de611085565b816040528093508581528686860111156110f757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112257600080fd5b610b7e8383356020850161109b565b60006020828403121561114357600080fd5b813567ffffffffffffffff81111561115a57600080fd5b61116684828501611111565b949350505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b6060815260006111d16060830186611192565b82810360208401526111e38186611192565b905082810360408401526111f78185611192565b9695505050505050565b80356001600160a01b038116811461121857600080fd5b919050565b6000806040838503121561123057600080fd5b61123983611201565b9150602083013567ffffffffffffffff81111561125557600080fd5b8301601f8101851361126657600080fd5b6112758582356020840161109b565b9150509250929050565b60208152600082516060602084015261129b6080840182611192565b90506020840151601f19808584030160408601526112b98383611192565b9250604086015191508085840301606086015250610fd98282611192565b6000806000606084860312156112ec57600080fd5b833567ffffffffffffffff8082111561130457600080fd5b61131087838801611111565b9450602086013591508082111561132657600080fd5b61133287838801611111565b9350604086013591508082111561134857600080fd5b5061135586828701611111565b9150509250925092565b602081526000610b7e6020830184611192565b60006020828403121561138457600080fd5b610b7e82611201565b600181811c908216806113a157607f821691505b6020821081036113c157634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113d981846020870161116e565b9190910192915050565b6000602082840312156113f557600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142e5750805b601f850160051c820191505b8181101561144d5782815560010161143a565b505050505050565b815167ffffffffffffffff81111561146f5761146f611085565b6114838161147d845461138d565b84611405565b602080601f8311600181146114b857600084156114a05750858301515b600019600386901b1c1916600185901b17855561144d565b600085815260208120601f198616915b828110156114e7578886015182559484019460019091019084016114c8565b50858210156115055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153557634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154e57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212202bfc3b81f904787b5ab23808a04349a17cd56f161fa1b7a96ecce2619be06d4264736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0xC2 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x7F3ED719 GT PUSH2 0x7F JUMPI DUP1 PUSH4 0xAD3CB1CC GT PUSH2 0x59 JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x207 JUMPI DUP1 PUSH4 0xB405166B EQ PUSH2 0x245 JUMPI DUP1 PUSH4 0xEF57D884 EQ PUSH2 0x275 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x295 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x7F3ED719 EQ PUSH2 0x18B JUMPI DUP1 PUSH4 0x8129FC1C EQ PUSH2 0x1AB JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x1C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x6237526 EQ PUSH2 0xC7 JUMPI DUP1 PUSH4 0x3017BA09 EQ PUSH2 0xF0 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x11F JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x134 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x149 JUMPI DUP1 PUSH4 0x794758BE EQ PUSH2 0x15E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xD3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH1 0x1 SLOAD DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0xFC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x110 PUSH2 0x10B CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x2B5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH2 0x132 PUSH2 0x12D CALLDATASIZE PUSH1 0x4 PUSH2 0x121D JUMP JUMPDEST PUSH2 0x47A JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x140 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0xDD PUSH2 0x499 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x155 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x4B6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x179 CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x4CA JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x127F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x197 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x1A6 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D7 JUMP JUMPDEST PUSH2 0x6D4 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x840 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x213 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x238 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xE7 SWAP2 SWAP1 PUSH2 0x135F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x251 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x265 PUSH2 0x260 CALLDATASIZE PUSH1 0x4 PUSH2 0x1131 JUMP JUMPDEST PUSH2 0x95C JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0xE7 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x17E PUSH2 0x290 CALLDATASIZE PUSH1 0x4 PUSH2 0x12D7 JUMP JUMPDEST PUSH2 0x9DA JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2A1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x132 PUSH2 0x2B0 CALLDATASIZE PUSH1 0x4 PUSH2 0x1372 JUMP JUMPDEST PUSH2 0xB85 JUMP JUMPDEST DUP1 MLOAD PUSH1 0x20 DUP2 DUP4 ADD DUP2 ADD DUP1 MLOAD PUSH1 0x0 DUP3 MSTORE SWAP3 DUP3 ADD SWAP2 SWAP1 SWAP4 ADD KECCAK256 SWAP2 MSTORE DUP1 SLOAD DUP2 SWAP1 PUSH2 0x2DB SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x307 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x354 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x329 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x354 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x337 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x1 ADD DUP1 SLOAD PUSH2 0x369 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x395 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3E2 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x3B7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3E2 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x3C5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x3F7 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x423 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x470 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x445 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x470 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x453 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP4 JUMP JUMPDEST PUSH2 0x482 PUSH2 0xBC3 JUMP JUMPDEST PUSH2 0x48B DUP3 PUSH2 0xC68 JUMP JUMPDEST PUSH2 0x495 DUP3 DUP3 PUSH2 0xC70 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x4A3 PUSH2 0xD32 JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH2 0x4BE PUSH2 0xD7B JUMP JUMPDEST PUSH2 0x4C8 PUSH1 0x0 PUSH2 0xDD6 JUMP JUMPDEST JUMP JUMPDEST PUSH2 0x4EE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x40 MLOAD PUSH2 0x4FE SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD DUP1 SLOAD PUSH2 0x527 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x553 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x5A0 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x575 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x5A0 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x583 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x5B9 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x5E5 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x632 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x607 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x632 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x615 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x64B SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x677 SWAP1 PUSH2 0x138D JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6C4 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x699 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6C4 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6A7 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x6DC PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0x6FF SWAP1 DUP7 SWAP1 PUSH1 0x4 ADD PUSH2 0x135F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x71C 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 0x740 SWAP2 SWAP1 PUSH2 0x13E3 JUMP JUMPDEST PUSH2 0x78A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x16 PUSH1 0x24 DUP3 ADD MSTORE PUSH22 0x14D95C9D9A58D9481B9BDD081C9959DA5CDD195C9959 PUSH1 0x52 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x0 DUP5 PUSH1 0x40 MLOAD PUSH2 0x7B5 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0x7D2 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0x7E7 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0x7FC SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0x4CD09E35844CCDF25AAC9862AF453CEDF05D8A8B765F2763BE8373B55215DF8D DUP4 DUP4 DUP4 PUSH1 0x40 MLOAD PUSH2 0x833 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH1 0x1 PUSH1 0x40 SHL DUP2 DIV PUSH1 0xFF AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x886 JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x8A3 JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x8B1 JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x8CF JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x8F9 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x902 CALLER PUSH2 0xE47 JUMP JUMPDEST PUSH2 0x90A PUSH2 0xE58 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SSTORE DUP4 ISZERO PUSH2 0x955 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP3 MLOAD GT PUSH2 0x9A5 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x14 PUSH1 0x24 DUP3 ADD MSTORE PUSH20 0x496E76616C69642073657276696365206E616D65 PUSH1 0x60 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x40 MLOAD PUSH2 0x9B6 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP1 SLOAD PUSH2 0x9D0 SWAP1 PUSH2 0x138D JUMP JUMPDEST SWAP1 POP GT SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x9FE PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xB405166B PUSH1 0xE0 SHL DUP2 MSTORE ADDRESS SWAP1 PUSH4 0xB405166B SWAP1 PUSH2 0xA21 SWAP1 DUP8 SWAP1 PUSH1 0x4 ADD PUSH2 0x135F JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xA3E 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 0xA62 SWAP2 SWAP1 PUSH2 0x13E3 JUMP JUMPDEST ISZERO PUSH2 0xAAF JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636520616C72656164792072656769737465726564000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 PUSH1 0x60 ADD PUSH1 0x40 MSTORE DUP1 DUP7 DUP2 MSTORE PUSH1 0x20 ADD DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP SWAP1 POP DUP1 PUSH1 0x0 DUP7 PUSH1 0x40 MLOAD PUSH2 0xADF SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 KECCAK256 DUP2 MLOAD DUP2 SWAP1 PUSH2 0xAFC SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x20 DUP3 ADD MLOAD PUSH1 0x1 DUP3 ADD SWAP1 PUSH2 0xB11 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP PUSH1 0x40 DUP3 ADD MLOAD PUSH1 0x2 DUP3 ADD SWAP1 PUSH2 0xB26 SWAP1 DUP3 PUSH2 0x1455 JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xC182FE36565BE4905BE53A8ED353F07898B528F1625E778EDF77C13674806486 DUP6 DUP6 DUP6 PUSH1 0x40 MLOAD PUSH2 0xB5D SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x11BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 PUSH1 0x1 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0xB75 DUP4 PUSH2 0x1515 JUMP JUMPDEST SWAP1 SWAP2 SSTORE POP SWAP1 SWAP2 POP POP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH2 0xB8D PUSH2 0xD7B JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0xBB7 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xDD6 JUMP JUMPDEST POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0xC4A JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xC3E PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBC0 PUSH2 0xD7B JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0xCCA JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0xCC7 SWAP2 DUP2 ADD SWAP1 PUSH2 0x153C JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0xCF2 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0xD23 JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH2 0xD2D DUP4 DUP4 PUSH2 0xE60 JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0xDAD PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH2 0xE4F PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xBC0 DUP2 PUSH2 0xEFF JUMP JUMPDEST PUSH2 0x4C8 PUSH2 0xEB6 JUMP JUMPDEST PUSH2 0xE69 DUP3 PUSH2 0xF07 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0xEAE JUMPI PUSH2 0xD2D DUP3 DUP3 PUSH2 0xF6C JUMP JUMPDEST PUSH2 0x495 PUSH2 0xFE2 JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xB8D PUSH2 0xEB6 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0xF3D JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x1556 DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0xF89 SWAP2 SWAP1 PUSH2 0x13C7 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0xFC4 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 0xFC9 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0xFD9 DUP6 DUP4 DUP4 PUSH2 0x1001 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x4C8 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1016 JUMPI PUSH2 0x1011 DUP3 PUSH2 0x105D JUMP JUMPDEST PUSH2 0xB7E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x102D JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1056 JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x781 JUMP JUMPDEST POP DUP1 PUSH2 0xB7E JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x106C JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP5 GT ISZERO PUSH2 0x10B6 JUMPI PUSH2 0x10B6 PUSH2 0x1085 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP6 ADD PUSH1 0x1F NOT SWAP1 DUP2 AND PUSH1 0x3F ADD AND DUP2 ADD SWAP1 DUP3 DUP3 GT DUP2 DUP4 LT OR ISZERO PUSH2 0x10DE JUMPI PUSH2 0x10DE PUSH2 0x1085 JUMP JUMPDEST DUP2 PUSH1 0x40 MSTORE DUP1 SWAP4 POP DUP6 DUP2 MSTORE DUP7 DUP7 DUP7 ADD GT ISZERO PUSH2 0x10F7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP6 DUP6 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP8 DUP4 ADD ADD MSTORE POP POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1122 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x109B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x115A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1166 DUP5 DUP3 DUP6 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1189 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1171 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x11AA DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x116E JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x60 DUP2 MSTORE PUSH1 0x0 PUSH2 0x11D1 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x1192 JUMP JUMPDEST DUP3 DUP2 SUB PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x11E3 DUP2 DUP7 PUSH2 0x1192 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 SUB PUSH1 0x40 DUP5 ADD MSTORE PUSH2 0x11F7 DUP2 DUP6 PUSH2 0x1192 JUMP JUMPDEST SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST DUP1 CALLDATALOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x1218 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1239 DUP4 PUSH2 0x1201 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1255 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x1266 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1275 DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x109B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 DUP3 MLOAD PUSH1 0x60 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x129B PUSH1 0x80 DUP5 ADD DUP3 PUSH2 0x1192 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP5 ADD MLOAD PUSH1 0x1F NOT DUP1 DUP6 DUP5 SUB ADD PUSH1 0x40 DUP7 ADD MSTORE PUSH2 0x12B9 DUP4 DUP4 PUSH2 0x1192 JUMP JUMPDEST SWAP3 POP PUSH1 0x40 DUP7 ADD MLOAD SWAP2 POP DUP1 DUP6 DUP5 SUB ADD PUSH1 0x60 DUP7 ADD MSTORE POP PUSH2 0xFD9 DUP3 DUP3 PUSH2 0x1192 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x12EC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x1304 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1310 DUP8 DUP4 DUP9 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP5 POP PUSH1 0x20 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1326 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1332 DUP8 DUP4 DUP9 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP4 POP PUSH1 0x40 DUP7 ADD CALLDATALOAD SWAP2 POP DUP1 DUP3 GT ISZERO PUSH2 0x1348 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1355 DUP7 DUP3 DUP8 ADD PUSH2 0x1111 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0xB7E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1192 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x1384 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB7E DUP3 PUSH2 0x1201 JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x13A1 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x13C1 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x13D9 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x116E JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x13F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0xB7E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0xD2D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x142E JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x144D JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x143A JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x146F JUMPI PUSH2 0x146F PUSH2 0x1085 JUMP JUMPDEST PUSH2 0x1483 DUP2 PUSH2 0x147D DUP5 SLOAD PUSH2 0x138D JUMP JUMPDEST DUP5 PUSH2 0x1405 JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x14B8 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x14A0 JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x144D JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x14E7 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x14C8 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x1505 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x1535 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x154E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA26469706673582212202B 0xFC EXTCODESIZE DUP2 0xF9 DIV PUSH25 0x7B5AB23808A04349A17CD56F161FA1B7A96ECCE2619BE06D42 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "498:2704:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;744:27;;;;;;;;;;;;;;;;;;;160:25:17;;;148:2;133:18;744:27:12;;;;;;;;696:42;;;;;;;;;;-1:-1:-1;696:42:12;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;:::i;4161:214:2:-;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;2106:117:12:-;;;;;;;;;;-1:-1:-1;2106:117:12;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;2440:395::-;;;;;;;;;;-1:-1:-1;2440:395:12;;;;;:::i;:::-;;:::i;1099:144::-;;;;;;;;;;;;;:::i;2441::0:-;;;;;;;;;;-1:-1:-1;1313:22:0;2570:8;2441:144;;-1:-1:-1;;;;;2570:8:0;;;5127:51:17;;5115:2;5100:18;2441:144:0;4981:203:17;1819:58:2;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;2229:205:12:-;;;;;;;;;;-1:-1:-1;2229:205:12;;;;;:::i;:::-;;:::i;:::-;;;5579:14:17;;5572:22;5554:41;;5542:2;5527:18;2229:205:12;5414:187:17;1425:512:12;;;;;;;;;;-1:-1:-1;1425:512:12;;;;;:::i;:::-;;:::i;3405:215:0:-;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;696:42:12:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;2106:117:12:-;2169:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;2169:14:12;2202:8;2211:4;2202:14;;;;;;:::i;:::-;;;;;;;;;;;;;2195:21;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2106:117;;;:::o;2440:395::-;2334:13:0;:11;:13::i;:::-;2571:30:12::1;::::0;-1:-1:-1;;;2571:30:12;;:4:::1;::::0;:24:::1;::::0;:30:::1;::::0;2596:4;;2571:30:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2563:65;;;::::0;-1:-1:-1;;;2563:65:12;;6960:2:17;2563:65:12::1;::::0;::::1;6942:21:17::0;6999:2;6979:18;;;6972:30;-1:-1:-1;;;7018:18:17;;;7011:52;7080:18;;2563:65:12::1;;;;;;;;;2656:113;;;;;;;;2684:4;2656:113;;;;2712:8;2656:113;;;;2747:11;2656:113;;::::0;2639:8:::1;2648:4;2639:14;;;;;;:::i;:::-;::::0;;;::::1;::::0;;;;;::::1;::::0;;;:130;;:14;;:130:::1;::::0;:14;:130:::1;:::i;:::-;-1:-1:-1::0;2639:130:12::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;-1:-1:-1::0;2639:130:12::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;::::1;::::0;;::::1;:::i;:::-;;;;;2785:43;2800:4;2806:8;2816:11;2785:43;;;;;;;;:::i;:::-;;;;;;;;2440:395:::0;;;:::o;1099:144::-;3147:66:1;4302:15;;-1:-1:-1;;;4302:15:1;;;;4301:16;;4348:14;;4158:30;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;:16;;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;1150:26:12::1;1165:10;1150:14;:26::i;:::-;1186:24;:22;:24::i;:::-;1235:1;1220:12;:16:::0;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;9457:50:17;;5140:14:1;;9445:2:17;9430:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;1099:144:12:o;2229:205::-;2301:4;2346:1;2331:4;2325:18;:22;2317:55;;;;-1:-1:-1;;;2317:55:12;;9720:2:17;2317:55:12;;;9702:21:17;9759:2;9739:18;;;9732:30;-1:-1:-1;;;9778:18:17;;;9771:50;9838:18;;2317:55:12;9518:344:17;2317:55:12;2426:1;2396:8;2405:4;2396:14;;;;;;:::i;:::-;;;;;;;;;;;;;;2390:33;;;;;:::i;:::-;;;:37;2383:44;;2229:205;;;:::o;1425:512::-;1539:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;1539:14:12;1574:30;;-1:-1:-1;;;1574:30:12;;:4;;:24;;:30;;1599:4;;1574:30;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1573:31;1565:70;;;;-1:-1:-1;;;1565:70:12;;10069:2:17;1565:70:12;;;10051:21:17;10108:2;10088:18;;;10081:30;10147:28;10127:18;;;10120:56;10193:18;;1565:70:12;9867:350:17;1565:70:12;1646:22;1671:113;;;;;;;;1699:4;1671:113;;;;1727:8;1671:113;;;;1762:11;1671:113;;;1646:138;;1812:7;1795:8;1804:4;1795:14;;;;;;:::i;:::-;;;;;;;;;;;;;;:24;;:14;;:24;;:14;:24;:::i;:::-;-1:-1:-1;1795:24:12;;;;;;;;;;;;:::i;:::-;-1:-1:-1;1795:24:12;;;;;;;;;;;;:::i;:::-;;;;;1835:46;1853:4;1859:8;1869:11;1835:46;;;;;;;;:::i;:::-;;;;;;;;1892:12;:14;;;:12;:14;;;:::i;:::-;;;;-1:-1:-1;1923:7:12;;-1:-1:-1;;1425:512:12;;;;;;:::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;5127:51:17::0;5100:18;;3534:31:0::1;4981:203:17::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:6;-1:-1:-1;;;;;1519:53:6;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;3024:84:12;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;5145:32:17;;6493:60:2;;;5127:51:17;5100:18;;6493:60:2;4981:203:17;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;160:25:17;;;133:18;;6292:34:2;14:177:17;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;:::-;6184:235;6032:538;;:::o;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;2658:162:0;966:10:3;2717:7:0;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144;2717:7;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;5127:51:17;5100:18;;2763:40:0;4981:203:17;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;1847:127::-;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;2264:344:6:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:6;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7082:141:1:-;3147:66;8558:40;-1:-1:-1;;;8558:40:1;;;;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;1671:281:6:-;1748:17;-1:-1:-1;;;;;1748:29:6;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:6;;-1:-1:-1;;;;;5145:32:17;;1805:47:6;;;5127:51:17;5100:18;;1805:47:6;4981:203:17;1744:119:6;-1:-1:-1;;;;;;;;;;;1872:73:6;;-1:-1:-1;;;;;;1872:73:6;-1:-1:-1;;;;;1872:73:6;;;;;;;;;;1671:281::o;3916:253:8:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:8;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:8:o;6113:122:6:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:6;;;;;;;;;;;4437:582:8;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:8;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:8;;-1:-1:-1;;;;;5145:32:17;;4933:24:8;;;5127:51:17;5100:18;;4933:24:8;4981:203:17;4853:119:8;-1:-1:-1;4992:10:8;4985:17;;5559:434;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:8;;;;;;;;;;;196:127:17;257:10;252:3;248:20;245:1;238:31;288:4;285:1;278:15;312:4;309:1;302:15;328:632;393:5;423:18;464:2;456:6;453:14;450:40;;;470:18;;:::i;:::-;545:2;539:9;513:2;599:15;;-1:-1:-1;;595:24:17;;;621:2;591:33;587:42;575:55;;;645:18;;;665:22;;;642:46;639:72;;;691:18;;:::i;:::-;731:10;727:2;720:22;760:6;751:15;;790:6;782;775:22;830:3;821:6;816:3;812:16;809:25;806:45;;;847:1;844;837:12;806:45;897:6;892:3;885:4;877:6;873:17;860:44;952:1;945:4;936:6;928;924:19;920:30;913:41;;;;328:632;;;;;:::o;965:222::-;1008:5;1061:3;1054:4;1046:6;1042:17;1038:27;1028:55;;1079:1;1076;1069:12;1028:55;1101:80;1177:3;1168:6;1155:20;1148:4;1140:6;1136:17;1101:80;:::i;1192:322::-;1261:6;1314:2;1302:9;1293:7;1289:23;1285:32;1282:52;;;1330:1;1327;1320:12;1282:52;1370:9;1357:23;1403:18;1395:6;1392:30;1389:50;;;1435:1;1432;1425:12;1389:50;1458;1500:7;1491:6;1480:9;1476:22;1458:50;:::i;:::-;1448:60;1192:322;-1:-1:-1;;;;1192:322:17:o;1519:250::-;1604:1;1614:113;1628:6;1625:1;1622:13;1614:113;;;1704:11;;;1698:18;1685:11;;;1678:39;1650:2;1643:10;1614:113;;;-1:-1:-1;;1761:1:17;1743:16;;1736:27;1519:250::o;1774:271::-;1816:3;1854:5;1848:12;1881:6;1876:3;1869:19;1897:76;1966:6;1959:4;1954:3;1950:14;1943:4;1936:5;1932:16;1897:76;:::i;:::-;2027:2;2006:15;-1:-1:-1;;2002:29:17;1993:39;;;;2034:4;1989:50;;1774:271;-1:-1:-1;;1774:271:17:o;2050:546::-;2295:2;2284:9;2277:21;2258:4;2321:45;2362:2;2351:9;2347:18;2339:6;2321:45;:::i;:::-;2414:9;2406:6;2402:22;2397:2;2386:9;2382:18;2375:50;2448:33;2474:6;2466;2448:33;:::i;:::-;2434:47;;2529:9;2521:6;2517:22;2512:2;2501:9;2497:18;2490:50;2557:33;2583:6;2575;2557:33;:::i;:::-;2549:41;2050:546;-1:-1:-1;;;;;;2050:546:17:o;2601:173::-;2669:20;;-1:-1:-1;;;;;2718:31:17;;2708:42;;2698:70;;2764:1;2761;2754:12;2698:70;2601:173;;;:::o;2779:524::-;2856:6;2864;2917:2;2905:9;2896:7;2892:23;2888:32;2885:52;;;2933:1;2930;2923:12;2885:52;2956:29;2975:9;2956:29;:::i;:::-;2946:39;;3036:2;3025:9;3021:18;3008:32;3063:18;3055:6;3052:30;3049:50;;;3095:1;3092;3085:12;3049:50;3118:22;;3171:4;3163:13;;3159:27;-1:-1:-1;3149:55:17;;3200:1;3197;3190:12;3149:55;3223:74;3289:7;3284:2;3271:16;3266:2;3262;3258:11;3223:74;:::i;:::-;3213:84;;;2779:524;;;;;:::o;3490:738::-;3669:2;3658:9;3651:21;3632:4;3707:6;3701:13;3750:4;3745:2;3734:9;3730:18;3723:32;3778:52;3825:3;3814:9;3810:19;3796:12;3778:52;:::i;:::-;3764:66;;3879:2;3871:6;3867:15;3861:22;3906:2;3902:7;3973:2;3961:9;3953:6;3949:22;3945:31;3940:2;3929:9;3925:18;3918:59;4000:41;4034:6;4018:14;4000:41;:::i;:::-;3986:55;;4090:2;4082:6;4078:15;4072:22;4050:44;;4160:2;4148:9;4140:6;4136:22;4132:31;4125:4;4114:9;4110:20;4103:61;;4181:41;4215:6;4199:14;4181:41;:::i;4233:743::-;4340:6;4348;4356;4409:2;4397:9;4388:7;4384:23;4380:32;4377:52;;;4425:1;4422;4415:12;4377:52;4465:9;4452:23;4494:18;4535:2;4527:6;4524:14;4521:34;;;4551:1;4548;4541:12;4521:34;4574:50;4616:7;4607:6;4596:9;4592:22;4574:50;:::i;:::-;4564:60;;4677:2;4666:9;4662:18;4649:32;4633:48;;4706:2;4696:8;4693:16;4690:36;;;4722:1;4719;4712:12;4690:36;4745:52;4789:7;4778:8;4767:9;4763:24;4745:52;:::i;:::-;4735:62;;4850:2;4839:9;4835:18;4822:32;4806:48;;4879:2;4869:8;4866:16;4863:36;;;4895:1;4892;4885:12;4863:36;;4918:52;4962:7;4951:8;4940:9;4936:24;4918:52;:::i;:::-;4908:62;;;4233:743;;;;;:::o;5189:220::-;5338:2;5327:9;5320:21;5301:4;5358:45;5399:2;5388:9;5384:18;5376:6;5358:45;:::i;5606:186::-;5665:6;5718:2;5706:9;5697:7;5693:23;5689:32;5686:52;;;5734:1;5731;5724:12;5686:52;5757:29;5776:9;5757:29;:::i;5797:380::-;5876:1;5872:12;;;;5919;;;5940:61;;5994:4;5986:6;5982:17;5972:27;;5940:61;6047:2;6039:6;6036:14;6016:18;6013:38;6010:161;;6093:10;6088:3;6084:20;6081:1;6074:31;6128:4;6125:1;6118:15;6156:4;6153:1;6146:15;6010:161;;5797:380;;;:::o;6182:289::-;6313:3;6351:6;6345:13;6367:66;6426:6;6421:3;6414:4;6406:6;6402:17;6367:66;:::i;:::-;6449:16;;;;;6182:289;-1:-1:-1;;6182:289:17:o;6476:277::-;6543:6;6596:2;6584:9;6575:7;6571:23;6567:32;6564:52;;;6612:1;6609;6602:12;6564:52;6644:9;6638:16;6697:5;6690:13;6683:21;6676:5;6673:32;6663:60;;6719:1;6716;6709:12;7235:543;7337:2;7332:3;7329:11;7326:446;;;7373:1;7397:5;7394:1;7387:16;7441:4;7438:1;7428:18;7511:2;7499:10;7495:19;7492:1;7488:27;7482:4;7478:38;7547:4;7535:10;7532:20;7529:47;;;-1:-1:-1;7570:4:17;7529:47;7625:2;7620:3;7616:12;7613:1;7609:20;7603:4;7599:31;7589:41;;7680:82;7698:2;7691:5;7688:13;7680:82;;;7743:17;;;7724:1;7713:13;7680:82;;;7684:3;;;7235:543;;;:::o;7954:1345::-;8080:3;8074:10;8107:18;8099:6;8096:30;8093:56;;;8129:18;;:::i;:::-;8158:97;8248:6;8208:38;8240:4;8234:11;8208:38;:::i;:::-;8202:4;8158:97;:::i;:::-;8310:4;;8367:2;8356:14;;8384:1;8379:663;;;;9086:1;9103:6;9100:89;;;-1:-1:-1;9155:19:17;;;9149:26;9100:89;-1:-1:-1;;7911:1:17;7907:11;;;7903:24;7899:29;7889:40;7935:1;7931:11;;;7886:57;9202:81;;8349:944;;8379:663;7182:1;7175:14;;;7219:4;7206:18;;-1:-1:-1;;8415:20:17;;;8533:236;8547:7;8544:1;8541:14;8533:236;;;8636:19;;;8630:26;8615:42;;8728:27;;;;8696:1;8684:14;;;;8563:19;;8533:236;;;8537:3;8797:6;8788:7;8785:19;8782:201;;;8858:19;;;8852:26;-1:-1:-1;;8941:1:17;8937:14;;;8953:3;8933:24;8929:37;8925:42;8910:58;8895:74;;8782:201;-1:-1:-1;;;;;9029:1:17;9013:14;;;9009:22;8996:36;;-1:-1:-1;7954:1345:17:o;10222:232::-;10261:3;10282:17;;;10279:140;;10341:10;10336:3;10332:20;10329:1;10322:31;10376:4;10373:1;10366:15;10404:4;10401:1;10394:15;10279:140;-1:-1:-1;10446:1:17;10435:13;;10222:232::o;10459:184::-;10529:6;10582:2;10570:9;10561:7;10557:23;10553:32;10550:52;;;10598:1;10595;10588:12;10550:52;-1:-1:-1;10621:16:17;;10459:184;-1:-1:-1;10459:184:17:o" + }, + "methodIdentifiers": { + "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", + "getService(string)": "794758be", + "initialize()": "8129fc1c", + "isServiceRegistered(string)": "b405166b", + "owner()": "8da5cb5b", + "proxiableUUID()": "52d1902d", + "registerService(string,string,string)": "ef57d884", + "renounceOwnership()": "715018a6", + "serviceCount()": "06237526", + "services(string)": "3017ba09", + "transferOwnership(address)": "f2fde38b", + "updateService(string,string,string)": "7f3ed719", + "upgradeToAndCall(address,bytes)": "4f1ef286" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ServiceRegistered\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"ServiceUpdated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"getService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"internalType\":\"struct ServiceRegistryUpgradeable.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"isServiceRegistered\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"registerService\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"internalType\":\"struct ServiceRegistryUpgradeable.Service\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"serviceCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"services\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"category\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"description\",\"type\":\"string\"}],\"name\":\"updateService\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"getService(string)\":{\"details\":\"Retrieves the details of a service.\",\"params\":{\"name\":\"The name of the service to retrieve.\"},\"returns\":{\"_0\":\"The details of the service.\"}},\"initialize()\":{\"details\":\"Initializes the contract\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"registerService(string,string,string)\":{\"details\":\"Registers a new service with the given name and price.\",\"params\":{\"name\":\"The name of the service.\"},\"returns\":{\"_0\":\"The ID of the registered service.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"ServiceRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the services provided by agents.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ServiceRegistryUpgradeable.sol\":\"ServiceRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]}},\"version\":1}", + "storageLayout": { + "storage": [ + { + "astId": 2387, + "contract": "contracts/ServiceRegistryUpgradeable.sol:ServiceRegistryUpgradeable", + "label": "services", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_string_memory_ptr,t_struct(Service)2382_storage)" + }, + { + "astId": 2389, + "contract": "contracts/ServiceRegistryUpgradeable.sol:ServiceRegistryUpgradeable", + "label": "serviceCount", + "offset": 0, + "slot": "1", + "type": "t_uint256" + }, + { + "astId": 2576, + "contract": "contracts/ServiceRegistryUpgradeable.sol:ServiceRegistryUpgradeable", + "label": "__gap", + "offset": 0, + "slot": "2", + "type": "t_array(t_uint256)50_storage" + } + ], + "types": { + "t_array(t_uint256)50_storage": { + "base": "t_uint256", + "encoding": "inplace", + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_mapping(t_string_memory_ptr,t_struct(Service)2382_storage)": { + "encoding": "mapping", + "key": "t_string_memory_ptr", + "label": "mapping(string => struct ServiceRegistryUpgradeable.Service)", + "numberOfBytes": "32", + "value": "t_struct(Service)2382_storage" + }, + "t_string_memory_ptr": { + "encoding": "bytes", + "label": "string", + "numberOfBytes": "32" + }, + "t_string_storage": { + "encoding": "bytes", + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(Service)2382_storage": { + "encoding": "inplace", + "label": "struct ServiceRegistryUpgradeable.Service", + "members": [ + { + "astId": 2377, + "contract": "contracts/ServiceRegistryUpgradeable.sol:ServiceRegistryUpgradeable", + "label": "name", + "offset": 0, + "slot": "0", + "type": "t_string_storage" + }, + { + "astId": 2379, + "contract": "contracts/ServiceRegistryUpgradeable.sol:ServiceRegistryUpgradeable", + "label": "category", + "offset": 0, + "slot": "1", + "type": "t_string_storage" + }, + { + "astId": 2381, + "contract": "contracts/ServiceRegistryUpgradeable.sol:ServiceRegistryUpgradeable", + "label": "description", + "offset": 0, + "slot": "2", + "type": "t_string_storage" + } + ], + "numberOfBytes": "96" + }, + "t_uint256": { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + } + } + } + } + }, + "contracts/TaskRegistryUpgradeable.sol": { + "TaskRegistryUpgradeable": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "target", + "type": "address" + } + ], + "name": "AddressEmptyCode", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "ERC1967InvalidImplementation", + "type": "error" + }, + { + "inputs": [], + "name": "ERC1967NonPayable", + "type": "error" + }, + { + "inputs": [], + "name": "FailedCall", + "type": "error" + }, + { + "inputs": [], + "name": "InvalidInitialization", + "type": "error" + }, + { + "inputs": [], + "name": "NotInitializing", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "OwnableInvalidOwner", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "OwnableUnauthorizedAccount", + "type": "error" + }, + { + "inputs": [], + "name": "UUPSUnauthorizedCallContext", + "type": "error" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "slot", + "type": "bytes32" + } + ], + "name": "UUPSUnsupportedProxiableUUID", + "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": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + }, + { + "components": [ + { + "internalType": "address", + "name": "issuer", + "type": "address" + }, + { + "internalType": "string", + "name": "serviceName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "address", + "name": "tokenAddress", + "type": "address" + }, + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isActive", + "type": "bool" + } + ], + "indexed": false, + "internalType": "struct IProposalStruct.ServiceProposal", + "name": "proposal", + "type": "tuple" + } + ], + "name": "ProposalApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + }, + { + "indexed": true, + "internalType": "address", + "name": "agent", + "type": "address" + } + ], + "name": "TaskAssigned", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + } + ], + "name": "TaskCanceled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "result", + "type": "string" + } + ], + "name": "TaskCompleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "issuer", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "assignee", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "string", + "name": "prompt", + "type": "string" + } + ], + "name": "TaskCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "uint8", + "name": "rating", + "type": "uint8" + } + ], + "name": "TaskRated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + }, + { + "indexed": false, + "internalType": "enum TaskRegistryUpgradeable.TaskStatus", + "name": "status", + "type": "uint8" + } + ], + "name": "TaskStatusChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "implementation", + "type": "address" + } + ], + "name": "Upgraded", + "type": "event" + }, + { + "inputs": [], + "name": "UPGRADE_INTERFACE_VERSION", + "outputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "agentRegistry", + "outputs": [ + { + "internalType": "contract AgentsRegistryUpgradeable", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + } + ], + "name": "cancelTask", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "result", + "type": "string" + } + ], + "name": "completeTask", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "prompt", + "type": "string" + }, + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + } + ], + "name": "createTask", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "prompt", + "type": "string" + }, + { + "internalType": "address", + "name": "issuer", + "type": "address" + }, + { + "internalType": "enum TaskRegistryUpgradeable.TaskStatus", + "name": "status", + "type": "uint8" + }, + { + "internalType": "address", + "name": "assignee", + "type": "address" + }, + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "result", + "type": "string" + }, + { + "internalType": "uint8", + "name": "rating", + "type": "uint8" + } + ], + "internalType": "struct TaskRegistryUpgradeable.TaskData", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + } + ], + "name": "getAssignee", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + } + ], + "name": "getStatus", + "outputs": [ + { + "internalType": "enum TaskRegistryUpgradeable.TaskStatus", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + } + ], + "name": "getTask", + "outputs": [ + { + "components": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "prompt", + "type": "string" + }, + { + "internalType": "address", + "name": "issuer", + "type": "address" + }, + { + "internalType": "enum TaskRegistryUpgradeable.TaskStatus", + "name": "status", + "type": "uint8" + }, + { + "internalType": "address", + "name": "assignee", + "type": "address" + }, + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "result", + "type": "string" + }, + { + "internalType": "uint8", + "name": "rating", + "type": "uint8" + } + ], + "internalType": "struct TaskRegistryUpgradeable.TaskData", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "issuer", + "type": "address" + } + ], + "name": "getTasksByIssuer", + "outputs": [ + { + "internalType": "uint256[]", + "name": "", + "type": "uint256[]" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_initialTaskId", + "type": "uint256" + }, + { + "internalType": "contract AgentsRegistryUpgradeable", + "name": "_agentRegistry", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "issuerTasks", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "proxiableUUID", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "taskId", + "type": "uint256" + }, + { + "internalType": "uint8", + "name": "rating", + "type": "uint8" + } + ], + "name": "rateTask", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "tasks", + "outputs": [ + { + "internalType": "uint256", + "name": "id", + "type": "uint256" + }, + { + "internalType": "string", + "name": "prompt", + "type": "string" + }, + { + "internalType": "address", + "name": "issuer", + "type": "address" + }, + { + "internalType": "enum TaskRegistryUpgradeable.TaskStatus", + "name": "status", + "type": "uint8" + }, + { + "internalType": "address", + "name": "assignee", + "type": "address" + }, + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "string", + "name": "result", + "type": "string" + }, + { + "internalType": "uint8", + "name": "rating", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newImplementation", + "type": "address" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "upgradeToAndCall", + "outputs": [], + "stateMutability": "payable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": { + "@_2657": { + "entryPoint": null, + "id": 2657, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_disableInitializers_416": { + "entryPoint": 38, + "id": 416, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_getInitializableStorage_461": { + "entryPoint": null, + "id": 461, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_initializableStorageSlot_447": { + "entryPoint": null, + "id": 447, + "parameterSlots": 0, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:216:17", + "nodeType": "YulBlock", + "src": "0:216:17", + "statements": [ + { + "nativeSrc": "6:3:17", + "nodeType": "YulBlock", + "src": "6:3:17", + "statements": [] + }, + { + "body": { + "nativeSrc": "113:101:17", + "nodeType": "YulBlock", + "src": "113:101:17", + "statements": [ + { + "nativeSrc": "123:26:17", + "nodeType": "YulAssignment", + "src": "123:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "135:9:17", + "nodeType": "YulIdentifier", + "src": "135:9:17" + }, + { + "kind": "number", + "nativeSrc": "146:2:17", + "nodeType": "YulLiteral", + "src": "146:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "131:3:17", + "nodeType": "YulIdentifier", + "src": "131:3:17" + }, + "nativeSrc": "131:18:17", + "nodeType": "YulFunctionCall", + "src": "131:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "123:4:17", + "nodeType": "YulIdentifier", + "src": "123:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "165:9:17", + "nodeType": "YulIdentifier", + "src": "165:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "180:6:17", + "nodeType": "YulIdentifier", + "src": "180:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "196:2:17", + "nodeType": "YulLiteral", + "src": "196:2:17", + "type": "", + "value": "64" + }, + { + "kind": "number", + "nativeSrc": "200:1:17", + "nodeType": "YulLiteral", + "src": "200:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "192:3:17", + "nodeType": "YulIdentifier", + "src": "192:3:17" + }, + "nativeSrc": "192:10:17", + "nodeType": "YulFunctionCall", + "src": "192:10:17" + }, + { + "kind": "number", + "nativeSrc": "204:1:17", + "nodeType": "YulLiteral", + "src": "204:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "188:3:17", + "nodeType": "YulIdentifier", + "src": "188:3:17" + }, + "nativeSrc": "188:18:17", + "nodeType": "YulFunctionCall", + "src": "188:18:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "176:3:17", + "nodeType": "YulIdentifier", + "src": "176:3:17" + }, + "nativeSrc": "176:31:17", + "nodeType": "YulFunctionCall", + "src": "176:31:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "158:6:17", + "nodeType": "YulIdentifier", + "src": "158:6:17" + }, + "nativeSrc": "158:50:17", + "nodeType": "YulFunctionCall", + "src": "158:50:17" + }, + "nativeSrc": "158:50:17", + "nodeType": "YulExpressionStatement", + "src": "158:50:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed", + "nativeSrc": "14:200:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "82:9:17", + "nodeType": "YulTypedName", + "src": "82:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "93:6:17", + "nodeType": "YulTypedName", + "src": "93:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "104:4:17", + "nodeType": "YulTypedName", + "src": "104:4:17", + "type": "" + } + ], + "src": "14:200:17" + } + ] + }, + "contents": "{\n { }\n function abi_encode_tuple_t_uint64__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, sub(shl(64, 1), 1)))\n }\n}", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125cf6200010460003960008181611699015281816116c2015261180801526125cf6000f3fe6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed1565b6103f8565b60405161012e9190611f9e565b60405180910390f35b34801561014357600080fd5b50610170610152366004612048565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612048565b610853565b3480156101d457600080fd5b506101e86101e3366004612076565b610a1f565b60405190815260200161012e565b6102096102043660046120a2565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612048565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612106565b34801561027357600080fd5b50610209610282366004612114565b610a8c565b34801561029357600080fd5b506102a76102a236600461214a565b610d56565b60405161012e9190612167565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ab565b610dd6565b3480156102f557600080fd5b50610209610304366004612048565b61100f565b34801561031557600080fd5b50610329610324366004612048565b611282565b60405161012e9897969594939291906121e8565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225b565b3480156103c457600080fd5b506102096103d336600461226e565b6113ed565b3480156103e457600080fd5b506102096103f336600461214a565b611512565b610400611d7d565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b3565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612423565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e3565b60405180910390a36002805490600061069083612502565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a1565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f66565b600381111561078357610783611f66565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a1565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7d565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a1565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f66565b600381111561095457610954611f66565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a1565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257a83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f66565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b3565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190612529565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f66565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612423565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b3565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612106565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225b565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f66565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f66565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b3565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612106565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a1565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a1565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a1565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612542565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255e565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257a833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f1916820190925261179291810190612529565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257a83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612542565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612542565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255e565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612542565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d6457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dba57611dba611f66565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1457611e14611ddb565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4357611e43611ddb565b604052919050565b600067ffffffffffffffff821115611e6557611e65611ddb565b50601f01601f191660200190565b6000611e86611e8184611e4b565b611e1a565b9050828152838383011115611e9a57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec257600080fd5b611d4e83833560208501611e73565b60008060408385031215611ee457600080fd5b823567ffffffffffffffff811115611efb57600080fd5b611f0785828601611eb1565b95602094909401359450505050565b60005b83811015611f31578181015183820152602001611f19565b50506000910152565b60008151808452611f52816020860160208601611f16565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9a57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc7610120850183611f3a565b915060018060a01b0360408601511660608501526060850151611fed6080860182611f7c565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120288382611f3a565b92505060e085015161203e8286018260ff169052565b5090949350505050565b60006020828403121561205a57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208957600080fd5b823561209481612061565b946020939093013593505050565b600080604083850312156120b557600080fd5b82356120c081612061565b9150602083013567ffffffffffffffff8111156120dc57600080fd5b8301601f810185136120ed57600080fd5b6120fc85823560208401611e73565b9150509250929050565b6020810161084d8284611f7c565b6000806040838503121561212757600080fd5b82359150602083013560ff8116811461213f57600080fd5b809150509250929050565b60006020828403121561215c57600080fd5b8135611d4e81612061565b6020808252825182820181905260009190848201906040850190845b8181101561219f57835183529284019291840191600101612183565b50909695505050505050565b600080604083850312156121be57600080fd5b82359150602083013567ffffffffffffffff8111156121dc57600080fd5b6120fc85828601611eb1565b60006101008a83528060208401526122028184018b611f3a565b6001600160a01b038a81166040860152909150612222606085018a611f7c565b8716608084015260a0830186905282810360c08401526122428186611f3a565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3a565b6000806040838503121561228157600080fd5b82359150602083013561213f81612061565b805161229e81612061565b919050565b8051801515811461229e57600080fd5b600060208083850312156122c657600080fd5b825167ffffffffffffffff808211156122de57600080fd5b9084019060c082870312156122f257600080fd5b6122fa611df1565b825161230581612061565b8152828401518281111561231857600080fd5b83019150601f8201871361232b57600080fd5b8151612339611e8182611e4b565b818152888683860101111561234d57600080fd5b61235c82878301888701611f16565b82860152506040838101519082015261237760608401612293565b60608201526080830151608082015261239260a084016122a3565b60a08201529695505050505050565b600181811c908216806123b557607f821691505b6020821081036123d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124045750805b601f850160051c820191505b8181101561168657828155600101612410565b815167ffffffffffffffff81111561243d5761243d611ddb565b6124518161244b84546123a1565b846123db565b602080601f831160018114612486576000841561246e5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b557888601518255948401946001909101908401612496565b50858210156124d35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3a565b60006001820161252257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253b57600080fd5b5051919050565b60008251612554818460208701611f16565b9190910192915050565b60006020828403121561257057600080fd5b611d4e826122a356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d3b080e19c883e02f2c45a696f8fc9ffe9b7d894958f1142da9c3a68737d889a64736f6c63430008160033", + "opcodes": "PUSH1 0xA0 PUSH1 0x40 MSTORE ADDRESS PUSH1 0x80 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x15 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x20 PUSH3 0x26 JUMP JUMPDEST PUSH3 0xDA JUMP JUMPDEST PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 DUP1 SLOAD PUSH9 0x10000000000000000 SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH3 0x77 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 AND EQ PUSH3 0xD7 JUMPI DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0x40 SHL SUB SWAP1 DUP2 OR DUP3 SSTORE PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP JUMP JUMPDEST PUSH1 0x80 MLOAD PUSH2 0x25CF PUSH3 0x104 PUSH1 0x0 CODECOPY PUSH1 0x0 DUP2 DUP2 PUSH2 0x1699 ADD MSTORE DUP2 DUP2 PUSH2 0x16C2 ADD MSTORE PUSH2 0x1808 ADD MSTORE PUSH2 0x25CF PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x639241AB GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x8D977672 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8D977672 EQ PUSH2 0x309 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x33D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x37A JUMPI DUP1 PUSH4 0xDA35A26F EQ PUSH2 0x3B8 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x639241AB EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x74AAA760 EQ PUSH2 0x2C9 JUMPI DUP1 PUSH4 0x7EEC20A8 EQ PUSH2 0x2E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2A2B3A9D GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x2A2B3A9D EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1F6 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x20B JUMPI DUP1 PUSH4 0x5C622A0E EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0x6298EEE0 EQ PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4FE2B34 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x7B31818 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0xD1CFCAE EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x1D65E77E EQ PUSH2 0x1A8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x121 PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x1ED1 JUMP JUMPDEST PUSH2 0x3F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x1F9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x170 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x170 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x853 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0x1E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2076 JUMP JUMPDEST PUSH2 0xA1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0xA50 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0xA6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25A PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2106 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x2114 JUMP JUMPDEST PUSH2 0xA8C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x214A JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2167 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0xDC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x21AB JUMP JUMPDEST PUSH2 0xDD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x304 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x100F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x329 PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x21E8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x170 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x386 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x225B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x226E JUMP JUMPDEST PUSH2 0x13ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x214A JUMP JUMPDEST PUSH2 0x1512 JUMP JUMPDEST PUSH2 0x400 PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x44A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x472 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x52B JUMPI CALLVALUE DUP2 PUSH1 0x40 ADD MLOAD EQ PUSH2 0x526 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x496E76616C6964207072696365 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x58A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F204554482073686F756C642062652073656E7420666F7220455243323020 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x7061796D656E7473 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E DUP2 PUSH1 0x60 ADD MLOAD CALLER ADDRESS DUP5 PUSH1 0x40 ADD MLOAD PUSH2 0x1550 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP2 SSTORE PUSH1 0x1 DUP2 ADD PUSH2 0x5C0 DUP7 DUP3 PUSH2 0x2423 JUMP JUMPDEST POP PUSH1 0x2 DUP2 DUP2 ADD DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND DUP2 OR DUP4 SSTORE PUSH1 0x4 DUP6 ADD DUP9 SWAP1 SSTORE DUP6 MLOAD PUSH1 0x3 DUP7 ADD DUP1 SLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP5 SLOAD DUP6 SLOAD DUP1 DUP5 ADD DUP8 SSTORE SWAP6 DUP5 MSTORE SWAP3 KECCAK256 SWAP1 SWAP4 ADD SSTORE DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL DUP4 MUL OR SWAP1 SSTORE POP DUP2 MLOAD PUSH1 0x2 SLOAD PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP3 CALLER SWAP3 PUSH32 0x5C005BBBB9DA508C37935B1A9F270836E0BE1FD11D4D47119F925A3FF33820E9 SWAP3 PUSH2 0x678 SWAP3 DUP12 SWAP1 PUSH2 0x24E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x2 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x690 DUP4 PUSH2 0x2502 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x6BC SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6E8 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x735 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x70A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x735 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x718 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x772 JUMPI PUSH2 0x772 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x783 JUMPI PUSH2 0x783 PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x7B7 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E3 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x830 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x805 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x830 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x813 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x85B PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x88D SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8B9 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x906 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8DB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x906 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8E9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x943 JUMPI PUSH2 0x943 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x954 JUMPI PUSH2 0x954 PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x988 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x9B4 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA01 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9D6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA01 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9E4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xA3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0xA58 PUSH2 0x168E JUMP JUMPDEST PUSH2 0xA61 DUP3 PUSH2 0x1733 JUMP JUMPDEST PUSH2 0xA6B DUP3 DUP3 PUSH2 0x173B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA79 PUSH2 0x17FD JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xAF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB26 JUMPI PUSH2 0xB26 PUSH2 0x1F66 JUMP JUMPDEST EQ PUSH2 0xB6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x15185CDAC81A5CC81B9BDD0818DBDB5C1B195D1959 PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xBC0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B20676F7420726174696E6720616C7265616479000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x64 DUP4 PUSH1 0xFF AND GT ISZERO PUSH2 0xC14 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP6 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC9A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 MLOAD PUSH1 0x40 MLOAD PUSH4 0x70370A81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP9 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP3 SWAP4 POP AND SWAP1 PUSH4 0x70370A81 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCF2 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 0xD16 SWAP2 SWAP1 PUSH2 0x2529 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xFF DUP6 AND DUP2 MSTORE DUP6 SWAP1 PUSH32 0xF9189BFC5977D44B1A00920E53A6A0E00229F6C53E76B73FC7E0581AE99ABDC SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xDB6 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xDA2 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCA PUSH2 0x1846 JUMP JUMPDEST PUSH2 0xDD4 PUSH1 0x0 PUSH2 0x18A1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x139BDD08185D5D1A1BDC9A5E9959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE53 JUMPI PUSH2 0xE53 PUSH2 0x1F66 JUMP JUMPDEST EQ PUSH2 0xE96 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x496E76616C6964207461736B20737461747573 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA1 SHL OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD PUSH2 0xEB9 DUP4 DUP3 PUSH2 0x2423 JUMP JUMPDEST POP PUSH1 0x3 SLOAD PUSH1 0x4 DUP3 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF07 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF2F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF66 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0xF61 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0xF89 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xF89 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0xFC9 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP4 PUSH32 0x7E6FFC29FE63759579D96A0457A8F2E08339ACA345BD469F59DC2E61F82A5AEB DUP5 PUSH1 0x40 MLOAD PUSH2 0x1001 SWAP2 SWAP1 PUSH2 0x225B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x107A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A9 PUSH2 0x1F66 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x10D7 JUMPI POP PUSH1 0x3 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10D4 JUMPI PUSH2 0x10D4 PUSH2 0x1F66 JUMP JUMPDEST EQ ISZERO JUMPDEST PUSH2 0x1123 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B2063616E6E6F742062652063616E63656C6564000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x3 PUSH1 0xA0 SHL PUSH1 0xFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1187 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x11AF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x11E6 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x11E1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0x1209 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1209 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0x1249 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x40 MLOAD DUP5 SWAP1 PUSH32 0x1AA8A90C7D7A86BAC690072D3F3D726BB8EBBE1989E158530440963F04C11EB2 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x12A4 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x12D0 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x12F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1300 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD DUP1 SLOAD SWAP6 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND SWAP8 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 SWAP7 DIV PUSH1 0xFF AND SWAP7 POP SWAP1 SWAP4 AND SWAP4 SWAP2 SWAP3 SWAP2 PUSH2 0x1361 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138D SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13DA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13AF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13DA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13BD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x6 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 POP POP PUSH1 0xFF AND DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F7 PUSH2 0x1B1D JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x141F JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x143C JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x144A JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1468 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1492 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x149B CALLER PUSH2 0x1B46 JUMP JUMPDEST PUSH2 0x14A3 PUSH2 0x1B57 JUMP JUMPDEST PUSH1 0x2 DUP8 SWAP1 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE DUP4 ISZERO PUSH2 0x1509 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x151A PUSH2 0x1846 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1544 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x18A1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH2 0x15B4 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x15F1 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 0x15F6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1620 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1620 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1620 SWAP2 SWAP1 PUSH2 0x255E JUMP JUMPDEST PUSH2 0x1686 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A7472616E7366657246726F6D3A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x185B9CD9995C919C9BDB4819985A5B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x1715 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1709 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x154D PUSH2 0x1846 JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1795 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1792 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2529 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x17BD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x17EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x17F8 DUP4 DUP4 PUSH2 0x1B5F JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0x1878 PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP4 SWAP1 PUSH1 0x40 MLOAD PUSH2 0x193C SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1979 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 0x197E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665724554483A PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x8115512081D1C985B9CD9995C8819985A5B1959 PUSH1 0x62 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP8 AND SWAP2 PUSH2 0x1A48 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1A85 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 0x1A8A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1AB4 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1AB4 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1AB4 SWAP2 SWAP1 PUSH2 0x255E JUMP JUMPDEST PUSH2 0x1B16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665723A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x185B9CD9995C8819985A5B1959 PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0x84D JUMP JUMPDEST PUSH2 0x1B4E PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x1BDA JUMP JUMPDEST PUSH2 0xDD4 PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x1B68 DUP3 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1BAD JUMPI PUSH2 0x17F8 DUP3 DUP3 PUSH2 0x1C47 JUMP JUMPDEST PUSH2 0xA6B PUSH2 0x1CBD JUMP JUMPDEST PUSH2 0x1BBD PUSH2 0x1CDC JUMP JUMPDEST PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x151A PUSH2 0x1BB5 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1C18 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x1C64 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1C9F 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 0x1CA4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1CB4 DUP6 DUP4 DUP4 PUSH2 0x1CF6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1CE6 PUSH2 0x1B1D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1D0B JUMPI PUSH2 0x1D06 DUP3 PUSH2 0x1D55 JUMP JUMPDEST PUSH2 0x1D4E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1D22 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1D4B JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1D64 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1DBA JUMPI PUSH2 0x1DBA PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD MSTORE PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP1 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 0xC0 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E14 JUMPI PUSH2 0x1E14 PUSH2 0x1DDB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E43 JUMPI PUSH2 0x1E43 PUSH2 0x1DDB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E65 JUMPI PUSH2 0x1E65 PUSH2 0x1DDB JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E86 PUSH2 0x1E81 DUP5 PUSH2 0x1E4B JUMP JUMPDEST PUSH2 0x1E1A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x1E9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1EC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x1E73 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1EE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F07 DUP6 DUP3 DUP7 ADD PUSH2 0x1EB1 JUMP JUMPDEST SWAP6 PUSH1 0x20 SWAP5 SWAP1 SWAP5 ADD CALLDATALOAD SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1F31 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1F19 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1F52 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1F16 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x1F9A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x100 DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1FC7 PUSH2 0x120 DUP6 ADD DUP4 PUSH2 0x1F3A JUMP JUMPDEST SWAP2 POP PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 DUP7 ADD MLOAD AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH2 0x1FED PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1F7C JUMP JUMPDEST POP PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0xA0 DUP7 ADD MSTORE POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0x1F NOT DUP6 DUP5 SUB ADD PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x2028 DUP4 DUP3 PUSH2 0x1F3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 DUP6 ADD MLOAD PUSH2 0x203E DUP3 DUP7 ADD DUP3 PUSH1 0xFF AND SWAP1 MSTORE JUMP JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x205A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x154D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2089 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2094 DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x20C0 DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x20ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FC DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1E73 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x84D DUP3 DUP5 PUSH2 0x1F7C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2127 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x213F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x215C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D4E DUP2 PUSH2 0x2061 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x219F JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x2183 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FC DUP6 DUP3 DUP7 ADD PUSH2 0x1EB1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP11 DUP4 MSTORE DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2202 DUP2 DUP5 ADD DUP12 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x40 DUP7 ADD MSTORE SWAP1 SWAP2 POP PUSH2 0x2222 PUSH1 0x60 DUP6 ADD DUP11 PUSH2 0x1F7C JUMP JUMPDEST DUP8 AND PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD DUP7 SWAP1 MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x2242 DUP2 DUP7 PUSH2 0x1F3A JUMP JUMPDEST SWAP2 POP POP PUSH1 0xFF DUP4 AND PUSH1 0xE0 DUP4 ADD MSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1D4E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x213F DUP2 PUSH2 0x2061 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x229E DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x229E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x22DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP5 ADD SWAP1 PUSH1 0xC0 DUP3 DUP8 SUB SLT ISZERO PUSH2 0x22F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22FA PUSH2 0x1DF1 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2305 DUP2 PUSH2 0x2061 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP5 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2318 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD SWAP2 POP PUSH1 0x1F DUP3 ADD DUP8 SGT PUSH2 0x232B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2339 PUSH2 0x1E81 DUP3 PUSH2 0x1E4B JUMP JUMPDEST DUP2 DUP2 MSTORE DUP9 DUP7 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x234D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x235C DUP3 DUP8 DUP4 ADD DUP9 DUP8 ADD PUSH2 0x1F16 JUMP JUMPDEST DUP3 DUP7 ADD MSTORE POP PUSH1 0x40 DUP4 DUP2 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x2377 PUSH1 0x60 DUP5 ADD PUSH2 0x2293 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x2392 PUSH1 0xA0 DUP5 ADD PUSH2 0x22A3 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x23B5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x23D5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x17F8 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2404 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1686 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2410 JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x243D JUMPI PUSH2 0x243D PUSH2 0x1DDB JUMP JUMPDEST PUSH2 0x2451 DUP2 PUSH2 0x244B DUP5 SLOAD PUSH2 0x23A1 JUMP JUMPDEST DUP5 PUSH2 0x23DB JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2486 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x246E JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1686 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x24B5 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2496 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x24D3 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1CB4 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2522 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x253B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2554 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1F16 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2570 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP3 PUSH2 0x22A3 JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220D3 0xB0 DUP1 0xE1 SWAP13 DUP9 RETURNDATACOPY MUL CALLCODE 0xC4 GAS PUSH10 0x6F8FC9FFE9B7D894958F GT TIMESTAMP 0xDA SWAP13 GASPRICE PUSH9 0x737D889A64736F6C63 NUMBER STOP ADDMOD AND STOP CALLER ", + "sourceMap": "632:6620:13:-:0;;;1171:4:2;1128:48;;1419:53:13;;;;;;;;;-1:-1:-1;1443:22:13;:20;:22::i;:::-;632:6620;;7709:422:1;3147:66;7898:15;;;;;;;7894:76;;;7936:23;;-1:-1:-1;;;7936:23:1;;;;;;;;;;;7894:76;7983:14;;-1:-1:-1;;;;;7983:14:1;;;:34;7979:146;;8033:33;;-1:-1:-1;;;;;;8033:33:1;-1:-1:-1;;;;;8033:33:1;;;;;8085:29;;158:50:17;;;8085:29:1;;146:2:17;131:18;8085:29:1;;;;;;;7979:146;7758:373;7709:422::o;14:200:17:-;632:6620:13;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": { + "@UPGRADE_INTERFACE_VERSION_486": { + "entryPoint": null, + "id": 486, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@__Ownable_init_54": { + "entryPoint": 6982, + "id": 54, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@__Ownable_init_unchained_81": { + "entryPoint": 7130, + "id": 81, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@__UUPSUpgradeable_init_516": { + "entryPoint": 6999, + "id": 516, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_authorizeUpgrade_3199": { + "entryPoint": 5939, + "id": 3199, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_checkInitializing_370": { + "entryPoint": 7093, + "id": 370, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_checkNonPayable_1014": { + "entryPoint": 7357, + "id": 1014, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_checkNotDelegated_592": { + "entryPoint": 6141, + "id": 592, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_checkOwner_122": { + "entryPoint": 6214, + "id": 122, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_checkProxy_576": { + "entryPoint": 5774, + "id": 576, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@_getInitializableStorage_461": { + "entryPoint": 6941, + "id": 461, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_getOwnableStorage_25": { + "entryPoint": null, + "id": 25, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_initializableStorageSlot_447": { + "entryPoint": null, + "id": 447, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_isInitializing_438": { + "entryPoint": 7388, + "id": 438, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_msgSender_672": { + "entryPoint": null, + "id": 672, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@_revert_1284": { + "entryPoint": 7509, + "id": 1284, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_setImplementation_794": { + "entryPoint": 7138, + "id": 794, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_transferOwnership_193": { + "entryPoint": 6305, + "id": 193, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@_upgradeToAndCallUUPS_643": { + "entryPoint": 5947, + "id": 643, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@agentRegistry_2632": { + "entryPoint": null, + "id": 2632, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@cancelTask_3136": { + "entryPoint": 4111, + "id": 3136, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@completeTask_2973": { + "entryPoint": 3542, + "id": 2973, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@createTask_2876": { + "entryPoint": 1016, + "id": 2876, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@functionDelegateCall_1202": { + "entryPoint": 7239, + "id": 1202, + "parameterSlots": 2, + "returnSlots": 1 + }, + "@getAddressSlot_1342": { + "entryPoint": null, + "id": 1342, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getAssignee_3189": { + "entryPoint": null, + "id": 3189, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getImplementation_767": { + "entryPoint": null, + "id": 767, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@getStatus_3176": { + "entryPoint": null, + "id": 3176, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getTask_3162": { + "entryPoint": 2131, + "id": 3162, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@getTasksByIssuer_3149": { + "entryPoint": 3414, + "id": 3149, + "parameterSlots": 1, + "returnSlots": 1 + }, + "@initialize_2685": { + "entryPoint": 5101, + "id": 2685, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@issuerTasks_2627": { + "entryPoint": 2591, + "id": 2627, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@owner_105": { + "entryPoint": null, + "id": 105, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@proxiableUUID_534": { + "entryPoint": 2671, + "id": 534, + "parameterSlots": 0, + "returnSlots": 1 + }, + "@rateTask_3048": { + "entryPoint": 2700, + "id": 3048, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@renounceOwnership_136": { + "entryPoint": 3522, + "id": 136, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@safeTransferETH_3433": { + "entryPoint": 6418, + "id": 3433, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@safeTransferFrom_3408": { + "entryPoint": 5456, + "id": 3408, + "parameterSlots": 4, + "returnSlots": 0 + }, + "@safeTransfer_3362": { + "entryPoint": 6636, + "id": 3362, + "parameterSlots": 3, + "returnSlots": 0 + }, + "@tasks_2622": { + "entryPoint": 4738, + "id": 2622, + "parameterSlots": 0, + "returnSlots": 0 + }, + "@transferOwnership_164": { + "entryPoint": 5394, + "id": 164, + "parameterSlots": 1, + "returnSlots": 0 + }, + "@upgradeToAndCall_554": { + "entryPoint": 2640, + "id": 554, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@upgradeToAndCall_830": { + "entryPoint": 7007, + "id": 830, + "parameterSlots": 2, + "returnSlots": 0 + }, + "@verifyCallResultFromTarget_1242": { + "entryPoint": 7414, + "id": 1242, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_address_fromMemory": { + "entryPoint": 8851, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_available_length_string": { + "entryPoint": 7795, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_decode_bool_fromMemory": { + "entryPoint": 8867, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_decode_string": { + "entryPoint": 7857, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_address": { + "entryPoint": 8522, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_addresst_bytes_memory_ptr": { + "entryPoint": 8354, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_addresst_uint256": { + "entryPoint": 8310, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_bool_fromMemory": { + "entryPoint": 9566, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_bytes32_fromMemory": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_string_memory_ptrt_uint256": { + "entryPoint": 7889, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_struct$_ServiceProposal_$3273_memory_ptr_fromMemory": { + "entryPoint": 8883, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256": { + "entryPoint": 8264, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256_fromMemory": { + "entryPoint": 9513, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_decode_tuple_t_uint256t_contract$_AgentsRegistryUpgradeable_$2363": { + "entryPoint": 8814, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_uint256t_string_memory_ptr": { + "entryPoint": 8619, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_decode_tuple_t_uint256t_uint8": { + "entryPoint": 8468, + "id": null, + "parameterSlots": 2, + "returnSlots": 2 + }, + "abi_encode_address": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_enum_TaskStatus": { + "entryPoint": 8060, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "abi_encode_string": { + "entryPoint": 7994, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed": { + "entryPoint": 9538, + "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_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint256__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 3, + "returnSlots": 1 + }, + "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed": { + "entryPoint": 8551, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_contract$_AgentsRegistryUpgradeable_$2363__to_t_address__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_enum$_TaskStatus_$2599__to_t_uint8__fromStack_reversed": { + "entryPoint": 8454, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 8795, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_1b1b03f60ebe259831055a7aaca661444a58af4e39e114790f599b56dce96127__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_306fe74d51ecec7b72bc35613a90b4c93840ded0ff8f63d0daef622fd6053b19__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_35c761622bcc8ab75f9adfaf21a4872a39cd06f2745d5488272d29f1f753f270__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_3f8faf98afe9344b6d4b0e75b0101259bf282914b3b5a9320c6918b6e27ede1c__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_43d7bec223ecf9eb06ea147e7d564bc71c2448662d62a4ea86ce71fc4518b350__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_784e567ba03dff6623f8e7bbee52b701bfd622c294c48e22d5da37cfabe25ac0__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_8b01433edf8e1c1ecc76c5925a92e74cb9845acafce91ff571223021d8950f7c__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_a08755c006bba216d153388cc97acf5e536a500c0ec88cade64bd6b2f0d0e27d__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_daea69421eeb1164e163c36f3d4349f0db3ec4e0d1381bd5bf4faf53496c2611__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_eaa01effe6abd0543e9529d3961b0f5d26980f0661c156a79b89c39a093463f7__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "abi_encode_tuple_t_struct$_TaskData_$2617_memory_ptr__to_t_struct$_TaskData_$2617_memory_ptr__fromStack_reversed": { + "entryPoint": 8094, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_address_t_enum$_TaskStatus_$2599_t_address_t_uint256_t_string_memory_ptr_t_uint8__to_t_uint256_t_string_memory_ptr_t_address_t_uint8_t_address_t_uint256_t_string_memory_ptr_t_uint8__fromStack_reversed": { + "entryPoint": 8680, + "id": null, + "parameterSlots": 9, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed": { + "entryPoint": 9443, + "id": null, + "parameterSlots": 4, + "returnSlots": 1 + }, + "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "abi_encode_uint8": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "allocate_memory": { + "entryPoint": 7706, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "allocate_memory_2890": { + "entryPoint": 7665, + "id": null, + "parameterSlots": 0, + "returnSlots": 1 + }, + "array_allocation_size_string": { + "entryPoint": 7755, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "array_dataslot_string_storage": { + "entryPoint": null, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "clean_up_bytearray_end_slots_string_storage": { + "entryPoint": 9179, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage": { + "entryPoint": 9251, + "id": null, + "parameterSlots": 2, + "returnSlots": 0 + }, + "copy_memory_to_memory_with_cleanup": { + "entryPoint": 7958, + "id": null, + "parameterSlots": 3, + "returnSlots": 0 + }, + "extract_byte_array_length": { + "entryPoint": 9121, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "extract_used_part_and_set_length_of_short_byte_array": { + "entryPoint": null, + "id": null, + "parameterSlots": 2, + "returnSlots": 1 + }, + "increment_t_uint256": { + "entryPoint": 9474, + "id": null, + "parameterSlots": 1, + "returnSlots": 1 + }, + "panic_error_0x21": { + "entryPoint": 8038, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "panic_error_0x41": { + "entryPoint": 7643, + "id": null, + "parameterSlots": 0, + "returnSlots": 0 + }, + "validator_revert_address": { + "entryPoint": 8289, + "id": null, + "parameterSlots": 1, + "returnSlots": 0 + } + }, + "generatedSources": [ + { + "ast": { + "nativeSrc": "0:21370:17", + "nodeType": "YulBlock", + "src": "0:21370:17", + "statements": [ + { + "nativeSrc": "6:3:17", + "nodeType": "YulBlock", + "src": "6:3:17", + "statements": [] + }, + { + "body": { + "nativeSrc": "46:95:17", + "nodeType": "YulBlock", + "src": "46:95:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "63:1:17", + "nodeType": "YulLiteral", + "src": "63:1:17", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "70:3:17", + "nodeType": "YulLiteral", + "src": "70:3:17", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nativeSrc": "75:10:17", + "nodeType": "YulLiteral", + "src": "75:10:17", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "66:3:17", + "nodeType": "YulIdentifier", + "src": "66:3:17" + }, + "nativeSrc": "66:20:17", + "nodeType": "YulFunctionCall", + "src": "66:20:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "56:6:17", + "nodeType": "YulIdentifier", + "src": "56:6:17" + }, + "nativeSrc": "56:31:17", + "nodeType": "YulFunctionCall", + "src": "56:31:17" + }, + "nativeSrc": "56:31:17", + "nodeType": "YulExpressionStatement", + "src": "56:31:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "103:1:17", + "nodeType": "YulLiteral", + "src": "103:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "106:4:17", + "nodeType": "YulLiteral", + "src": "106:4:17", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "96:6:17", + "nodeType": "YulIdentifier", + "src": "96:6:17" + }, + "nativeSrc": "96:15:17", + "nodeType": "YulFunctionCall", + "src": "96:15:17" + }, + "nativeSrc": "96:15:17", + "nodeType": "YulExpressionStatement", + "src": "96:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "127:1:17", + "nodeType": "YulLiteral", + "src": "127:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "130:4:17", + "nodeType": "YulLiteral", + "src": "130:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "120:6:17", + "nodeType": "YulIdentifier", + "src": "120:6:17" + }, + "nativeSrc": "120:15:17", + "nodeType": "YulFunctionCall", + "src": "120:15:17" + }, + "nativeSrc": "120:15:17", + "nodeType": "YulExpressionStatement", + "src": "120:15:17" + } + ] + }, + "name": "panic_error_0x41", + "nativeSrc": "14:127:17", + "nodeType": "YulFunctionDefinition", + "src": "14:127:17" + }, + { + "body": { + "nativeSrc": "192:207:17", + "nodeType": "YulBlock", + "src": "192:207:17", + "statements": [ + { + "nativeSrc": "202:19:17", + "nodeType": "YulAssignment", + "src": "202:19:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "218:2:17", + "nodeType": "YulLiteral", + "src": "218:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "212:5:17", + "nodeType": "YulIdentifier", + "src": "212:5:17" + }, + "nativeSrc": "212:9:17", + "nodeType": "YulFunctionCall", + "src": "212:9:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "202:6:17", + "nodeType": "YulIdentifier", + "src": "202:6:17" + } + ] + }, + { + "nativeSrc": "230:35:17", + "nodeType": "YulVariableDeclaration", + "src": "230:35:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "252:6:17", + "nodeType": "YulIdentifier", + "src": "252:6:17" + }, + { + "kind": "number", + "nativeSrc": "260:4:17", + "nodeType": "YulLiteral", + "src": "260:4:17", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "248:3:17", + "nodeType": "YulIdentifier", + "src": "248:3:17" + }, + "nativeSrc": "248:17:17", + "nodeType": "YulFunctionCall", + "src": "248:17:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "234:10:17", + "nodeType": "YulTypedName", + "src": "234:10:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "340:22:17", + "nodeType": "YulBlock", + "src": "340:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "342:16:17", + "nodeType": "YulIdentifier", + "src": "342:16:17" + }, + "nativeSrc": "342:18:17", + "nodeType": "YulFunctionCall", + "src": "342:18:17" + }, + "nativeSrc": "342:18:17", + "nodeType": "YulExpressionStatement", + "src": "342:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "283:10:17", + "nodeType": "YulIdentifier", + "src": "283:10:17" + }, + { + "kind": "number", + "nativeSrc": "295:18:17", + "nodeType": "YulLiteral", + "src": "295:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "280:2:17", + "nodeType": "YulIdentifier", + "src": "280:2:17" + }, + "nativeSrc": "280:34:17", + "nodeType": "YulFunctionCall", + "src": "280:34:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "319:10:17", + "nodeType": "YulIdentifier", + "src": "319:10:17" + }, + { + "name": "memPtr", + "nativeSrc": "331:6:17", + "nodeType": "YulIdentifier", + "src": "331:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "316:2:17", + "nodeType": "YulIdentifier", + "src": "316:2:17" + }, + "nativeSrc": "316:22:17", + "nodeType": "YulFunctionCall", + "src": "316:22:17" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "277:2:17", + "nodeType": "YulIdentifier", + "src": "277:2:17" + }, + "nativeSrc": "277:62:17", + "nodeType": "YulFunctionCall", + "src": "277:62:17" + }, + "nativeSrc": "274:88:17", + "nodeType": "YulIf", + "src": "274:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "378:2:17", + "nodeType": "YulLiteral", + "src": "378:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "382:10:17", + "nodeType": "YulIdentifier", + "src": "382:10:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "371:6:17", + "nodeType": "YulIdentifier", + "src": "371:6:17" + }, + "nativeSrc": "371:22:17", + "nodeType": "YulFunctionCall", + "src": "371:22:17" + }, + "nativeSrc": "371:22:17", + "nodeType": "YulExpressionStatement", + "src": "371:22:17" + } + ] + }, + "name": "allocate_memory_2890", + "nativeSrc": "146:253:17", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "181:6:17", + "nodeType": "YulTypedName", + "src": "181:6:17", + "type": "" + } + ], + "src": "146:253:17" + }, + { + "body": { + "nativeSrc": "449:230:17", + "nodeType": "YulBlock", + "src": "449:230:17", + "statements": [ + { + "nativeSrc": "459:19:17", + "nodeType": "YulAssignment", + "src": "459:19:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "475:2:17", + "nodeType": "YulLiteral", + "src": "475:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "469:5:17", + "nodeType": "YulIdentifier", + "src": "469:5:17" + }, + "nativeSrc": "469:9:17", + "nodeType": "YulFunctionCall", + "src": "469:9:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nativeSrc": "459:6:17", + "nodeType": "YulIdentifier", + "src": "459:6:17" + } + ] + }, + { + "nativeSrc": "487:58:17", + "nodeType": "YulVariableDeclaration", + "src": "487:58:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nativeSrc": "509:6:17", + "nodeType": "YulIdentifier", + "src": "509:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "size", + "nativeSrc": "525:4:17", + "nodeType": "YulIdentifier", + "src": "525:4:17" + }, + { + "kind": "number", + "nativeSrc": "531:2:17", + "nodeType": "YulLiteral", + "src": "531:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "521:3:17", + "nodeType": "YulIdentifier", + "src": "521:3:17" + }, + "nativeSrc": "521:13:17", + "nodeType": "YulFunctionCall", + "src": "521:13:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "540:2:17", + "nodeType": "YulLiteral", + "src": "540:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "536:3:17", + "nodeType": "YulIdentifier", + "src": "536:3:17" + }, + "nativeSrc": "536:7:17", + "nodeType": "YulFunctionCall", + "src": "536:7:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "517:3:17", + "nodeType": "YulIdentifier", + "src": "517:3:17" + }, + "nativeSrc": "517:27:17", + "nodeType": "YulFunctionCall", + "src": "517:27:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "505:3:17", + "nodeType": "YulIdentifier", + "src": "505:3:17" + }, + "nativeSrc": "505:40:17", + "nodeType": "YulFunctionCall", + "src": "505:40:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nativeSrc": "491:10:17", + "nodeType": "YulTypedName", + "src": "491:10:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "620:22:17", + "nodeType": "YulBlock", + "src": "620:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "622:16:17", + "nodeType": "YulIdentifier", + "src": "622:16:17" + }, + "nativeSrc": "622:18:17", + "nodeType": "YulFunctionCall", + "src": "622:18:17" + }, + "nativeSrc": "622:18:17", + "nodeType": "YulExpressionStatement", + "src": "622:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "563:10:17", + "nodeType": "YulIdentifier", + "src": "563:10:17" + }, + { + "kind": "number", + "nativeSrc": "575:18:17", + "nodeType": "YulLiteral", + "src": "575:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "560:2:17", + "nodeType": "YulIdentifier", + "src": "560:2:17" + }, + "nativeSrc": "560:34:17", + "nodeType": "YulFunctionCall", + "src": "560:34:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nativeSrc": "599:10:17", + "nodeType": "YulIdentifier", + "src": "599:10:17" + }, + { + "name": "memPtr", + "nativeSrc": "611:6:17", + "nodeType": "YulIdentifier", + "src": "611:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "596:2:17", + "nodeType": "YulIdentifier", + "src": "596:2:17" + }, + "nativeSrc": "596:22:17", + "nodeType": "YulFunctionCall", + "src": "596:22:17" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "557:2:17", + "nodeType": "YulIdentifier", + "src": "557:2:17" + }, + "nativeSrc": "557:62:17", + "nodeType": "YulFunctionCall", + "src": "557:62:17" + }, + "nativeSrc": "554:88:17", + "nodeType": "YulIf", + "src": "554:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "658:2:17", + "nodeType": "YulLiteral", + "src": "658:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nativeSrc": "662:10:17", + "nodeType": "YulIdentifier", + "src": "662:10:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "651:6:17", + "nodeType": "YulIdentifier", + "src": "651:6:17" + }, + "nativeSrc": "651:22:17", + "nodeType": "YulFunctionCall", + "src": "651:22:17" + }, + "nativeSrc": "651:22:17", + "nodeType": "YulExpressionStatement", + "src": "651:22:17" + } + ] + }, + "name": "allocate_memory", + "nativeSrc": "404:275:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nativeSrc": "429:4:17", + "nodeType": "YulTypedName", + "src": "429:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nativeSrc": "438:6:17", + "nodeType": "YulTypedName", + "src": "438:6:17", + "type": "" + } + ], + "src": "404:275:17" + }, + { + "body": { + "nativeSrc": "742:129:17", + "nodeType": "YulBlock", + "src": "742:129:17", + "statements": [ + { + "body": { + "nativeSrc": "786:22:17", + "nodeType": "YulBlock", + "src": "786:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "788:16:17", + "nodeType": "YulIdentifier", + "src": "788:16:17" + }, + "nativeSrc": "788:18:17", + "nodeType": "YulFunctionCall", + "src": "788:18:17" + }, + "nativeSrc": "788:18:17", + "nodeType": "YulExpressionStatement", + "src": "788:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nativeSrc": "758:6:17", + "nodeType": "YulIdentifier", + "src": "758:6:17" + }, + { + "kind": "number", + "nativeSrc": "766:18:17", + "nodeType": "YulLiteral", + "src": "766:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "755:2:17", + "nodeType": "YulIdentifier", + "src": "755:2:17" + }, + "nativeSrc": "755:30:17", + "nodeType": "YulFunctionCall", + "src": "755:30:17" + }, + "nativeSrc": "752:56:17", + "nodeType": "YulIf", + "src": "752:56:17" + }, + { + "nativeSrc": "817:48:17", + "nodeType": "YulAssignment", + "src": "817:48:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "837:6:17", + "nodeType": "YulIdentifier", + "src": "837:6:17" + }, + { + "kind": "number", + "nativeSrc": "845:2:17", + "nodeType": "YulLiteral", + "src": "845:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "833:3:17", + "nodeType": "YulIdentifier", + "src": "833:3:17" + }, + "nativeSrc": "833:15:17", + "nodeType": "YulFunctionCall", + "src": "833:15:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "854:2:17", + "nodeType": "YulLiteral", + "src": "854:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "850:3:17", + "nodeType": "YulIdentifier", + "src": "850:3:17" + }, + "nativeSrc": "850:7:17", + "nodeType": "YulFunctionCall", + "src": "850:7:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "829:3:17", + "nodeType": "YulIdentifier", + "src": "829:3:17" + }, + "nativeSrc": "829:29:17", + "nodeType": "YulFunctionCall", + "src": "829:29:17" + }, + { + "kind": "number", + "nativeSrc": "860:4:17", + "nodeType": "YulLiteral", + "src": "860:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "825:3:17", + "nodeType": "YulIdentifier", + "src": "825:3:17" + }, + "nativeSrc": "825:40:17", + "nodeType": "YulFunctionCall", + "src": "825:40:17" + }, + "variableNames": [ + { + "name": "size", + "nativeSrc": "817:4:17", + "nodeType": "YulIdentifier", + "src": "817:4:17" + } + ] + } + ] + }, + "name": "array_allocation_size_string", + "nativeSrc": "684:187:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nativeSrc": "722:6:17", + "nodeType": "YulTypedName", + "src": "722:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nativeSrc": "733:4:17", + "nodeType": "YulTypedName", + "src": "733:4:17", + "type": "" + } + ], + "src": "684:187:17" + }, + { + "body": { + "nativeSrc": "951:263:17", + "nodeType": "YulBlock", + "src": "951:263:17", + "statements": [ + { + "nativeSrc": "961:62:17", + "nodeType": "YulAssignment", + "src": "961:62:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "1015:6:17", + "nodeType": "YulIdentifier", + "src": "1015:6:17" + } + ], + "functionName": { + "name": "array_allocation_size_string", + "nativeSrc": "986:28:17", + "nodeType": "YulIdentifier", + "src": "986:28:17" + }, + "nativeSrc": "986:36:17", + "nodeType": "YulFunctionCall", + "src": "986:36:17" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "970:15:17", + "nodeType": "YulIdentifier", + "src": "970:15:17" + }, + "nativeSrc": "970:53:17", + "nodeType": "YulFunctionCall", + "src": "970:53:17" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "961:5:17", + "nodeType": "YulIdentifier", + "src": "961:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "1039:5:17", + "nodeType": "YulIdentifier", + "src": "1039:5:17" + }, + { + "name": "length", + "nativeSrc": "1046:6:17", + "nodeType": "YulIdentifier", + "src": "1046:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1032:6:17", + "nodeType": "YulIdentifier", + "src": "1032:6:17" + }, + "nativeSrc": "1032:21:17", + "nodeType": "YulFunctionCall", + "src": "1032:21:17" + }, + "nativeSrc": "1032:21:17", + "nodeType": "YulExpressionStatement", + "src": "1032:21:17" + }, + { + "body": { + "nativeSrc": "1091:16:17", + "nodeType": "YulBlock", + "src": "1091:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1100:1:17", + "nodeType": "YulLiteral", + "src": "1100:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1103:1:17", + "nodeType": "YulLiteral", + "src": "1103:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1093:6:17", + "nodeType": "YulIdentifier", + "src": "1093:6:17" + }, + "nativeSrc": "1093:12:17", + "nodeType": "YulFunctionCall", + "src": "1093:12:17" + }, + "nativeSrc": "1093:12:17", + "nodeType": "YulExpressionStatement", + "src": "1093:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "1072:3:17", + "nodeType": "YulIdentifier", + "src": "1072:3:17" + }, + { + "name": "length", + "nativeSrc": "1077:6:17", + "nodeType": "YulIdentifier", + "src": "1077:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1068:3:17", + "nodeType": "YulIdentifier", + "src": "1068:3:17" + }, + "nativeSrc": "1068:16:17", + "nodeType": "YulFunctionCall", + "src": "1068:16:17" + }, + { + "name": "end", + "nativeSrc": "1086:3:17", + "nodeType": "YulIdentifier", + "src": "1086:3:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1065:2:17", + "nodeType": "YulIdentifier", + "src": "1065:2:17" + }, + "nativeSrc": "1065:25:17", + "nodeType": "YulFunctionCall", + "src": "1065:25:17" + }, + "nativeSrc": "1062:45:17", + "nodeType": "YulIf", + "src": "1062:45:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "array", + "nativeSrc": "1133:5:17", + "nodeType": "YulIdentifier", + "src": "1133:5:17" + }, + { + "kind": "number", + "nativeSrc": "1140:4:17", + "nodeType": "YulLiteral", + "src": "1140:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1129:3:17", + "nodeType": "YulIdentifier", + "src": "1129:3:17" + }, + "nativeSrc": "1129:16:17", + "nodeType": "YulFunctionCall", + "src": "1129:16:17" + }, + { + "name": "src", + "nativeSrc": "1147:3:17", + "nodeType": "YulIdentifier", + "src": "1147:3:17" + }, + { + "name": "length", + "nativeSrc": "1152:6:17", + "nodeType": "YulIdentifier", + "src": "1152:6:17" + } + ], + "functionName": { + "name": "calldatacopy", + "nativeSrc": "1116:12:17", + "nodeType": "YulIdentifier", + "src": "1116:12:17" + }, + "nativeSrc": "1116:43:17", + "nodeType": "YulFunctionCall", + "src": "1116:43:17" + }, + "nativeSrc": "1116:43:17", + "nodeType": "YulExpressionStatement", + "src": "1116:43:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "array", + "nativeSrc": "1183:5:17", + "nodeType": "YulIdentifier", + "src": "1183:5:17" + }, + { + "name": "length", + "nativeSrc": "1190:6:17", + "nodeType": "YulIdentifier", + "src": "1190:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1179:3:17", + "nodeType": "YulIdentifier", + "src": "1179:3:17" + }, + "nativeSrc": "1179:18:17", + "nodeType": "YulFunctionCall", + "src": "1179:18:17" + }, + { + "kind": "number", + "nativeSrc": "1199:4:17", + "nodeType": "YulLiteral", + "src": "1199:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1175:3:17", + "nodeType": "YulIdentifier", + "src": "1175:3:17" + }, + "nativeSrc": "1175:29:17", + "nodeType": "YulFunctionCall", + "src": "1175:29:17" + }, + { + "kind": "number", + "nativeSrc": "1206:1:17", + "nodeType": "YulLiteral", + "src": "1206:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "1168:6:17", + "nodeType": "YulIdentifier", + "src": "1168:6:17" + }, + "nativeSrc": "1168:40:17", + "nodeType": "YulFunctionCall", + "src": "1168:40:17" + }, + "nativeSrc": "1168:40:17", + "nodeType": "YulExpressionStatement", + "src": "1168:40:17" + } + ] + }, + "name": "abi_decode_available_length_string", + "nativeSrc": "876:338:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "920:3:17", + "nodeType": "YulTypedName", + "src": "920:3:17", + "type": "" + }, + { + "name": "length", + "nativeSrc": "925:6:17", + "nodeType": "YulTypedName", + "src": "925:6:17", + "type": "" + }, + { + "name": "end", + "nativeSrc": "933:3:17", + "nodeType": "YulTypedName", + "src": "933:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "941:5:17", + "nodeType": "YulTypedName", + "src": "941:5:17", + "type": "" + } + ], + "src": "876:338:17" + }, + { + "body": { + "nativeSrc": "1272:169:17", + "nodeType": "YulBlock", + "src": "1272:169:17", + "statements": [ + { + "body": { + "nativeSrc": "1321:16:17", + "nodeType": "YulBlock", + "src": "1321:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1330:1:17", + "nodeType": "YulLiteral", + "src": "1330:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1333:1:17", + "nodeType": "YulLiteral", + "src": "1333:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1323:6:17", + "nodeType": "YulIdentifier", + "src": "1323:6:17" + }, + "nativeSrc": "1323:12:17", + "nodeType": "YulFunctionCall", + "src": "1323:12:17" + }, + "nativeSrc": "1323:12:17", + "nodeType": "YulExpressionStatement", + "src": "1323:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1300:6:17", + "nodeType": "YulIdentifier", + "src": "1300:6:17" + }, + { + "kind": "number", + "nativeSrc": "1308:4:17", + "nodeType": "YulLiteral", + "src": "1308:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1296:3:17", + "nodeType": "YulIdentifier", + "src": "1296:3:17" + }, + "nativeSrc": "1296:17:17", + "nodeType": "YulFunctionCall", + "src": "1296:17:17" + }, + { + "name": "end", + "nativeSrc": "1315:3:17", + "nodeType": "YulIdentifier", + "src": "1315:3:17" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "1292:3:17", + "nodeType": "YulIdentifier", + "src": "1292:3:17" + }, + "nativeSrc": "1292:27:17", + "nodeType": "YulFunctionCall", + "src": "1292:27:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "1285:6:17", + "nodeType": "YulIdentifier", + "src": "1285:6:17" + }, + "nativeSrc": "1285:35:17", + "nodeType": "YulFunctionCall", + "src": "1285:35:17" + }, + "nativeSrc": "1282:55:17", + "nodeType": "YulIf", + "src": "1282:55:17" + }, + { + "nativeSrc": "1346:89:17", + "nodeType": "YulAssignment", + "src": "1346:89:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1394:6:17", + "nodeType": "YulIdentifier", + "src": "1394:6:17" + }, + { + "kind": "number", + "nativeSrc": "1402:4:17", + "nodeType": "YulLiteral", + "src": "1402:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1390:3:17", + "nodeType": "YulIdentifier", + "src": "1390:3:17" + }, + "nativeSrc": "1390:17:17", + "nodeType": "YulFunctionCall", + "src": "1390:17:17" + }, + { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1422:6:17", + "nodeType": "YulIdentifier", + "src": "1422:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "1409:12:17", + "nodeType": "YulIdentifier", + "src": "1409:12:17" + }, + "nativeSrc": "1409:20:17", + "nodeType": "YulFunctionCall", + "src": "1409:20:17" + }, + { + "name": "end", + "nativeSrc": "1431:3:17", + "nodeType": "YulIdentifier", + "src": "1431:3:17" + } + ], + "functionName": { + "name": "abi_decode_available_length_string", + "nativeSrc": "1355:34:17", + "nodeType": "YulIdentifier", + "src": "1355:34:17" + }, + "nativeSrc": "1355:80:17", + "nodeType": "YulFunctionCall", + "src": "1355:80:17" + }, + "variableNames": [ + { + "name": "array", + "nativeSrc": "1346:5:17", + "nodeType": "YulIdentifier", + "src": "1346:5:17" + } + ] + } + ] + }, + "name": "abi_decode_string", + "nativeSrc": "1219:222:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "1246:6:17", + "nodeType": "YulTypedName", + "src": "1246:6:17", + "type": "" + }, + { + "name": "end", + "nativeSrc": "1254:3:17", + "nodeType": "YulTypedName", + "src": "1254:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nativeSrc": "1262:5:17", + "nodeType": "YulTypedName", + "src": "1262:5:17", + "type": "" + } + ], + "src": "1219:222:17" + }, + { + "body": { + "nativeSrc": "1543:293:17", + "nodeType": "YulBlock", + "src": "1543:293:17", + "statements": [ + { + "body": { + "nativeSrc": "1589:16:17", + "nodeType": "YulBlock", + "src": "1589:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1598:1:17", + "nodeType": "YulLiteral", + "src": "1598:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1601:1:17", + "nodeType": "YulLiteral", + "src": "1601:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1591:6:17", + "nodeType": "YulIdentifier", + "src": "1591:6:17" + }, + "nativeSrc": "1591:12:17", + "nodeType": "YulFunctionCall", + "src": "1591:12:17" + }, + "nativeSrc": "1591:12:17", + "nodeType": "YulExpressionStatement", + "src": "1591:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "1564:7:17", + "nodeType": "YulIdentifier", + "src": "1564:7:17" + }, + { + "name": "headStart", + "nativeSrc": "1573:9:17", + "nodeType": "YulIdentifier", + "src": "1573:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "1560:3:17", + "nodeType": "YulIdentifier", + "src": "1560:3:17" + }, + "nativeSrc": "1560:23:17", + "nodeType": "YulFunctionCall", + "src": "1560:23:17" + }, + { + "kind": "number", + "nativeSrc": "1585:2:17", + "nodeType": "YulLiteral", + "src": "1585:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "1556:3:17", + "nodeType": "YulIdentifier", + "src": "1556:3:17" + }, + "nativeSrc": "1556:32:17", + "nodeType": "YulFunctionCall", + "src": "1556:32:17" + }, + "nativeSrc": "1553:52:17", + "nodeType": "YulIf", + "src": "1553:52:17" + }, + { + "nativeSrc": "1614:37:17", + "nodeType": "YulVariableDeclaration", + "src": "1614:37:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1641:9:17", + "nodeType": "YulIdentifier", + "src": "1641:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "1628:12:17", + "nodeType": "YulIdentifier", + "src": "1628:12:17" + }, + "nativeSrc": "1628:23:17", + "nodeType": "YulFunctionCall", + "src": "1628:23:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "1618:6:17", + "nodeType": "YulTypedName", + "src": "1618:6:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1694:16:17", + "nodeType": "YulBlock", + "src": "1694:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "1703:1:17", + "nodeType": "YulLiteral", + "src": "1703:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "1706:1:17", + "nodeType": "YulLiteral", + "src": "1706:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "1696:6:17", + "nodeType": "YulIdentifier", + "src": "1696:6:17" + }, + "nativeSrc": "1696:12:17", + "nodeType": "YulFunctionCall", + "src": "1696:12:17" + }, + "nativeSrc": "1696:12:17", + "nodeType": "YulExpressionStatement", + "src": "1696:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "1666:6:17", + "nodeType": "YulIdentifier", + "src": "1666:6:17" + }, + { + "kind": "number", + "nativeSrc": "1674:18:17", + "nodeType": "YulLiteral", + "src": "1674:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "1663:2:17", + "nodeType": "YulIdentifier", + "src": "1663:2:17" + }, + "nativeSrc": "1663:30:17", + "nodeType": "YulFunctionCall", + "src": "1663:30:17" + }, + "nativeSrc": "1660:50:17", + "nodeType": "YulIf", + "src": "1660:50:17" + }, + { + "nativeSrc": "1719:60:17", + "nodeType": "YulAssignment", + "src": "1719:60:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1751:9:17", + "nodeType": "YulIdentifier", + "src": "1751:9:17" + }, + { + "name": "offset", + "nativeSrc": "1762:6:17", + "nodeType": "YulIdentifier", + "src": "1762:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1747:3:17", + "nodeType": "YulIdentifier", + "src": "1747:3:17" + }, + "nativeSrc": "1747:22:17", + "nodeType": "YulFunctionCall", + "src": "1747:22:17" + }, + { + "name": "dataEnd", + "nativeSrc": "1771:7:17", + "nodeType": "YulIdentifier", + "src": "1771:7:17" + } + ], + "functionName": { + "name": "abi_decode_string", + "nativeSrc": "1729:17:17", + "nodeType": "YulIdentifier", + "src": "1729:17:17" + }, + "nativeSrc": "1729:50:17", + "nodeType": "YulFunctionCall", + "src": "1729:50:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "1719:6:17", + "nodeType": "YulIdentifier", + "src": "1719:6:17" + } + ] + }, + { + "nativeSrc": "1788:42:17", + "nodeType": "YulAssignment", + "src": "1788:42:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "1815:9:17", + "nodeType": "YulIdentifier", + "src": "1815:9:17" + }, + { + "kind": "number", + "nativeSrc": "1826:2:17", + "nodeType": "YulLiteral", + "src": "1826:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1811:3:17", + "nodeType": "YulIdentifier", + "src": "1811:3:17" + }, + "nativeSrc": "1811:18:17", + "nodeType": "YulFunctionCall", + "src": "1811:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "1798:12:17", + "nodeType": "YulIdentifier", + "src": "1798:12:17" + }, + "nativeSrc": "1798:32:17", + "nodeType": "YulFunctionCall", + "src": "1798:32:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "1788:6:17", + "nodeType": "YulIdentifier", + "src": "1788:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_uint256", + "nativeSrc": "1446:390:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "1501:9:17", + "nodeType": "YulTypedName", + "src": "1501:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "1512:7:17", + "nodeType": "YulTypedName", + "src": "1512:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "1524:6:17", + "nodeType": "YulTypedName", + "src": "1524:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "1532:6:17", + "nodeType": "YulTypedName", + "src": "1532:6:17", + "type": "" + } + ], + "src": "1446:390:17" + }, + { + "body": { + "nativeSrc": "1907:184:17", + "nodeType": "YulBlock", + "src": "1907:184:17", + "statements": [ + { + "nativeSrc": "1917:10:17", + "nodeType": "YulVariableDeclaration", + "src": "1917:10:17", + "value": { + "kind": "number", + "nativeSrc": "1926:1:17", + "nodeType": "YulLiteral", + "src": "1926:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "1921:1:17", + "nodeType": "YulTypedName", + "src": "1921:1:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "1986:63:17", + "nodeType": "YulBlock", + "src": "1986:63:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2011:3:17", + "nodeType": "YulIdentifier", + "src": "2011:3:17" + }, + { + "name": "i", + "nativeSrc": "2016:1:17", + "nodeType": "YulIdentifier", + "src": "2016:1:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2007:3:17", + "nodeType": "YulIdentifier", + "src": "2007:3:17" + }, + "nativeSrc": "2007:11:17", + "nodeType": "YulFunctionCall", + "src": "2007:11:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "2030:3:17", + "nodeType": "YulIdentifier", + "src": "2030:3:17" + }, + { + "name": "i", + "nativeSrc": "2035:1:17", + "nodeType": "YulIdentifier", + "src": "2035:1:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2026:3:17", + "nodeType": "YulIdentifier", + "src": "2026:3:17" + }, + "nativeSrc": "2026:11:17", + "nodeType": "YulFunctionCall", + "src": "2026:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2020:5:17", + "nodeType": "YulIdentifier", + "src": "2020:5:17" + }, + "nativeSrc": "2020:18:17", + "nodeType": "YulFunctionCall", + "src": "2020:18:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2000:6:17", + "nodeType": "YulIdentifier", + "src": "2000:6:17" + }, + "nativeSrc": "2000:39:17", + "nodeType": "YulFunctionCall", + "src": "2000:39:17" + }, + "nativeSrc": "2000:39:17", + "nodeType": "YulExpressionStatement", + "src": "2000:39:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1947:1:17", + "nodeType": "YulIdentifier", + "src": "1947:1:17" + }, + { + "name": "length", + "nativeSrc": "1950:6:17", + "nodeType": "YulIdentifier", + "src": "1950:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "1944:2:17", + "nodeType": "YulIdentifier", + "src": "1944:2:17" + }, + "nativeSrc": "1944:13:17", + "nodeType": "YulFunctionCall", + "src": "1944:13:17" + }, + "nativeSrc": "1936:113:17", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "1958:19:17", + "nodeType": "YulBlock", + "src": "1958:19:17", + "statements": [ + { + "nativeSrc": "1960:15:17", + "nodeType": "YulAssignment", + "src": "1960:15:17", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "1969:1:17", + "nodeType": "YulIdentifier", + "src": "1969:1:17" + }, + { + "kind": "number", + "nativeSrc": "1972:2:17", + "nodeType": "YulLiteral", + "src": "1972:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "1965:3:17", + "nodeType": "YulIdentifier", + "src": "1965:3:17" + }, + "nativeSrc": "1965:10:17", + "nodeType": "YulFunctionCall", + "src": "1965:10:17" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "1960:1:17", + "nodeType": "YulIdentifier", + "src": "1960:1:17" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "1940:3:17", + "nodeType": "YulBlock", + "src": "1940:3:17", + "statements": [] + }, + "src": "1936:113:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nativeSrc": "2069:3:17", + "nodeType": "YulIdentifier", + "src": "2069:3:17" + }, + { + "name": "length", + "nativeSrc": "2074:6:17", + "nodeType": "YulIdentifier", + "src": "2074:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2065:3:17", + "nodeType": "YulIdentifier", + "src": "2065:3:17" + }, + "nativeSrc": "2065:16:17", + "nodeType": "YulFunctionCall", + "src": "2065:16:17" + }, + { + "kind": "number", + "nativeSrc": "2083:1:17", + "nodeType": "YulLiteral", + "src": "2083:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2058:6:17", + "nodeType": "YulIdentifier", + "src": "2058:6:17" + }, + "nativeSrc": "2058:27:17", + "nodeType": "YulFunctionCall", + "src": "2058:27:17" + }, + "nativeSrc": "2058:27:17", + "nodeType": "YulExpressionStatement", + "src": "2058:27:17" + } + ] + }, + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "1841:250:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nativeSrc": "1885:3:17", + "nodeType": "YulTypedName", + "src": "1885:3:17", + "type": "" + }, + { + "name": "dst", + "nativeSrc": "1890:3:17", + "nodeType": "YulTypedName", + "src": "1890:3:17", + "type": "" + }, + { + "name": "length", + "nativeSrc": "1895:6:17", + "nodeType": "YulTypedName", + "src": "1895:6:17", + "type": "" + } + ], + "src": "1841:250:17" + }, + { + "body": { + "nativeSrc": "2146:221:17", + "nodeType": "YulBlock", + "src": "2146:221:17", + "statements": [ + { + "nativeSrc": "2156:26:17", + "nodeType": "YulVariableDeclaration", + "src": "2156:26:17", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "2176:5:17", + "nodeType": "YulIdentifier", + "src": "2176:5:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "2170:5:17", + "nodeType": "YulIdentifier", + "src": "2170:5:17" + }, + "nativeSrc": "2170:12:17", + "nodeType": "YulFunctionCall", + "src": "2170:12:17" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "2160:6:17", + "nodeType": "YulTypedName", + "src": "2160:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2198:3:17", + "nodeType": "YulIdentifier", + "src": "2198:3:17" + }, + { + "name": "length", + "nativeSrc": "2203:6:17", + "nodeType": "YulIdentifier", + "src": "2203:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2191:6:17", + "nodeType": "YulIdentifier", + "src": "2191:6:17" + }, + "nativeSrc": "2191:19:17", + "nodeType": "YulFunctionCall", + "src": "2191:19:17" + }, + "nativeSrc": "2191:19:17", + "nodeType": "YulExpressionStatement", + "src": "2191:19:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2258:5:17", + "nodeType": "YulIdentifier", + "src": "2258:5:17" + }, + { + "kind": "number", + "nativeSrc": "2265:4:17", + "nodeType": "YulLiteral", + "src": "2265:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2254:3:17", + "nodeType": "YulIdentifier", + "src": "2254:3:17" + }, + "nativeSrc": "2254:16:17", + "nodeType": "YulFunctionCall", + "src": "2254:16:17" + }, + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2276:3:17", + "nodeType": "YulIdentifier", + "src": "2276:3:17" + }, + { + "kind": "number", + "nativeSrc": "2281:4:17", + "nodeType": "YulLiteral", + "src": "2281:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2272:3:17", + "nodeType": "YulIdentifier", + "src": "2272:3:17" + }, + "nativeSrc": "2272:14:17", + "nodeType": "YulFunctionCall", + "src": "2272:14:17" + }, + { + "name": "length", + "nativeSrc": "2288:6:17", + "nodeType": "YulIdentifier", + "src": "2288:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "2219:34:17", + "nodeType": "YulIdentifier", + "src": "2219:34:17" + }, + "nativeSrc": "2219:76:17", + "nodeType": "YulFunctionCall", + "src": "2219:76:17" + }, + "nativeSrc": "2219:76:17", + "nodeType": "YulExpressionStatement", + "src": "2219:76:17" + }, + { + "nativeSrc": "2304:57:17", + "nodeType": "YulAssignment", + "src": "2304:57:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2319:3:17", + "nodeType": "YulIdentifier", + "src": "2319:3:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nativeSrc": "2332:6:17", + "nodeType": "YulIdentifier", + "src": "2332:6:17" + }, + { + "kind": "number", + "nativeSrc": "2340:2:17", + "nodeType": "YulLiteral", + "src": "2340:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2328:3:17", + "nodeType": "YulIdentifier", + "src": "2328:3:17" + }, + "nativeSrc": "2328:15:17", + "nodeType": "YulFunctionCall", + "src": "2328:15:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2349:2:17", + "nodeType": "YulLiteral", + "src": "2349:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "2345:3:17", + "nodeType": "YulIdentifier", + "src": "2345:3:17" + }, + "nativeSrc": "2345:7:17", + "nodeType": "YulFunctionCall", + "src": "2345:7:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2324:3:17", + "nodeType": "YulIdentifier", + "src": "2324:3:17" + }, + "nativeSrc": "2324:29:17", + "nodeType": "YulFunctionCall", + "src": "2324:29:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2315:3:17", + "nodeType": "YulIdentifier", + "src": "2315:3:17" + }, + "nativeSrc": "2315:39:17", + "nodeType": "YulFunctionCall", + "src": "2315:39:17" + }, + { + "kind": "number", + "nativeSrc": "2356:4:17", + "nodeType": "YulLiteral", + "src": "2356:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "2311:3:17", + "nodeType": "YulIdentifier", + "src": "2311:3:17" + }, + "nativeSrc": "2311:50:17", + "nodeType": "YulFunctionCall", + "src": "2311:50:17" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "2304:3:17", + "nodeType": "YulIdentifier", + "src": "2304:3:17" + } + ] + } + ] + }, + "name": "abi_encode_string", + "nativeSrc": "2096:271:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2123:5:17", + "nodeType": "YulTypedName", + "src": "2123:5:17", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2130:3:17", + "nodeType": "YulTypedName", + "src": "2130:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "2138:3:17", + "nodeType": "YulTypedName", + "src": "2138:3:17", + "type": "" + } + ], + "src": "2096:271:17" + }, + { + "body": { + "nativeSrc": "2416:60:17", + "nodeType": "YulBlock", + "src": "2416:60:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2433:3:17", + "nodeType": "YulIdentifier", + "src": "2433:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2442:5:17", + "nodeType": "YulIdentifier", + "src": "2442:5:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2457:3:17", + "nodeType": "YulLiteral", + "src": "2457:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "2462:1:17", + "nodeType": "YulLiteral", + "src": "2462:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "2453:3:17", + "nodeType": "YulIdentifier", + "src": "2453:3:17" + }, + "nativeSrc": "2453:11:17", + "nodeType": "YulFunctionCall", + "src": "2453:11:17" + }, + { + "kind": "number", + "nativeSrc": "2466:1:17", + "nodeType": "YulLiteral", + "src": "2466:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "2449:3:17", + "nodeType": "YulIdentifier", + "src": "2449:3:17" + }, + "nativeSrc": "2449:19:17", + "nodeType": "YulFunctionCall", + "src": "2449:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2438:3:17", + "nodeType": "YulIdentifier", + "src": "2438:3:17" + }, + "nativeSrc": "2438:31:17", + "nodeType": "YulFunctionCall", + "src": "2438:31:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2426:6:17", + "nodeType": "YulIdentifier", + "src": "2426:6:17" + }, + "nativeSrc": "2426:44:17", + "nodeType": "YulFunctionCall", + "src": "2426:44:17" + }, + "nativeSrc": "2426:44:17", + "nodeType": "YulExpressionStatement", + "src": "2426:44:17" + } + ] + }, + "name": "abi_encode_address", + "nativeSrc": "2372:104:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2400:5:17", + "nodeType": "YulTypedName", + "src": "2400:5:17", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2407:3:17", + "nodeType": "YulTypedName", + "src": "2407:3:17", + "type": "" + } + ], + "src": "2372:104:17" + }, + { + "body": { + "nativeSrc": "2513:95:17", + "nodeType": "YulBlock", + "src": "2513:95:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2530:1:17", + "nodeType": "YulLiteral", + "src": "2530:1:17", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2537:3:17", + "nodeType": "YulLiteral", + "src": "2537:3:17", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nativeSrc": "2542:10:17", + "nodeType": "YulLiteral", + "src": "2542:10:17", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "2533:3:17", + "nodeType": "YulIdentifier", + "src": "2533:3:17" + }, + "nativeSrc": "2533:20:17", + "nodeType": "YulFunctionCall", + "src": "2533:20:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2523:6:17", + "nodeType": "YulIdentifier", + "src": "2523:6:17" + }, + "nativeSrc": "2523:31:17", + "nodeType": "YulFunctionCall", + "src": "2523:31:17" + }, + "nativeSrc": "2523:31:17", + "nodeType": "YulExpressionStatement", + "src": "2523:31:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2570:1:17", + "nodeType": "YulLiteral", + "src": "2570:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "2573:4:17", + "nodeType": "YulLiteral", + "src": "2573:4:17", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2563:6:17", + "nodeType": "YulIdentifier", + "src": "2563:6:17" + }, + "nativeSrc": "2563:15:17", + "nodeType": "YulFunctionCall", + "src": "2563:15:17" + }, + "nativeSrc": "2563:15:17", + "nodeType": "YulExpressionStatement", + "src": "2563:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2594:1:17", + "nodeType": "YulLiteral", + "src": "2594:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2597:4:17", + "nodeType": "YulLiteral", + "src": "2597:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2587:6:17", + "nodeType": "YulIdentifier", + "src": "2587:6:17" + }, + "nativeSrc": "2587:15:17", + "nodeType": "YulFunctionCall", + "src": "2587:15:17" + }, + "nativeSrc": "2587:15:17", + "nodeType": "YulExpressionStatement", + "src": "2587:15:17" + } + ] + }, + "name": "panic_error_0x21", + "nativeSrc": "2481:127:17", + "nodeType": "YulFunctionDefinition", + "src": "2481:127:17" + }, + { + "body": { + "nativeSrc": "2665:186:17", + "nodeType": "YulBlock", + "src": "2665:186:17", + "statements": [ + { + "body": { + "nativeSrc": "2707:111:17", + "nodeType": "YulBlock", + "src": "2707:111:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2728:1:17", + "nodeType": "YulLiteral", + "src": "2728:1:17", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2735:3:17", + "nodeType": "YulLiteral", + "src": "2735:3:17", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nativeSrc": "2740:10:17", + "nodeType": "YulLiteral", + "src": "2740:10:17", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "2731:3:17", + "nodeType": "YulIdentifier", + "src": "2731:3:17" + }, + "nativeSrc": "2731:20:17", + "nodeType": "YulFunctionCall", + "src": "2731:20:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2721:6:17", + "nodeType": "YulIdentifier", + "src": "2721:6:17" + }, + "nativeSrc": "2721:31:17", + "nodeType": "YulFunctionCall", + "src": "2721:31:17" + }, + "nativeSrc": "2721:31:17", + "nodeType": "YulExpressionStatement", + "src": "2721:31:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2772:1:17", + "nodeType": "YulLiteral", + "src": "2772:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "2775:4:17", + "nodeType": "YulLiteral", + "src": "2775:4:17", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2765:6:17", + "nodeType": "YulIdentifier", + "src": "2765:6:17" + }, + "nativeSrc": "2765:15:17", + "nodeType": "YulFunctionCall", + "src": "2765:15:17" + }, + "nativeSrc": "2765:15:17", + "nodeType": "YulExpressionStatement", + "src": "2765:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "2800:1:17", + "nodeType": "YulLiteral", + "src": "2800:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "2803:4:17", + "nodeType": "YulLiteral", + "src": "2803:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "2793:6:17", + "nodeType": "YulIdentifier", + "src": "2793:6:17" + }, + "nativeSrc": "2793:15:17", + "nodeType": "YulFunctionCall", + "src": "2793:15:17" + }, + "nativeSrc": "2793:15:17", + "nodeType": "YulExpressionStatement", + "src": "2793:15:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2688:5:17", + "nodeType": "YulIdentifier", + "src": "2688:5:17" + }, + { + "kind": "number", + "nativeSrc": "2695:1:17", + "nodeType": "YulLiteral", + "src": "2695:1:17", + "type": "", + "value": "4" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "2685:2:17", + "nodeType": "YulIdentifier", + "src": "2685:2:17" + }, + "nativeSrc": "2685:12:17", + "nodeType": "YulFunctionCall", + "src": "2685:12:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "2678:6:17", + "nodeType": "YulIdentifier", + "src": "2678:6:17" + }, + "nativeSrc": "2678:20:17", + "nodeType": "YulFunctionCall", + "src": "2678:20:17" + }, + "nativeSrc": "2675:143:17", + "nodeType": "YulIf", + "src": "2675:143:17" + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2834:3:17", + "nodeType": "YulIdentifier", + "src": "2834:3:17" + }, + { + "name": "value", + "nativeSrc": "2839:5:17", + "nodeType": "YulIdentifier", + "src": "2839:5:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2827:6:17", + "nodeType": "YulIdentifier", + "src": "2827:6:17" + }, + "nativeSrc": "2827:18:17", + "nodeType": "YulFunctionCall", + "src": "2827:18:17" + }, + "nativeSrc": "2827:18:17", + "nodeType": "YulExpressionStatement", + "src": "2827:18:17" + } + ] + }, + "name": "abi_encode_enum_TaskStatus", + "nativeSrc": "2613:238:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2649:5:17", + "nodeType": "YulTypedName", + "src": "2649:5:17", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2656:3:17", + "nodeType": "YulTypedName", + "src": "2656:3:17", + "type": "" + } + ], + "src": "2613:238:17" + }, + { + "body": { + "nativeSrc": "2898:33:17", + "nodeType": "YulBlock", + "src": "2898:33:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "2907:3:17", + "nodeType": "YulIdentifier", + "src": "2907:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "2916:5:17", + "nodeType": "YulIdentifier", + "src": "2916:5:17" + }, + { + "kind": "number", + "nativeSrc": "2923:4:17", + "nodeType": "YulLiteral", + "src": "2923:4:17", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "2912:3:17", + "nodeType": "YulIdentifier", + "src": "2912:3:17" + }, + "nativeSrc": "2912:16:17", + "nodeType": "YulFunctionCall", + "src": "2912:16:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "2900:6:17", + "nodeType": "YulIdentifier", + "src": "2900:6:17" + }, + "nativeSrc": "2900:29:17", + "nodeType": "YulFunctionCall", + "src": "2900:29:17" + }, + "nativeSrc": "2900:29:17", + "nodeType": "YulExpressionStatement", + "src": "2900:29:17" + } + ] + }, + "name": "abi_encode_uint8", + "nativeSrc": "2856:75:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "2882:5:17", + "nodeType": "YulTypedName", + "src": "2882:5:17", + "type": "" + }, + { + "name": "pos", + "nativeSrc": "2889:3:17", + "nodeType": "YulTypedName", + "src": "2889:3:17", + "type": "" + } + ], + "src": "2856:75:17" + }, + { + "body": { + "nativeSrc": "3089:996:17", + "nodeType": "YulBlock", + "src": "3089:996:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3106:9:17", + "nodeType": "YulIdentifier", + "src": "3106:9:17" + }, + { + "kind": "number", + "nativeSrc": "3117:2:17", + "nodeType": "YulLiteral", + "src": "3117:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3099:6:17", + "nodeType": "YulIdentifier", + "src": "3099:6:17" + }, + "nativeSrc": "3099:21:17", + "nodeType": "YulFunctionCall", + "src": "3099:21:17" + }, + "nativeSrc": "3099:21:17", + "nodeType": "YulExpressionStatement", + "src": "3099:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3140:9:17", + "nodeType": "YulIdentifier", + "src": "3140:9:17" + }, + { + "kind": "number", + "nativeSrc": "3151:2:17", + "nodeType": "YulLiteral", + "src": "3151:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3136:3:17", + "nodeType": "YulIdentifier", + "src": "3136:3:17" + }, + "nativeSrc": "3136:18:17", + "nodeType": "YulFunctionCall", + "src": "3136:18:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3162:6:17", + "nodeType": "YulIdentifier", + "src": "3162:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3156:5:17", + "nodeType": "YulIdentifier", + "src": "3156:5:17" + }, + "nativeSrc": "3156:13:17", + "nodeType": "YulFunctionCall", + "src": "3156:13:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3129:6:17", + "nodeType": "YulIdentifier", + "src": "3129:6:17" + }, + "nativeSrc": "3129:41:17", + "nodeType": "YulFunctionCall", + "src": "3129:41:17" + }, + "nativeSrc": "3129:41:17", + "nodeType": "YulExpressionStatement", + "src": "3129:41:17" + }, + { + "nativeSrc": "3179:42:17", + "nodeType": "YulVariableDeclaration", + "src": "3179:42:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3209:6:17", + "nodeType": "YulIdentifier", + "src": "3209:6:17" + }, + { + "kind": "number", + "nativeSrc": "3217:2:17", + "nodeType": "YulLiteral", + "src": "3217:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3205:3:17", + "nodeType": "YulIdentifier", + "src": "3205:3:17" + }, + "nativeSrc": "3205:15:17", + "nodeType": "YulFunctionCall", + "src": "3205:15:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3199:5:17", + "nodeType": "YulIdentifier", + "src": "3199:5:17" + }, + "nativeSrc": "3199:22:17", + "nodeType": "YulFunctionCall", + "src": "3199:22:17" + }, + "variables": [ + { + "name": "memberValue0", + "nativeSrc": "3183:12:17", + "nodeType": "YulTypedName", + "src": "3183:12:17", + "type": "" + } + ] + }, + { + "nativeSrc": "3230:16:17", + "nodeType": "YulVariableDeclaration", + "src": "3230:16:17", + "value": { + "kind": "number", + "nativeSrc": "3240:6:17", + "nodeType": "YulLiteral", + "src": "3240:6:17", + "type": "", + "value": "0x0100" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "3234:2:17", + "nodeType": "YulTypedName", + "src": "3234:2:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3266:9:17", + "nodeType": "YulIdentifier", + "src": "3266:9:17" + }, + { + "kind": "number", + "nativeSrc": "3277:2:17", + "nodeType": "YulLiteral", + "src": "3277:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3262:3:17", + "nodeType": "YulIdentifier", + "src": "3262:3:17" + }, + "nativeSrc": "3262:18:17", + "nodeType": "YulFunctionCall", + "src": "3262:18:17" + }, + { + "name": "_1", + "nativeSrc": "3282:2:17", + "nodeType": "YulIdentifier", + "src": "3282:2:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3255:6:17", + "nodeType": "YulIdentifier", + "src": "3255:6:17" + }, + "nativeSrc": "3255:30:17", + "nodeType": "YulFunctionCall", + "src": "3255:30:17" + }, + "nativeSrc": "3255:30:17", + "nodeType": "YulExpressionStatement", + "src": "3255:30:17" + }, + { + "nativeSrc": "3294:66:17", + "nodeType": "YulVariableDeclaration", + "src": "3294:66:17", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nativeSrc": "3326:12:17", + "nodeType": "YulIdentifier", + "src": "3326:12:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3344:9:17", + "nodeType": "YulIdentifier", + "src": "3344:9:17" + }, + { + "kind": "number", + "nativeSrc": "3355:3:17", + "nodeType": "YulLiteral", + "src": "3355:3:17", + "type": "", + "value": "288" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3340:3:17", + "nodeType": "YulIdentifier", + "src": "3340:3:17" + }, + "nativeSrc": "3340:19:17", + "nodeType": "YulFunctionCall", + "src": "3340:19:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "3308:17:17", + "nodeType": "YulIdentifier", + "src": "3308:17:17" + }, + "nativeSrc": "3308:52:17", + "nodeType": "YulFunctionCall", + "src": "3308:52:17" + }, + "variables": [ + { + "name": "tail_1", + "nativeSrc": "3298:6:17", + "nodeType": "YulTypedName", + "src": "3298:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3380:9:17", + "nodeType": "YulIdentifier", + "src": "3380:9:17" + }, + { + "kind": "number", + "nativeSrc": "3391:2:17", + "nodeType": "YulLiteral", + "src": "3391:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3376:3:17", + "nodeType": "YulIdentifier", + "src": "3376:3:17" + }, + "nativeSrc": "3376:18:17", + "nodeType": "YulFunctionCall", + "src": "3376:18:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3410:6:17", + "nodeType": "YulIdentifier", + "src": "3410:6:17" + }, + { + "kind": "number", + "nativeSrc": "3418:2:17", + "nodeType": "YulLiteral", + "src": "3418:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3406:3:17", + "nodeType": "YulIdentifier", + "src": "3406:3:17" + }, + "nativeSrc": "3406:15:17", + "nodeType": "YulFunctionCall", + "src": "3406:15:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3400:5:17", + "nodeType": "YulIdentifier", + "src": "3400:5:17" + }, + "nativeSrc": "3400:22:17", + "nodeType": "YulFunctionCall", + "src": "3400:22:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3432:3:17", + "nodeType": "YulLiteral", + "src": "3432:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "3437:1:17", + "nodeType": "YulLiteral", + "src": "3437:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "3428:3:17", + "nodeType": "YulIdentifier", + "src": "3428:3:17" + }, + "nativeSrc": "3428:11:17", + "nodeType": "YulFunctionCall", + "src": "3428:11:17" + }, + { + "kind": "number", + "nativeSrc": "3441:1:17", + "nodeType": "YulLiteral", + "src": "3441:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3424:3:17", + "nodeType": "YulIdentifier", + "src": "3424:3:17" + }, + "nativeSrc": "3424:19:17", + "nodeType": "YulFunctionCall", + "src": "3424:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "3396:3:17", + "nodeType": "YulIdentifier", + "src": "3396:3:17" + }, + "nativeSrc": "3396:48:17", + "nodeType": "YulFunctionCall", + "src": "3396:48:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3369:6:17", + "nodeType": "YulIdentifier", + "src": "3369:6:17" + }, + "nativeSrc": "3369:76:17", + "nodeType": "YulFunctionCall", + "src": "3369:76:17" + }, + "nativeSrc": "3369:76:17", + "nodeType": "YulExpressionStatement", + "src": "3369:76:17" + }, + { + "nativeSrc": "3454:44:17", + "nodeType": "YulVariableDeclaration", + "src": "3454:44:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3486:6:17", + "nodeType": "YulIdentifier", + "src": "3486:6:17" + }, + { + "kind": "number", + "nativeSrc": "3494:2:17", + "nodeType": "YulLiteral", + "src": "3494:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3482:3:17", + "nodeType": "YulIdentifier", + "src": "3482:3:17" + }, + "nativeSrc": "3482:15:17", + "nodeType": "YulFunctionCall", + "src": "3482:15:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3476:5:17", + "nodeType": "YulIdentifier", + "src": "3476:5:17" + }, + "nativeSrc": "3476:22:17", + "nodeType": "YulFunctionCall", + "src": "3476:22:17" + }, + "variables": [ + { + "name": "memberValue0_1", + "nativeSrc": "3458:14:17", + "nodeType": "YulTypedName", + "src": "3458:14:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_1", + "nativeSrc": "3534:14:17", + "nodeType": "YulIdentifier", + "src": "3534:14:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3554:9:17", + "nodeType": "YulIdentifier", + "src": "3554:9:17" + }, + { + "kind": "number", + "nativeSrc": "3565:3:17", + "nodeType": "YulLiteral", + "src": "3565:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3550:3:17", + "nodeType": "YulIdentifier", + "src": "3550:3:17" + }, + "nativeSrc": "3550:19:17", + "nodeType": "YulFunctionCall", + "src": "3550:19:17" + } + ], + "functionName": { + "name": "abi_encode_enum_TaskStatus", + "nativeSrc": "3507:26:17", + "nodeType": "YulIdentifier", + "src": "3507:26:17" + }, + "nativeSrc": "3507:63:17", + "nodeType": "YulFunctionCall", + "src": "3507:63:17" + }, + "nativeSrc": "3507:63:17", + "nodeType": "YulExpressionStatement", + "src": "3507:63:17" + }, + { + "nativeSrc": "3579:45:17", + "nodeType": "YulVariableDeclaration", + "src": "3579:45:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3611:6:17", + "nodeType": "YulIdentifier", + "src": "3611:6:17" + }, + { + "kind": "number", + "nativeSrc": "3619:3:17", + "nodeType": "YulLiteral", + "src": "3619:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3607:3:17", + "nodeType": "YulIdentifier", + "src": "3607:3:17" + }, + "nativeSrc": "3607:16:17", + "nodeType": "YulFunctionCall", + "src": "3607:16:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3601:5:17", + "nodeType": "YulIdentifier", + "src": "3601:5:17" + }, + "nativeSrc": "3601:23:17", + "nodeType": "YulFunctionCall", + "src": "3601:23:17" + }, + "variables": [ + { + "name": "memberValue0_2", + "nativeSrc": "3583:14:17", + "nodeType": "YulTypedName", + "src": "3583:14:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_2", + "nativeSrc": "3652:14:17", + "nodeType": "YulIdentifier", + "src": "3652:14:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3672:9:17", + "nodeType": "YulIdentifier", + "src": "3672:9:17" + }, + { + "kind": "number", + "nativeSrc": "3683:3:17", + "nodeType": "YulLiteral", + "src": "3683:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3668:3:17", + "nodeType": "YulIdentifier", + "src": "3668:3:17" + }, + "nativeSrc": "3668:19:17", + "nodeType": "YulFunctionCall", + "src": "3668:19:17" + } + ], + "functionName": { + "name": "abi_encode_address", + "nativeSrc": "3633:18:17", + "nodeType": "YulIdentifier", + "src": "3633:18:17" + }, + "nativeSrc": "3633:55:17", + "nodeType": "YulFunctionCall", + "src": "3633:55:17" + }, + "nativeSrc": "3633:55:17", + "nodeType": "YulExpressionStatement", + "src": "3633:55:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3708:9:17", + "nodeType": "YulIdentifier", + "src": "3708:9:17" + }, + { + "kind": "number", + "nativeSrc": "3719:3:17", + "nodeType": "YulLiteral", + "src": "3719:3:17", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3704:3:17", + "nodeType": "YulIdentifier", + "src": "3704:3:17" + }, + "nativeSrc": "3704:19:17", + "nodeType": "YulFunctionCall", + "src": "3704:19:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3735:6:17", + "nodeType": "YulIdentifier", + "src": "3735:6:17" + }, + { + "kind": "number", + "nativeSrc": "3743:3:17", + "nodeType": "YulLiteral", + "src": "3743:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3731:3:17", + "nodeType": "YulIdentifier", + "src": "3731:3:17" + }, + "nativeSrc": "3731:16:17", + "nodeType": "YulFunctionCall", + "src": "3731:16:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3725:5:17", + "nodeType": "YulIdentifier", + "src": "3725:5:17" + }, + "nativeSrc": "3725:23:17", + "nodeType": "YulFunctionCall", + "src": "3725:23:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3697:6:17", + "nodeType": "YulIdentifier", + "src": "3697:6:17" + }, + "nativeSrc": "3697:52:17", + "nodeType": "YulFunctionCall", + "src": "3697:52:17" + }, + "nativeSrc": "3697:52:17", + "nodeType": "YulExpressionStatement", + "src": "3697:52:17" + }, + { + "nativeSrc": "3758:45:17", + "nodeType": "YulVariableDeclaration", + "src": "3758:45:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3790:6:17", + "nodeType": "YulIdentifier", + "src": "3790:6:17" + }, + { + "kind": "number", + "nativeSrc": "3798:3:17", + "nodeType": "YulLiteral", + "src": "3798:3:17", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3786:3:17", + "nodeType": "YulIdentifier", + "src": "3786:3:17" + }, + "nativeSrc": "3786:16:17", + "nodeType": "YulFunctionCall", + "src": "3786:16:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3780:5:17", + "nodeType": "YulIdentifier", + "src": "3780:5:17" + }, + "nativeSrc": "3780:23:17", + "nodeType": "YulFunctionCall", + "src": "3780:23:17" + }, + "variables": [ + { + "name": "memberValue0_3", + "nativeSrc": "3762:14:17", + "nodeType": "YulTypedName", + "src": "3762:14:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "3823:9:17", + "nodeType": "YulIdentifier", + "src": "3823:9:17" + }, + { + "kind": "number", + "nativeSrc": "3834:3:17", + "nodeType": "YulLiteral", + "src": "3834:3:17", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3819:3:17", + "nodeType": "YulIdentifier", + "src": "3819:3:17" + }, + "nativeSrc": "3819:19:17", + "nodeType": "YulFunctionCall", + "src": "3819:19:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "tail_1", + "nativeSrc": "3848:6:17", + "nodeType": "YulIdentifier", + "src": "3848:6:17" + }, + { + "name": "headStart", + "nativeSrc": "3856:9:17", + "nodeType": "YulIdentifier", + "src": "3856:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "3844:3:17", + "nodeType": "YulIdentifier", + "src": "3844:3:17" + }, + "nativeSrc": "3844:22:17", + "nodeType": "YulFunctionCall", + "src": "3844:22:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "3872:2:17", + "nodeType": "YulLiteral", + "src": "3872:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "3868:3:17", + "nodeType": "YulIdentifier", + "src": "3868:3:17" + }, + "nativeSrc": "3868:7:17", + "nodeType": "YulFunctionCall", + "src": "3868:7:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3840:3:17", + "nodeType": "YulIdentifier", + "src": "3840:3:17" + }, + "nativeSrc": "3840:36:17", + "nodeType": "YulFunctionCall", + "src": "3840:36:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "3812:6:17", + "nodeType": "YulIdentifier", + "src": "3812:6:17" + }, + "nativeSrc": "3812:65:17", + "nodeType": "YulFunctionCall", + "src": "3812:65:17" + }, + "nativeSrc": "3812:65:17", + "nodeType": "YulExpressionStatement", + "src": "3812:65:17" + }, + { + "nativeSrc": "3886:55:17", + "nodeType": "YulVariableDeclaration", + "src": "3886:55:17", + "value": { + "arguments": [ + { + "name": "memberValue0_3", + "nativeSrc": "3918:14:17", + "nodeType": "YulIdentifier", + "src": "3918:14:17" + }, + { + "name": "tail_1", + "nativeSrc": "3934:6:17", + "nodeType": "YulIdentifier", + "src": "3934:6:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "3900:17:17", + "nodeType": "YulIdentifier", + "src": "3900:17:17" + }, + "nativeSrc": "3900:41:17", + "nodeType": "YulFunctionCall", + "src": "3900:41:17" + }, + "variables": [ + { + "name": "tail_2", + "nativeSrc": "3890:6:17", + "nodeType": "YulTypedName", + "src": "3890:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "3950:45:17", + "nodeType": "YulVariableDeclaration", + "src": "3950:45:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "3982:6:17", + "nodeType": "YulIdentifier", + "src": "3982:6:17" + }, + { + "kind": "number", + "nativeSrc": "3990:3:17", + "nodeType": "YulLiteral", + "src": "3990:3:17", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "3978:3:17", + "nodeType": "YulIdentifier", + "src": "3978:3:17" + }, + "nativeSrc": "3978:16:17", + "nodeType": "YulFunctionCall", + "src": "3978:16:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "3972:5:17", + "nodeType": "YulIdentifier", + "src": "3972:5:17" + }, + "nativeSrc": "3972:23:17", + "nodeType": "YulFunctionCall", + "src": "3972:23:17" + }, + "variables": [ + { + "name": "memberValue0_4", + "nativeSrc": "3954:14:17", + "nodeType": "YulTypedName", + "src": "3954:14:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0_4", + "nativeSrc": "4021:14:17", + "nodeType": "YulIdentifier", + "src": "4021:14:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4041:9:17", + "nodeType": "YulIdentifier", + "src": "4041:9:17" + }, + { + "name": "_1", + "nativeSrc": "4052:2:17", + "nodeType": "YulIdentifier", + "src": "4052:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4037:3:17", + "nodeType": "YulIdentifier", + "src": "4037:3:17" + }, + "nativeSrc": "4037:18:17", + "nodeType": "YulFunctionCall", + "src": "4037:18:17" + } + ], + "functionName": { + "name": "abi_encode_uint8", + "nativeSrc": "4004:16:17", + "nodeType": "YulIdentifier", + "src": "4004:16:17" + }, + "nativeSrc": "4004:52:17", + "nodeType": "YulFunctionCall", + "src": "4004:52:17" + }, + "nativeSrc": "4004:52:17", + "nodeType": "YulExpressionStatement", + "src": "4004:52:17" + }, + { + "nativeSrc": "4065:14:17", + "nodeType": "YulAssignment", + "src": "4065:14:17", + "value": { + "name": "tail_2", + "nativeSrc": "4073:6:17", + "nodeType": "YulIdentifier", + "src": "4073:6:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4065:4:17", + "nodeType": "YulIdentifier", + "src": "4065:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_TaskData_$2617_memory_ptr__to_t_struct$_TaskData_$2617_memory_ptr__fromStack_reversed", + "nativeSrc": "2936:1149:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "3058:9:17", + "nodeType": "YulTypedName", + "src": "3058:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "3069:6:17", + "nodeType": "YulTypedName", + "src": "3069:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "3080:4:17", + "nodeType": "YulTypedName", + "src": "3080:4:17", + "type": "" + } + ], + "src": "2936:1149:17" + }, + { + "body": { + "nativeSrc": "4160:110:17", + "nodeType": "YulBlock", + "src": "4160:110:17", + "statements": [ + { + "body": { + "nativeSrc": "4206:16:17", + "nodeType": "YulBlock", + "src": "4206:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4215:1:17", + "nodeType": "YulLiteral", + "src": "4215:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4218:1:17", + "nodeType": "YulLiteral", + "src": "4218:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4208:6:17", + "nodeType": "YulIdentifier", + "src": "4208:6:17" + }, + "nativeSrc": "4208:12:17", + "nodeType": "YulFunctionCall", + "src": "4208:12:17" + }, + "nativeSrc": "4208:12:17", + "nodeType": "YulExpressionStatement", + "src": "4208:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "4181:7:17", + "nodeType": "YulIdentifier", + "src": "4181:7:17" + }, + { + "name": "headStart", + "nativeSrc": "4190:9:17", + "nodeType": "YulIdentifier", + "src": "4190:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4177:3:17", + "nodeType": "YulIdentifier", + "src": "4177:3:17" + }, + "nativeSrc": "4177:23:17", + "nodeType": "YulFunctionCall", + "src": "4177:23:17" + }, + { + "kind": "number", + "nativeSrc": "4202:2:17", + "nodeType": "YulLiteral", + "src": "4202:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "4173:3:17", + "nodeType": "YulIdentifier", + "src": "4173:3:17" + }, + "nativeSrc": "4173:32:17", + "nodeType": "YulFunctionCall", + "src": "4173:32:17" + }, + "nativeSrc": "4170:52:17", + "nodeType": "YulIf", + "src": "4170:52:17" + }, + { + "nativeSrc": "4231:33:17", + "nodeType": "YulAssignment", + "src": "4231:33:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4254:9:17", + "nodeType": "YulIdentifier", + "src": "4254:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "4241:12:17", + "nodeType": "YulIdentifier", + "src": "4241:12:17" + }, + "nativeSrc": "4241:23:17", + "nodeType": "YulFunctionCall", + "src": "4241:23:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "4231:6:17", + "nodeType": "YulIdentifier", + "src": "4231:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nativeSrc": "4090:180:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4126:9:17", + "nodeType": "YulTypedName", + "src": "4126:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "4137:7:17", + "nodeType": "YulTypedName", + "src": "4137:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "4149:6:17", + "nodeType": "YulTypedName", + "src": "4149:6:17", + "type": "" + } + ], + "src": "4090:180:17" + }, + { + "body": { + "nativeSrc": "4376:102:17", + "nodeType": "YulBlock", + "src": "4376:102:17", + "statements": [ + { + "nativeSrc": "4386:26:17", + "nodeType": "YulAssignment", + "src": "4386:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4398:9:17", + "nodeType": "YulIdentifier", + "src": "4398:9:17" + }, + { + "kind": "number", + "nativeSrc": "4409:2:17", + "nodeType": "YulLiteral", + "src": "4409:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4394:3:17", + "nodeType": "YulIdentifier", + "src": "4394:3:17" + }, + "nativeSrc": "4394:18:17", + "nodeType": "YulFunctionCall", + "src": "4394:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4386:4:17", + "nodeType": "YulIdentifier", + "src": "4386:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4428:9:17", + "nodeType": "YulIdentifier", + "src": "4428:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4443:6:17", + "nodeType": "YulIdentifier", + "src": "4443:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4459:3:17", + "nodeType": "YulLiteral", + "src": "4459:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "4464:1:17", + "nodeType": "YulLiteral", + "src": "4464:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "4455:3:17", + "nodeType": "YulIdentifier", + "src": "4455:3:17" + }, + "nativeSrc": "4455:11:17", + "nodeType": "YulFunctionCall", + "src": "4455:11:17" + }, + { + "kind": "number", + "nativeSrc": "4468:1:17", + "nodeType": "YulLiteral", + "src": "4468:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4451:3:17", + "nodeType": "YulIdentifier", + "src": "4451:3:17" + }, + "nativeSrc": "4451:19:17", + "nodeType": "YulFunctionCall", + "src": "4451:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4439:3:17", + "nodeType": "YulIdentifier", + "src": "4439:3:17" + }, + "nativeSrc": "4439:32:17", + "nodeType": "YulFunctionCall", + "src": "4439:32:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4421:6:17", + "nodeType": "YulIdentifier", + "src": "4421:6:17" + }, + "nativeSrc": "4421:51:17", + "nodeType": "YulFunctionCall", + "src": "4421:51:17" + }, + "nativeSrc": "4421:51:17", + "nodeType": "YulExpressionStatement", + "src": "4421:51:17" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nativeSrc": "4275:203:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4345:9:17", + "nodeType": "YulTypedName", + "src": "4345:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4356:6:17", + "nodeType": "YulTypedName", + "src": "4356:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4367:4:17", + "nodeType": "YulTypedName", + "src": "4367:4:17", + "type": "" + } + ], + "src": "4275:203:17" + }, + { + "body": { + "nativeSrc": "4618:102:17", + "nodeType": "YulBlock", + "src": "4618:102:17", + "statements": [ + { + "nativeSrc": "4628:26:17", + "nodeType": "YulAssignment", + "src": "4628:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4640:9:17", + "nodeType": "YulIdentifier", + "src": "4640:9:17" + }, + { + "kind": "number", + "nativeSrc": "4651:2:17", + "nodeType": "YulLiteral", + "src": "4651:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "4636:3:17", + "nodeType": "YulIdentifier", + "src": "4636:3:17" + }, + "nativeSrc": "4636:18:17", + "nodeType": "YulFunctionCall", + "src": "4636:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "4628:4:17", + "nodeType": "YulIdentifier", + "src": "4628:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "4670:9:17", + "nodeType": "YulIdentifier", + "src": "4670:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "4685:6:17", + "nodeType": "YulIdentifier", + "src": "4685:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4701:3:17", + "nodeType": "YulLiteral", + "src": "4701:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "4706:1:17", + "nodeType": "YulLiteral", + "src": "4706:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "4697:3:17", + "nodeType": "YulIdentifier", + "src": "4697:3:17" + }, + "nativeSrc": "4697:11:17", + "nodeType": "YulFunctionCall", + "src": "4697:11:17" + }, + { + "kind": "number", + "nativeSrc": "4710:1:17", + "nodeType": "YulLiteral", + "src": "4710:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4693:3:17", + "nodeType": "YulIdentifier", + "src": "4693:3:17" + }, + "nativeSrc": "4693:19:17", + "nodeType": "YulFunctionCall", + "src": "4693:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4681:3:17", + "nodeType": "YulIdentifier", + "src": "4681:3:17" + }, + "nativeSrc": "4681:32:17", + "nodeType": "YulFunctionCall", + "src": "4681:32:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "4663:6:17", + "nodeType": "YulIdentifier", + "src": "4663:6:17" + }, + "nativeSrc": "4663:51:17", + "nodeType": "YulFunctionCall", + "src": "4663:51:17" + }, + "nativeSrc": "4663:51:17", + "nodeType": "YulExpressionStatement", + "src": "4663:51:17" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_AgentsRegistryUpgradeable_$2363__to_t_address__fromStack_reversed", + "nativeSrc": "4483:237:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4587:9:17", + "nodeType": "YulTypedName", + "src": "4587:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "4598:6:17", + "nodeType": "YulTypedName", + "src": "4598:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "4609:4:17", + "nodeType": "YulTypedName", + "src": "4609:4:17", + "type": "" + } + ], + "src": "4483:237:17" + }, + { + "body": { + "nativeSrc": "4770:86:17", + "nodeType": "YulBlock", + "src": "4770:86:17", + "statements": [ + { + "body": { + "nativeSrc": "4834:16:17", + "nodeType": "YulBlock", + "src": "4834:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4843:1:17", + "nodeType": "YulLiteral", + "src": "4843:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "4846:1:17", + "nodeType": "YulLiteral", + "src": "4846:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4836:6:17", + "nodeType": "YulIdentifier", + "src": "4836:6:17" + }, + "nativeSrc": "4836:12:17", + "nodeType": "YulFunctionCall", + "src": "4836:12:17" + }, + "nativeSrc": "4836:12:17", + "nodeType": "YulExpressionStatement", + "src": "4836:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4793:5:17", + "nodeType": "YulIdentifier", + "src": "4793:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "4804:5:17", + "nodeType": "YulIdentifier", + "src": "4804:5:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "4819:3:17", + "nodeType": "YulLiteral", + "src": "4819:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "4824:1:17", + "nodeType": "YulLiteral", + "src": "4824:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "4815:3:17", + "nodeType": "YulIdentifier", + "src": "4815:3:17" + }, + "nativeSrc": "4815:11:17", + "nodeType": "YulFunctionCall", + "src": "4815:11:17" + }, + { + "kind": "number", + "nativeSrc": "4828:1:17", + "nodeType": "YulLiteral", + "src": "4828:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4811:3:17", + "nodeType": "YulIdentifier", + "src": "4811:3:17" + }, + "nativeSrc": "4811:19:17", + "nodeType": "YulFunctionCall", + "src": "4811:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "4800:3:17", + "nodeType": "YulIdentifier", + "src": "4800:3:17" + }, + "nativeSrc": "4800:31:17", + "nodeType": "YulFunctionCall", + "src": "4800:31:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "4790:2:17", + "nodeType": "YulIdentifier", + "src": "4790:2:17" + }, + "nativeSrc": "4790:42:17", + "nodeType": "YulFunctionCall", + "src": "4790:42:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "4783:6:17", + "nodeType": "YulIdentifier", + "src": "4783:6:17" + }, + "nativeSrc": "4783:50:17", + "nodeType": "YulFunctionCall", + "src": "4783:50:17" + }, + "nativeSrc": "4780:70:17", + "nodeType": "YulIf", + "src": "4780:70:17" + } + ] + }, + "name": "validator_revert_address", + "nativeSrc": "4725:131:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "4759:5:17", + "nodeType": "YulTypedName", + "src": "4759:5:17", + "type": "" + } + ], + "src": "4725:131:17" + }, + { + "body": { + "nativeSrc": "4948:228:17", + "nodeType": "YulBlock", + "src": "4948:228:17", + "statements": [ + { + "body": { + "nativeSrc": "4994:16:17", + "nodeType": "YulBlock", + "src": "4994:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5003:1:17", + "nodeType": "YulLiteral", + "src": "5003:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5006:1:17", + "nodeType": "YulLiteral", + "src": "5006:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "4996:6:17", + "nodeType": "YulIdentifier", + "src": "4996:6:17" + }, + "nativeSrc": "4996:12:17", + "nodeType": "YulFunctionCall", + "src": "4996:12:17" + }, + "nativeSrc": "4996:12:17", + "nodeType": "YulExpressionStatement", + "src": "4996:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "4969:7:17", + "nodeType": "YulIdentifier", + "src": "4969:7:17" + }, + { + "name": "headStart", + "nativeSrc": "4978:9:17", + "nodeType": "YulIdentifier", + "src": "4978:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "4965:3:17", + "nodeType": "YulIdentifier", + "src": "4965:3:17" + }, + "nativeSrc": "4965:23:17", + "nodeType": "YulFunctionCall", + "src": "4965:23:17" + }, + { + "kind": "number", + "nativeSrc": "4990:2:17", + "nodeType": "YulLiteral", + "src": "4990:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "4961:3:17", + "nodeType": "YulIdentifier", + "src": "4961:3:17" + }, + "nativeSrc": "4961:32:17", + "nodeType": "YulFunctionCall", + "src": "4961:32:17" + }, + "nativeSrc": "4958:52:17", + "nodeType": "YulIf", + "src": "4958:52:17" + }, + { + "nativeSrc": "5019:36:17", + "nodeType": "YulVariableDeclaration", + "src": "5019:36:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5045:9:17", + "nodeType": "YulIdentifier", + "src": "5045:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5032:12:17", + "nodeType": "YulIdentifier", + "src": "5032:12:17" + }, + "nativeSrc": "5032:23:17", + "nodeType": "YulFunctionCall", + "src": "5032:23:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "5023:5:17", + "nodeType": "YulTypedName", + "src": "5023:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5089:5:17", + "nodeType": "YulIdentifier", + "src": "5089:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "5064:24:17", + "nodeType": "YulIdentifier", + "src": "5064:24:17" + }, + "nativeSrc": "5064:31:17", + "nodeType": "YulFunctionCall", + "src": "5064:31:17" + }, + "nativeSrc": "5064:31:17", + "nodeType": "YulExpressionStatement", + "src": "5064:31:17" + }, + { + "nativeSrc": "5104:15:17", + "nodeType": "YulAssignment", + "src": "5104:15:17", + "value": { + "name": "value", + "nativeSrc": "5114:5:17", + "nodeType": "YulIdentifier", + "src": "5114:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5104:6:17", + "nodeType": "YulIdentifier", + "src": "5104:6:17" + } + ] + }, + { + "nativeSrc": "5128:42:17", + "nodeType": "YulAssignment", + "src": "5128:42:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5155:9:17", + "nodeType": "YulIdentifier", + "src": "5155:9:17" + }, + { + "kind": "number", + "nativeSrc": "5166:2:17", + "nodeType": "YulLiteral", + "src": "5166:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5151:3:17", + "nodeType": "YulIdentifier", + "src": "5151:3:17" + }, + "nativeSrc": "5151:18:17", + "nodeType": "YulFunctionCall", + "src": "5151:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5138:12:17", + "nodeType": "YulIdentifier", + "src": "5138:12:17" + }, + "nativeSrc": "5138:32:17", + "nodeType": "YulFunctionCall", + "src": "5138:32:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "5128:6:17", + "nodeType": "YulIdentifier", + "src": "5128:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nativeSrc": "4861:315:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "4906:9:17", + "nodeType": "YulTypedName", + "src": "4906:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "4917:7:17", + "nodeType": "YulTypedName", + "src": "4917:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "4929:6:17", + "nodeType": "YulTypedName", + "src": "4929:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "4937:6:17", + "nodeType": "YulTypedName", + "src": "4937:6:17", + "type": "" + } + ], + "src": "4861:315:17" + }, + { + "body": { + "nativeSrc": "5282:76:17", + "nodeType": "YulBlock", + "src": "5282:76:17", + "statements": [ + { + "nativeSrc": "5292:26:17", + "nodeType": "YulAssignment", + "src": "5292:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5304:9:17", + "nodeType": "YulIdentifier", + "src": "5304:9:17" + }, + { + "kind": "number", + "nativeSrc": "5315:2:17", + "nodeType": "YulLiteral", + "src": "5315:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5300:3:17", + "nodeType": "YulIdentifier", + "src": "5300:3:17" + }, + "nativeSrc": "5300:18:17", + "nodeType": "YulFunctionCall", + "src": "5300:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "5292:4:17", + "nodeType": "YulIdentifier", + "src": "5292:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5334:9:17", + "nodeType": "YulIdentifier", + "src": "5334:9:17" + }, + { + "name": "value0", + "nativeSrc": "5345:6:17", + "nodeType": "YulIdentifier", + "src": "5345:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "5327:6:17", + "nodeType": "YulIdentifier", + "src": "5327:6:17" + }, + "nativeSrc": "5327:25:17", + "nodeType": "YulFunctionCall", + "src": "5327:25:17" + }, + "nativeSrc": "5327:25:17", + "nodeType": "YulExpressionStatement", + "src": "5327:25:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nativeSrc": "5181:177:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5251:9:17", + "nodeType": "YulTypedName", + "src": "5251:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "5262:6:17", + "nodeType": "YulTypedName", + "src": "5262:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "5273:4:17", + "nodeType": "YulTypedName", + "src": "5273:4:17", + "type": "" + } + ], + "src": "5181:177:17" + }, + { + "body": { + "nativeSrc": "5459:489:17", + "nodeType": "YulBlock", + "src": "5459:489:17", + "statements": [ + { + "body": { + "nativeSrc": "5505:16:17", + "nodeType": "YulBlock", + "src": "5505:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5514:1:17", + "nodeType": "YulLiteral", + "src": "5514:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5517:1:17", + "nodeType": "YulLiteral", + "src": "5517:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5507:6:17", + "nodeType": "YulIdentifier", + "src": "5507:6:17" + }, + "nativeSrc": "5507:12:17", + "nodeType": "YulFunctionCall", + "src": "5507:12:17" + }, + "nativeSrc": "5507:12:17", + "nodeType": "YulExpressionStatement", + "src": "5507:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "5480:7:17", + "nodeType": "YulIdentifier", + "src": "5480:7:17" + }, + { + "name": "headStart", + "nativeSrc": "5489:9:17", + "nodeType": "YulIdentifier", + "src": "5489:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "5476:3:17", + "nodeType": "YulIdentifier", + "src": "5476:3:17" + }, + "nativeSrc": "5476:23:17", + "nodeType": "YulFunctionCall", + "src": "5476:23:17" + }, + { + "kind": "number", + "nativeSrc": "5501:2:17", + "nodeType": "YulLiteral", + "src": "5501:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5472:3:17", + "nodeType": "YulIdentifier", + "src": "5472:3:17" + }, + "nativeSrc": "5472:32:17", + "nodeType": "YulFunctionCall", + "src": "5472:32:17" + }, + "nativeSrc": "5469:52:17", + "nodeType": "YulIf", + "src": "5469:52:17" + }, + { + "nativeSrc": "5530:36:17", + "nodeType": "YulVariableDeclaration", + "src": "5530:36:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5556:9:17", + "nodeType": "YulIdentifier", + "src": "5556:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5543:12:17", + "nodeType": "YulIdentifier", + "src": "5543:12:17" + }, + "nativeSrc": "5543:23:17", + "nodeType": "YulFunctionCall", + "src": "5543:23:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "5534:5:17", + "nodeType": "YulTypedName", + "src": "5534:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "5600:5:17", + "nodeType": "YulIdentifier", + "src": "5600:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "5575:24:17", + "nodeType": "YulIdentifier", + "src": "5575:24:17" + }, + "nativeSrc": "5575:31:17", + "nodeType": "YulFunctionCall", + "src": "5575:31:17" + }, + "nativeSrc": "5575:31:17", + "nodeType": "YulExpressionStatement", + "src": "5575:31:17" + }, + { + "nativeSrc": "5615:15:17", + "nodeType": "YulAssignment", + "src": "5615:15:17", + "value": { + "name": "value", + "nativeSrc": "5625:5:17", + "nodeType": "YulIdentifier", + "src": "5625:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "5615:6:17", + "nodeType": "YulIdentifier", + "src": "5615:6:17" + } + ] + }, + { + "nativeSrc": "5639:46:17", + "nodeType": "YulVariableDeclaration", + "src": "5639:46:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5670:9:17", + "nodeType": "YulIdentifier", + "src": "5670:9:17" + }, + { + "kind": "number", + "nativeSrc": "5681:2:17", + "nodeType": "YulLiteral", + "src": "5681:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5666:3:17", + "nodeType": "YulIdentifier", + "src": "5666:3:17" + }, + "nativeSrc": "5666:18:17", + "nodeType": "YulFunctionCall", + "src": "5666:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5653:12:17", + "nodeType": "YulIdentifier", + "src": "5653:12:17" + }, + "nativeSrc": "5653:32:17", + "nodeType": "YulFunctionCall", + "src": "5653:32:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "5643:6:17", + "nodeType": "YulTypedName", + "src": "5643:6:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5728:16:17", + "nodeType": "YulBlock", + "src": "5728:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5737:1:17", + "nodeType": "YulLiteral", + "src": "5737:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5740:1:17", + "nodeType": "YulLiteral", + "src": "5740:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5730:6:17", + "nodeType": "YulIdentifier", + "src": "5730:6:17" + }, + "nativeSrc": "5730:12:17", + "nodeType": "YulFunctionCall", + "src": "5730:12:17" + }, + "nativeSrc": "5730:12:17", + "nodeType": "YulExpressionStatement", + "src": "5730:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "5700:6:17", + "nodeType": "YulIdentifier", + "src": "5700:6:17" + }, + { + "kind": "number", + "nativeSrc": "5708:18:17", + "nodeType": "YulLiteral", + "src": "5708:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "5697:2:17", + "nodeType": "YulIdentifier", + "src": "5697:2:17" + }, + "nativeSrc": "5697:30:17", + "nodeType": "YulFunctionCall", + "src": "5697:30:17" + }, + "nativeSrc": "5694:50:17", + "nodeType": "YulIf", + "src": "5694:50:17" + }, + { + "nativeSrc": "5753:32:17", + "nodeType": "YulVariableDeclaration", + "src": "5753:32:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "5767:9:17", + "nodeType": "YulIdentifier", + "src": "5767:9:17" + }, + { + "name": "offset", + "nativeSrc": "5778:6:17", + "nodeType": "YulIdentifier", + "src": "5778:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5763:3:17", + "nodeType": "YulIdentifier", + "src": "5763:3:17" + }, + "nativeSrc": "5763:22:17", + "nodeType": "YulFunctionCall", + "src": "5763:22:17" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "5757:2:17", + "nodeType": "YulTypedName", + "src": "5757:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "5833:16:17", + "nodeType": "YulBlock", + "src": "5833:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "5842:1:17", + "nodeType": "YulLiteral", + "src": "5842:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "5845:1:17", + "nodeType": "YulLiteral", + "src": "5845:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "5835:6:17", + "nodeType": "YulIdentifier", + "src": "5835:6:17" + }, + "nativeSrc": "5835:12:17", + "nodeType": "YulFunctionCall", + "src": "5835:12:17" + }, + "nativeSrc": "5835:12:17", + "nodeType": "YulExpressionStatement", + "src": "5835:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nativeSrc": "5812:2:17", + "nodeType": "YulIdentifier", + "src": "5812:2:17" + }, + { + "kind": "number", + "nativeSrc": "5816:4:17", + "nodeType": "YulLiteral", + "src": "5816:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5808:3:17", + "nodeType": "YulIdentifier", + "src": "5808:3:17" + }, + "nativeSrc": "5808:13:17", + "nodeType": "YulFunctionCall", + "src": "5808:13:17" + }, + { + "name": "dataEnd", + "nativeSrc": "5823:7:17", + "nodeType": "YulIdentifier", + "src": "5823:7:17" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "5804:3:17", + "nodeType": "YulIdentifier", + "src": "5804:3:17" + }, + "nativeSrc": "5804:27:17", + "nodeType": "YulFunctionCall", + "src": "5804:27:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "5797:6:17", + "nodeType": "YulIdentifier", + "src": "5797:6:17" + }, + "nativeSrc": "5797:35:17", + "nodeType": "YulFunctionCall", + "src": "5797:35:17" + }, + "nativeSrc": "5794:55:17", + "nodeType": "YulIf", + "src": "5794:55:17" + }, + { + "nativeSrc": "5858:84:17", + "nodeType": "YulAssignment", + "src": "5858:84:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_1", + "nativeSrc": "5907:2:17", + "nodeType": "YulIdentifier", + "src": "5907:2:17" + }, + { + "kind": "number", + "nativeSrc": "5911:2:17", + "nodeType": "YulLiteral", + "src": "5911:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "5903:3:17", + "nodeType": "YulIdentifier", + "src": "5903:3:17" + }, + "nativeSrc": "5903:11:17", + "nodeType": "YulFunctionCall", + "src": "5903:11:17" + }, + { + "arguments": [ + { + "name": "_1", + "nativeSrc": "5929:2:17", + "nodeType": "YulIdentifier", + "src": "5929:2:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "5916:12:17", + "nodeType": "YulIdentifier", + "src": "5916:12:17" + }, + "nativeSrc": "5916:16:17", + "nodeType": "YulFunctionCall", + "src": "5916:16:17" + }, + { + "name": "dataEnd", + "nativeSrc": "5934:7:17", + "nodeType": "YulIdentifier", + "src": "5934:7:17" + } + ], + "functionName": { + "name": "abi_decode_available_length_string", + "nativeSrc": "5868:34:17", + "nodeType": "YulIdentifier", + "src": "5868:34:17" + }, + "nativeSrc": "5868:74:17", + "nodeType": "YulFunctionCall", + "src": "5868:74:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "5858:6:17", + "nodeType": "YulIdentifier", + "src": "5858:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_bytes_memory_ptr", + "nativeSrc": "5363:585:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "5417:9:17", + "nodeType": "YulTypedName", + "src": "5417:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "5428:7:17", + "nodeType": "YulTypedName", + "src": "5428:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "5440:6:17", + "nodeType": "YulTypedName", + "src": "5440:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "5448:6:17", + "nodeType": "YulTypedName", + "src": "5448:6:17", + "type": "" + } + ], + "src": "5363:585:17" + }, + { + "body": { + "nativeSrc": "6054:76:17", + "nodeType": "YulBlock", + "src": "6054:76:17", + "statements": [ + { + "nativeSrc": "6064:26:17", + "nodeType": "YulAssignment", + "src": "6064:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6076:9:17", + "nodeType": "YulIdentifier", + "src": "6076:9:17" + }, + { + "kind": "number", + "nativeSrc": "6087:2:17", + "nodeType": "YulLiteral", + "src": "6087:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6072:3:17", + "nodeType": "YulIdentifier", + "src": "6072:3:17" + }, + "nativeSrc": "6072:18:17", + "nodeType": "YulFunctionCall", + "src": "6072:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6064:4:17", + "nodeType": "YulIdentifier", + "src": "6064:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6106:9:17", + "nodeType": "YulIdentifier", + "src": "6106:9:17" + }, + { + "name": "value0", + "nativeSrc": "6117:6:17", + "nodeType": "YulIdentifier", + "src": "6117:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "6099:6:17", + "nodeType": "YulIdentifier", + "src": "6099:6:17" + }, + "nativeSrc": "6099:25:17", + "nodeType": "YulFunctionCall", + "src": "6099:25:17" + }, + "nativeSrc": "6099:25:17", + "nodeType": "YulExpressionStatement", + "src": "6099:25:17" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nativeSrc": "5953:177:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6023:9:17", + "nodeType": "YulTypedName", + "src": "6023:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "6034:6:17", + "nodeType": "YulTypedName", + "src": "6034:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6045:4:17", + "nodeType": "YulTypedName", + "src": "6045:4:17", + "type": "" + } + ], + "src": "5953:177:17" + }, + { + "body": { + "nativeSrc": "6249:96:17", + "nodeType": "YulBlock", + "src": "6249:96:17", + "statements": [ + { + "nativeSrc": "6259:26:17", + "nodeType": "YulAssignment", + "src": "6259:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6271:9:17", + "nodeType": "YulIdentifier", + "src": "6271:9:17" + }, + { + "kind": "number", + "nativeSrc": "6282:2:17", + "nodeType": "YulLiteral", + "src": "6282:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6267:3:17", + "nodeType": "YulIdentifier", + "src": "6267:3:17" + }, + "nativeSrc": "6267:18:17", + "nodeType": "YulFunctionCall", + "src": "6267:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "6259:4:17", + "nodeType": "YulIdentifier", + "src": "6259:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "6321:6:17", + "nodeType": "YulIdentifier", + "src": "6321:6:17" + }, + { + "name": "headStart", + "nativeSrc": "6329:9:17", + "nodeType": "YulIdentifier", + "src": "6329:9:17" + } + ], + "functionName": { + "name": "abi_encode_enum_TaskStatus", + "nativeSrc": "6294:26:17", + "nodeType": "YulIdentifier", + "src": "6294:26:17" + }, + "nativeSrc": "6294:45:17", + "nodeType": "YulFunctionCall", + "src": "6294:45:17" + }, + "nativeSrc": "6294:45:17", + "nodeType": "YulExpressionStatement", + "src": "6294:45:17" + } + ] + }, + "name": "abi_encode_tuple_t_enum$_TaskStatus_$2599__to_t_uint8__fromStack_reversed", + "nativeSrc": "6135:210:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6218:9:17", + "nodeType": "YulTypedName", + "src": "6218:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "6229:6:17", + "nodeType": "YulTypedName", + "src": "6229:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "6240:4:17", + "nodeType": "YulTypedName", + "src": "6240:4:17", + "type": "" + } + ], + "src": "6135:210:17" + }, + { + "body": { + "nativeSrc": "6435:252:17", + "nodeType": "YulBlock", + "src": "6435:252:17", + "statements": [ + { + "body": { + "nativeSrc": "6481:16:17", + "nodeType": "YulBlock", + "src": "6481:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6490:1:17", + "nodeType": "YulLiteral", + "src": "6490:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6493:1:17", + "nodeType": "YulLiteral", + "src": "6493:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6483:6:17", + "nodeType": "YulIdentifier", + "src": "6483:6:17" + }, + "nativeSrc": "6483:12:17", + "nodeType": "YulFunctionCall", + "src": "6483:12:17" + }, + "nativeSrc": "6483:12:17", + "nodeType": "YulExpressionStatement", + "src": "6483:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6456:7:17", + "nodeType": "YulIdentifier", + "src": "6456:7:17" + }, + { + "name": "headStart", + "nativeSrc": "6465:9:17", + "nodeType": "YulIdentifier", + "src": "6465:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6452:3:17", + "nodeType": "YulIdentifier", + "src": "6452:3:17" + }, + "nativeSrc": "6452:23:17", + "nodeType": "YulFunctionCall", + "src": "6452:23:17" + }, + { + "kind": "number", + "nativeSrc": "6477:2:17", + "nodeType": "YulLiteral", + "src": "6477:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6448:3:17", + "nodeType": "YulIdentifier", + "src": "6448:3:17" + }, + "nativeSrc": "6448:32:17", + "nodeType": "YulFunctionCall", + "src": "6448:32:17" + }, + "nativeSrc": "6445:52:17", + "nodeType": "YulIf", + "src": "6445:52:17" + }, + { + "nativeSrc": "6506:33:17", + "nodeType": "YulAssignment", + "src": "6506:33:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6529:9:17", + "nodeType": "YulIdentifier", + "src": "6529:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6516:12:17", + "nodeType": "YulIdentifier", + "src": "6516:12:17" + }, + "nativeSrc": "6516:23:17", + "nodeType": "YulFunctionCall", + "src": "6516:23:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6506:6:17", + "nodeType": "YulIdentifier", + "src": "6506:6:17" + } + ] + }, + { + "nativeSrc": "6548:45:17", + "nodeType": "YulVariableDeclaration", + "src": "6548:45:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6578:9:17", + "nodeType": "YulIdentifier", + "src": "6578:9:17" + }, + { + "kind": "number", + "nativeSrc": "6589:2:17", + "nodeType": "YulLiteral", + "src": "6589:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "6574:3:17", + "nodeType": "YulIdentifier", + "src": "6574:3:17" + }, + "nativeSrc": "6574:18:17", + "nodeType": "YulFunctionCall", + "src": "6574:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6561:12:17", + "nodeType": "YulIdentifier", + "src": "6561:12:17" + }, + "nativeSrc": "6561:32:17", + "nodeType": "YulFunctionCall", + "src": "6561:32:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "6552:5:17", + "nodeType": "YulTypedName", + "src": "6552:5:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "6641:16:17", + "nodeType": "YulBlock", + "src": "6641:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6650:1:17", + "nodeType": "YulLiteral", + "src": "6650:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6653:1:17", + "nodeType": "YulLiteral", + "src": "6653:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6643:6:17", + "nodeType": "YulIdentifier", + "src": "6643:6:17" + }, + "nativeSrc": "6643:12:17", + "nodeType": "YulFunctionCall", + "src": "6643:12:17" + }, + "nativeSrc": "6643:12:17", + "nodeType": "YulExpressionStatement", + "src": "6643:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6615:5:17", + "nodeType": "YulIdentifier", + "src": "6615:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "6626:5:17", + "nodeType": "YulIdentifier", + "src": "6626:5:17" + }, + { + "kind": "number", + "nativeSrc": "6633:4:17", + "nodeType": "YulLiteral", + "src": "6633:4:17", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "6622:3:17", + "nodeType": "YulIdentifier", + "src": "6622:3:17" + }, + "nativeSrc": "6622:16:17", + "nodeType": "YulFunctionCall", + "src": "6622:16:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "6612:2:17", + "nodeType": "YulIdentifier", + "src": "6612:2:17" + }, + "nativeSrc": "6612:27:17", + "nodeType": "YulFunctionCall", + "src": "6612:27:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "6605:6:17", + "nodeType": "YulIdentifier", + "src": "6605:6:17" + }, + "nativeSrc": "6605:35:17", + "nodeType": "YulFunctionCall", + "src": "6605:35:17" + }, + "nativeSrc": "6602:55:17", + "nodeType": "YulIf", + "src": "6602:55:17" + }, + { + "nativeSrc": "6666:15:17", + "nodeType": "YulAssignment", + "src": "6666:15:17", + "value": { + "name": "value", + "nativeSrc": "6676:5:17", + "nodeType": "YulIdentifier", + "src": "6676:5:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "6666:6:17", + "nodeType": "YulIdentifier", + "src": "6666:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_uint8", + "nativeSrc": "6350:337:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6393:9:17", + "nodeType": "YulTypedName", + "src": "6393:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6404:7:17", + "nodeType": "YulTypedName", + "src": "6404:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6416:6:17", + "nodeType": "YulTypedName", + "src": "6416:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "6424:6:17", + "nodeType": "YulTypedName", + "src": "6424:6:17", + "type": "" + } + ], + "src": "6350:337:17" + }, + { + "body": { + "nativeSrc": "6762:177:17", + "nodeType": "YulBlock", + "src": "6762:177:17", + "statements": [ + { + "body": { + "nativeSrc": "6808:16:17", + "nodeType": "YulBlock", + "src": "6808:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "6817:1:17", + "nodeType": "YulLiteral", + "src": "6817:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "6820:1:17", + "nodeType": "YulLiteral", + "src": "6820:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "6810:6:17", + "nodeType": "YulIdentifier", + "src": "6810:6:17" + }, + "nativeSrc": "6810:12:17", + "nodeType": "YulFunctionCall", + "src": "6810:12:17" + }, + "nativeSrc": "6810:12:17", + "nodeType": "YulExpressionStatement", + "src": "6810:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "6783:7:17", + "nodeType": "YulIdentifier", + "src": "6783:7:17" + }, + { + "name": "headStart", + "nativeSrc": "6792:9:17", + "nodeType": "YulIdentifier", + "src": "6792:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "6779:3:17", + "nodeType": "YulIdentifier", + "src": "6779:3:17" + }, + "nativeSrc": "6779:23:17", + "nodeType": "YulFunctionCall", + "src": "6779:23:17" + }, + { + "kind": "number", + "nativeSrc": "6804:2:17", + "nodeType": "YulLiteral", + "src": "6804:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "6775:3:17", + "nodeType": "YulIdentifier", + "src": "6775:3:17" + }, + "nativeSrc": "6775:32:17", + "nodeType": "YulFunctionCall", + "src": "6775:32:17" + }, + "nativeSrc": "6772:52:17", + "nodeType": "YulIf", + "src": "6772:52:17" + }, + { + "nativeSrc": "6833:36:17", + "nodeType": "YulVariableDeclaration", + "src": "6833:36:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "6859:9:17", + "nodeType": "YulIdentifier", + "src": "6859:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "6846:12:17", + "nodeType": "YulIdentifier", + "src": "6846:12:17" + }, + "nativeSrc": "6846:23:17", + "nodeType": "YulFunctionCall", + "src": "6846:23:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "6837:5:17", + "nodeType": "YulTypedName", + "src": "6837:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "6903:5:17", + "nodeType": "YulIdentifier", + "src": "6903:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "6878:24:17", + "nodeType": "YulIdentifier", + "src": "6878:24:17" + }, + "nativeSrc": "6878:31:17", + "nodeType": "YulFunctionCall", + "src": "6878:31:17" + }, + "nativeSrc": "6878:31:17", + "nodeType": "YulExpressionStatement", + "src": "6878:31:17" + }, + { + "nativeSrc": "6918:15:17", + "nodeType": "YulAssignment", + "src": "6918:15:17", + "value": { + "name": "value", + "nativeSrc": "6928:5:17", + "nodeType": "YulIdentifier", + "src": "6928:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "6918:6:17", + "nodeType": "YulIdentifier", + "src": "6918:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nativeSrc": "6692:247:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "6728:9:17", + "nodeType": "YulTypedName", + "src": "6728:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "6739:7:17", + "nodeType": "YulTypedName", + "src": "6739:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "6751:6:17", + "nodeType": "YulTypedName", + "src": "6751:6:17", + "type": "" + } + ], + "src": "6692:247:17" + }, + { + "body": { + "nativeSrc": "7095:481:17", + "nodeType": "YulBlock", + "src": "7095:481:17", + "statements": [ + { + "nativeSrc": "7105:12:17", + "nodeType": "YulVariableDeclaration", + "src": "7105:12:17", + "value": { + "kind": "number", + "nativeSrc": "7115:2:17", + "nodeType": "YulLiteral", + "src": "7115:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "7109:2:17", + "nodeType": "YulTypedName", + "src": "7109:2:17", + "type": "" + } + ] + }, + { + "nativeSrc": "7126:32:17", + "nodeType": "YulVariableDeclaration", + "src": "7126:32:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7144:9:17", + "nodeType": "YulIdentifier", + "src": "7144:9:17" + }, + { + "kind": "number", + "nativeSrc": "7155:2:17", + "nodeType": "YulLiteral", + "src": "7155:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7140:3:17", + "nodeType": "YulIdentifier", + "src": "7140:3:17" + }, + "nativeSrc": "7140:18:17", + "nodeType": "YulFunctionCall", + "src": "7140:18:17" + }, + "variables": [ + { + "name": "tail_1", + "nativeSrc": "7130:6:17", + "nodeType": "YulTypedName", + "src": "7130:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7174:9:17", + "nodeType": "YulIdentifier", + "src": "7174:9:17" + }, + { + "kind": "number", + "nativeSrc": "7185:2:17", + "nodeType": "YulLiteral", + "src": "7185:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7167:6:17", + "nodeType": "YulIdentifier", + "src": "7167:6:17" + }, + "nativeSrc": "7167:21:17", + "nodeType": "YulFunctionCall", + "src": "7167:21:17" + }, + "nativeSrc": "7167:21:17", + "nodeType": "YulExpressionStatement", + "src": "7167:21:17" + }, + { + "nativeSrc": "7197:17:17", + "nodeType": "YulVariableDeclaration", + "src": "7197:17:17", + "value": { + "name": "tail_1", + "nativeSrc": "7208:6:17", + "nodeType": "YulIdentifier", + "src": "7208:6:17" + }, + "variables": [ + { + "name": "pos", + "nativeSrc": "7201:3:17", + "nodeType": "YulTypedName", + "src": "7201:3:17", + "type": "" + } + ] + }, + { + "nativeSrc": "7223:27:17", + "nodeType": "YulVariableDeclaration", + "src": "7223:27:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7243:6:17", + "nodeType": "YulIdentifier", + "src": "7243:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "7237:5:17", + "nodeType": "YulIdentifier", + "src": "7237:5:17" + }, + "nativeSrc": "7237:13:17", + "nodeType": "YulFunctionCall", + "src": "7237:13:17" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "7227:6:17", + "nodeType": "YulTypedName", + "src": "7227:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "tail_1", + "nativeSrc": "7266:6:17", + "nodeType": "YulIdentifier", + "src": "7266:6:17" + }, + { + "name": "length", + "nativeSrc": "7274:6:17", + "nodeType": "YulIdentifier", + "src": "7274:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7259:6:17", + "nodeType": "YulIdentifier", + "src": "7259:6:17" + }, + "nativeSrc": "7259:22:17", + "nodeType": "YulFunctionCall", + "src": "7259:22:17" + }, + "nativeSrc": "7259:22:17", + "nodeType": "YulExpressionStatement", + "src": "7259:22:17" + }, + { + "nativeSrc": "7290:25:17", + "nodeType": "YulAssignment", + "src": "7290:25:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7301:9:17", + "nodeType": "YulIdentifier", + "src": "7301:9:17" + }, + { + "kind": "number", + "nativeSrc": "7312:2:17", + "nodeType": "YulLiteral", + "src": "7312:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7297:3:17", + "nodeType": "YulIdentifier", + "src": "7297:3:17" + }, + "nativeSrc": "7297:18:17", + "nodeType": "YulFunctionCall", + "src": "7297:18:17" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7290:3:17", + "nodeType": "YulIdentifier", + "src": "7290:3:17" + } + ] + }, + { + "nativeSrc": "7324:29:17", + "nodeType": "YulVariableDeclaration", + "src": "7324:29:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "7342:6:17", + "nodeType": "YulIdentifier", + "src": "7342:6:17" + }, + { + "kind": "number", + "nativeSrc": "7350:2:17", + "nodeType": "YulLiteral", + "src": "7350:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7338:3:17", + "nodeType": "YulIdentifier", + "src": "7338:3:17" + }, + "nativeSrc": "7338:15:17", + "nodeType": "YulFunctionCall", + "src": "7338:15:17" + }, + "variables": [ + { + "name": "srcPtr", + "nativeSrc": "7328:6:17", + "nodeType": "YulTypedName", + "src": "7328:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "7362:10:17", + "nodeType": "YulVariableDeclaration", + "src": "7362:10:17", + "value": { + "kind": "number", + "nativeSrc": "7371:1:17", + "nodeType": "YulLiteral", + "src": "7371:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "7366:1:17", + "nodeType": "YulTypedName", + "src": "7366:1:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7430:120:17", + "nodeType": "YulBlock", + "src": "7430:120:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7451:3:17", + "nodeType": "YulIdentifier", + "src": "7451:3:17" + }, + { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "7462:6:17", + "nodeType": "YulIdentifier", + "src": "7462:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "7456:5:17", + "nodeType": "YulIdentifier", + "src": "7456:5:17" + }, + "nativeSrc": "7456:13:17", + "nodeType": "YulFunctionCall", + "src": "7456:13:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "7444:6:17", + "nodeType": "YulIdentifier", + "src": "7444:6:17" + }, + "nativeSrc": "7444:26:17", + "nodeType": "YulFunctionCall", + "src": "7444:26:17" + }, + "nativeSrc": "7444:26:17", + "nodeType": "YulExpressionStatement", + "src": "7444:26:17" + }, + { + "nativeSrc": "7483:19:17", + "nodeType": "YulAssignment", + "src": "7483:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "7494:3:17", + "nodeType": "YulIdentifier", + "src": "7494:3:17" + }, + { + "name": "_1", + "nativeSrc": "7499:2:17", + "nodeType": "YulIdentifier", + "src": "7499:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7490:3:17", + "nodeType": "YulIdentifier", + "src": "7490:3:17" + }, + "nativeSrc": "7490:12:17", + "nodeType": "YulFunctionCall", + "src": "7490:12:17" + }, + "variableNames": [ + { + "name": "pos", + "nativeSrc": "7483:3:17", + "nodeType": "YulIdentifier", + "src": "7483:3:17" + } + ] + }, + { + "nativeSrc": "7515:25:17", + "nodeType": "YulAssignment", + "src": "7515:25:17", + "value": { + "arguments": [ + { + "name": "srcPtr", + "nativeSrc": "7529:6:17", + "nodeType": "YulIdentifier", + "src": "7529:6:17" + }, + { + "name": "_1", + "nativeSrc": "7537:2:17", + "nodeType": "YulIdentifier", + "src": "7537:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7525:3:17", + "nodeType": "YulIdentifier", + "src": "7525:3:17" + }, + "nativeSrc": "7525:15:17", + "nodeType": "YulFunctionCall", + "src": "7525:15:17" + }, + "variableNames": [ + { + "name": "srcPtr", + "nativeSrc": "7515:6:17", + "nodeType": "YulIdentifier", + "src": "7515:6:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "7392:1:17", + "nodeType": "YulIdentifier", + "src": "7392:1:17" + }, + { + "name": "length", + "nativeSrc": "7395:6:17", + "nodeType": "YulIdentifier", + "src": "7395:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "7389:2:17", + "nodeType": "YulIdentifier", + "src": "7389:2:17" + }, + "nativeSrc": "7389:13:17", + "nodeType": "YulFunctionCall", + "src": "7389:13:17" + }, + "nativeSrc": "7381:169:17", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "7403:18:17", + "nodeType": "YulBlock", + "src": "7403:18:17", + "statements": [ + { + "nativeSrc": "7405:14:17", + "nodeType": "YulAssignment", + "src": "7405:14:17", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "7414:1:17", + "nodeType": "YulIdentifier", + "src": "7414:1:17" + }, + { + "kind": "number", + "nativeSrc": "7417:1:17", + "nodeType": "YulLiteral", + "src": "7417:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7410:3:17", + "nodeType": "YulIdentifier", + "src": "7410:3:17" + }, + "nativeSrc": "7410:9:17", + "nodeType": "YulFunctionCall", + "src": "7410:9:17" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "7405:1:17", + "nodeType": "YulIdentifier", + "src": "7405:1:17" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "7385:3:17", + "nodeType": "YulBlock", + "src": "7385:3:17", + "statements": [] + }, + "src": "7381:169:17" + }, + { + "nativeSrc": "7559:11:17", + "nodeType": "YulAssignment", + "src": "7559:11:17", + "value": { + "name": "pos", + "nativeSrc": "7567:3:17", + "nodeType": "YulIdentifier", + "src": "7567:3:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "7559:4:17", + "nodeType": "YulIdentifier", + "src": "7559:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed", + "nativeSrc": "6944:632:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7064:9:17", + "nodeType": "YulTypedName", + "src": "7064:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "7075:6:17", + "nodeType": "YulTypedName", + "src": "7075:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "7086:4:17", + "nodeType": "YulTypedName", + "src": "7086:4:17", + "type": "" + } + ], + "src": "6944:632:17" + }, + { + "body": { + "nativeSrc": "7678:293:17", + "nodeType": "YulBlock", + "src": "7678:293:17", + "statements": [ + { + "body": { + "nativeSrc": "7724:16:17", + "nodeType": "YulBlock", + "src": "7724:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7733:1:17", + "nodeType": "YulLiteral", + "src": "7733:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7736:1:17", + "nodeType": "YulLiteral", + "src": "7736:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7726:6:17", + "nodeType": "YulIdentifier", + "src": "7726:6:17" + }, + "nativeSrc": "7726:12:17", + "nodeType": "YulFunctionCall", + "src": "7726:12:17" + }, + "nativeSrc": "7726:12:17", + "nodeType": "YulExpressionStatement", + "src": "7726:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "7699:7:17", + "nodeType": "YulIdentifier", + "src": "7699:7:17" + }, + { + "name": "headStart", + "nativeSrc": "7708:9:17", + "nodeType": "YulIdentifier", + "src": "7708:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "7695:3:17", + "nodeType": "YulIdentifier", + "src": "7695:3:17" + }, + "nativeSrc": "7695:23:17", + "nodeType": "YulFunctionCall", + "src": "7695:23:17" + }, + { + "kind": "number", + "nativeSrc": "7720:2:17", + "nodeType": "YulLiteral", + "src": "7720:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "7691:3:17", + "nodeType": "YulIdentifier", + "src": "7691:3:17" + }, + "nativeSrc": "7691:32:17", + "nodeType": "YulFunctionCall", + "src": "7691:32:17" + }, + "nativeSrc": "7688:52:17", + "nodeType": "YulIf", + "src": "7688:52:17" + }, + { + "nativeSrc": "7749:33:17", + "nodeType": "YulAssignment", + "src": "7749:33:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7772:9:17", + "nodeType": "YulIdentifier", + "src": "7772:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "7759:12:17", + "nodeType": "YulIdentifier", + "src": "7759:12:17" + }, + "nativeSrc": "7759:23:17", + "nodeType": "YulFunctionCall", + "src": "7759:23:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "7749:6:17", + "nodeType": "YulIdentifier", + "src": "7749:6:17" + } + ] + }, + { + "nativeSrc": "7791:46:17", + "nodeType": "YulVariableDeclaration", + "src": "7791:46:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7822:9:17", + "nodeType": "YulIdentifier", + "src": "7822:9:17" + }, + { + "kind": "number", + "nativeSrc": "7833:2:17", + "nodeType": "YulLiteral", + "src": "7833:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7818:3:17", + "nodeType": "YulIdentifier", + "src": "7818:3:17" + }, + "nativeSrc": "7818:18:17", + "nodeType": "YulFunctionCall", + "src": "7818:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "7805:12:17", + "nodeType": "YulIdentifier", + "src": "7805:12:17" + }, + "nativeSrc": "7805:32:17", + "nodeType": "YulFunctionCall", + "src": "7805:32:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "7795:6:17", + "nodeType": "YulTypedName", + "src": "7795:6:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "7880:16:17", + "nodeType": "YulBlock", + "src": "7880:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "7889:1:17", + "nodeType": "YulLiteral", + "src": "7889:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "7892:1:17", + "nodeType": "YulLiteral", + "src": "7892:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "7882:6:17", + "nodeType": "YulIdentifier", + "src": "7882:6:17" + }, + "nativeSrc": "7882:12:17", + "nodeType": "YulFunctionCall", + "src": "7882:12:17" + }, + "nativeSrc": "7882:12:17", + "nodeType": "YulExpressionStatement", + "src": "7882:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "7852:6:17", + "nodeType": "YulIdentifier", + "src": "7852:6:17" + }, + { + "kind": "number", + "nativeSrc": "7860:18:17", + "nodeType": "YulLiteral", + "src": "7860:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "7849:2:17", + "nodeType": "YulIdentifier", + "src": "7849:2:17" + }, + "nativeSrc": "7849:30:17", + "nodeType": "YulFunctionCall", + "src": "7849:30:17" + }, + "nativeSrc": "7846:50:17", + "nodeType": "YulIf", + "src": "7846:50:17" + }, + { + "nativeSrc": "7905:60:17", + "nodeType": "YulAssignment", + "src": "7905:60:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "7937:9:17", + "nodeType": "YulIdentifier", + "src": "7937:9:17" + }, + { + "name": "offset", + "nativeSrc": "7948:6:17", + "nodeType": "YulIdentifier", + "src": "7948:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "7933:3:17", + "nodeType": "YulIdentifier", + "src": "7933:3:17" + }, + "nativeSrc": "7933:22:17", + "nodeType": "YulFunctionCall", + "src": "7933:22:17" + }, + { + "name": "dataEnd", + "nativeSrc": "7957:7:17", + "nodeType": "YulIdentifier", + "src": "7957:7:17" + } + ], + "functionName": { + "name": "abi_decode_string", + "nativeSrc": "7915:17:17", + "nodeType": "YulIdentifier", + "src": "7915:17:17" + }, + "nativeSrc": "7915:50:17", + "nodeType": "YulFunctionCall", + "src": "7915:50:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "7905:6:17", + "nodeType": "YulIdentifier", + "src": "7905:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_string_memory_ptr", + "nativeSrc": "7581:390:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "7636:9:17", + "nodeType": "YulTypedName", + "src": "7636:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "7647:7:17", + "nodeType": "YulTypedName", + "src": "7647:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "7659:6:17", + "nodeType": "YulTypedName", + "src": "7659:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "7667:6:17", + "nodeType": "YulTypedName", + "src": "7667:6:17", + "type": "" + } + ], + "src": "7581:390:17" + }, + { + "body": { + "nativeSrc": "8322:585:17", + "nodeType": "YulBlock", + "src": "8322:585:17", + "statements": [ + { + "nativeSrc": "8332:13:17", + "nodeType": "YulVariableDeclaration", + "src": "8332:13:17", + "value": { + "kind": "number", + "nativeSrc": "8342:3:17", + "nodeType": "YulLiteral", + "src": "8342:3:17", + "type": "", + "value": "256" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "8336:2:17", + "nodeType": "YulTypedName", + "src": "8336:2:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8361:9:17", + "nodeType": "YulIdentifier", + "src": "8361:9:17" + }, + { + "name": "value0", + "nativeSrc": "8372:6:17", + "nodeType": "YulIdentifier", + "src": "8372:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8354:6:17", + "nodeType": "YulIdentifier", + "src": "8354:6:17" + }, + "nativeSrc": "8354:25:17", + "nodeType": "YulFunctionCall", + "src": "8354:25:17" + }, + "nativeSrc": "8354:25:17", + "nodeType": "YulExpressionStatement", + "src": "8354:25:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8399:9:17", + "nodeType": "YulIdentifier", + "src": "8399:9:17" + }, + { + "kind": "number", + "nativeSrc": "8410:2:17", + "nodeType": "YulLiteral", + "src": "8410:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8395:3:17", + "nodeType": "YulIdentifier", + "src": "8395:3:17" + }, + "nativeSrc": "8395:18:17", + "nodeType": "YulFunctionCall", + "src": "8395:18:17" + }, + { + "name": "_1", + "nativeSrc": "8415:2:17", + "nodeType": "YulIdentifier", + "src": "8415:2:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8388:6:17", + "nodeType": "YulIdentifier", + "src": "8388:6:17" + }, + "nativeSrc": "8388:30:17", + "nodeType": "YulFunctionCall", + "src": "8388:30:17" + }, + "nativeSrc": "8388:30:17", + "nodeType": "YulExpressionStatement", + "src": "8388:30:17" + }, + { + "nativeSrc": "8427:59:17", + "nodeType": "YulVariableDeclaration", + "src": "8427:59:17", + "value": { + "arguments": [ + { + "name": "value1", + "nativeSrc": "8459:6:17", + "nodeType": "YulIdentifier", + "src": "8459:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8471:9:17", + "nodeType": "YulIdentifier", + "src": "8471:9:17" + }, + { + "name": "_1", + "nativeSrc": "8482:2:17", + "nodeType": "YulIdentifier", + "src": "8482:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8467:3:17", + "nodeType": "YulIdentifier", + "src": "8467:3:17" + }, + "nativeSrc": "8467:18:17", + "nodeType": "YulFunctionCall", + "src": "8467:18:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "8441:17:17", + "nodeType": "YulIdentifier", + "src": "8441:17:17" + }, + "nativeSrc": "8441:45:17", + "nodeType": "YulFunctionCall", + "src": "8441:45:17" + }, + "variables": [ + { + "name": "tail_1", + "nativeSrc": "8431:6:17", + "nodeType": "YulTypedName", + "src": "8431:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "8495:29:17", + "nodeType": "YulVariableDeclaration", + "src": "8495:29:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "8513:3:17", + "nodeType": "YulLiteral", + "src": "8513:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "8518:1:17", + "nodeType": "YulLiteral", + "src": "8518:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "8509:3:17", + "nodeType": "YulIdentifier", + "src": "8509:3:17" + }, + "nativeSrc": "8509:11:17", + "nodeType": "YulFunctionCall", + "src": "8509:11:17" + }, + { + "kind": "number", + "nativeSrc": "8522:1:17", + "nodeType": "YulLiteral", + "src": "8522:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8505:3:17", + "nodeType": "YulIdentifier", + "src": "8505:3:17" + }, + "nativeSrc": "8505:19:17", + "nodeType": "YulFunctionCall", + "src": "8505:19:17" + }, + "variables": [ + { + "name": "_2", + "nativeSrc": "8499:2:17", + "nodeType": "YulTypedName", + "src": "8499:2:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8544:9:17", + "nodeType": "YulIdentifier", + "src": "8544:9:17" + }, + { + "kind": "number", + "nativeSrc": "8555:2:17", + "nodeType": "YulLiteral", + "src": "8555:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8540:3:17", + "nodeType": "YulIdentifier", + "src": "8540:3:17" + }, + "nativeSrc": "8540:18:17", + "nodeType": "YulFunctionCall", + "src": "8540:18:17" + }, + { + "arguments": [ + { + "name": "value2", + "nativeSrc": "8564:6:17", + "nodeType": "YulIdentifier", + "src": "8564:6:17" + }, + { + "name": "_2", + "nativeSrc": "8572:2:17", + "nodeType": "YulIdentifier", + "src": "8572:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8560:3:17", + "nodeType": "YulIdentifier", + "src": "8560:3:17" + }, + "nativeSrc": "8560:15:17", + "nodeType": "YulFunctionCall", + "src": "8560:15:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8533:6:17", + "nodeType": "YulIdentifier", + "src": "8533:6:17" + }, + "nativeSrc": "8533:43:17", + "nodeType": "YulFunctionCall", + "src": "8533:43:17" + }, + "nativeSrc": "8533:43:17", + "nodeType": "YulExpressionStatement", + "src": "8533:43:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nativeSrc": "8612:6:17", + "nodeType": "YulIdentifier", + "src": "8612:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8624:9:17", + "nodeType": "YulIdentifier", + "src": "8624:9:17" + }, + { + "kind": "number", + "nativeSrc": "8635:2:17", + "nodeType": "YulLiteral", + "src": "8635:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8620:3:17", + "nodeType": "YulIdentifier", + "src": "8620:3:17" + }, + "nativeSrc": "8620:18:17", + "nodeType": "YulFunctionCall", + "src": "8620:18:17" + } + ], + "functionName": { + "name": "abi_encode_enum_TaskStatus", + "nativeSrc": "8585:26:17", + "nodeType": "YulIdentifier", + "src": "8585:26:17" + }, + "nativeSrc": "8585:54:17", + "nodeType": "YulFunctionCall", + "src": "8585:54:17" + }, + "nativeSrc": "8585:54:17", + "nodeType": "YulExpressionStatement", + "src": "8585:54:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8659:9:17", + "nodeType": "YulIdentifier", + "src": "8659:9:17" + }, + { + "kind": "number", + "nativeSrc": "8670:3:17", + "nodeType": "YulLiteral", + "src": "8670:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8655:3:17", + "nodeType": "YulIdentifier", + "src": "8655:3:17" + }, + "nativeSrc": "8655:19:17", + "nodeType": "YulFunctionCall", + "src": "8655:19:17" + }, + { + "arguments": [ + { + "name": "value4", + "nativeSrc": "8680:6:17", + "nodeType": "YulIdentifier", + "src": "8680:6:17" + }, + { + "name": "_2", + "nativeSrc": "8688:2:17", + "nodeType": "YulIdentifier", + "src": "8688:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8676:3:17", + "nodeType": "YulIdentifier", + "src": "8676:3:17" + }, + "nativeSrc": "8676:15:17", + "nodeType": "YulFunctionCall", + "src": "8676:15:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8648:6:17", + "nodeType": "YulIdentifier", + "src": "8648:6:17" + }, + "nativeSrc": "8648:44:17", + "nodeType": "YulFunctionCall", + "src": "8648:44:17" + }, + "nativeSrc": "8648:44:17", + "nodeType": "YulExpressionStatement", + "src": "8648:44:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8712:9:17", + "nodeType": "YulIdentifier", + "src": "8712:9:17" + }, + { + "kind": "number", + "nativeSrc": "8723:3:17", + "nodeType": "YulLiteral", + "src": "8723:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8708:3:17", + "nodeType": "YulIdentifier", + "src": "8708:3:17" + }, + "nativeSrc": "8708:19:17", + "nodeType": "YulFunctionCall", + "src": "8708:19:17" + }, + { + "name": "value5", + "nativeSrc": "8729:6:17", + "nodeType": "YulIdentifier", + "src": "8729:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8701:6:17", + "nodeType": "YulIdentifier", + "src": "8701:6:17" + }, + "nativeSrc": "8701:35:17", + "nodeType": "YulFunctionCall", + "src": "8701:35:17" + }, + "nativeSrc": "8701:35:17", + "nodeType": "YulExpressionStatement", + "src": "8701:35:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8756:9:17", + "nodeType": "YulIdentifier", + "src": "8756:9:17" + }, + { + "kind": "number", + "nativeSrc": "8767:3:17", + "nodeType": "YulLiteral", + "src": "8767:3:17", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8752:3:17", + "nodeType": "YulIdentifier", + "src": "8752:3:17" + }, + "nativeSrc": "8752:19:17", + "nodeType": "YulFunctionCall", + "src": "8752:19:17" + }, + { + "arguments": [ + { + "name": "tail_1", + "nativeSrc": "8777:6:17", + "nodeType": "YulIdentifier", + "src": "8777:6:17" + }, + { + "name": "headStart", + "nativeSrc": "8785:9:17", + "nodeType": "YulIdentifier", + "src": "8785:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "8773:3:17", + "nodeType": "YulIdentifier", + "src": "8773:3:17" + }, + "nativeSrc": "8773:22:17", + "nodeType": "YulFunctionCall", + "src": "8773:22:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8745:6:17", + "nodeType": "YulIdentifier", + "src": "8745:6:17" + }, + "nativeSrc": "8745:51:17", + "nodeType": "YulFunctionCall", + "src": "8745:51:17" + }, + "nativeSrc": "8745:51:17", + "nodeType": "YulExpressionStatement", + "src": "8745:51:17" + }, + { + "nativeSrc": "8805:41:17", + "nodeType": "YulAssignment", + "src": "8805:41:17", + "value": { + "arguments": [ + { + "name": "value6", + "nativeSrc": "8831:6:17", + "nodeType": "YulIdentifier", + "src": "8831:6:17" + }, + { + "name": "tail_1", + "nativeSrc": "8839:6:17", + "nodeType": "YulIdentifier", + "src": "8839:6:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "8813:17:17", + "nodeType": "YulIdentifier", + "src": "8813:17:17" + }, + "nativeSrc": "8813:33:17", + "nodeType": "YulFunctionCall", + "src": "8813:33:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "8805:4:17", + "nodeType": "YulIdentifier", + "src": "8805:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "8866:9:17", + "nodeType": "YulIdentifier", + "src": "8866:9:17" + }, + { + "kind": "number", + "nativeSrc": "8877:3:17", + "nodeType": "YulLiteral", + "src": "8877:3:17", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "8862:3:17", + "nodeType": "YulIdentifier", + "src": "8862:3:17" + }, + "nativeSrc": "8862:19:17", + "nodeType": "YulFunctionCall", + "src": "8862:19:17" + }, + { + "arguments": [ + { + "name": "value7", + "nativeSrc": "8887:6:17", + "nodeType": "YulIdentifier", + "src": "8887:6:17" + }, + { + "kind": "number", + "nativeSrc": "8895:4:17", + "nodeType": "YulLiteral", + "src": "8895:4:17", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "8883:3:17", + "nodeType": "YulIdentifier", + "src": "8883:3:17" + }, + "nativeSrc": "8883:17:17", + "nodeType": "YulFunctionCall", + "src": "8883:17:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "8855:6:17", + "nodeType": "YulIdentifier", + "src": "8855:6:17" + }, + "nativeSrc": "8855:46:17", + "nodeType": "YulFunctionCall", + "src": "8855:46:17" + }, + "nativeSrc": "8855:46:17", + "nodeType": "YulExpressionStatement", + "src": "8855:46:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_string_memory_ptr_t_address_t_enum$_TaskStatus_$2599_t_address_t_uint256_t_string_memory_ptr_t_uint8__to_t_uint256_t_string_memory_ptr_t_address_t_uint8_t_address_t_uint256_t_string_memory_ptr_t_uint8__fromStack_reversed", + "nativeSrc": "7976:931:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "8235:9:17", + "nodeType": "YulTypedName", + "src": "8235:9:17", + "type": "" + }, + { + "name": "value7", + "nativeSrc": "8246:6:17", + "nodeType": "YulTypedName", + "src": "8246:6:17", + "type": "" + }, + { + "name": "value6", + "nativeSrc": "8254:6:17", + "nodeType": "YulTypedName", + "src": "8254:6:17", + "type": "" + }, + { + "name": "value5", + "nativeSrc": "8262:6:17", + "nodeType": "YulTypedName", + "src": "8262:6:17", + "type": "" + }, + { + "name": "value4", + "nativeSrc": "8270:6:17", + "nodeType": "YulTypedName", + "src": "8270:6:17", + "type": "" + }, + { + "name": "value3", + "nativeSrc": "8278:6:17", + "nodeType": "YulTypedName", + "src": "8278:6:17", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "8286:6:17", + "nodeType": "YulTypedName", + "src": "8286:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "8294:6:17", + "nodeType": "YulTypedName", + "src": "8294:6:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "8302:6:17", + "nodeType": "YulTypedName", + "src": "8302:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "8313:4:17", + "nodeType": "YulTypedName", + "src": "8313:4:17", + "type": "" + } + ], + "src": "7976:931:17" + }, + { + "body": { + "nativeSrc": "9033:99:17", + "nodeType": "YulBlock", + "src": "9033:99:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9050:9:17", + "nodeType": "YulIdentifier", + "src": "9050:9:17" + }, + { + "kind": "number", + "nativeSrc": "9061:2:17", + "nodeType": "YulLiteral", + "src": "9061:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "9043:6:17", + "nodeType": "YulIdentifier", + "src": "9043:6:17" + }, + "nativeSrc": "9043:21:17", + "nodeType": "YulFunctionCall", + "src": "9043:21:17" + }, + "nativeSrc": "9043:21:17", + "nodeType": "YulExpressionStatement", + "src": "9043:21:17" + }, + { + "nativeSrc": "9073:53:17", + "nodeType": "YulAssignment", + "src": "9073:53:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "9099:6:17", + "nodeType": "YulIdentifier", + "src": "9099:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9111:9:17", + "nodeType": "YulIdentifier", + "src": "9111:9:17" + }, + { + "kind": "number", + "nativeSrc": "9122:2:17", + "nodeType": "YulLiteral", + "src": "9122:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9107:3:17", + "nodeType": "YulIdentifier", + "src": "9107:3:17" + }, + "nativeSrc": "9107:18:17", + "nodeType": "YulFunctionCall", + "src": "9107:18:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "9081:17:17", + "nodeType": "YulIdentifier", + "src": "9081:17:17" + }, + "nativeSrc": "9081:45:17", + "nodeType": "YulFunctionCall", + "src": "9081:45:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "9073:4:17", + "nodeType": "YulIdentifier", + "src": "9073:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "8912:220:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9002:9:17", + "nodeType": "YulTypedName", + "src": "9002:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "9013:6:17", + "nodeType": "YulTypedName", + "src": "9013:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "9024:4:17", + "nodeType": "YulTypedName", + "src": "9024:4:17", + "type": "" + } + ], + "src": "8912:220:17" + }, + { + "body": { + "nativeSrc": "9258:228:17", + "nodeType": "YulBlock", + "src": "9258:228:17", + "statements": [ + { + "body": { + "nativeSrc": "9304:16:17", + "nodeType": "YulBlock", + "src": "9304:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9313:1:17", + "nodeType": "YulLiteral", + "src": "9313:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9316:1:17", + "nodeType": "YulLiteral", + "src": "9316:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9306:6:17", + "nodeType": "YulIdentifier", + "src": "9306:6:17" + }, + "nativeSrc": "9306:12:17", + "nodeType": "YulFunctionCall", + "src": "9306:12:17" + }, + "nativeSrc": "9306:12:17", + "nodeType": "YulExpressionStatement", + "src": "9306:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "9279:7:17", + "nodeType": "YulIdentifier", + "src": "9279:7:17" + }, + { + "name": "headStart", + "nativeSrc": "9288:9:17", + "nodeType": "YulIdentifier", + "src": "9288:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9275:3:17", + "nodeType": "YulIdentifier", + "src": "9275:3:17" + }, + "nativeSrc": "9275:23:17", + "nodeType": "YulFunctionCall", + "src": "9275:23:17" + }, + { + "kind": "number", + "nativeSrc": "9300:2:17", + "nodeType": "YulLiteral", + "src": "9300:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "9271:3:17", + "nodeType": "YulIdentifier", + "src": "9271:3:17" + }, + "nativeSrc": "9271:32:17", + "nodeType": "YulFunctionCall", + "src": "9271:32:17" + }, + "nativeSrc": "9268:52:17", + "nodeType": "YulIf", + "src": "9268:52:17" + }, + { + "nativeSrc": "9329:33:17", + "nodeType": "YulAssignment", + "src": "9329:33:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9352:9:17", + "nodeType": "YulIdentifier", + "src": "9352:9:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9339:12:17", + "nodeType": "YulIdentifier", + "src": "9339:12:17" + }, + "nativeSrc": "9339:23:17", + "nodeType": "YulFunctionCall", + "src": "9339:23:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "9329:6:17", + "nodeType": "YulIdentifier", + "src": "9329:6:17" + } + ] + }, + { + "nativeSrc": "9371:45:17", + "nodeType": "YulVariableDeclaration", + "src": "9371:45:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "9401:9:17", + "nodeType": "YulIdentifier", + "src": "9401:9:17" + }, + { + "kind": "number", + "nativeSrc": "9412:2:17", + "nodeType": "YulLiteral", + "src": "9412:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "9397:3:17", + "nodeType": "YulIdentifier", + "src": "9397:3:17" + }, + "nativeSrc": "9397:18:17", + "nodeType": "YulFunctionCall", + "src": "9397:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nativeSrc": "9384:12:17", + "nodeType": "YulIdentifier", + "src": "9384:12:17" + }, + "nativeSrc": "9384:32:17", + "nodeType": "YulFunctionCall", + "src": "9384:32:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "9375:5:17", + "nodeType": "YulTypedName", + "src": "9375:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9450:5:17", + "nodeType": "YulIdentifier", + "src": "9450:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "9425:24:17", + "nodeType": "YulIdentifier", + "src": "9425:24:17" + }, + "nativeSrc": "9425:31:17", + "nodeType": "YulFunctionCall", + "src": "9425:31:17" + }, + "nativeSrc": "9425:31:17", + "nodeType": "YulExpressionStatement", + "src": "9425:31:17" + }, + { + "nativeSrc": "9465:15:17", + "nodeType": "YulAssignment", + "src": "9465:15:17", + "value": { + "name": "value", + "nativeSrc": "9475:5:17", + "nodeType": "YulIdentifier", + "src": "9475:5:17" + }, + "variableNames": [ + { + "name": "value1", + "nativeSrc": "9465:6:17", + "nodeType": "YulIdentifier", + "src": "9465:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256t_contract$_AgentsRegistryUpgradeable_$2363", + "nativeSrc": "9137:349:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9216:9:17", + "nodeType": "YulTypedName", + "src": "9216:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "9227:7:17", + "nodeType": "YulTypedName", + "src": "9227:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "9239:6:17", + "nodeType": "YulTypedName", + "src": "9239:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "9247:6:17", + "nodeType": "YulTypedName", + "src": "9247:6:17", + "type": "" + } + ], + "src": "9137:349:17" + }, + { + "body": { + "nativeSrc": "9551:78:17", + "nodeType": "YulBlock", + "src": "9551:78:17", + "statements": [ + { + "nativeSrc": "9561:22:17", + "nodeType": "YulAssignment", + "src": "9561:22:17", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9576:6:17", + "nodeType": "YulIdentifier", + "src": "9576:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9570:5:17", + "nodeType": "YulIdentifier", + "src": "9570:5:17" + }, + "nativeSrc": "9570:13:17", + "nodeType": "YulFunctionCall", + "src": "9570:13:17" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9561:5:17", + "nodeType": "YulIdentifier", + "src": "9561:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "9617:5:17", + "nodeType": "YulIdentifier", + "src": "9617:5:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "9592:24:17", + "nodeType": "YulIdentifier", + "src": "9592:24:17" + }, + "nativeSrc": "9592:31:17", + "nodeType": "YulFunctionCall", + "src": "9592:31:17" + }, + "nativeSrc": "9592:31:17", + "nodeType": "YulExpressionStatement", + "src": "9592:31:17" + } + ] + }, + "name": "abi_decode_address_fromMemory", + "nativeSrc": "9491:138:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9530:6:17", + "nodeType": "YulTypedName", + "src": "9530:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "9541:5:17", + "nodeType": "YulTypedName", + "src": "9541:5:17", + "type": "" + } + ], + "src": "9491:138:17" + }, + { + "body": { + "nativeSrc": "9691:107:17", + "nodeType": "YulBlock", + "src": "9691:107:17", + "statements": [ + { + "nativeSrc": "9701:22:17", + "nodeType": "YulAssignment", + "src": "9701:22:17", + "value": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "9716:6:17", + "nodeType": "YulIdentifier", + "src": "9716:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "9710:5:17", + "nodeType": "YulIdentifier", + "src": "9710:5:17" + }, + "nativeSrc": "9710:13:17", + "nodeType": "YulFunctionCall", + "src": "9710:13:17" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "9701:5:17", + "nodeType": "YulIdentifier", + "src": "9701:5:17" + } + ] + }, + { + "body": { + "nativeSrc": "9776:16:17", + "nodeType": "YulBlock", + "src": "9776:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9785:1:17", + "nodeType": "YulLiteral", + "src": "9785:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9788:1:17", + "nodeType": "YulLiteral", + "src": "9788:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9778:6:17", + "nodeType": "YulIdentifier", + "src": "9778:6:17" + }, + "nativeSrc": "9778:12:17", + "nodeType": "YulFunctionCall", + "src": "9778:12:17" + }, + "nativeSrc": "9778:12:17", + "nodeType": "YulExpressionStatement", + "src": "9778:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9745:5:17", + "nodeType": "YulIdentifier", + "src": "9745:5:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "9766:5:17", + "nodeType": "YulIdentifier", + "src": "9766:5:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9759:6:17", + "nodeType": "YulIdentifier", + "src": "9759:6:17" + }, + "nativeSrc": "9759:13:17", + "nodeType": "YulFunctionCall", + "src": "9759:13:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9752:6:17", + "nodeType": "YulIdentifier", + "src": "9752:6:17" + }, + "nativeSrc": "9752:21:17", + "nodeType": "YulFunctionCall", + "src": "9752:21:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "9742:2:17", + "nodeType": "YulIdentifier", + "src": "9742:2:17" + }, + "nativeSrc": "9742:32:17", + "nodeType": "YulFunctionCall", + "src": "9742:32:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "9735:6:17", + "nodeType": "YulIdentifier", + "src": "9735:6:17" + }, + "nativeSrc": "9735:40:17", + "nodeType": "YulFunctionCall", + "src": "9735:40:17" + }, + "nativeSrc": "9732:60:17", + "nodeType": "YulIf", + "src": "9732:60:17" + } + ] + }, + "name": "abi_decode_bool_fromMemory", + "nativeSrc": "9634:164:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nativeSrc": "9670:6:17", + "nodeType": "YulTypedName", + "src": "9670:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nativeSrc": "9681:5:17", + "nodeType": "YulTypedName", + "src": "9681:5:17", + "type": "" + } + ], + "src": "9634:164:17" + }, + { + "body": { + "nativeSrc": "9917:1221:17", + "nodeType": "YulBlock", + "src": "9917:1221:17", + "statements": [ + { + "nativeSrc": "9927:12:17", + "nodeType": "YulVariableDeclaration", + "src": "9927:12:17", + "value": { + "kind": "number", + "nativeSrc": "9937:2:17", + "nodeType": "YulLiteral", + "src": "9937:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "9931:2:17", + "nodeType": "YulTypedName", + "src": "9931:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "9984:16:17", + "nodeType": "YulBlock", + "src": "9984:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "9993:1:17", + "nodeType": "YulLiteral", + "src": "9993:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "9996:1:17", + "nodeType": "YulLiteral", + "src": "9996:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "9986:6:17", + "nodeType": "YulIdentifier", + "src": "9986:6:17" + }, + "nativeSrc": "9986:12:17", + "nodeType": "YulFunctionCall", + "src": "9986:12:17" + }, + "nativeSrc": "9986:12:17", + "nodeType": "YulExpressionStatement", + "src": "9986:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "9959:7:17", + "nodeType": "YulIdentifier", + "src": "9959:7:17" + }, + { + "name": "headStart", + "nativeSrc": "9968:9:17", + "nodeType": "YulIdentifier", + "src": "9968:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "9955:3:17", + "nodeType": "YulIdentifier", + "src": "9955:3:17" + }, + "nativeSrc": "9955:23:17", + "nodeType": "YulFunctionCall", + "src": "9955:23:17" + }, + { + "name": "_1", + "nativeSrc": "9980:2:17", + "nodeType": "YulIdentifier", + "src": "9980:2:17" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "9951:3:17", + "nodeType": "YulIdentifier", + "src": "9951:3:17" + }, + "nativeSrc": "9951:32:17", + "nodeType": "YulFunctionCall", + "src": "9951:32:17" + }, + "nativeSrc": "9948:52:17", + "nodeType": "YulIf", + "src": "9948:52:17" + }, + { + "nativeSrc": "10009:30:17", + "nodeType": "YulVariableDeclaration", + "src": "10009:30:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10029:9:17", + "nodeType": "YulIdentifier", + "src": "10029:9:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10023:5:17", + "nodeType": "YulIdentifier", + "src": "10023:5:17" + }, + "nativeSrc": "10023:16:17", + "nodeType": "YulFunctionCall", + "src": "10023:16:17" + }, + "variables": [ + { + "name": "offset", + "nativeSrc": "10013:6:17", + "nodeType": "YulTypedName", + "src": "10013:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "10048:28:17", + "nodeType": "YulVariableDeclaration", + "src": "10048:28:17", + "value": { + "kind": "number", + "nativeSrc": "10058:18:17", + "nodeType": "YulLiteral", + "src": "10058:18:17", + "type": "", + "value": "0xffffffffffffffff" + }, + "variables": [ + { + "name": "_2", + "nativeSrc": "10052:2:17", + "nodeType": "YulTypedName", + "src": "10052:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10103:16:17", + "nodeType": "YulBlock", + "src": "10103:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10112:1:17", + "nodeType": "YulLiteral", + "src": "10112:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10115:1:17", + "nodeType": "YulLiteral", + "src": "10115:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10105:6:17", + "nodeType": "YulIdentifier", + "src": "10105:6:17" + }, + "nativeSrc": "10105:12:17", + "nodeType": "YulFunctionCall", + "src": "10105:12:17" + }, + "nativeSrc": "10105:12:17", + "nodeType": "YulExpressionStatement", + "src": "10105:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nativeSrc": "10091:6:17", + "nodeType": "YulIdentifier", + "src": "10091:6:17" + }, + { + "name": "_2", + "nativeSrc": "10099:2:17", + "nodeType": "YulIdentifier", + "src": "10099:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "10088:2:17", + "nodeType": "YulIdentifier", + "src": "10088:2:17" + }, + "nativeSrc": "10088:14:17", + "nodeType": "YulFunctionCall", + "src": "10088:14:17" + }, + "nativeSrc": "10085:34:17", + "nodeType": "YulIf", + "src": "10085:34:17" + }, + { + "nativeSrc": "10128:32:17", + "nodeType": "YulVariableDeclaration", + "src": "10128:32:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "10142:9:17", + "nodeType": "YulIdentifier", + "src": "10142:9:17" + }, + { + "name": "offset", + "nativeSrc": "10153:6:17", + "nodeType": "YulIdentifier", + "src": "10153:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10138:3:17", + "nodeType": "YulIdentifier", + "src": "10138:3:17" + }, + "nativeSrc": "10138:22:17", + "nodeType": "YulFunctionCall", + "src": "10138:22:17" + }, + "variables": [ + { + "name": "_3", + "nativeSrc": "10132:2:17", + "nodeType": "YulTypedName", + "src": "10132:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10200:16:17", + "nodeType": "YulBlock", + "src": "10200:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10209:1:17", + "nodeType": "YulLiteral", + "src": "10209:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10212:1:17", + "nodeType": "YulLiteral", + "src": "10212:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10202:6:17", + "nodeType": "YulIdentifier", + "src": "10202:6:17" + }, + "nativeSrc": "10202:12:17", + "nodeType": "YulFunctionCall", + "src": "10202:12:17" + }, + "nativeSrc": "10202:12:17", + "nodeType": "YulExpressionStatement", + "src": "10202:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "10180:7:17", + "nodeType": "YulIdentifier", + "src": "10180:7:17" + }, + { + "name": "_3", + "nativeSrc": "10189:2:17", + "nodeType": "YulIdentifier", + "src": "10189:2:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "10176:3:17", + "nodeType": "YulIdentifier", + "src": "10176:3:17" + }, + "nativeSrc": "10176:16:17", + "nodeType": "YulFunctionCall", + "src": "10176:16:17" + }, + { + "kind": "number", + "nativeSrc": "10194:4:17", + "nodeType": "YulLiteral", + "src": "10194:4:17", + "type": "", + "value": "0xc0" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10172:3:17", + "nodeType": "YulIdentifier", + "src": "10172:3:17" + }, + "nativeSrc": "10172:27:17", + "nodeType": "YulFunctionCall", + "src": "10172:27:17" + }, + "nativeSrc": "10169:47:17", + "nodeType": "YulIf", + "src": "10169:47:17" + }, + { + "nativeSrc": "10225:35:17", + "nodeType": "YulVariableDeclaration", + "src": "10225:35:17", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_memory_2890", + "nativeSrc": "10238:20:17", + "nodeType": "YulIdentifier", + "src": "10238:20:17" + }, + "nativeSrc": "10238:22:17", + "nodeType": "YulFunctionCall", + "src": "10238:22:17" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "10229:5:17", + "nodeType": "YulTypedName", + "src": "10229:5:17", + "type": "" + } + ] + }, + { + "nativeSrc": "10269:24:17", + "nodeType": "YulVariableDeclaration", + "src": "10269:24:17", + "value": { + "arguments": [ + { + "name": "_3", + "nativeSrc": "10290:2:17", + "nodeType": "YulIdentifier", + "src": "10290:2:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10284:5:17", + "nodeType": "YulIdentifier", + "src": "10284:5:17" + }, + "nativeSrc": "10284:9:17", + "nodeType": "YulFunctionCall", + "src": "10284:9:17" + }, + "variables": [ + { + "name": "value_1", + "nativeSrc": "10273:7:17", + "nodeType": "YulTypedName", + "src": "10273:7:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value_1", + "nativeSrc": "10327:7:17", + "nodeType": "YulIdentifier", + "src": "10327:7:17" + } + ], + "functionName": { + "name": "validator_revert_address", + "nativeSrc": "10302:24:17", + "nodeType": "YulIdentifier", + "src": "10302:24:17" + }, + "nativeSrc": "10302:33:17", + "nodeType": "YulFunctionCall", + "src": "10302:33:17" + }, + "nativeSrc": "10302:33:17", + "nodeType": "YulExpressionStatement", + "src": "10302:33:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nativeSrc": "10351:5:17", + "nodeType": "YulIdentifier", + "src": "10351:5:17" + }, + { + "name": "value_1", + "nativeSrc": "10358:7:17", + "nodeType": "YulIdentifier", + "src": "10358:7:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10344:6:17", + "nodeType": "YulIdentifier", + "src": "10344:6:17" + }, + "nativeSrc": "10344:22:17", + "nodeType": "YulFunctionCall", + "src": "10344:22:17" + }, + "nativeSrc": "10344:22:17", + "nodeType": "YulExpressionStatement", + "src": "10344:22:17" + }, + { + "nativeSrc": "10375:34:17", + "nodeType": "YulVariableDeclaration", + "src": "10375:34:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nativeSrc": "10401:2:17", + "nodeType": "YulIdentifier", + "src": "10401:2:17" + }, + { + "name": "_1", + "nativeSrc": "10405:2:17", + "nodeType": "YulIdentifier", + "src": "10405:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10397:3:17", + "nodeType": "YulIdentifier", + "src": "10397:3:17" + }, + "nativeSrc": "10397:11:17", + "nodeType": "YulFunctionCall", + "src": "10397:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10391:5:17", + "nodeType": "YulIdentifier", + "src": "10391:5:17" + }, + "nativeSrc": "10391:18:17", + "nodeType": "YulFunctionCall", + "src": "10391:18:17" + }, + "variables": [ + { + "name": "offset_1", + "nativeSrc": "10379:8:17", + "nodeType": "YulTypedName", + "src": "10379:8:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10438:16:17", + "nodeType": "YulBlock", + "src": "10438:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10447:1:17", + "nodeType": "YulLiteral", + "src": "10447:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10450:1:17", + "nodeType": "YulLiteral", + "src": "10450:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10440:6:17", + "nodeType": "YulIdentifier", + "src": "10440:6:17" + }, + "nativeSrc": "10440:12:17", + "nodeType": "YulFunctionCall", + "src": "10440:12:17" + }, + "nativeSrc": "10440:12:17", + "nodeType": "YulExpressionStatement", + "src": "10440:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset_1", + "nativeSrc": "10424:8:17", + "nodeType": "YulIdentifier", + "src": "10424:8:17" + }, + { + "name": "_2", + "nativeSrc": "10434:2:17", + "nodeType": "YulIdentifier", + "src": "10434:2:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "10421:2:17", + "nodeType": "YulIdentifier", + "src": "10421:2:17" + }, + "nativeSrc": "10421:16:17", + "nodeType": "YulFunctionCall", + "src": "10421:16:17" + }, + "nativeSrc": "10418:36:17", + "nodeType": "YulIf", + "src": "10418:36:17" + }, + { + "nativeSrc": "10463:27:17", + "nodeType": "YulVariableDeclaration", + "src": "10463:27:17", + "value": { + "arguments": [ + { + "name": "_3", + "nativeSrc": "10477:2:17", + "nodeType": "YulIdentifier", + "src": "10477:2:17" + }, + { + "name": "offset_1", + "nativeSrc": "10481:8:17", + "nodeType": "YulIdentifier", + "src": "10481:8:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10473:3:17", + "nodeType": "YulIdentifier", + "src": "10473:3:17" + }, + "nativeSrc": "10473:17:17", + "nodeType": "YulFunctionCall", + "src": "10473:17:17" + }, + "variables": [ + { + "name": "_4", + "nativeSrc": "10467:2:17", + "nodeType": "YulTypedName", + "src": "10467:2:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "10538:16:17", + "nodeType": "YulBlock", + "src": "10538:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10547:1:17", + "nodeType": "YulLiteral", + "src": "10547:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10550:1:17", + "nodeType": "YulLiteral", + "src": "10550:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10540:6:17", + "nodeType": "YulIdentifier", + "src": "10540:6:17" + }, + "nativeSrc": "10540:12:17", + "nodeType": "YulFunctionCall", + "src": "10540:12:17" + }, + "nativeSrc": "10540:12:17", + "nodeType": "YulExpressionStatement", + "src": "10540:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_4", + "nativeSrc": "10517:2:17", + "nodeType": "YulIdentifier", + "src": "10517:2:17" + }, + { + "kind": "number", + "nativeSrc": "10521:4:17", + "nodeType": "YulLiteral", + "src": "10521:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10513:3:17", + "nodeType": "YulIdentifier", + "src": "10513:3:17" + }, + "nativeSrc": "10513:13:17", + "nodeType": "YulFunctionCall", + "src": "10513:13:17" + }, + { + "name": "dataEnd", + "nativeSrc": "10528:7:17", + "nodeType": "YulIdentifier", + "src": "10528:7:17" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "10509:3:17", + "nodeType": "YulIdentifier", + "src": "10509:3:17" + }, + "nativeSrc": "10509:27:17", + "nodeType": "YulFunctionCall", + "src": "10509:27:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "10502:6:17", + "nodeType": "YulIdentifier", + "src": "10502:6:17" + }, + "nativeSrc": "10502:35:17", + "nodeType": "YulFunctionCall", + "src": "10502:35:17" + }, + "nativeSrc": "10499:55:17", + "nodeType": "YulIf", + "src": "10499:55:17" + }, + { + "nativeSrc": "10563:19:17", + "nodeType": "YulVariableDeclaration", + "src": "10563:19:17", + "value": { + "arguments": [ + { + "name": "_4", + "nativeSrc": "10579:2:17", + "nodeType": "YulIdentifier", + "src": "10579:2:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10573:5:17", + "nodeType": "YulIdentifier", + "src": "10573:5:17" + }, + "nativeSrc": "10573:9:17", + "nodeType": "YulFunctionCall", + "src": "10573:9:17" + }, + "variables": [ + { + "name": "_5", + "nativeSrc": "10567:2:17", + "nodeType": "YulTypedName", + "src": "10567:2:17", + "type": "" + } + ] + }, + { + "nativeSrc": "10591:62:17", + "nodeType": "YulVariableDeclaration", + "src": "10591:62:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "_5", + "nativeSrc": "10649:2:17", + "nodeType": "YulIdentifier", + "src": "10649:2:17" + } + ], + "functionName": { + "name": "array_allocation_size_string", + "nativeSrc": "10620:28:17", + "nodeType": "YulIdentifier", + "src": "10620:28:17" + }, + "nativeSrc": "10620:32:17", + "nodeType": "YulFunctionCall", + "src": "10620:32:17" + } + ], + "functionName": { + "name": "allocate_memory", + "nativeSrc": "10604:15:17", + "nodeType": "YulIdentifier", + "src": "10604:15:17" + }, + "nativeSrc": "10604:49:17", + "nodeType": "YulFunctionCall", + "src": "10604:49:17" + }, + "variables": [ + { + "name": "array", + "nativeSrc": "10595:5:17", + "nodeType": "YulTypedName", + "src": "10595:5:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nativeSrc": "10669:5:17", + "nodeType": "YulIdentifier", + "src": "10669:5:17" + }, + { + "name": "_5", + "nativeSrc": "10676:2:17", + "nodeType": "YulIdentifier", + "src": "10676:2:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10662:6:17", + "nodeType": "YulIdentifier", + "src": "10662:6:17" + }, + "nativeSrc": "10662:17:17", + "nodeType": "YulFunctionCall", + "src": "10662:17:17" + }, + "nativeSrc": "10662:17:17", + "nodeType": "YulExpressionStatement", + "src": "10662:17:17" + }, + { + "body": { + "nativeSrc": "10725:16:17", + "nodeType": "YulBlock", + "src": "10725:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "10734:1:17", + "nodeType": "YulLiteral", + "src": "10734:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "10737:1:17", + "nodeType": "YulLiteral", + "src": "10737:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "10727:6:17", + "nodeType": "YulIdentifier", + "src": "10727:6:17" + }, + "nativeSrc": "10727:12:17", + "nodeType": "YulFunctionCall", + "src": "10727:12:17" + }, + "nativeSrc": "10727:12:17", + "nodeType": "YulExpressionStatement", + "src": "10727:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "_4", + "nativeSrc": "10702:2:17", + "nodeType": "YulIdentifier", + "src": "10702:2:17" + }, + { + "name": "_5", + "nativeSrc": "10706:2:17", + "nodeType": "YulIdentifier", + "src": "10706:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10698:3:17", + "nodeType": "YulIdentifier", + "src": "10698:3:17" + }, + "nativeSrc": "10698:11:17", + "nodeType": "YulFunctionCall", + "src": "10698:11:17" + }, + { + "name": "_1", + "nativeSrc": "10711:2:17", + "nodeType": "YulIdentifier", + "src": "10711:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10694:3:17", + "nodeType": "YulIdentifier", + "src": "10694:3:17" + }, + "nativeSrc": "10694:20:17", + "nodeType": "YulFunctionCall", + "src": "10694:20:17" + }, + { + "name": "dataEnd", + "nativeSrc": "10716:7:17", + "nodeType": "YulIdentifier", + "src": "10716:7:17" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "10691:2:17", + "nodeType": "YulIdentifier", + "src": "10691:2:17" + }, + "nativeSrc": "10691:33:17", + "nodeType": "YulFunctionCall", + "src": "10691:33:17" + }, + "nativeSrc": "10688:53:17", + "nodeType": "YulIf", + "src": "10688:53:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "_4", + "nativeSrc": "10789:2:17", + "nodeType": "YulIdentifier", + "src": "10789:2:17" + }, + { + "name": "_1", + "nativeSrc": "10793:2:17", + "nodeType": "YulIdentifier", + "src": "10793:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10785:3:17", + "nodeType": "YulIdentifier", + "src": "10785:3:17" + }, + "nativeSrc": "10785:11:17", + "nodeType": "YulFunctionCall", + "src": "10785:11:17" + }, + { + "arguments": [ + { + "name": "array", + "nativeSrc": "10802:5:17", + "nodeType": "YulIdentifier", + "src": "10802:5:17" + }, + { + "name": "_1", + "nativeSrc": "10809:2:17", + "nodeType": "YulIdentifier", + "src": "10809:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10798:3:17", + "nodeType": "YulIdentifier", + "src": "10798:3:17" + }, + "nativeSrc": "10798:14:17", + "nodeType": "YulFunctionCall", + "src": "10798:14:17" + }, + { + "name": "_5", + "nativeSrc": "10814:2:17", + "nodeType": "YulIdentifier", + "src": "10814:2:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "10750:34:17", + "nodeType": "YulIdentifier", + "src": "10750:34:17" + }, + "nativeSrc": "10750:67:17", + "nodeType": "YulFunctionCall", + "src": "10750:67:17" + }, + "nativeSrc": "10750:67:17", + "nodeType": "YulExpressionStatement", + "src": "10750:67:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10837:5:17", + "nodeType": "YulIdentifier", + "src": "10837:5:17" + }, + { + "name": "_1", + "nativeSrc": "10844:2:17", + "nodeType": "YulIdentifier", + "src": "10844:2:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10833:3:17", + "nodeType": "YulIdentifier", + "src": "10833:3:17" + }, + "nativeSrc": "10833:14:17", + "nodeType": "YulFunctionCall", + "src": "10833:14:17" + }, + { + "name": "array", + "nativeSrc": "10849:5:17", + "nodeType": "YulIdentifier", + "src": "10849:5:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10826:6:17", + "nodeType": "YulIdentifier", + "src": "10826:6:17" + }, + "nativeSrc": "10826:29:17", + "nodeType": "YulFunctionCall", + "src": "10826:29:17" + }, + "nativeSrc": "10826:29:17", + "nodeType": "YulExpressionStatement", + "src": "10826:29:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10875:5:17", + "nodeType": "YulIdentifier", + "src": "10875:5:17" + }, + { + "kind": "number", + "nativeSrc": "10882:2:17", + "nodeType": "YulLiteral", + "src": "10882:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10871:3:17", + "nodeType": "YulIdentifier", + "src": "10871:3:17" + }, + "nativeSrc": "10871:14:17", + "nodeType": "YulFunctionCall", + "src": "10871:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nativeSrc": "10897:2:17", + "nodeType": "YulIdentifier", + "src": "10897:2:17" + }, + { + "kind": "number", + "nativeSrc": "10901:2:17", + "nodeType": "YulLiteral", + "src": "10901:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10893:3:17", + "nodeType": "YulIdentifier", + "src": "10893:3:17" + }, + "nativeSrc": "10893:11:17", + "nodeType": "YulFunctionCall", + "src": "10893:11:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "10887:5:17", + "nodeType": "YulIdentifier", + "src": "10887:5:17" + }, + "nativeSrc": "10887:18:17", + "nodeType": "YulFunctionCall", + "src": "10887:18:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10864:6:17", + "nodeType": "YulIdentifier", + "src": "10864:6:17" + }, + "nativeSrc": "10864:42:17", + "nodeType": "YulFunctionCall", + "src": "10864:42:17" + }, + "nativeSrc": "10864:42:17", + "nodeType": "YulExpressionStatement", + "src": "10864:42:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "10926:5:17", + "nodeType": "YulIdentifier", + "src": "10926:5:17" + }, + { + "kind": "number", + "nativeSrc": "10933:2:17", + "nodeType": "YulLiteral", + "src": "10933:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10922:3:17", + "nodeType": "YulIdentifier", + "src": "10922:3:17" + }, + "nativeSrc": "10922:14:17", + "nodeType": "YulFunctionCall", + "src": "10922:14:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nativeSrc": "10972:2:17", + "nodeType": "YulIdentifier", + "src": "10972:2:17" + }, + { + "kind": "number", + "nativeSrc": "10976:2:17", + "nodeType": "YulLiteral", + "src": "10976:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10968:3:17", + "nodeType": "YulIdentifier", + "src": "10968:3:17" + }, + "nativeSrc": "10968:11:17", + "nodeType": "YulFunctionCall", + "src": "10968:11:17" + } + ], + "functionName": { + "name": "abi_decode_address_fromMemory", + "nativeSrc": "10938:29:17", + "nodeType": "YulIdentifier", + "src": "10938:29:17" + }, + "nativeSrc": "10938:42:17", + "nodeType": "YulFunctionCall", + "src": "10938:42:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10915:6:17", + "nodeType": "YulIdentifier", + "src": "10915:6:17" + }, + "nativeSrc": "10915:66:17", + "nodeType": "YulFunctionCall", + "src": "10915:66:17" + }, + "nativeSrc": "10915:66:17", + "nodeType": "YulExpressionStatement", + "src": "10915:66:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11001:5:17", + "nodeType": "YulIdentifier", + "src": "11001:5:17" + }, + { + "kind": "number", + "nativeSrc": "11008:3:17", + "nodeType": "YulLiteral", + "src": "11008:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "10997:3:17", + "nodeType": "YulIdentifier", + "src": "10997:3:17" + }, + "nativeSrc": "10997:15:17", + "nodeType": "YulFunctionCall", + "src": "10997:15:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nativeSrc": "11024:2:17", + "nodeType": "YulIdentifier", + "src": "11024:2:17" + }, + { + "kind": "number", + "nativeSrc": "11028:3:17", + "nodeType": "YulLiteral", + "src": "11028:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11020:3:17", + "nodeType": "YulIdentifier", + "src": "11020:3:17" + }, + "nativeSrc": "11020:12:17", + "nodeType": "YulFunctionCall", + "src": "11020:12:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "11014:5:17", + "nodeType": "YulIdentifier", + "src": "11014:5:17" + }, + "nativeSrc": "11014:19:17", + "nodeType": "YulFunctionCall", + "src": "11014:19:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "10990:6:17", + "nodeType": "YulIdentifier", + "src": "10990:6:17" + }, + "nativeSrc": "10990:44:17", + "nodeType": "YulFunctionCall", + "src": "10990:44:17" + }, + "nativeSrc": "10990:44:17", + "nodeType": "YulExpressionStatement", + "src": "10990:44:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nativeSrc": "11054:5:17", + "nodeType": "YulIdentifier", + "src": "11054:5:17" + }, + { + "kind": "number", + "nativeSrc": "11061:3:17", + "nodeType": "YulLiteral", + "src": "11061:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11050:3:17", + "nodeType": "YulIdentifier", + "src": "11050:3:17" + }, + "nativeSrc": "11050:15:17", + "nodeType": "YulFunctionCall", + "src": "11050:15:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "_3", + "nativeSrc": "11098:2:17", + "nodeType": "YulIdentifier", + "src": "11098:2:17" + }, + { + "kind": "number", + "nativeSrc": "11102:3:17", + "nodeType": "YulLiteral", + "src": "11102:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11094:3:17", + "nodeType": "YulIdentifier", + "src": "11094:3:17" + }, + "nativeSrc": "11094:12:17", + "nodeType": "YulFunctionCall", + "src": "11094:12:17" + } + ], + "functionName": { + "name": "abi_decode_bool_fromMemory", + "nativeSrc": "11067:26:17", + "nodeType": "YulIdentifier", + "src": "11067:26:17" + }, + "nativeSrc": "11067:40:17", + "nodeType": "YulFunctionCall", + "src": "11067:40:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11043:6:17", + "nodeType": "YulIdentifier", + "src": "11043:6:17" + }, + "nativeSrc": "11043:65:17", + "nodeType": "YulFunctionCall", + "src": "11043:65:17" + }, + "nativeSrc": "11043:65:17", + "nodeType": "YulExpressionStatement", + "src": "11043:65:17" + }, + { + "nativeSrc": "11117:15:17", + "nodeType": "YulAssignment", + "src": "11117:15:17", + "value": { + "name": "value", + "nativeSrc": "11127:5:17", + "nodeType": "YulIdentifier", + "src": "11127:5:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "11117:6:17", + "nodeType": "YulIdentifier", + "src": "11117:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_struct$_ServiceProposal_$3273_memory_ptr_fromMemory", + "nativeSrc": "9803:1335:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "9883:9:17", + "nodeType": "YulTypedName", + "src": "9883:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "9894:7:17", + "nodeType": "YulTypedName", + "src": "9894:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "9906:6:17", + "nodeType": "YulTypedName", + "src": "9906:6:17", + "type": "" + } + ], + "src": "9803:1335:17" + }, + { + "body": { + "nativeSrc": "11317:175:17", + "nodeType": "YulBlock", + "src": "11317:175:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11334:9:17", + "nodeType": "YulIdentifier", + "src": "11334:9:17" + }, + { + "kind": "number", + "nativeSrc": "11345:2:17", + "nodeType": "YulLiteral", + "src": "11345:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11327:6:17", + "nodeType": "YulIdentifier", + "src": "11327:6:17" + }, + "nativeSrc": "11327:21:17", + "nodeType": "YulFunctionCall", + "src": "11327:21:17" + }, + "nativeSrc": "11327:21:17", + "nodeType": "YulExpressionStatement", + "src": "11327:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11368:9:17", + "nodeType": "YulIdentifier", + "src": "11368:9:17" + }, + { + "kind": "number", + "nativeSrc": "11379:2:17", + "nodeType": "YulLiteral", + "src": "11379:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11364:3:17", + "nodeType": "YulIdentifier", + "src": "11364:3:17" + }, + "nativeSrc": "11364:18:17", + "nodeType": "YulFunctionCall", + "src": "11364:18:17" + }, + { + "kind": "number", + "nativeSrc": "11384:2:17", + "nodeType": "YulLiteral", + "src": "11384:2:17", + "type": "", + "value": "25" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11357:6:17", + "nodeType": "YulIdentifier", + "src": "11357:6:17" + }, + "nativeSrc": "11357:30:17", + "nodeType": "YulFunctionCall", + "src": "11357:30:17" + }, + "nativeSrc": "11357:30:17", + "nodeType": "YulExpressionStatement", + "src": "11357:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11407:9:17", + "nodeType": "YulIdentifier", + "src": "11407:9:17" + }, + { + "kind": "number", + "nativeSrc": "11418:2:17", + "nodeType": "YulLiteral", + "src": "11418:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11403:3:17", + "nodeType": "YulIdentifier", + "src": "11403:3:17" + }, + "nativeSrc": "11403:18:17", + "nodeType": "YulFunctionCall", + "src": "11403:18:17" + }, + { + "hexValue": "5365727669636550726f706f73616c206e6f7420666f756e64", + "kind": "string", + "nativeSrc": "11423:27:17", + "nodeType": "YulLiteral", + "src": "11423:27:17", + "type": "", + "value": "ServiceProposal not found" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11396:6:17", + "nodeType": "YulIdentifier", + "src": "11396:6:17" + }, + "nativeSrc": "11396:55:17", + "nodeType": "YulFunctionCall", + "src": "11396:55:17" + }, + "nativeSrc": "11396:55:17", + "nodeType": "YulExpressionStatement", + "src": "11396:55:17" + }, + { + "nativeSrc": "11460:26:17", + "nodeType": "YulAssignment", + "src": "11460:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11472:9:17", + "nodeType": "YulIdentifier", + "src": "11472:9:17" + }, + { + "kind": "number", + "nativeSrc": "11483:2:17", + "nodeType": "YulLiteral", + "src": "11483:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11468:3:17", + "nodeType": "YulIdentifier", + "src": "11468:3:17" + }, + "nativeSrc": "11468:18:17", + "nodeType": "YulFunctionCall", + "src": "11468:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11460:4:17", + "nodeType": "YulIdentifier", + "src": "11460:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "11143:349:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11294:9:17", + "nodeType": "YulTypedName", + "src": "11294:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "11308:4:17", + "nodeType": "YulTypedName", + "src": "11308:4:17", + "type": "" + } + ], + "src": "11143:349:17" + }, + { + "body": { + "nativeSrc": "11671:163:17", + "nodeType": "YulBlock", + "src": "11671:163:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11688:9:17", + "nodeType": "YulIdentifier", + "src": "11688:9:17" + }, + { + "kind": "number", + "nativeSrc": "11699:2:17", + "nodeType": "YulLiteral", + "src": "11699:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11681:6:17", + "nodeType": "YulIdentifier", + "src": "11681:6:17" + }, + "nativeSrc": "11681:21:17", + "nodeType": "YulFunctionCall", + "src": "11681:21:17" + }, + "nativeSrc": "11681:21:17", + "nodeType": "YulExpressionStatement", + "src": "11681:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11722:9:17", + "nodeType": "YulIdentifier", + "src": "11722:9:17" + }, + { + "kind": "number", + "nativeSrc": "11733:2:17", + "nodeType": "YulLiteral", + "src": "11733:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11718:3:17", + "nodeType": "YulIdentifier", + "src": "11718:3:17" + }, + "nativeSrc": "11718:18:17", + "nodeType": "YulFunctionCall", + "src": "11718:18:17" + }, + { + "kind": "number", + "nativeSrc": "11738:2:17", + "nodeType": "YulLiteral", + "src": "11738:2:17", + "type": "", + "value": "13" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11711:6:17", + "nodeType": "YulIdentifier", + "src": "11711:6:17" + }, + "nativeSrc": "11711:30:17", + "nodeType": "YulFunctionCall", + "src": "11711:30:17" + }, + "nativeSrc": "11711:30:17", + "nodeType": "YulExpressionStatement", + "src": "11711:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11761:9:17", + "nodeType": "YulIdentifier", + "src": "11761:9:17" + }, + { + "kind": "number", + "nativeSrc": "11772:2:17", + "nodeType": "YulLiteral", + "src": "11772:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11757:3:17", + "nodeType": "YulIdentifier", + "src": "11757:3:17" + }, + "nativeSrc": "11757:18:17", + "nodeType": "YulFunctionCall", + "src": "11757:18:17" + }, + { + "hexValue": "496e76616c6964207072696365", + "kind": "string", + "nativeSrc": "11777:15:17", + "nodeType": "YulLiteral", + "src": "11777:15:17", + "type": "", + "value": "Invalid price" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "11750:6:17", + "nodeType": "YulIdentifier", + "src": "11750:6:17" + }, + "nativeSrc": "11750:43:17", + "nodeType": "YulFunctionCall", + "src": "11750:43:17" + }, + "nativeSrc": "11750:43:17", + "nodeType": "YulExpressionStatement", + "src": "11750:43:17" + }, + { + "nativeSrc": "11802:26:17", + "nodeType": "YulAssignment", + "src": "11802:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "11814:9:17", + "nodeType": "YulIdentifier", + "src": "11814:9:17" + }, + { + "kind": "number", + "nativeSrc": "11825:2:17", + "nodeType": "YulLiteral", + "src": "11825:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "11810:3:17", + "nodeType": "YulIdentifier", + "src": "11810:3:17" + }, + "nativeSrc": "11810:18:17", + "nodeType": "YulFunctionCall", + "src": "11810:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "11802:4:17", + "nodeType": "YulIdentifier", + "src": "11802:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_eaa01effe6abd0543e9529d3961b0f5d26980f0661c156a79b89c39a093463f7__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "11497:337:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11648:9:17", + "nodeType": "YulTypedName", + "src": "11648:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "11662:4:17", + "nodeType": "YulTypedName", + "src": "11662:4:17", + "type": "" + } + ], + "src": "11497:337:17" + }, + { + "body": { + "nativeSrc": "12013:230:17", + "nodeType": "YulBlock", + "src": "12013:230:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12030:9:17", + "nodeType": "YulIdentifier", + "src": "12030:9:17" + }, + { + "kind": "number", + "nativeSrc": "12041:2:17", + "nodeType": "YulLiteral", + "src": "12041:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12023:6:17", + "nodeType": "YulIdentifier", + "src": "12023:6:17" + }, + "nativeSrc": "12023:21:17", + "nodeType": "YulFunctionCall", + "src": "12023:21:17" + }, + "nativeSrc": "12023:21:17", + "nodeType": "YulExpressionStatement", + "src": "12023:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12064:9:17", + "nodeType": "YulIdentifier", + "src": "12064:9:17" + }, + { + "kind": "number", + "nativeSrc": "12075:2:17", + "nodeType": "YulLiteral", + "src": "12075:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12060:3:17", + "nodeType": "YulIdentifier", + "src": "12060:3:17" + }, + "nativeSrc": "12060:18:17", + "nodeType": "YulFunctionCall", + "src": "12060:18:17" + }, + { + "kind": "number", + "nativeSrc": "12080:2:17", + "nodeType": "YulLiteral", + "src": "12080:2:17", + "type": "", + "value": "40" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12053:6:17", + "nodeType": "YulIdentifier", + "src": "12053:6:17" + }, + "nativeSrc": "12053:30:17", + "nodeType": "YulFunctionCall", + "src": "12053:30:17" + }, + "nativeSrc": "12053:30:17", + "nodeType": "YulExpressionStatement", + "src": "12053:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12103:9:17", + "nodeType": "YulIdentifier", + "src": "12103:9:17" + }, + { + "kind": "number", + "nativeSrc": "12114:2:17", + "nodeType": "YulLiteral", + "src": "12114:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12099:3:17", + "nodeType": "YulIdentifier", + "src": "12099:3:17" + }, + "nativeSrc": "12099:18:17", + "nodeType": "YulFunctionCall", + "src": "12099:18:17" + }, + { + "hexValue": "4e6f204554482073686f756c642062652073656e7420666f7220455243323020", + "kind": "string", + "nativeSrc": "12119:34:17", + "nodeType": "YulLiteral", + "src": "12119:34:17", + "type": "", + "value": "No ETH should be sent for ERC20 " + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12092:6:17", + "nodeType": "YulIdentifier", + "src": "12092:6:17" + }, + "nativeSrc": "12092:62:17", + "nodeType": "YulFunctionCall", + "src": "12092:62:17" + }, + "nativeSrc": "12092:62:17", + "nodeType": "YulExpressionStatement", + "src": "12092:62:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12174:9:17", + "nodeType": "YulIdentifier", + "src": "12174:9:17" + }, + { + "kind": "number", + "nativeSrc": "12185:2:17", + "nodeType": "YulLiteral", + "src": "12185:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12170:3:17", + "nodeType": "YulIdentifier", + "src": "12170:3:17" + }, + "nativeSrc": "12170:18:17", + "nodeType": "YulFunctionCall", + "src": "12170:18:17" + }, + { + "hexValue": "7061796d656e7473", + "kind": "string", + "nativeSrc": "12190:10:17", + "nodeType": "YulLiteral", + "src": "12190:10:17", + "type": "", + "value": "payments" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12163:6:17", + "nodeType": "YulIdentifier", + "src": "12163:6:17" + }, + "nativeSrc": "12163:38:17", + "nodeType": "YulFunctionCall", + "src": "12163:38:17" + }, + "nativeSrc": "12163:38:17", + "nodeType": "YulExpressionStatement", + "src": "12163:38:17" + }, + { + "nativeSrc": "12210:27:17", + "nodeType": "YulAssignment", + "src": "12210:27:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "12222:9:17", + "nodeType": "YulIdentifier", + "src": "12222:9:17" + }, + { + "kind": "number", + "nativeSrc": "12233:3:17", + "nodeType": "YulLiteral", + "src": "12233:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "12218:3:17", + "nodeType": "YulIdentifier", + "src": "12218:3:17" + }, + "nativeSrc": "12218:19:17", + "nodeType": "YulFunctionCall", + "src": "12218:19:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "12210:4:17", + "nodeType": "YulIdentifier", + "src": "12210:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_1b1b03f60ebe259831055a7aaca661444a58af4e39e114790f599b56dce96127__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "11839:404:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "11990:9:17", + "nodeType": "YulTypedName", + "src": "11990:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "12004:4:17", + "nodeType": "YulTypedName", + "src": "12004:4:17", + "type": "" + } + ], + "src": "11839:404:17" + }, + { + "body": { + "nativeSrc": "12303:325:17", + "nodeType": "YulBlock", + "src": "12303:325:17", + "statements": [ + { + "nativeSrc": "12313:22:17", + "nodeType": "YulAssignment", + "src": "12313:22:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12327:1:17", + "nodeType": "YulLiteral", + "src": "12327:1:17", + "type": "", + "value": "1" + }, + { + "name": "data", + "nativeSrc": "12330:4:17", + "nodeType": "YulIdentifier", + "src": "12330:4:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "12323:3:17", + "nodeType": "YulIdentifier", + "src": "12323:3:17" + }, + "nativeSrc": "12323:12:17", + "nodeType": "YulFunctionCall", + "src": "12323:12:17" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "12313:6:17", + "nodeType": "YulIdentifier", + "src": "12313:6:17" + } + ] + }, + { + "nativeSrc": "12344:38:17", + "nodeType": "YulVariableDeclaration", + "src": "12344:38:17", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "12374:4:17", + "nodeType": "YulIdentifier", + "src": "12374:4:17" + }, + { + "kind": "number", + "nativeSrc": "12380:1:17", + "nodeType": "YulLiteral", + "src": "12380:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "12370:3:17", + "nodeType": "YulIdentifier", + "src": "12370:3:17" + }, + "nativeSrc": "12370:12:17", + "nodeType": "YulFunctionCall", + "src": "12370:12:17" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "12348:18:17", + "nodeType": "YulTypedName", + "src": "12348:18:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "12421:31:17", + "nodeType": "YulBlock", + "src": "12421:31:17", + "statements": [ + { + "nativeSrc": "12423:27:17", + "nodeType": "YulAssignment", + "src": "12423:27:17", + "value": { + "arguments": [ + { + "name": "length", + "nativeSrc": "12437:6:17", + "nodeType": "YulIdentifier", + "src": "12437:6:17" + }, + { + "kind": "number", + "nativeSrc": "12445:4:17", + "nodeType": "YulLiteral", + "src": "12445:4:17", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "12433:3:17", + "nodeType": "YulIdentifier", + "src": "12433:3:17" + }, + "nativeSrc": "12433:17:17", + "nodeType": "YulFunctionCall", + "src": "12433:17:17" + }, + "variableNames": [ + { + "name": "length", + "nativeSrc": "12423:6:17", + "nodeType": "YulIdentifier", + "src": "12423:6:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "12401:18:17", + "nodeType": "YulIdentifier", + "src": "12401:18:17" + } + ], + "functionName": { + "name": "iszero", + "nativeSrc": "12394:6:17", + "nodeType": "YulIdentifier", + "src": "12394:6:17" + }, + "nativeSrc": "12394:26:17", + "nodeType": "YulFunctionCall", + "src": "12394:26:17" + }, + "nativeSrc": "12391:61:17", + "nodeType": "YulIf", + "src": "12391:61:17" + }, + { + "body": { + "nativeSrc": "12511:111:17", + "nodeType": "YulBlock", + "src": "12511:111:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12532:1:17", + "nodeType": "YulLiteral", + "src": "12532:1:17", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12539:3:17", + "nodeType": "YulLiteral", + "src": "12539:3:17", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nativeSrc": "12544:10:17", + "nodeType": "YulLiteral", + "src": "12544:10:17", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "12535:3:17", + "nodeType": "YulIdentifier", + "src": "12535:3:17" + }, + "nativeSrc": "12535:20:17", + "nodeType": "YulFunctionCall", + "src": "12535:20:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12525:6:17", + "nodeType": "YulIdentifier", + "src": "12525:6:17" + }, + "nativeSrc": "12525:31:17", + "nodeType": "YulFunctionCall", + "src": "12525:31:17" + }, + "nativeSrc": "12525:31:17", + "nodeType": "YulExpressionStatement", + "src": "12525:31:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12576:1:17", + "nodeType": "YulLiteral", + "src": "12576:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "12579:4:17", + "nodeType": "YulLiteral", + "src": "12579:4:17", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12569:6:17", + "nodeType": "YulIdentifier", + "src": "12569:6:17" + }, + "nativeSrc": "12569:15:17", + "nodeType": "YulFunctionCall", + "src": "12569:15:17" + }, + "nativeSrc": "12569:15:17", + "nodeType": "YulExpressionStatement", + "src": "12569:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12604:1:17", + "nodeType": "YulLiteral", + "src": "12604:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "12607:4:17", + "nodeType": "YulLiteral", + "src": "12607:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "12597:6:17", + "nodeType": "YulIdentifier", + "src": "12597:6:17" + }, + "nativeSrc": "12597:15:17", + "nodeType": "YulFunctionCall", + "src": "12597:15:17" + }, + "nativeSrc": "12597:15:17", + "nodeType": "YulExpressionStatement", + "src": "12597:15:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nativeSrc": "12467:18:17", + "nodeType": "YulIdentifier", + "src": "12467:18:17" + }, + { + "arguments": [ + { + "name": "length", + "nativeSrc": "12490:6:17", + "nodeType": "YulIdentifier", + "src": "12490:6:17" + }, + { + "kind": "number", + "nativeSrc": "12498:2:17", + "nodeType": "YulLiteral", + "src": "12498:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "12487:2:17", + "nodeType": "YulIdentifier", + "src": "12487:2:17" + }, + "nativeSrc": "12487:14:17", + "nodeType": "YulFunctionCall", + "src": "12487:14:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "12464:2:17", + "nodeType": "YulIdentifier", + "src": "12464:2:17" + }, + "nativeSrc": "12464:38:17", + "nodeType": "YulFunctionCall", + "src": "12464:38:17" + }, + "nativeSrc": "12461:161:17", + "nodeType": "YulIf", + "src": "12461:161:17" + } + ] + }, + "name": "extract_byte_array_length", + "nativeSrc": "12248:380:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "12283:4:17", + "nodeType": "YulTypedName", + "src": "12283:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nativeSrc": "12292:6:17", + "nodeType": "YulTypedName", + "src": "12292:6:17", + "type": "" + } + ], + "src": "12248:380:17" + }, + { + "body": { + "nativeSrc": "12689:65:17", + "nodeType": "YulBlock", + "src": "12689:65:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12706:1:17", + "nodeType": "YulLiteral", + "src": "12706:1:17", + "type": "", + "value": "0" + }, + { + "name": "ptr", + "nativeSrc": "12709:3:17", + "nodeType": "YulIdentifier", + "src": "12709:3:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12699:6:17", + "nodeType": "YulIdentifier", + "src": "12699:6:17" + }, + "nativeSrc": "12699:14:17", + "nodeType": "YulFunctionCall", + "src": "12699:14:17" + }, + "nativeSrc": "12699:14:17", + "nodeType": "YulExpressionStatement", + "src": "12699:14:17" + }, + { + "nativeSrc": "12722:26:17", + "nodeType": "YulAssignment", + "src": "12722:26:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12740:1:17", + "nodeType": "YulLiteral", + "src": "12740:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "12743:4:17", + "nodeType": "YulLiteral", + "src": "12743:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "12730:9:17", + "nodeType": "YulIdentifier", + "src": "12730:9:17" + }, + "nativeSrc": "12730:18:17", + "nodeType": "YulFunctionCall", + "src": "12730:18:17" + }, + "variableNames": [ + { + "name": "data", + "nativeSrc": "12722:4:17", + "nodeType": "YulIdentifier", + "src": "12722:4:17" + } + ] + } + ] + }, + "name": "array_dataslot_string_storage", + "nativeSrc": "12633:121:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "ptr", + "nativeSrc": "12672:3:17", + "nodeType": "YulTypedName", + "src": "12672:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "data", + "nativeSrc": "12680:4:17", + "nodeType": "YulTypedName", + "src": "12680:4:17", + "type": "" + } + ], + "src": "12633:121:17" + }, + { + "body": { + "nativeSrc": "12840:462:17", + "nodeType": "YulBlock", + "src": "12840:462:17", + "statements": [ + { + "body": { + "nativeSrc": "12873:423:17", + "nodeType": "YulBlock", + "src": "12873:423:17", + "statements": [ + { + "nativeSrc": "12887:11:17", + "nodeType": "YulVariableDeclaration", + "src": "12887:11:17", + "value": { + "kind": "number", + "nativeSrc": "12897:1:17", + "nodeType": "YulLiteral", + "src": "12897:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "12891:2:17", + "nodeType": "YulTypedName", + "src": "12891:2:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12918:1:17", + "nodeType": "YulLiteral", + "src": "12918:1:17", + "type": "", + "value": "0" + }, + { + "name": "array", + "nativeSrc": "12921:5:17", + "nodeType": "YulIdentifier", + "src": "12921:5:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "12911:6:17", + "nodeType": "YulIdentifier", + "src": "12911:6:17" + }, + "nativeSrc": "12911:16:17", + "nodeType": "YulFunctionCall", + "src": "12911:16:17" + }, + "nativeSrc": "12911:16:17", + "nodeType": "YulExpressionStatement", + "src": "12911:16:17" + }, + { + "nativeSrc": "12940:30:17", + "nodeType": "YulVariableDeclaration", + "src": "12940:30:17", + "value": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "12962:1:17", + "nodeType": "YulLiteral", + "src": "12962:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "12965:4:17", + "nodeType": "YulLiteral", + "src": "12965:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "keccak256", + "nativeSrc": "12952:9:17", + "nodeType": "YulIdentifier", + "src": "12952:9:17" + }, + "nativeSrc": "12952:18:17", + "nodeType": "YulFunctionCall", + "src": "12952:18:17" + }, + "variables": [ + { + "name": "data", + "nativeSrc": "12944:4:17", + "nodeType": "YulTypedName", + "src": "12944:4:17", + "type": "" + } + ] + }, + { + "nativeSrc": "12983:57:17", + "nodeType": "YulVariableDeclaration", + "src": "12983:57:17", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "13006:4:17", + "nodeType": "YulIdentifier", + "src": "13006:4:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13016:1:17", + "nodeType": "YulLiteral", + "src": "13016:1:17", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "13023:10:17", + "nodeType": "YulIdentifier", + "src": "13023:10:17" + }, + { + "kind": "number", + "nativeSrc": "13035:2:17", + "nodeType": "YulLiteral", + "src": "13035:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13019:3:17", + "nodeType": "YulIdentifier", + "src": "13019:3:17" + }, + "nativeSrc": "13019:19:17", + "nodeType": "YulFunctionCall", + "src": "13019:19:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "13012:3:17", + "nodeType": "YulIdentifier", + "src": "13012:3:17" + }, + "nativeSrc": "13012:27:17", + "nodeType": "YulFunctionCall", + "src": "13012:27:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13002:3:17", + "nodeType": "YulIdentifier", + "src": "13002:3:17" + }, + "nativeSrc": "13002:38:17", + "nodeType": "YulFunctionCall", + "src": "13002:38:17" + }, + "variables": [ + { + "name": "deleteStart", + "nativeSrc": "12987:11:17", + "nodeType": "YulTypedName", + "src": "12987:11:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "13077:23:17", + "nodeType": "YulBlock", + "src": "13077:23:17", + "statements": [ + { + "nativeSrc": "13079:19:17", + "nodeType": "YulAssignment", + "src": "13079:19:17", + "value": { + "name": "data", + "nativeSrc": "13094:4:17", + "nodeType": "YulIdentifier", + "src": "13094:4:17" + }, + "variableNames": [ + { + "name": "deleteStart", + "nativeSrc": "13079:11:17", + "nodeType": "YulIdentifier", + "src": "13079:11:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "startIndex", + "nativeSrc": "13059:10:17", + "nodeType": "YulIdentifier", + "src": "13059:10:17" + }, + { + "kind": "number", + "nativeSrc": "13071:4:17", + "nodeType": "YulLiteral", + "src": "13071:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "13056:2:17", + "nodeType": "YulIdentifier", + "src": "13056:2:17" + }, + "nativeSrc": "13056:20:17", + "nodeType": "YulFunctionCall", + "src": "13056:20:17" + }, + "nativeSrc": "13053:47:17", + "nodeType": "YulIf", + "src": "13053:47:17" + }, + { + "nativeSrc": "13113:41:17", + "nodeType": "YulVariableDeclaration", + "src": "13113:41:17", + "value": { + "arguments": [ + { + "name": "data", + "nativeSrc": "13127:4:17", + "nodeType": "YulIdentifier", + "src": "13127:4:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13137:1:17", + "nodeType": "YulLiteral", + "src": "13137:1:17", + "type": "", + "value": "5" + }, + { + "arguments": [ + { + "name": "len", + "nativeSrc": "13144:3:17", + "nodeType": "YulIdentifier", + "src": "13144:3:17" + }, + { + "kind": "number", + "nativeSrc": "13149:2:17", + "nodeType": "YulLiteral", + "src": "13149:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13140:3:17", + "nodeType": "YulIdentifier", + "src": "13140:3:17" + }, + "nativeSrc": "13140:12:17", + "nodeType": "YulFunctionCall", + "src": "13140:12:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "13133:3:17", + "nodeType": "YulIdentifier", + "src": "13133:3:17" + }, + "nativeSrc": "13133:20:17", + "nodeType": "YulFunctionCall", + "src": "13133:20:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13123:3:17", + "nodeType": "YulIdentifier", + "src": "13123:3:17" + }, + "nativeSrc": "13123:31:17", + "nodeType": "YulFunctionCall", + "src": "13123:31:17" + }, + "variables": [ + { + "name": "_2", + "nativeSrc": "13117:2:17", + "nodeType": "YulTypedName", + "src": "13117:2:17", + "type": "" + } + ] + }, + { + "nativeSrc": "13167:24:17", + "nodeType": "YulVariableDeclaration", + "src": "13167:24:17", + "value": { + "name": "deleteStart", + "nativeSrc": "13180:11:17", + "nodeType": "YulIdentifier", + "src": "13180:11:17" + }, + "variables": [ + { + "name": "start", + "nativeSrc": "13171:5:17", + "nodeType": "YulTypedName", + "src": "13171:5:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "13265:21:17", + "nodeType": "YulBlock", + "src": "13265:21:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "start", + "nativeSrc": "13274:5:17", + "nodeType": "YulIdentifier", + "src": "13274:5:17" + }, + { + "name": "_1", + "nativeSrc": "13281:2:17", + "nodeType": "YulIdentifier", + "src": "13281:2:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "13267:6:17", + "nodeType": "YulIdentifier", + "src": "13267:6:17" + }, + "nativeSrc": "13267:17:17", + "nodeType": "YulFunctionCall", + "src": "13267:17:17" + }, + "nativeSrc": "13267:17:17", + "nodeType": "YulExpressionStatement", + "src": "13267:17:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "start", + "nativeSrc": "13215:5:17", + "nodeType": "YulIdentifier", + "src": "13215:5:17" + }, + { + "name": "_2", + "nativeSrc": "13222:2:17", + "nodeType": "YulIdentifier", + "src": "13222:2:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "13212:2:17", + "nodeType": "YulIdentifier", + "src": "13212:2:17" + }, + "nativeSrc": "13212:13:17", + "nodeType": "YulFunctionCall", + "src": "13212:13:17" + }, + "nativeSrc": "13204:82:17", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "13226:26:17", + "nodeType": "YulBlock", + "src": "13226:26:17", + "statements": [ + { + "nativeSrc": "13228:22:17", + "nodeType": "YulAssignment", + "src": "13228:22:17", + "value": { + "arguments": [ + { + "name": "start", + "nativeSrc": "13241:5:17", + "nodeType": "YulIdentifier", + "src": "13241:5:17" + }, + { + "kind": "number", + "nativeSrc": "13248:1:17", + "nodeType": "YulLiteral", + "src": "13248:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "13237:3:17", + "nodeType": "YulIdentifier", + "src": "13237:3:17" + }, + "nativeSrc": "13237:13:17", + "nodeType": "YulFunctionCall", + "src": "13237:13:17" + }, + "variableNames": [ + { + "name": "start", + "nativeSrc": "13228:5:17", + "nodeType": "YulIdentifier", + "src": "13228:5:17" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "13208:3:17", + "nodeType": "YulBlock", + "src": "13208:3:17", + "statements": [] + }, + "src": "13204:82:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "len", + "nativeSrc": "12856:3:17", + "nodeType": "YulIdentifier", + "src": "12856:3:17" + }, + { + "kind": "number", + "nativeSrc": "12861:2:17", + "nodeType": "YulLiteral", + "src": "12861:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "12853:2:17", + "nodeType": "YulIdentifier", + "src": "12853:2:17" + }, + "nativeSrc": "12853:11:17", + "nodeType": "YulFunctionCall", + "src": "12853:11:17" + }, + "nativeSrc": "12850:446:17", + "nodeType": "YulIf", + "src": "12850:446:17" + } + ] + }, + "name": "clean_up_bytearray_end_slots_string_storage", + "nativeSrc": "12759:543:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "array", + "nativeSrc": "12812:5:17", + "nodeType": "YulTypedName", + "src": "12812:5:17", + "type": "" + }, + { + "name": "len", + "nativeSrc": "12819:3:17", + "nodeType": "YulTypedName", + "src": "12819:3:17", + "type": "" + }, + { + "name": "startIndex", + "nativeSrc": "12824:10:17", + "nodeType": "YulTypedName", + "src": "12824:10:17", + "type": "" + } + ], + "src": "12759:543:17" + }, + { + "body": { + "nativeSrc": "13392:81:17", + "nodeType": "YulBlock", + "src": "13392:81:17", + "statements": [ + { + "nativeSrc": "13402:65:17", + "nodeType": "YulAssignment", + "src": "13402:65:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "data", + "nativeSrc": "13417:4:17", + "nodeType": "YulIdentifier", + "src": "13417:4:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13435:1:17", + "nodeType": "YulLiteral", + "src": "13435:1:17", + "type": "", + "value": "3" + }, + { + "name": "len", + "nativeSrc": "13438:3:17", + "nodeType": "YulIdentifier", + "src": "13438:3:17" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "13431:3:17", + "nodeType": "YulIdentifier", + "src": "13431:3:17" + }, + "nativeSrc": "13431:11:17", + "nodeType": "YulFunctionCall", + "src": "13431:11:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13448:1:17", + "nodeType": "YulLiteral", + "src": "13448:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "13444:3:17", + "nodeType": "YulIdentifier", + "src": "13444:3:17" + }, + "nativeSrc": "13444:6:17", + "nodeType": "YulFunctionCall", + "src": "13444:6:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "13427:3:17", + "nodeType": "YulIdentifier", + "src": "13427:3:17" + }, + "nativeSrc": "13427:24:17", + "nodeType": "YulFunctionCall", + "src": "13427:24:17" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "13423:3:17", + "nodeType": "YulIdentifier", + "src": "13423:3:17" + }, + "nativeSrc": "13423:29:17", + "nodeType": "YulFunctionCall", + "src": "13423:29:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "13413:3:17", + "nodeType": "YulIdentifier", + "src": "13413:3:17" + }, + "nativeSrc": "13413:40:17", + "nodeType": "YulFunctionCall", + "src": "13413:40:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13459:1:17", + "nodeType": "YulLiteral", + "src": "13459:1:17", + "type": "", + "value": "1" + }, + { + "name": "len", + "nativeSrc": "13462:3:17", + "nodeType": "YulIdentifier", + "src": "13462:3:17" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "13455:3:17", + "nodeType": "YulIdentifier", + "src": "13455:3:17" + }, + "nativeSrc": "13455:11:17", + "nodeType": "YulFunctionCall", + "src": "13455:11:17" + } + ], + "functionName": { + "name": "or", + "nativeSrc": "13410:2:17", + "nodeType": "YulIdentifier", + "src": "13410:2:17" + }, + "nativeSrc": "13410:57:17", + "nodeType": "YulFunctionCall", + "src": "13410:57:17" + }, + "variableNames": [ + { + "name": "used", + "nativeSrc": "13402:4:17", + "nodeType": "YulIdentifier", + "src": "13402:4:17" + } + ] + } + ] + }, + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "13307:166:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nativeSrc": "13369:4:17", + "nodeType": "YulTypedName", + "src": "13369:4:17", + "type": "" + }, + { + "name": "len", + "nativeSrc": "13375:3:17", + "nodeType": "YulTypedName", + "src": "13375:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "used", + "nativeSrc": "13383:4:17", + "nodeType": "YulTypedName", + "src": "13383:4:17", + "type": "" + } + ], + "src": "13307:166:17" + }, + { + "body": { + "nativeSrc": "13574:1249:17", + "nodeType": "YulBlock", + "src": "13574:1249:17", + "statements": [ + { + "nativeSrc": "13584:24:17", + "nodeType": "YulVariableDeclaration", + "src": "13584:24:17", + "value": { + "arguments": [ + { + "name": "src", + "nativeSrc": "13604:3:17", + "nodeType": "YulIdentifier", + "src": "13604:3:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "13598:5:17", + "nodeType": "YulIdentifier", + "src": "13598:5:17" + }, + "nativeSrc": "13598:10:17", + "nodeType": "YulFunctionCall", + "src": "13598:10:17" + }, + "variables": [ + { + "name": "newLen", + "nativeSrc": "13588:6:17", + "nodeType": "YulTypedName", + "src": "13588:6:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "13651:22:17", + "nodeType": "YulBlock", + "src": "13651:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nativeSrc": "13653:16:17", + "nodeType": "YulIdentifier", + "src": "13653:16:17" + }, + "nativeSrc": "13653:18:17", + "nodeType": "YulFunctionCall", + "src": "13653:18:17" + }, + "nativeSrc": "13653:18:17", + "nodeType": "YulExpressionStatement", + "src": "13653:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "13623:6:17", + "nodeType": "YulIdentifier", + "src": "13623:6:17" + }, + { + "kind": "number", + "nativeSrc": "13631:18:17", + "nodeType": "YulLiteral", + "src": "13631:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13620:2:17", + "nodeType": "YulIdentifier", + "src": "13620:2:17" + }, + "nativeSrc": "13620:30:17", + "nodeType": "YulFunctionCall", + "src": "13620:30:17" + }, + "nativeSrc": "13617:56:17", + "nodeType": "YulIf", + "src": "13617:56:17" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "13726:4:17", + "nodeType": "YulIdentifier", + "src": "13726:4:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "slot", + "nativeSrc": "13764:4:17", + "nodeType": "YulIdentifier", + "src": "13764:4:17" + } + ], + "functionName": { + "name": "sload", + "nativeSrc": "13758:5:17", + "nodeType": "YulIdentifier", + "src": "13758:5:17" + }, + "nativeSrc": "13758:11:17", + "nodeType": "YulFunctionCall", + "src": "13758:11:17" + } + ], + "functionName": { + "name": "extract_byte_array_length", + "nativeSrc": "13732:25:17", + "nodeType": "YulIdentifier", + "src": "13732:25:17" + }, + "nativeSrc": "13732:38:17", + "nodeType": "YulFunctionCall", + "src": "13732:38:17" + }, + { + "name": "newLen", + "nativeSrc": "13772:6:17", + "nodeType": "YulIdentifier", + "src": "13772:6:17" + } + ], + "functionName": { + "name": "clean_up_bytearray_end_slots_string_storage", + "nativeSrc": "13682:43:17", + "nodeType": "YulIdentifier", + "src": "13682:43:17" + }, + "nativeSrc": "13682:97:17", + "nodeType": "YulFunctionCall", + "src": "13682:97:17" + }, + "nativeSrc": "13682:97:17", + "nodeType": "YulExpressionStatement", + "src": "13682:97:17" + }, + { + "nativeSrc": "13788:18:17", + "nodeType": "YulVariableDeclaration", + "src": "13788:18:17", + "value": { + "kind": "number", + "nativeSrc": "13805:1:17", + "nodeType": "YulLiteral", + "src": "13805:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "srcOffset", + "nativeSrc": "13792:9:17", + "nodeType": "YulTypedName", + "src": "13792:9:17", + "type": "" + } + ] + }, + { + "nativeSrc": "13815:23:17", + "nodeType": "YulVariableDeclaration", + "src": "13815:23:17", + "value": { + "kind": "number", + "nativeSrc": "13834:4:17", + "nodeType": "YulLiteral", + "src": "13834:4:17", + "type": "", + "value": "0x20" + }, + "variables": [ + { + "name": "srcOffset_1", + "nativeSrc": "13819:11:17", + "nodeType": "YulTypedName", + "src": "13819:11:17", + "type": "" + } + ] + }, + { + "nativeSrc": "13847:17:17", + "nodeType": "YulAssignment", + "src": "13847:17:17", + "value": { + "kind": "number", + "nativeSrc": "13860:4:17", + "nodeType": "YulLiteral", + "src": "13860:4:17", + "type": "", + "value": "0x20" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "13847:9:17", + "nodeType": "YulIdentifier", + "src": "13847:9:17" + } + ] + }, + { + "cases": [ + { + "body": { + "nativeSrc": "13910:656:17", + "nodeType": "YulBlock", + "src": "13910:656:17", + "statements": [ + { + "nativeSrc": "13924:35:17", + "nodeType": "YulVariableDeclaration", + "src": "13924:35:17", + "value": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "13943:6:17", + "nodeType": "YulIdentifier", + "src": "13943:6:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "13955:2:17", + "nodeType": "YulLiteral", + "src": "13955:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "13951:3:17", + "nodeType": "YulIdentifier", + "src": "13951:3:17" + }, + "nativeSrc": "13951:7:17", + "nodeType": "YulFunctionCall", + "src": "13951:7:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "13939:3:17", + "nodeType": "YulIdentifier", + "src": "13939:3:17" + }, + "nativeSrc": "13939:20:17", + "nodeType": "YulFunctionCall", + "src": "13939:20:17" + }, + "variables": [ + { + "name": "loopEnd", + "nativeSrc": "13928:7:17", + "nodeType": "YulTypedName", + "src": "13928:7:17", + "type": "" + } + ] + }, + { + "nativeSrc": "13972:49:17", + "nodeType": "YulVariableDeclaration", + "src": "13972:49:17", + "value": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "14016:4:17", + "nodeType": "YulIdentifier", + "src": "14016:4:17" + } + ], + "functionName": { + "name": "array_dataslot_string_storage", + "nativeSrc": "13986:29:17", + "nodeType": "YulIdentifier", + "src": "13986:29:17" + }, + "nativeSrc": "13986:35:17", + "nodeType": "YulFunctionCall", + "src": "13986:35:17" + }, + "variables": [ + { + "name": "dstPtr", + "nativeSrc": "13976:6:17", + "nodeType": "YulTypedName", + "src": "13976:6:17", + "type": "" + } + ] + }, + { + "nativeSrc": "14034:10:17", + "nodeType": "YulVariableDeclaration", + "src": "14034:10:17", + "value": { + "kind": "number", + "nativeSrc": "14043:1:17", + "nodeType": "YulLiteral", + "src": "14043:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nativeSrc": "14038:1:17", + "nodeType": "YulTypedName", + "src": "14038:1:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "14121:172:17", + "nodeType": "YulBlock", + "src": "14121:172:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "14146:6:17", + "nodeType": "YulIdentifier", + "src": "14146:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "14164:3:17", + "nodeType": "YulIdentifier", + "src": "14164:3:17" + }, + { + "name": "srcOffset", + "nativeSrc": "14169:9:17", + "nodeType": "YulIdentifier", + "src": "14169:9:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14160:3:17", + "nodeType": "YulIdentifier", + "src": "14160:3:17" + }, + "nativeSrc": "14160:19:17", + "nodeType": "YulFunctionCall", + "src": "14160:19:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14154:5:17", + "nodeType": "YulIdentifier", + "src": "14154:5:17" + }, + "nativeSrc": "14154:26:17", + "nodeType": "YulFunctionCall", + "src": "14154:26:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "14139:6:17", + "nodeType": "YulIdentifier", + "src": "14139:6:17" + }, + "nativeSrc": "14139:42:17", + "nodeType": "YulFunctionCall", + "src": "14139:42:17" + }, + "nativeSrc": "14139:42:17", + "nodeType": "YulExpressionStatement", + "src": "14139:42:17" + }, + { + "nativeSrc": "14198:24:17", + "nodeType": "YulAssignment", + "src": "14198:24:17", + "value": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "14212:6:17", + "nodeType": "YulIdentifier", + "src": "14212:6:17" + }, + { + "kind": "number", + "nativeSrc": "14220:1:17", + "nodeType": "YulLiteral", + "src": "14220:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14208:3:17", + "nodeType": "YulIdentifier", + "src": "14208:3:17" + }, + "nativeSrc": "14208:14:17", + "nodeType": "YulFunctionCall", + "src": "14208:14:17" + }, + "variableNames": [ + { + "name": "dstPtr", + "nativeSrc": "14198:6:17", + "nodeType": "YulIdentifier", + "src": "14198:6:17" + } + ] + }, + { + "nativeSrc": "14239:40:17", + "nodeType": "YulAssignment", + "src": "14239:40:17", + "value": { + "arguments": [ + { + "name": "srcOffset", + "nativeSrc": "14256:9:17", + "nodeType": "YulIdentifier", + "src": "14256:9:17" + }, + { + "name": "srcOffset_1", + "nativeSrc": "14267:11:17", + "nodeType": "YulIdentifier", + "src": "14267:11:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14252:3:17", + "nodeType": "YulIdentifier", + "src": "14252:3:17" + }, + "nativeSrc": "14252:27:17", + "nodeType": "YulFunctionCall", + "src": "14252:27:17" + }, + "variableNames": [ + { + "name": "srcOffset", + "nativeSrc": "14239:9:17", + "nodeType": "YulIdentifier", + "src": "14239:9:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nativeSrc": "14068:1:17", + "nodeType": "YulIdentifier", + "src": "14068:1:17" + }, + { + "name": "loopEnd", + "nativeSrc": "14071:7:17", + "nodeType": "YulIdentifier", + "src": "14071:7:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "14065:2:17", + "nodeType": "YulIdentifier", + "src": "14065:2:17" + }, + "nativeSrc": "14065:14:17", + "nodeType": "YulFunctionCall", + "src": "14065:14:17" + }, + "nativeSrc": "14057:236:17", + "nodeType": "YulForLoop", + "post": { + "nativeSrc": "14080:28:17", + "nodeType": "YulBlock", + "src": "14080:28:17", + "statements": [ + { + "nativeSrc": "14082:24:17", + "nodeType": "YulAssignment", + "src": "14082:24:17", + "value": { + "arguments": [ + { + "name": "i", + "nativeSrc": "14091:1:17", + "nodeType": "YulIdentifier", + "src": "14091:1:17" + }, + { + "name": "srcOffset_1", + "nativeSrc": "14094:11:17", + "nodeType": "YulIdentifier", + "src": "14094:11:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14087:3:17", + "nodeType": "YulIdentifier", + "src": "14087:3:17" + }, + "nativeSrc": "14087:19:17", + "nodeType": "YulFunctionCall", + "src": "14087:19:17" + }, + "variableNames": [ + { + "name": "i", + "nativeSrc": "14082:1:17", + "nodeType": "YulIdentifier", + "src": "14082:1:17" + } + ] + } + ] + }, + "pre": { + "nativeSrc": "14061:3:17", + "nodeType": "YulBlock", + "src": "14061:3:17", + "statements": [] + }, + "src": "14057:236:17" + }, + { + "body": { + "nativeSrc": "14341:166:17", + "nodeType": "YulBlock", + "src": "14341:166:17", + "statements": [ + { + "nativeSrc": "14359:43:17", + "nodeType": "YulVariableDeclaration", + "src": "14359:43:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "14386:3:17", + "nodeType": "YulIdentifier", + "src": "14386:3:17" + }, + { + "name": "srcOffset", + "nativeSrc": "14391:9:17", + "nodeType": "YulIdentifier", + "src": "14391:9:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14382:3:17", + "nodeType": "YulIdentifier", + "src": "14382:3:17" + }, + "nativeSrc": "14382:19:17", + "nodeType": "YulFunctionCall", + "src": "14382:19:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14376:5:17", + "nodeType": "YulIdentifier", + "src": "14376:5:17" + }, + "nativeSrc": "14376:26:17", + "nodeType": "YulFunctionCall", + "src": "14376:26:17" + }, + "variables": [ + { + "name": "lastValue", + "nativeSrc": "14363:9:17", + "nodeType": "YulTypedName", + "src": "14363:9:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "dstPtr", + "nativeSrc": "14426:6:17", + "nodeType": "YulIdentifier", + "src": "14426:6:17" + }, + { + "arguments": [ + { + "name": "lastValue", + "nativeSrc": "14438:9:17", + "nodeType": "YulIdentifier", + "src": "14438:9:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14465:1:17", + "nodeType": "YulLiteral", + "src": "14465:1:17", + "type": "", + "value": "3" + }, + { + "name": "newLen", + "nativeSrc": "14468:6:17", + "nodeType": "YulIdentifier", + "src": "14468:6:17" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "14461:3:17", + "nodeType": "YulIdentifier", + "src": "14461:3:17" + }, + "nativeSrc": "14461:14:17", + "nodeType": "YulFunctionCall", + "src": "14461:14:17" + }, + { + "kind": "number", + "nativeSrc": "14477:3:17", + "nodeType": "YulLiteral", + "src": "14477:3:17", + "type": "", + "value": "248" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "14457:3:17", + "nodeType": "YulIdentifier", + "src": "14457:3:17" + }, + "nativeSrc": "14457:24:17", + "nodeType": "YulFunctionCall", + "src": "14457:24:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14487:1:17", + "nodeType": "YulLiteral", + "src": "14487:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "14483:3:17", + "nodeType": "YulIdentifier", + "src": "14483:3:17" + }, + "nativeSrc": "14483:6:17", + "nodeType": "YulFunctionCall", + "src": "14483:6:17" + } + ], + "functionName": { + "name": "shr", + "nativeSrc": "14453:3:17", + "nodeType": "YulIdentifier", + "src": "14453:3:17" + }, + "nativeSrc": "14453:37:17", + "nodeType": "YulFunctionCall", + "src": "14453:37:17" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "14449:3:17", + "nodeType": "YulIdentifier", + "src": "14449:3:17" + }, + "nativeSrc": "14449:42:17", + "nodeType": "YulFunctionCall", + "src": "14449:42:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "14434:3:17", + "nodeType": "YulIdentifier", + "src": "14434:3:17" + }, + "nativeSrc": "14434:58:17", + "nodeType": "YulFunctionCall", + "src": "14434:58:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "14419:6:17", + "nodeType": "YulIdentifier", + "src": "14419:6:17" + }, + "nativeSrc": "14419:74:17", + "nodeType": "YulFunctionCall", + "src": "14419:74:17" + }, + "nativeSrc": "14419:74:17", + "nodeType": "YulExpressionStatement", + "src": "14419:74:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "loopEnd", + "nativeSrc": "14312:7:17", + "nodeType": "YulIdentifier", + "src": "14312:7:17" + }, + { + "name": "newLen", + "nativeSrc": "14321:6:17", + "nodeType": "YulIdentifier", + "src": "14321:6:17" + } + ], + "functionName": { + "name": "lt", + "nativeSrc": "14309:2:17", + "nodeType": "YulIdentifier", + "src": "14309:2:17" + }, + "nativeSrc": "14309:19:17", + "nodeType": "YulFunctionCall", + "src": "14309:19:17" + }, + "nativeSrc": "14306:201:17", + "nodeType": "YulIf", + "src": "14306:201:17" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "14527:4:17", + "nodeType": "YulIdentifier", + "src": "14527:4:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "14541:1:17", + "nodeType": "YulLiteral", + "src": "14541:1:17", + "type": "", + "value": "1" + }, + { + "name": "newLen", + "nativeSrc": "14544:6:17", + "nodeType": "YulIdentifier", + "src": "14544:6:17" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "14537:3:17", + "nodeType": "YulIdentifier", + "src": "14537:3:17" + }, + "nativeSrc": "14537:14:17", + "nodeType": "YulFunctionCall", + "src": "14537:14:17" + }, + { + "kind": "number", + "nativeSrc": "14553:1:17", + "nodeType": "YulLiteral", + "src": "14553:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14533:3:17", + "nodeType": "YulIdentifier", + "src": "14533:3:17" + }, + "nativeSrc": "14533:22:17", + "nodeType": "YulFunctionCall", + "src": "14533:22:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "14520:6:17", + "nodeType": "YulIdentifier", + "src": "14520:6:17" + }, + "nativeSrc": "14520:36:17", + "nodeType": "YulFunctionCall", + "src": "14520:36:17" + }, + "nativeSrc": "14520:36:17", + "nodeType": "YulExpressionStatement", + "src": "14520:36:17" + } + ] + }, + "nativeSrc": "13903:663:17", + "nodeType": "YulCase", + "src": "13903:663:17", + "value": { + "kind": "number", + "nativeSrc": "13908:1:17", + "nodeType": "YulLiteral", + "src": "13908:1:17", + "type": "", + "value": "1" + } + }, + { + "body": { + "nativeSrc": "14583:234:17", + "nodeType": "YulBlock", + "src": "14583:234:17", + "statements": [ + { + "nativeSrc": "14597:14:17", + "nodeType": "YulVariableDeclaration", + "src": "14597:14:17", + "value": { + "kind": "number", + "nativeSrc": "14610:1:17", + "nodeType": "YulLiteral", + "src": "14610:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "value", + "nativeSrc": "14601:5:17", + "nodeType": "YulTypedName", + "src": "14601:5:17", + "type": "" + } + ] + }, + { + "body": { + "nativeSrc": "14646:67:17", + "nodeType": "YulBlock", + "src": "14646:67:17", + "statements": [ + { + "nativeSrc": "14664:35:17", + "nodeType": "YulAssignment", + "src": "14664:35:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nativeSrc": "14683:3:17", + "nodeType": "YulIdentifier", + "src": "14683:3:17" + }, + { + "name": "srcOffset", + "nativeSrc": "14688:9:17", + "nodeType": "YulIdentifier", + "src": "14688:9:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "14679:3:17", + "nodeType": "YulIdentifier", + "src": "14679:3:17" + }, + "nativeSrc": "14679:19:17", + "nodeType": "YulFunctionCall", + "src": "14679:19:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "14673:5:17", + "nodeType": "YulIdentifier", + "src": "14673:5:17" + }, + "nativeSrc": "14673:26:17", + "nodeType": "YulFunctionCall", + "src": "14673:26:17" + }, + "variableNames": [ + { + "name": "value", + "nativeSrc": "14664:5:17", + "nodeType": "YulIdentifier", + "src": "14664:5:17" + } + ] + } + ] + }, + "condition": { + "name": "newLen", + "nativeSrc": "14627:6:17", + "nodeType": "YulIdentifier", + "src": "14627:6:17" + }, + "nativeSrc": "14624:89:17", + "nodeType": "YulIf", + "src": "14624:89:17" + }, + { + "expression": { + "arguments": [ + { + "name": "slot", + "nativeSrc": "14733:4:17", + "nodeType": "YulIdentifier", + "src": "14733:4:17" + }, + { + "arguments": [ + { + "name": "value", + "nativeSrc": "14792:5:17", + "nodeType": "YulIdentifier", + "src": "14792:5:17" + }, + { + "name": "newLen", + "nativeSrc": "14799:6:17", + "nodeType": "YulIdentifier", + "src": "14799:6:17" + } + ], + "functionName": { + "name": "extract_used_part_and_set_length_of_short_byte_array", + "nativeSrc": "14739:52:17", + "nodeType": "YulIdentifier", + "src": "14739:52:17" + }, + "nativeSrc": "14739:67:17", + "nodeType": "YulFunctionCall", + "src": "14739:67:17" + } + ], + "functionName": { + "name": "sstore", + "nativeSrc": "14726:6:17", + "nodeType": "YulIdentifier", + "src": "14726:6:17" + }, + "nativeSrc": "14726:81:17", + "nodeType": "YulFunctionCall", + "src": "14726:81:17" + }, + "nativeSrc": "14726:81:17", + "nodeType": "YulExpressionStatement", + "src": "14726:81:17" + } + ] + }, + "nativeSrc": "14575:242:17", + "nodeType": "YulCase", + "src": "14575:242:17", + "value": "default" + } + ], + "expression": { + "arguments": [ + { + "name": "newLen", + "nativeSrc": "13883:6:17", + "nodeType": "YulIdentifier", + "src": "13883:6:17" + }, + { + "kind": "number", + "nativeSrc": "13891:2:17", + "nodeType": "YulLiteral", + "src": "13891:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "gt", + "nativeSrc": "13880:2:17", + "nodeType": "YulIdentifier", + "src": "13880:2:17" + }, + "nativeSrc": "13880:14:17", + "nodeType": "YulFunctionCall", + "src": "13880:14:17" + }, + "nativeSrc": "13873:944:17", + "nodeType": "YulSwitch", + "src": "13873:944:17" + } + ] + }, + "name": "copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage", + "nativeSrc": "13478:1345:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "slot", + "nativeSrc": "13559:4:17", + "nodeType": "YulTypedName", + "src": "13559:4:17", + "type": "" + }, + { + "name": "src", + "nativeSrc": "13565:3:17", + "nodeType": "YulTypedName", + "src": "13565:3:17", + "type": "" + } + ], + "src": "13478:1345:17" + }, + { + "body": { + "nativeSrc": "15005:185:17", + "nodeType": "YulBlock", + "src": "15005:185:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15022:9:17", + "nodeType": "YulIdentifier", + "src": "15022:9:17" + }, + { + "name": "value0", + "nativeSrc": "15033:6:17", + "nodeType": "YulIdentifier", + "src": "15033:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15015:6:17", + "nodeType": "YulIdentifier", + "src": "15015:6:17" + }, + "nativeSrc": "15015:25:17", + "nodeType": "YulFunctionCall", + "src": "15015:25:17" + }, + "nativeSrc": "15015:25:17", + "nodeType": "YulExpressionStatement", + "src": "15015:25:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15060:9:17", + "nodeType": "YulIdentifier", + "src": "15060:9:17" + }, + { + "kind": "number", + "nativeSrc": "15071:2:17", + "nodeType": "YulLiteral", + "src": "15071:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15056:3:17", + "nodeType": "YulIdentifier", + "src": "15056:3:17" + }, + "nativeSrc": "15056:18:17", + "nodeType": "YulFunctionCall", + "src": "15056:18:17" + }, + { + "name": "value1", + "nativeSrc": "15076:6:17", + "nodeType": "YulIdentifier", + "src": "15076:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15049:6:17", + "nodeType": "YulIdentifier", + "src": "15049:6:17" + }, + "nativeSrc": "15049:34:17", + "nodeType": "YulFunctionCall", + "src": "15049:34:17" + }, + "nativeSrc": "15049:34:17", + "nodeType": "YulExpressionStatement", + "src": "15049:34:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15103:9:17", + "nodeType": "YulIdentifier", + "src": "15103:9:17" + }, + { + "kind": "number", + "nativeSrc": "15114:2:17", + "nodeType": "YulLiteral", + "src": "15114:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15099:3:17", + "nodeType": "YulIdentifier", + "src": "15099:3:17" + }, + "nativeSrc": "15099:18:17", + "nodeType": "YulFunctionCall", + "src": "15099:18:17" + }, + { + "kind": "number", + "nativeSrc": "15119:2:17", + "nodeType": "YulLiteral", + "src": "15119:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15092:6:17", + "nodeType": "YulIdentifier", + "src": "15092:6:17" + }, + "nativeSrc": "15092:30:17", + "nodeType": "YulFunctionCall", + "src": "15092:30:17" + }, + "nativeSrc": "15092:30:17", + "nodeType": "YulExpressionStatement", + "src": "15092:30:17" + }, + { + "nativeSrc": "15131:53:17", + "nodeType": "YulAssignment", + "src": "15131:53:17", + "value": { + "arguments": [ + { + "name": "value2", + "nativeSrc": "15157:6:17", + "nodeType": "YulIdentifier", + "src": "15157:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15169:9:17", + "nodeType": "YulIdentifier", + "src": "15169:9:17" + }, + { + "kind": "number", + "nativeSrc": "15180:2:17", + "nodeType": "YulLiteral", + "src": "15180:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15165:3:17", + "nodeType": "YulIdentifier", + "src": "15165:3:17" + }, + "nativeSrc": "15165:18:17", + "nodeType": "YulFunctionCall", + "src": "15165:18:17" + } + ], + "functionName": { + "name": "abi_encode_string", + "nativeSrc": "15139:17:17", + "nodeType": "YulIdentifier", + "src": "15139:17:17" + }, + "nativeSrc": "15139:45:17", + "nodeType": "YulFunctionCall", + "src": "15139:45:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15131:4:17", + "nodeType": "YulIdentifier", + "src": "15131:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "14828:362:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "14958:9:17", + "nodeType": "YulTypedName", + "src": "14958:9:17", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "14969:6:17", + "nodeType": "YulTypedName", + "src": "14969:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "14977:6:17", + "nodeType": "YulTypedName", + "src": "14977:6:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "14985:6:17", + "nodeType": "YulTypedName", + "src": "14985:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "14996:4:17", + "nodeType": "YulTypedName", + "src": "14996:4:17", + "type": "" + } + ], + "src": "14828:362:17" + }, + { + "body": { + "nativeSrc": "15242:185:17", + "nodeType": "YulBlock", + "src": "15242:185:17", + "statements": [ + { + "body": { + "nativeSrc": "15281:111:17", + "nodeType": "YulBlock", + "src": "15281:111:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15302:1:17", + "nodeType": "YulLiteral", + "src": "15302:1:17", + "type": "", + "value": "0" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15309:3:17", + "nodeType": "YulLiteral", + "src": "15309:3:17", + "type": "", + "value": "224" + }, + { + "kind": "number", + "nativeSrc": "15314:10:17", + "nodeType": "YulLiteral", + "src": "15314:10:17", + "type": "", + "value": "0x4e487b71" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "15305:3:17", + "nodeType": "YulIdentifier", + "src": "15305:3:17" + }, + "nativeSrc": "15305:20:17", + "nodeType": "YulFunctionCall", + "src": "15305:20:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15295:6:17", + "nodeType": "YulIdentifier", + "src": "15295:6:17" + }, + "nativeSrc": "15295:31:17", + "nodeType": "YulFunctionCall", + "src": "15295:31:17" + }, + "nativeSrc": "15295:31:17", + "nodeType": "YulExpressionStatement", + "src": "15295:31:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15346:1:17", + "nodeType": "YulLiteral", + "src": "15346:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nativeSrc": "15349:4:17", + "nodeType": "YulLiteral", + "src": "15349:4:17", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15339:6:17", + "nodeType": "YulIdentifier", + "src": "15339:6:17" + }, + "nativeSrc": "15339:15:17", + "nodeType": "YulFunctionCall", + "src": "15339:15:17" + }, + "nativeSrc": "15339:15:17", + "nodeType": "YulExpressionStatement", + "src": "15339:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15374:1:17", + "nodeType": "YulLiteral", + "src": "15374:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "15377:4:17", + "nodeType": "YulLiteral", + "src": "15377:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "15367:6:17", + "nodeType": "YulIdentifier", + "src": "15367:6:17" + }, + "nativeSrc": "15367:15:17", + "nodeType": "YulFunctionCall", + "src": "15367:15:17" + }, + "nativeSrc": "15367:15:17", + "nodeType": "YulExpressionStatement", + "src": "15367:15:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nativeSrc": "15258:5:17", + "nodeType": "YulIdentifier", + "src": "15258:5:17" + }, + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "15269:1:17", + "nodeType": "YulLiteral", + "src": "15269:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "not", + "nativeSrc": "15265:3:17", + "nodeType": "YulIdentifier", + "src": "15265:3:17" + }, + "nativeSrc": "15265:6:17", + "nodeType": "YulFunctionCall", + "src": "15265:6:17" + } + ], + "functionName": { + "name": "eq", + "nativeSrc": "15255:2:17", + "nodeType": "YulIdentifier", + "src": "15255:2:17" + }, + "nativeSrc": "15255:17:17", + "nodeType": "YulFunctionCall", + "src": "15255:17:17" + }, + "nativeSrc": "15252:140:17", + "nodeType": "YulIf", + "src": "15252:140:17" + }, + { + "nativeSrc": "15401:20:17", + "nodeType": "YulAssignment", + "src": "15401:20:17", + "value": { + "arguments": [ + { + "name": "value", + "nativeSrc": "15412:5:17", + "nodeType": "YulIdentifier", + "src": "15412:5:17" + }, + { + "kind": "number", + "nativeSrc": "15419:1:17", + "nodeType": "YulLiteral", + "src": "15419:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15408:3:17", + "nodeType": "YulIdentifier", + "src": "15408:3:17" + }, + "nativeSrc": "15408:13:17", + "nodeType": "YulFunctionCall", + "src": "15408:13:17" + }, + "variableNames": [ + { + "name": "ret", + "nativeSrc": "15401:3:17", + "nodeType": "YulIdentifier", + "src": "15401:3:17" + } + ] + } + ] + }, + "name": "increment_t_uint256", + "nativeSrc": "15195:232:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nativeSrc": "15224:5:17", + "nodeType": "YulTypedName", + "src": "15224:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nativeSrc": "15234:3:17", + "nodeType": "YulTypedName", + "src": "15234:3:17", + "type": "" + } + ], + "src": "15195:232:17" + }, + { + "body": { + "nativeSrc": "15606:176:17", + "nodeType": "YulBlock", + "src": "15606:176:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15623:9:17", + "nodeType": "YulIdentifier", + "src": "15623:9:17" + }, + { + "kind": "number", + "nativeSrc": "15634:2:17", + "nodeType": "YulLiteral", + "src": "15634:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15616:6:17", + "nodeType": "YulIdentifier", + "src": "15616:6:17" + }, + "nativeSrc": "15616:21:17", + "nodeType": "YulFunctionCall", + "src": "15616:21:17" + }, + "nativeSrc": "15616:21:17", + "nodeType": "YulExpressionStatement", + "src": "15616:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15657:9:17", + "nodeType": "YulIdentifier", + "src": "15657:9:17" + }, + { + "kind": "number", + "nativeSrc": "15668:2:17", + "nodeType": "YulLiteral", + "src": "15668:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15653:3:17", + "nodeType": "YulIdentifier", + "src": "15653:3:17" + }, + "nativeSrc": "15653:18:17", + "nodeType": "YulFunctionCall", + "src": "15653:18:17" + }, + { + "kind": "number", + "nativeSrc": "15673:2:17", + "nodeType": "YulLiteral", + "src": "15673:2:17", + "type": "", + "value": "26" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15646:6:17", + "nodeType": "YulIdentifier", + "src": "15646:6:17" + }, + "nativeSrc": "15646:30:17", + "nodeType": "YulFunctionCall", + "src": "15646:30:17" + }, + "nativeSrc": "15646:30:17", + "nodeType": "YulExpressionStatement", + "src": "15646:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15696:9:17", + "nodeType": "YulIdentifier", + "src": "15696:9:17" + }, + { + "kind": "number", + "nativeSrc": "15707:2:17", + "nodeType": "YulLiteral", + "src": "15707:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15692:3:17", + "nodeType": "YulIdentifier", + "src": "15692:3:17" + }, + "nativeSrc": "15692:18:17", + "nodeType": "YulFunctionCall", + "src": "15692:18:17" + }, + { + "hexValue": "4e6f742074686520697373756572206f6620746865207461736b", + "kind": "string", + "nativeSrc": "15712:28:17", + "nodeType": "YulLiteral", + "src": "15712:28:17", + "type": "", + "value": "Not the issuer of the task" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15685:6:17", + "nodeType": "YulIdentifier", + "src": "15685:6:17" + }, + "nativeSrc": "15685:56:17", + "nodeType": "YulFunctionCall", + "src": "15685:56:17" + }, + "nativeSrc": "15685:56:17", + "nodeType": "YulExpressionStatement", + "src": "15685:56:17" + }, + { + "nativeSrc": "15750:26:17", + "nodeType": "YulAssignment", + "src": "15750:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15762:9:17", + "nodeType": "YulIdentifier", + "src": "15762:9:17" + }, + { + "kind": "number", + "nativeSrc": "15773:2:17", + "nodeType": "YulLiteral", + "src": "15773:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "15758:3:17", + "nodeType": "YulIdentifier", + "src": "15758:3:17" + }, + "nativeSrc": "15758:18:17", + "nodeType": "YulFunctionCall", + "src": "15758:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "15750:4:17", + "nodeType": "YulIdentifier", + "src": "15750:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8b01433edf8e1c1ecc76c5925a92e74cb9845acafce91ff571223021d8950f7c__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "15432:350:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15583:9:17", + "nodeType": "YulTypedName", + "src": "15583:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15597:4:17", + "nodeType": "YulTypedName", + "src": "15597:4:17", + "type": "" + } + ], + "src": "15432:350:17" + }, + { + "body": { + "nativeSrc": "15961:171:17", + "nodeType": "YulBlock", + "src": "15961:171:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "15978:9:17", + "nodeType": "YulIdentifier", + "src": "15978:9:17" + }, + { + "kind": "number", + "nativeSrc": "15989:2:17", + "nodeType": "YulLiteral", + "src": "15989:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "15971:6:17", + "nodeType": "YulIdentifier", + "src": "15971:6:17" + }, + "nativeSrc": "15971:21:17", + "nodeType": "YulFunctionCall", + "src": "15971:21:17" + }, + "nativeSrc": "15971:21:17", + "nodeType": "YulExpressionStatement", + "src": "15971:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16012:9:17", + "nodeType": "YulIdentifier", + "src": "16012:9:17" + }, + { + "kind": "number", + "nativeSrc": "16023:2:17", + "nodeType": "YulLiteral", + "src": "16023:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16008:3:17", + "nodeType": "YulIdentifier", + "src": "16008:3:17" + }, + "nativeSrc": "16008:18:17", + "nodeType": "YulFunctionCall", + "src": "16008:18:17" + }, + { + "kind": "number", + "nativeSrc": "16028:2:17", + "nodeType": "YulLiteral", + "src": "16028:2:17", + "type": "", + "value": "21" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16001:6:17", + "nodeType": "YulIdentifier", + "src": "16001:6:17" + }, + "nativeSrc": "16001:30:17", + "nodeType": "YulFunctionCall", + "src": "16001:30:17" + }, + "nativeSrc": "16001:30:17", + "nodeType": "YulExpressionStatement", + "src": "16001:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16051:9:17", + "nodeType": "YulIdentifier", + "src": "16051:9:17" + }, + { + "kind": "number", + "nativeSrc": "16062:2:17", + "nodeType": "YulLiteral", + "src": "16062:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16047:3:17", + "nodeType": "YulIdentifier", + "src": "16047:3:17" + }, + "nativeSrc": "16047:18:17", + "nodeType": "YulFunctionCall", + "src": "16047:18:17" + }, + { + "hexValue": "5461736b206973206e6f7420636f6d706c65746564", + "kind": "string", + "nativeSrc": "16067:23:17", + "nodeType": "YulLiteral", + "src": "16067:23:17", + "type": "", + "value": "Task is not completed" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16040:6:17", + "nodeType": "YulIdentifier", + "src": "16040:6:17" + }, + "nativeSrc": "16040:51:17", + "nodeType": "YulFunctionCall", + "src": "16040:51:17" + }, + "nativeSrc": "16040:51:17", + "nodeType": "YulExpressionStatement", + "src": "16040:51:17" + }, + { + "nativeSrc": "16100:26:17", + "nodeType": "YulAssignment", + "src": "16100:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16112:9:17", + "nodeType": "YulIdentifier", + "src": "16112:9:17" + }, + { + "kind": "number", + "nativeSrc": "16123:2:17", + "nodeType": "YulLiteral", + "src": "16123:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16108:3:17", + "nodeType": "YulIdentifier", + "src": "16108:3:17" + }, + "nativeSrc": "16108:18:17", + "nodeType": "YulFunctionCall", + "src": "16108:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16100:4:17", + "nodeType": "YulIdentifier", + "src": "16100:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a08755c006bba216d153388cc97acf5e536a500c0ec88cade64bd6b2f0d0e27d__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "15787:345:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "15938:9:17", + "nodeType": "YulTypedName", + "src": "15938:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "15952:4:17", + "nodeType": "YulTypedName", + "src": "15952:4:17", + "type": "" + } + ], + "src": "15787:345:17" + }, + { + "body": { + "nativeSrc": "16311:173:17", + "nodeType": "YulBlock", + "src": "16311:173:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16328:9:17", + "nodeType": "YulIdentifier", + "src": "16328:9:17" + }, + { + "kind": "number", + "nativeSrc": "16339:2:17", + "nodeType": "YulLiteral", + "src": "16339:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16321:6:17", + "nodeType": "YulIdentifier", + "src": "16321:6:17" + }, + "nativeSrc": "16321:21:17", + "nodeType": "YulFunctionCall", + "src": "16321:21:17" + }, + "nativeSrc": "16321:21:17", + "nodeType": "YulExpressionStatement", + "src": "16321:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16362:9:17", + "nodeType": "YulIdentifier", + "src": "16362:9:17" + }, + { + "kind": "number", + "nativeSrc": "16373:2:17", + "nodeType": "YulLiteral", + "src": "16373:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16358:3:17", + "nodeType": "YulIdentifier", + "src": "16358:3:17" + }, + "nativeSrc": "16358:18:17", + "nodeType": "YulFunctionCall", + "src": "16358:18:17" + }, + { + "kind": "number", + "nativeSrc": "16378:2:17", + "nodeType": "YulLiteral", + "src": "16378:2:17", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16351:6:17", + "nodeType": "YulIdentifier", + "src": "16351:6:17" + }, + "nativeSrc": "16351:30:17", + "nodeType": "YulFunctionCall", + "src": "16351:30:17" + }, + "nativeSrc": "16351:30:17", + "nodeType": "YulExpressionStatement", + "src": "16351:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16401:9:17", + "nodeType": "YulIdentifier", + "src": "16401:9:17" + }, + { + "kind": "number", + "nativeSrc": "16412:2:17", + "nodeType": "YulLiteral", + "src": "16412:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16397:3:17", + "nodeType": "YulIdentifier", + "src": "16397:3:17" + }, + "nativeSrc": "16397:18:17", + "nodeType": "YulFunctionCall", + "src": "16397:18:17" + }, + { + "hexValue": "5461736b20676f7420726174696e6720616c7265616479", + "kind": "string", + "nativeSrc": "16417:25:17", + "nodeType": "YulLiteral", + "src": "16417:25:17", + "type": "", + "value": "Task got rating already" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16390:6:17", + "nodeType": "YulIdentifier", + "src": "16390:6:17" + }, + "nativeSrc": "16390:53:17", + "nodeType": "YulFunctionCall", + "src": "16390:53:17" + }, + "nativeSrc": "16390:53:17", + "nodeType": "YulExpressionStatement", + "src": "16390:53:17" + }, + { + "nativeSrc": "16452:26:17", + "nodeType": "YulAssignment", + "src": "16452:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16464:9:17", + "nodeType": "YulIdentifier", + "src": "16464:9:17" + }, + { + "kind": "number", + "nativeSrc": "16475:2:17", + "nodeType": "YulLiteral", + "src": "16475:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16460:3:17", + "nodeType": "YulIdentifier", + "src": "16460:3:17" + }, + "nativeSrc": "16460:18:17", + "nodeType": "YulFunctionCall", + "src": "16460:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16452:4:17", + "nodeType": "YulIdentifier", + "src": "16452:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_306fe74d51ecec7b72bc35613a90b4c93840ded0ff8f63d0daef622fd6053b19__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "16137:347:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16288:9:17", + "nodeType": "YulTypedName", + "src": "16288:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "16302:4:17", + "nodeType": "YulTypedName", + "src": "16302:4:17", + "type": "" + } + ], + "src": "16137:347:17" + }, + { + "body": { + "nativeSrc": "16663:182:17", + "nodeType": "YulBlock", + "src": "16663:182:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16680:9:17", + "nodeType": "YulIdentifier", + "src": "16680:9:17" + }, + { + "kind": "number", + "nativeSrc": "16691:2:17", + "nodeType": "YulLiteral", + "src": "16691:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16673:6:17", + "nodeType": "YulIdentifier", + "src": "16673:6:17" + }, + "nativeSrc": "16673:21:17", + "nodeType": "YulFunctionCall", + "src": "16673:21:17" + }, + "nativeSrc": "16673:21:17", + "nodeType": "YulExpressionStatement", + "src": "16673:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16714:9:17", + "nodeType": "YulIdentifier", + "src": "16714:9:17" + }, + { + "kind": "number", + "nativeSrc": "16725:2:17", + "nodeType": "YulLiteral", + "src": "16725:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16710:3:17", + "nodeType": "YulIdentifier", + "src": "16710:3:17" + }, + "nativeSrc": "16710:18:17", + "nodeType": "YulFunctionCall", + "src": "16710:18:17" + }, + { + "kind": "number", + "nativeSrc": "16730:2:17", + "nodeType": "YulLiteral", + "src": "16730:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16703:6:17", + "nodeType": "YulIdentifier", + "src": "16703:6:17" + }, + "nativeSrc": "16703:30:17", + "nodeType": "YulFunctionCall", + "src": "16703:30:17" + }, + "nativeSrc": "16703:30:17", + "nodeType": "YulExpressionStatement", + "src": "16703:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16753:9:17", + "nodeType": "YulIdentifier", + "src": "16753:9:17" + }, + { + "kind": "number", + "nativeSrc": "16764:2:17", + "nodeType": "YulLiteral", + "src": "16764:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16749:3:17", + "nodeType": "YulIdentifier", + "src": "16749:3:17" + }, + "nativeSrc": "16749:18:17", + "nodeType": "YulFunctionCall", + "src": "16749:18:17" + }, + { + "hexValue": "526174696e67206d757374206265206265747765656e203020616e6420313030", + "kind": "string", + "nativeSrc": "16769:34:17", + "nodeType": "YulLiteral", + "src": "16769:34:17", + "type": "", + "value": "Rating must be between 0 and 100" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "16742:6:17", + "nodeType": "YulIdentifier", + "src": "16742:6:17" + }, + "nativeSrc": "16742:62:17", + "nodeType": "YulFunctionCall", + "src": "16742:62:17" + }, + "nativeSrc": "16742:62:17", + "nodeType": "YulExpressionStatement", + "src": "16742:62:17" + }, + { + "nativeSrc": "16813:26:17", + "nodeType": "YulAssignment", + "src": "16813:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16825:9:17", + "nodeType": "YulIdentifier", + "src": "16825:9:17" + }, + { + "kind": "number", + "nativeSrc": "16836:2:17", + "nodeType": "YulLiteral", + "src": "16836:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16821:3:17", + "nodeType": "YulIdentifier", + "src": "16821:3:17" + }, + "nativeSrc": "16821:18:17", + "nodeType": "YulFunctionCall", + "src": "16821:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16813:4:17", + "nodeType": "YulIdentifier", + "src": "16813:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "16489:356:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16640:9:17", + "nodeType": "YulTypedName", + "src": "16640:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "16654:4:17", + "nodeType": "YulTypedName", + "src": "16654:4:17", + "type": "" + } + ], + "src": "16489:356:17" + }, + { + "body": { + "nativeSrc": "16977:156:17", + "nodeType": "YulBlock", + "src": "16977:156:17", + "statements": [ + { + "nativeSrc": "16987:26:17", + "nodeType": "YulAssignment", + "src": "16987:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "16999:9:17", + "nodeType": "YulIdentifier", + "src": "16999:9:17" + }, + { + "kind": "number", + "nativeSrc": "17010:2:17", + "nodeType": "YulLiteral", + "src": "17010:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "16995:3:17", + "nodeType": "YulIdentifier", + "src": "16995:3:17" + }, + "nativeSrc": "16995:18:17", + "nodeType": "YulFunctionCall", + "src": "16995:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "16987:4:17", + "nodeType": "YulIdentifier", + "src": "16987:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17029:9:17", + "nodeType": "YulIdentifier", + "src": "17029:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "17044:6:17", + "nodeType": "YulIdentifier", + "src": "17044:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "17060:3:17", + "nodeType": "YulLiteral", + "src": "17060:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "17065:1:17", + "nodeType": "YulLiteral", + "src": "17065:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "17056:3:17", + "nodeType": "YulIdentifier", + "src": "17056:3:17" + }, + "nativeSrc": "17056:11:17", + "nodeType": "YulFunctionCall", + "src": "17056:11:17" + }, + { + "kind": "number", + "nativeSrc": "17069:1:17", + "nodeType": "YulLiteral", + "src": "17069:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17052:3:17", + "nodeType": "YulIdentifier", + "src": "17052:3:17" + }, + "nativeSrc": "17052:19:17", + "nodeType": "YulFunctionCall", + "src": "17052:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "17040:3:17", + "nodeType": "YulIdentifier", + "src": "17040:3:17" + }, + "nativeSrc": "17040:32:17", + "nodeType": "YulFunctionCall", + "src": "17040:32:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17022:6:17", + "nodeType": "YulIdentifier", + "src": "17022:6:17" + }, + "nativeSrc": "17022:51:17", + "nodeType": "YulFunctionCall", + "src": "17022:51:17" + }, + "nativeSrc": "17022:51:17", + "nodeType": "YulExpressionStatement", + "src": "17022:51:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17093:9:17", + "nodeType": "YulIdentifier", + "src": "17093:9:17" + }, + { + "kind": "number", + "nativeSrc": "17104:2:17", + "nodeType": "YulLiteral", + "src": "17104:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17089:3:17", + "nodeType": "YulIdentifier", + "src": "17089:3:17" + }, + "nativeSrc": "17089:18:17", + "nodeType": "YulFunctionCall", + "src": "17089:18:17" + }, + { + "arguments": [ + { + "name": "value1", + "nativeSrc": "17113:6:17", + "nodeType": "YulIdentifier", + "src": "17113:6:17" + }, + { + "kind": "number", + "nativeSrc": "17121:4:17", + "nodeType": "YulLiteral", + "src": "17121:4:17", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "17109:3:17", + "nodeType": "YulIdentifier", + "src": "17109:3:17" + }, + "nativeSrc": "17109:17:17", + "nodeType": "YulFunctionCall", + "src": "17109:17:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17082:6:17", + "nodeType": "YulIdentifier", + "src": "17082:6:17" + }, + "nativeSrc": "17082:45:17", + "nodeType": "YulFunctionCall", + "src": "17082:45:17" + }, + "nativeSrc": "17082:45:17", + "nodeType": "YulExpressionStatement", + "src": "17082:45:17" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint256__fromStack_reversed", + "nativeSrc": "16850:283:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "16938:9:17", + "nodeType": "YulTypedName", + "src": "16938:9:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "16949:6:17", + "nodeType": "YulTypedName", + "src": "16949:6:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "16957:6:17", + "nodeType": "YulTypedName", + "src": "16957:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "16968:4:17", + "nodeType": "YulTypedName", + "src": "16968:4:17", + "type": "" + } + ], + "src": "16850:283:17" + }, + { + "body": { + "nativeSrc": "17219:103:17", + "nodeType": "YulBlock", + "src": "17219:103:17", + "statements": [ + { + "body": { + "nativeSrc": "17265:16:17", + "nodeType": "YulBlock", + "src": "17265:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "17274:1:17", + "nodeType": "YulLiteral", + "src": "17274:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "17277:1:17", + "nodeType": "YulLiteral", + "src": "17277:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "17267:6:17", + "nodeType": "YulIdentifier", + "src": "17267:6:17" + }, + "nativeSrc": "17267:12:17", + "nodeType": "YulFunctionCall", + "src": "17267:12:17" + }, + "nativeSrc": "17267:12:17", + "nodeType": "YulExpressionStatement", + "src": "17267:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "17240:7:17", + "nodeType": "YulIdentifier", + "src": "17240:7:17" + }, + { + "name": "headStart", + "nativeSrc": "17249:9:17", + "nodeType": "YulIdentifier", + "src": "17249:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "17236:3:17", + "nodeType": "YulIdentifier", + "src": "17236:3:17" + }, + "nativeSrc": "17236:23:17", + "nodeType": "YulFunctionCall", + "src": "17236:23:17" + }, + { + "kind": "number", + "nativeSrc": "17261:2:17", + "nodeType": "YulLiteral", + "src": "17261:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "17232:3:17", + "nodeType": "YulIdentifier", + "src": "17232:3:17" + }, + "nativeSrc": "17232:32:17", + "nodeType": "YulFunctionCall", + "src": "17232:32:17" + }, + "nativeSrc": "17229:52:17", + "nodeType": "YulIf", + "src": "17229:52:17" + }, + { + "nativeSrc": "17290:26:17", + "nodeType": "YulAssignment", + "src": "17290:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17306:9:17", + "nodeType": "YulIdentifier", + "src": "17306:9:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "17300:5:17", + "nodeType": "YulIdentifier", + "src": "17300:5:17" + }, + "nativeSrc": "17300:16:17", + "nodeType": "YulFunctionCall", + "src": "17300:16:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "17290:6:17", + "nodeType": "YulIdentifier", + "src": "17290:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nativeSrc": "17138:184:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17185:9:17", + "nodeType": "YulTypedName", + "src": "17185:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "17196:7:17", + "nodeType": "YulTypedName", + "src": "17196:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "17208:6:17", + "nodeType": "YulTypedName", + "src": "17208:6:17", + "type": "" + } + ], + "src": "17138:184:17" + }, + { + "body": { + "nativeSrc": "17424:87:17", + "nodeType": "YulBlock", + "src": "17424:87:17", + "statements": [ + { + "nativeSrc": "17434:26:17", + "nodeType": "YulAssignment", + "src": "17434:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17446:9:17", + "nodeType": "YulIdentifier", + "src": "17446:9:17" + }, + { + "kind": "number", + "nativeSrc": "17457:2:17", + "nodeType": "YulLiteral", + "src": "17457:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17442:3:17", + "nodeType": "YulIdentifier", + "src": "17442:3:17" + }, + "nativeSrc": "17442:18:17", + "nodeType": "YulFunctionCall", + "src": "17442:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17434:4:17", + "nodeType": "YulIdentifier", + "src": "17434:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17476:9:17", + "nodeType": "YulIdentifier", + "src": "17476:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "17491:6:17", + "nodeType": "YulIdentifier", + "src": "17491:6:17" + }, + { + "kind": "number", + "nativeSrc": "17499:4:17", + "nodeType": "YulLiteral", + "src": "17499:4:17", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "17487:3:17", + "nodeType": "YulIdentifier", + "src": "17487:3:17" + }, + "nativeSrc": "17487:17:17", + "nodeType": "YulFunctionCall", + "src": "17487:17:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17469:6:17", + "nodeType": "YulIdentifier", + "src": "17469:6:17" + }, + "nativeSrc": "17469:36:17", + "nodeType": "YulFunctionCall", + "src": "17469:36:17" + }, + "nativeSrc": "17469:36:17", + "nodeType": "YulExpressionStatement", + "src": "17469:36:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", + "nativeSrc": "17327:184:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17393:9:17", + "nodeType": "YulTypedName", + "src": "17393:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "17404:6:17", + "nodeType": "YulTypedName", + "src": "17404:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "17415:4:17", + "nodeType": "YulTypedName", + "src": "17415:4:17", + "type": "" + } + ], + "src": "17327:184:17" + }, + { + "body": { + "nativeSrc": "17690:164:17", + "nodeType": "YulBlock", + "src": "17690:164:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17707:9:17", + "nodeType": "YulIdentifier", + "src": "17707:9:17" + }, + { + "kind": "number", + "nativeSrc": "17718:2:17", + "nodeType": "YulLiteral", + "src": "17718:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17700:6:17", + "nodeType": "YulIdentifier", + "src": "17700:6:17" + }, + "nativeSrc": "17700:21:17", + "nodeType": "YulFunctionCall", + "src": "17700:21:17" + }, + "nativeSrc": "17700:21:17", + "nodeType": "YulExpressionStatement", + "src": "17700:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17741:9:17", + "nodeType": "YulIdentifier", + "src": "17741:9:17" + }, + { + "kind": "number", + "nativeSrc": "17752:2:17", + "nodeType": "YulLiteral", + "src": "17752:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17737:3:17", + "nodeType": "YulIdentifier", + "src": "17737:3:17" + }, + "nativeSrc": "17737:18:17", + "nodeType": "YulFunctionCall", + "src": "17737:18:17" + }, + { + "kind": "number", + "nativeSrc": "17757:2:17", + "nodeType": "YulLiteral", + "src": "17757:2:17", + "type": "", + "value": "14" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17730:6:17", + "nodeType": "YulIdentifier", + "src": "17730:6:17" + }, + "nativeSrc": "17730:30:17", + "nodeType": "YulFunctionCall", + "src": "17730:30:17" + }, + "nativeSrc": "17730:30:17", + "nodeType": "YulExpressionStatement", + "src": "17730:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17780:9:17", + "nodeType": "YulIdentifier", + "src": "17780:9:17" + }, + { + "kind": "number", + "nativeSrc": "17791:2:17", + "nodeType": "YulLiteral", + "src": "17791:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17776:3:17", + "nodeType": "YulIdentifier", + "src": "17776:3:17" + }, + "nativeSrc": "17776:18:17", + "nodeType": "YulFunctionCall", + "src": "17776:18:17" + }, + { + "hexValue": "4e6f7420617574686f72697a6564", + "kind": "string", + "nativeSrc": "17796:16:17", + "nodeType": "YulLiteral", + "src": "17796:16:17", + "type": "", + "value": "Not authorized" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "17769:6:17", + "nodeType": "YulIdentifier", + "src": "17769:6:17" + }, + "nativeSrc": "17769:44:17", + "nodeType": "YulFunctionCall", + "src": "17769:44:17" + }, + "nativeSrc": "17769:44:17", + "nodeType": "YulExpressionStatement", + "src": "17769:44:17" + }, + { + "nativeSrc": "17822:26:17", + "nodeType": "YulAssignment", + "src": "17822:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "17834:9:17", + "nodeType": "YulIdentifier", + "src": "17834:9:17" + }, + { + "kind": "number", + "nativeSrc": "17845:2:17", + "nodeType": "YulLiteral", + "src": "17845:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "17830:3:17", + "nodeType": "YulIdentifier", + "src": "17830:3:17" + }, + "nativeSrc": "17830:18:17", + "nodeType": "YulFunctionCall", + "src": "17830:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "17822:4:17", + "nodeType": "YulIdentifier", + "src": "17822:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "17516:338:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "17667:9:17", + "nodeType": "YulTypedName", + "src": "17667:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "17681:4:17", + "nodeType": "YulTypedName", + "src": "17681:4:17", + "type": "" + } + ], + "src": "17516:338:17" + }, + { + "body": { + "nativeSrc": "18033:169:17", + "nodeType": "YulBlock", + "src": "18033:169:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18050:9:17", + "nodeType": "YulIdentifier", + "src": "18050:9:17" + }, + { + "kind": "number", + "nativeSrc": "18061:2:17", + "nodeType": "YulLiteral", + "src": "18061:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18043:6:17", + "nodeType": "YulIdentifier", + "src": "18043:6:17" + }, + "nativeSrc": "18043:21:17", + "nodeType": "YulFunctionCall", + "src": "18043:21:17" + }, + "nativeSrc": "18043:21:17", + "nodeType": "YulExpressionStatement", + "src": "18043:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18084:9:17", + "nodeType": "YulIdentifier", + "src": "18084:9:17" + }, + { + "kind": "number", + "nativeSrc": "18095:2:17", + "nodeType": "YulLiteral", + "src": "18095:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18080:3:17", + "nodeType": "YulIdentifier", + "src": "18080:3:17" + }, + "nativeSrc": "18080:18:17", + "nodeType": "YulFunctionCall", + "src": "18080:18:17" + }, + { + "kind": "number", + "nativeSrc": "18100:2:17", + "nodeType": "YulLiteral", + "src": "18100:2:17", + "type": "", + "value": "19" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18073:6:17", + "nodeType": "YulIdentifier", + "src": "18073:6:17" + }, + "nativeSrc": "18073:30:17", + "nodeType": "YulFunctionCall", + "src": "18073:30:17" + }, + "nativeSrc": "18073:30:17", + "nodeType": "YulExpressionStatement", + "src": "18073:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18123:9:17", + "nodeType": "YulIdentifier", + "src": "18123:9:17" + }, + { + "kind": "number", + "nativeSrc": "18134:2:17", + "nodeType": "YulLiteral", + "src": "18134:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18119:3:17", + "nodeType": "YulIdentifier", + "src": "18119:3:17" + }, + "nativeSrc": "18119:18:17", + "nodeType": "YulFunctionCall", + "src": "18119:18:17" + }, + { + "hexValue": "496e76616c6964207461736b20737461747573", + "kind": "string", + "nativeSrc": "18139:21:17", + "nodeType": "YulLiteral", + "src": "18139:21:17", + "type": "", + "value": "Invalid task status" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18112:6:17", + "nodeType": "YulIdentifier", + "src": "18112:6:17" + }, + "nativeSrc": "18112:49:17", + "nodeType": "YulFunctionCall", + "src": "18112:49:17" + }, + "nativeSrc": "18112:49:17", + "nodeType": "YulExpressionStatement", + "src": "18112:49:17" + }, + { + "nativeSrc": "18170:26:17", + "nodeType": "YulAssignment", + "src": "18170:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18182:9:17", + "nodeType": "YulIdentifier", + "src": "18182:9:17" + }, + { + "kind": "number", + "nativeSrc": "18193:2:17", + "nodeType": "YulLiteral", + "src": "18193:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18178:3:17", + "nodeType": "YulIdentifier", + "src": "18178:3:17" + }, + "nativeSrc": "18178:18:17", + "nodeType": "YulFunctionCall", + "src": "18178:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18170:4:17", + "nodeType": "YulIdentifier", + "src": "18170:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_35c761622bcc8ab75f9adfaf21a4872a39cd06f2745d5488272d29f1f753f270__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "17859:343:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18010:9:17", + "nodeType": "YulTypedName", + "src": "18010:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18024:4:17", + "nodeType": "YulTypedName", + "src": "18024:4:17", + "type": "" + } + ], + "src": "17859:343:17" + }, + { + "body": { + "nativeSrc": "18381:173:17", + "nodeType": "YulBlock", + "src": "18381:173:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18398:9:17", + "nodeType": "YulIdentifier", + "src": "18398:9:17" + }, + { + "kind": "number", + "nativeSrc": "18409:2:17", + "nodeType": "YulLiteral", + "src": "18409:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18391:6:17", + "nodeType": "YulIdentifier", + "src": "18391:6:17" + }, + "nativeSrc": "18391:21:17", + "nodeType": "YulFunctionCall", + "src": "18391:21:17" + }, + "nativeSrc": "18391:21:17", + "nodeType": "YulExpressionStatement", + "src": "18391:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18432:9:17", + "nodeType": "YulIdentifier", + "src": "18432:9:17" + }, + { + "kind": "number", + "nativeSrc": "18443:2:17", + "nodeType": "YulLiteral", + "src": "18443:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18428:3:17", + "nodeType": "YulIdentifier", + "src": "18428:3:17" + }, + "nativeSrc": "18428:18:17", + "nodeType": "YulFunctionCall", + "src": "18428:18:17" + }, + { + "kind": "number", + "nativeSrc": "18448:2:17", + "nodeType": "YulLiteral", + "src": "18448:2:17", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18421:6:17", + "nodeType": "YulIdentifier", + "src": "18421:6:17" + }, + "nativeSrc": "18421:30:17", + "nodeType": "YulFunctionCall", + "src": "18421:30:17" + }, + "nativeSrc": "18421:30:17", + "nodeType": "YulExpressionStatement", + "src": "18421:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18471:9:17", + "nodeType": "YulIdentifier", + "src": "18471:9:17" + }, + { + "kind": "number", + "nativeSrc": "18482:2:17", + "nodeType": "YulLiteral", + "src": "18482:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18467:3:17", + "nodeType": "YulIdentifier", + "src": "18467:3:17" + }, + "nativeSrc": "18467:18:17", + "nodeType": "YulFunctionCall", + "src": "18467:18:17" + }, + { + "hexValue": "5461736b2063616e6e6f742062652063616e63656c6564", + "kind": "string", + "nativeSrc": "18487:25:17", + "nodeType": "YulLiteral", + "src": "18487:25:17", + "type": "", + "value": "Task cannot be canceled" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18460:6:17", + "nodeType": "YulIdentifier", + "src": "18460:6:17" + }, + "nativeSrc": "18460:53:17", + "nodeType": "YulFunctionCall", + "src": "18460:53:17" + }, + "nativeSrc": "18460:53:17", + "nodeType": "YulExpressionStatement", + "src": "18460:53:17" + }, + { + "nativeSrc": "18522:26:17", + "nodeType": "YulAssignment", + "src": "18522:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18534:9:17", + "nodeType": "YulIdentifier", + "src": "18534:9:17" + }, + { + "kind": "number", + "nativeSrc": "18545:2:17", + "nodeType": "YulLiteral", + "src": "18545:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18530:3:17", + "nodeType": "YulIdentifier", + "src": "18530:3:17" + }, + "nativeSrc": "18530:18:17", + "nodeType": "YulFunctionCall", + "src": "18530:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18522:4:17", + "nodeType": "YulIdentifier", + "src": "18522:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_784e567ba03dff6623f8e7bbee52b701bfd622c294c48e22d5da37cfabe25ac0__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "18207:347:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18358:9:17", + "nodeType": "YulTypedName", + "src": "18358:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18372:4:17", + "nodeType": "YulTypedName", + "src": "18372:4:17", + "type": "" + } + ], + "src": "18207:347:17" + }, + { + "body": { + "nativeSrc": "18667:101:17", + "nodeType": "YulBlock", + "src": "18667:101:17", + "statements": [ + { + "nativeSrc": "18677:26:17", + "nodeType": "YulAssignment", + "src": "18677:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18689:9:17", + "nodeType": "YulIdentifier", + "src": "18689:9:17" + }, + { + "kind": "number", + "nativeSrc": "18700:2:17", + "nodeType": "YulLiteral", + "src": "18700:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18685:3:17", + "nodeType": "YulIdentifier", + "src": "18685:3:17" + }, + "nativeSrc": "18685:18:17", + "nodeType": "YulFunctionCall", + "src": "18685:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18677:4:17", + "nodeType": "YulIdentifier", + "src": "18677:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18719:9:17", + "nodeType": "YulIdentifier", + "src": "18719:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "18734:6:17", + "nodeType": "YulIdentifier", + "src": "18734:6:17" + }, + { + "kind": "number", + "nativeSrc": "18742:18:17", + "nodeType": "YulLiteral", + "src": "18742:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "18730:3:17", + "nodeType": "YulIdentifier", + "src": "18730:3:17" + }, + "nativeSrc": "18730:31:17", + "nodeType": "YulFunctionCall", + "src": "18730:31:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "18712:6:17", + "nodeType": "YulIdentifier", + "src": "18712:6:17" + }, + "nativeSrc": "18712:50:17", + "nodeType": "YulFunctionCall", + "src": "18712:50:17" + }, + "nativeSrc": "18712:50:17", + "nodeType": "YulExpressionStatement", + "src": "18712:50:17" + } + ] + }, + "name": "abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed", + "nativeSrc": "18559:209:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18636:9:17", + "nodeType": "YulTypedName", + "src": "18636:9:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "18647:6:17", + "nodeType": "YulTypedName", + "src": "18647:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18658:4:17", + "nodeType": "YulTypedName", + "src": "18658:4:17", + "type": "" + } + ], + "src": "18559:209:17" + }, + { + "body": { + "nativeSrc": "18930:218:17", + "nodeType": "YulBlock", + "src": "18930:218:17", + "statements": [ + { + "nativeSrc": "18940:26:17", + "nodeType": "YulAssignment", + "src": "18940:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "18952:9:17", + "nodeType": "YulIdentifier", + "src": "18952:9:17" + }, + { + "kind": "number", + "nativeSrc": "18963:2:17", + "nodeType": "YulLiteral", + "src": "18963:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "18948:3:17", + "nodeType": "YulIdentifier", + "src": "18948:3:17" + }, + "nativeSrc": "18948:18:17", + "nodeType": "YulFunctionCall", + "src": "18948:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "18940:4:17", + "nodeType": "YulIdentifier", + "src": "18940:4:17" + } + ] + }, + { + "nativeSrc": "18975:29:17", + "nodeType": "YulVariableDeclaration", + "src": "18975:29:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "18993:3:17", + "nodeType": "YulLiteral", + "src": "18993:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "18998:1:17", + "nodeType": "YulLiteral", + "src": "18998:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "18989:3:17", + "nodeType": "YulIdentifier", + "src": "18989:3:17" + }, + "nativeSrc": "18989:11:17", + "nodeType": "YulFunctionCall", + "src": "18989:11:17" + }, + { + "kind": "number", + "nativeSrc": "19002:1:17", + "nodeType": "YulLiteral", + "src": "19002:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "18985:3:17", + "nodeType": "YulIdentifier", + "src": "18985:3:17" + }, + "nativeSrc": "18985:19:17", + "nodeType": "YulFunctionCall", + "src": "18985:19:17" + }, + "variables": [ + { + "name": "_1", + "nativeSrc": "18979:2:17", + "nodeType": "YulTypedName", + "src": "18979:2:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19020:9:17", + "nodeType": "YulIdentifier", + "src": "19020:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "19035:6:17", + "nodeType": "YulIdentifier", + "src": "19035:6:17" + }, + { + "name": "_1", + "nativeSrc": "19043:2:17", + "nodeType": "YulIdentifier", + "src": "19043:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "19031:3:17", + "nodeType": "YulIdentifier", + "src": "19031:3:17" + }, + "nativeSrc": "19031:15:17", + "nodeType": "YulFunctionCall", + "src": "19031:15:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19013:6:17", + "nodeType": "YulIdentifier", + "src": "19013:6:17" + }, + "nativeSrc": "19013:34:17", + "nodeType": "YulFunctionCall", + "src": "19013:34:17" + }, + "nativeSrc": "19013:34:17", + "nodeType": "YulExpressionStatement", + "src": "19013:34:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19067:9:17", + "nodeType": "YulIdentifier", + "src": "19067:9:17" + }, + { + "kind": "number", + "nativeSrc": "19078:2:17", + "nodeType": "YulLiteral", + "src": "19078:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19063:3:17", + "nodeType": "YulIdentifier", + "src": "19063:3:17" + }, + "nativeSrc": "19063:18:17", + "nodeType": "YulFunctionCall", + "src": "19063:18:17" + }, + { + "arguments": [ + { + "name": "value1", + "nativeSrc": "19087:6:17", + "nodeType": "YulIdentifier", + "src": "19087:6:17" + }, + { + "name": "_1", + "nativeSrc": "19095:2:17", + "nodeType": "YulIdentifier", + "src": "19095:2:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "19083:3:17", + "nodeType": "YulIdentifier", + "src": "19083:3:17" + }, + "nativeSrc": "19083:15:17", + "nodeType": "YulFunctionCall", + "src": "19083:15:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19056:6:17", + "nodeType": "YulIdentifier", + "src": "19056:6:17" + }, + "nativeSrc": "19056:43:17", + "nodeType": "YulFunctionCall", + "src": "19056:43:17" + }, + "nativeSrc": "19056:43:17", + "nodeType": "YulExpressionStatement", + "src": "19056:43:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19119:9:17", + "nodeType": "YulIdentifier", + "src": "19119:9:17" + }, + { + "kind": "number", + "nativeSrc": "19130:2:17", + "nodeType": "YulLiteral", + "src": "19130:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19115:3:17", + "nodeType": "YulIdentifier", + "src": "19115:3:17" + }, + "nativeSrc": "19115:18:17", + "nodeType": "YulFunctionCall", + "src": "19115:18:17" + }, + { + "name": "value2", + "nativeSrc": "19135:6:17", + "nodeType": "YulIdentifier", + "src": "19135:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19108:6:17", + "nodeType": "YulIdentifier", + "src": "19108:6:17" + }, + "nativeSrc": "19108:34:17", + "nodeType": "YulFunctionCall", + "src": "19108:34:17" + }, + "nativeSrc": "19108:34:17", + "nodeType": "YulExpressionStatement", + "src": "19108:34:17" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed", + "nativeSrc": "18773:375:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "18883:9:17", + "nodeType": "YulTypedName", + "src": "18883:9:17", + "type": "" + }, + { + "name": "value2", + "nativeSrc": "18894:6:17", + "nodeType": "YulTypedName", + "src": "18894:6:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "18902:6:17", + "nodeType": "YulTypedName", + "src": "18902:6:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "18910:6:17", + "nodeType": "YulTypedName", + "src": "18910:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "18921:4:17", + "nodeType": "YulTypedName", + "src": "18921:4:17", + "type": "" + } + ], + "src": "18773:375:17" + }, + { + "body": { + "nativeSrc": "19290:150:17", + "nodeType": "YulBlock", + "src": "19290:150:17", + "statements": [ + { + "nativeSrc": "19300:27:17", + "nodeType": "YulVariableDeclaration", + "src": "19300:27:17", + "value": { + "arguments": [ + { + "name": "value0", + "nativeSrc": "19320:6:17", + "nodeType": "YulIdentifier", + "src": "19320:6:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "19314:5:17", + "nodeType": "YulIdentifier", + "src": "19314:5:17" + }, + "nativeSrc": "19314:13:17", + "nodeType": "YulFunctionCall", + "src": "19314:13:17" + }, + "variables": [ + { + "name": "length", + "nativeSrc": "19304:6:17", + "nodeType": "YulTypedName", + "src": "19304:6:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "19375:6:17", + "nodeType": "YulIdentifier", + "src": "19375:6:17" + }, + { + "kind": "number", + "nativeSrc": "19383:4:17", + "nodeType": "YulLiteral", + "src": "19383:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19371:3:17", + "nodeType": "YulIdentifier", + "src": "19371:3:17" + }, + "nativeSrc": "19371:17:17", + "nodeType": "YulFunctionCall", + "src": "19371:17:17" + }, + { + "name": "pos", + "nativeSrc": "19390:3:17", + "nodeType": "YulIdentifier", + "src": "19390:3:17" + }, + { + "name": "length", + "nativeSrc": "19395:6:17", + "nodeType": "YulIdentifier", + "src": "19395:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory_with_cleanup", + "nativeSrc": "19336:34:17", + "nodeType": "YulIdentifier", + "src": "19336:34:17" + }, + "nativeSrc": "19336:66:17", + "nodeType": "YulFunctionCall", + "src": "19336:66:17" + }, + "nativeSrc": "19336:66:17", + "nodeType": "YulExpressionStatement", + "src": "19336:66:17" + }, + { + "nativeSrc": "19411:23:17", + "nodeType": "YulAssignment", + "src": "19411:23:17", + "value": { + "arguments": [ + { + "name": "pos", + "nativeSrc": "19422:3:17", + "nodeType": "YulIdentifier", + "src": "19422:3:17" + }, + { + "name": "length", + "nativeSrc": "19427:6:17", + "nodeType": "YulIdentifier", + "src": "19427:6:17" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19418:3:17", + "nodeType": "YulIdentifier", + "src": "19418:3:17" + }, + "nativeSrc": "19418:16:17", + "nodeType": "YulFunctionCall", + "src": "19418:16:17" + }, + "variableNames": [ + { + "name": "end", + "nativeSrc": "19411:3:17", + "nodeType": "YulIdentifier", + "src": "19411:3:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_bytes_memory_ptr__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nativeSrc": "19153:287:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nativeSrc": "19266:3:17", + "nodeType": "YulTypedName", + "src": "19266:3:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "19271:6:17", + "nodeType": "YulTypedName", + "src": "19271:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nativeSrc": "19282:3:17", + "nodeType": "YulTypedName", + "src": "19282:3:17", + "type": "" + } + ], + "src": "19153:287:17" + }, + { + "body": { + "nativeSrc": "19523:124:17", + "nodeType": "YulBlock", + "src": "19523:124:17", + "statements": [ + { + "body": { + "nativeSrc": "19569:16:17", + "nodeType": "YulBlock", + "src": "19569:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "19578:1:17", + "nodeType": "YulLiteral", + "src": "19578:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "19581:1:17", + "nodeType": "YulLiteral", + "src": "19581:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "19571:6:17", + "nodeType": "YulIdentifier", + "src": "19571:6:17" + }, + "nativeSrc": "19571:12:17", + "nodeType": "YulFunctionCall", + "src": "19571:12:17" + }, + "nativeSrc": "19571:12:17", + "nodeType": "YulExpressionStatement", + "src": "19571:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "19544:7:17", + "nodeType": "YulIdentifier", + "src": "19544:7:17" + }, + { + "name": "headStart", + "nativeSrc": "19553:9:17", + "nodeType": "YulIdentifier", + "src": "19553:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "19540:3:17", + "nodeType": "YulIdentifier", + "src": "19540:3:17" + }, + "nativeSrc": "19540:23:17", + "nodeType": "YulFunctionCall", + "src": "19540:23:17" + }, + { + "kind": "number", + "nativeSrc": "19565:2:17", + "nodeType": "YulLiteral", + "src": "19565:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "19536:3:17", + "nodeType": "YulIdentifier", + "src": "19536:3:17" + }, + "nativeSrc": "19536:32:17", + "nodeType": "YulFunctionCall", + "src": "19536:32:17" + }, + "nativeSrc": "19533:52:17", + "nodeType": "YulIf", + "src": "19533:52:17" + }, + { + "nativeSrc": "19594:47:17", + "nodeType": "YulAssignment", + "src": "19594:47:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19631:9:17", + "nodeType": "YulIdentifier", + "src": "19631:9:17" + } + ], + "functionName": { + "name": "abi_decode_bool_fromMemory", + "nativeSrc": "19604:26:17", + "nodeType": "YulIdentifier", + "src": "19604:26:17" + }, + "nativeSrc": "19604:37:17", + "nodeType": "YulFunctionCall", + "src": "19604:37:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "19594:6:17", + "nodeType": "YulIdentifier", + "src": "19594:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nativeSrc": "19445:202:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "19489:9:17", + "nodeType": "YulTypedName", + "src": "19489:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "19500:7:17", + "nodeType": "YulTypedName", + "src": "19500:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "19512:6:17", + "nodeType": "YulTypedName", + "src": "19512:6:17", + "type": "" + } + ], + "src": "19445:202:17" + }, + { + "body": { + "nativeSrc": "19826:239:17", + "nodeType": "YulBlock", + "src": "19826:239:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19843:9:17", + "nodeType": "YulIdentifier", + "src": "19843:9:17" + }, + { + "kind": "number", + "nativeSrc": "19854:2:17", + "nodeType": "YulLiteral", + "src": "19854:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19836:6:17", + "nodeType": "YulIdentifier", + "src": "19836:6:17" + }, + "nativeSrc": "19836:21:17", + "nodeType": "YulFunctionCall", + "src": "19836:21:17" + }, + "nativeSrc": "19836:21:17", + "nodeType": "YulExpressionStatement", + "src": "19836:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19877:9:17", + "nodeType": "YulIdentifier", + "src": "19877:9:17" + }, + { + "kind": "number", + "nativeSrc": "19888:2:17", + "nodeType": "YulLiteral", + "src": "19888:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19873:3:17", + "nodeType": "YulIdentifier", + "src": "19873:3:17" + }, + "nativeSrc": "19873:18:17", + "nodeType": "YulFunctionCall", + "src": "19873:18:17" + }, + { + "kind": "number", + "nativeSrc": "19893:2:17", + "nodeType": "YulLiteral", + "src": "19893:2:17", + "type": "", + "value": "49" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19866:6:17", + "nodeType": "YulIdentifier", + "src": "19866:6:17" + }, + "nativeSrc": "19866:30:17", + "nodeType": "YulFunctionCall", + "src": "19866:30:17" + }, + "nativeSrc": "19866:30:17", + "nodeType": "YulExpressionStatement", + "src": "19866:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19916:9:17", + "nodeType": "YulIdentifier", + "src": "19916:9:17" + }, + { + "kind": "number", + "nativeSrc": "19927:2:17", + "nodeType": "YulLiteral", + "src": "19927:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19912:3:17", + "nodeType": "YulIdentifier", + "src": "19912:3:17" + }, + "nativeSrc": "19912:18:17", + "nodeType": "YulFunctionCall", + "src": "19912:18:17" + }, + { + "hexValue": "5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472", + "kind": "string", + "nativeSrc": "19932:34:17", + "nodeType": "YulLiteral", + "src": "19932:34:17", + "type": "", + "value": "TransferHelper::transferFrom: tr" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19905:6:17", + "nodeType": "YulIdentifier", + "src": "19905:6:17" + }, + "nativeSrc": "19905:62:17", + "nodeType": "YulFunctionCall", + "src": "19905:62:17" + }, + "nativeSrc": "19905:62:17", + "nodeType": "YulExpressionStatement", + "src": "19905:62:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "19987:9:17", + "nodeType": "YulIdentifier", + "src": "19987:9:17" + }, + { + "kind": "number", + "nativeSrc": "19998:2:17", + "nodeType": "YulLiteral", + "src": "19998:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "19983:3:17", + "nodeType": "YulIdentifier", + "src": "19983:3:17" + }, + "nativeSrc": "19983:18:17", + "nodeType": "YulFunctionCall", + "src": "19983:18:17" + }, + { + "hexValue": "616e7366657246726f6d206661696c6564", + "kind": "string", + "nativeSrc": "20003:19:17", + "nodeType": "YulLiteral", + "src": "20003:19:17", + "type": "", + "value": "ansferFrom failed" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "19976:6:17", + "nodeType": "YulIdentifier", + "src": "19976:6:17" + }, + "nativeSrc": "19976:47:17", + "nodeType": "YulFunctionCall", + "src": "19976:47:17" + }, + "nativeSrc": "19976:47:17", + "nodeType": "YulExpressionStatement", + "src": "19976:47:17" + }, + { + "nativeSrc": "20032:27:17", + "nodeType": "YulAssignment", + "src": "20032:27:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20044:9:17", + "nodeType": "YulIdentifier", + "src": "20044:9:17" + }, + { + "kind": "number", + "nativeSrc": "20055:3:17", + "nodeType": "YulLiteral", + "src": "20055:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20040:3:17", + "nodeType": "YulIdentifier", + "src": "20040:3:17" + }, + "nativeSrc": "20040:19:17", + "nodeType": "YulFunctionCall", + "src": "20040:19:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20032:4:17", + "nodeType": "YulIdentifier", + "src": "20032:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3f8faf98afe9344b6d4b0e75b0101259bf282914b3b5a9320c6918b6e27ede1c__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "19652:413:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "19803:9:17", + "nodeType": "YulTypedName", + "src": "19803:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "19817:4:17", + "nodeType": "YulTypedName", + "src": "19817:4:17", + "type": "" + } + ], + "src": "19652:413:17" + }, + { + "body": { + "nativeSrc": "20151:103:17", + "nodeType": "YulBlock", + "src": "20151:103:17", + "statements": [ + { + "body": { + "nativeSrc": "20197:16:17", + "nodeType": "YulBlock", + "src": "20197:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nativeSrc": "20206:1:17", + "nodeType": "YulLiteral", + "src": "20206:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nativeSrc": "20209:1:17", + "nodeType": "YulLiteral", + "src": "20209:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nativeSrc": "20199:6:17", + "nodeType": "YulIdentifier", + "src": "20199:6:17" + }, + "nativeSrc": "20199:12:17", + "nodeType": "YulFunctionCall", + "src": "20199:12:17" + }, + "nativeSrc": "20199:12:17", + "nodeType": "YulExpressionStatement", + "src": "20199:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nativeSrc": "20172:7:17", + "nodeType": "YulIdentifier", + "src": "20172:7:17" + }, + { + "name": "headStart", + "nativeSrc": "20181:9:17", + "nodeType": "YulIdentifier", + "src": "20181:9:17" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20168:3:17", + "nodeType": "YulIdentifier", + "src": "20168:3:17" + }, + "nativeSrc": "20168:23:17", + "nodeType": "YulFunctionCall", + "src": "20168:23:17" + }, + { + "kind": "number", + "nativeSrc": "20193:2:17", + "nodeType": "YulLiteral", + "src": "20193:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nativeSrc": "20164:3:17", + "nodeType": "YulIdentifier", + "src": "20164:3:17" + }, + "nativeSrc": "20164:32:17", + "nodeType": "YulFunctionCall", + "src": "20164:32:17" + }, + "nativeSrc": "20161:52:17", + "nodeType": "YulIf", + "src": "20161:52:17" + }, + { + "nativeSrc": "20222:26:17", + "nodeType": "YulAssignment", + "src": "20222:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20238:9:17", + "nodeType": "YulIdentifier", + "src": "20238:9:17" + } + ], + "functionName": { + "name": "mload", + "nativeSrc": "20232:5:17", + "nodeType": "YulIdentifier", + "src": "20232:5:17" + }, + "nativeSrc": "20232:16:17", + "nodeType": "YulFunctionCall", + "src": "20232:16:17" + }, + "variableNames": [ + { + "name": "value0", + "nativeSrc": "20222:6:17", + "nodeType": "YulIdentifier", + "src": "20222:6:17" + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32_fromMemory", + "nativeSrc": "20070:184:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20117:9:17", + "nodeType": "YulTypedName", + "src": "20117:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nativeSrc": "20128:7:17", + "nodeType": "YulTypedName", + "src": "20128:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nativeSrc": "20140:6:17", + "nodeType": "YulTypedName", + "src": "20140:6:17", + "type": "" + } + ], + "src": "20070:184:17" + }, + { + "body": { + "nativeSrc": "20433:242:17", + "nodeType": "YulBlock", + "src": "20433:242:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20450:9:17", + "nodeType": "YulIdentifier", + "src": "20450:9:17" + }, + { + "kind": "number", + "nativeSrc": "20461:2:17", + "nodeType": "YulLiteral", + "src": "20461:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20443:6:17", + "nodeType": "YulIdentifier", + "src": "20443:6:17" + }, + "nativeSrc": "20443:21:17", + "nodeType": "YulFunctionCall", + "src": "20443:21:17" + }, + "nativeSrc": "20443:21:17", + "nodeType": "YulExpressionStatement", + "src": "20443:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20484:9:17", + "nodeType": "YulIdentifier", + "src": "20484:9:17" + }, + { + "kind": "number", + "nativeSrc": "20495:2:17", + "nodeType": "YulLiteral", + "src": "20495:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20480:3:17", + "nodeType": "YulIdentifier", + "src": "20480:3:17" + }, + "nativeSrc": "20480:18:17", + "nodeType": "YulFunctionCall", + "src": "20480:18:17" + }, + { + "kind": "number", + "nativeSrc": "20500:2:17", + "nodeType": "YulLiteral", + "src": "20500:2:17", + "type": "", + "value": "52" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20473:6:17", + "nodeType": "YulIdentifier", + "src": "20473:6:17" + }, + "nativeSrc": "20473:30:17", + "nodeType": "YulFunctionCall", + "src": "20473:30:17" + }, + "nativeSrc": "20473:30:17", + "nodeType": "YulExpressionStatement", + "src": "20473:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20523:9:17", + "nodeType": "YulIdentifier", + "src": "20523:9:17" + }, + { + "kind": "number", + "nativeSrc": "20534:2:17", + "nodeType": "YulLiteral", + "src": "20534:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20519:3:17", + "nodeType": "YulIdentifier", + "src": "20519:3:17" + }, + "nativeSrc": "20519:18:17", + "nodeType": "YulFunctionCall", + "src": "20519:18:17" + }, + { + "hexValue": "5472616e7366657248656c7065723a3a736166655472616e736665724554483a", + "kind": "string", + "nativeSrc": "20539:34:17", + "nodeType": "YulLiteral", + "src": "20539:34:17", + "type": "", + "value": "TransferHelper::safeTransferETH:" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20512:6:17", + "nodeType": "YulIdentifier", + "src": "20512:6:17" + }, + "nativeSrc": "20512:62:17", + "nodeType": "YulFunctionCall", + "src": "20512:62:17" + }, + "nativeSrc": "20512:62:17", + "nodeType": "YulExpressionStatement", + "src": "20512:62:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20594:9:17", + "nodeType": "YulIdentifier", + "src": "20594:9:17" + }, + { + "kind": "number", + "nativeSrc": "20605:2:17", + "nodeType": "YulLiteral", + "src": "20605:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20590:3:17", + "nodeType": "YulIdentifier", + "src": "20590:3:17" + }, + "nativeSrc": "20590:18:17", + "nodeType": "YulFunctionCall", + "src": "20590:18:17" + }, + { + "hexValue": "20455448207472616e73666572206661696c6564", + "kind": "string", + "nativeSrc": "20610:22:17", + "nodeType": "YulLiteral", + "src": "20610:22:17", + "type": "", + "value": " ETH transfer failed" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20583:6:17", + "nodeType": "YulIdentifier", + "src": "20583:6:17" + }, + "nativeSrc": "20583:50:17", + "nodeType": "YulFunctionCall", + "src": "20583:50:17" + }, + "nativeSrc": "20583:50:17", + "nodeType": "YulExpressionStatement", + "src": "20583:50:17" + }, + { + "nativeSrc": "20642:27:17", + "nodeType": "YulAssignment", + "src": "20642:27:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20654:9:17", + "nodeType": "YulIdentifier", + "src": "20654:9:17" + }, + { + "kind": "number", + "nativeSrc": "20665:3:17", + "nodeType": "YulLiteral", + "src": "20665:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20650:3:17", + "nodeType": "YulIdentifier", + "src": "20650:3:17" + }, + "nativeSrc": "20650:19:17", + "nodeType": "YulFunctionCall", + "src": "20650:19:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20642:4:17", + "nodeType": "YulIdentifier", + "src": "20642:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_43d7bec223ecf9eb06ea147e7d564bc71c2448662d62a4ea86ce71fc4518b350__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "20259:416:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20410:9:17", + "nodeType": "YulTypedName", + "src": "20410:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "20424:4:17", + "nodeType": "YulTypedName", + "src": "20424:4:17", + "type": "" + } + ], + "src": "20259:416:17" + }, + { + "body": { + "nativeSrc": "20809:145:17", + "nodeType": "YulBlock", + "src": "20809:145:17", + "statements": [ + { + "nativeSrc": "20819:26:17", + "nodeType": "YulAssignment", + "src": "20819:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20831:9:17", + "nodeType": "YulIdentifier", + "src": "20831:9:17" + }, + { + "kind": "number", + "nativeSrc": "20842:2:17", + "nodeType": "YulLiteral", + "src": "20842:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20827:3:17", + "nodeType": "YulIdentifier", + "src": "20827:3:17" + }, + "nativeSrc": "20827:18:17", + "nodeType": "YulFunctionCall", + "src": "20827:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "20819:4:17", + "nodeType": "YulIdentifier", + "src": "20819:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20861:9:17", + "nodeType": "YulIdentifier", + "src": "20861:9:17" + }, + { + "arguments": [ + { + "name": "value0", + "nativeSrc": "20876:6:17", + "nodeType": "YulIdentifier", + "src": "20876:6:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "kind": "number", + "nativeSrc": "20892:3:17", + "nodeType": "YulLiteral", + "src": "20892:3:17", + "type": "", + "value": "160" + }, + { + "kind": "number", + "nativeSrc": "20897:1:17", + "nodeType": "YulLiteral", + "src": "20897:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "shl", + "nativeSrc": "20888:3:17", + "nodeType": "YulIdentifier", + "src": "20888:3:17" + }, + "nativeSrc": "20888:11:17", + "nodeType": "YulFunctionCall", + "src": "20888:11:17" + }, + { + "kind": "number", + "nativeSrc": "20901:1:17", + "nodeType": "YulLiteral", + "src": "20901:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nativeSrc": "20884:3:17", + "nodeType": "YulIdentifier", + "src": "20884:3:17" + }, + "nativeSrc": "20884:19:17", + "nodeType": "YulFunctionCall", + "src": "20884:19:17" + } + ], + "functionName": { + "name": "and", + "nativeSrc": "20872:3:17", + "nodeType": "YulIdentifier", + "src": "20872:3:17" + }, + "nativeSrc": "20872:32:17", + "nodeType": "YulFunctionCall", + "src": "20872:32:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20854:6:17", + "nodeType": "YulIdentifier", + "src": "20854:6:17" + }, + "nativeSrc": "20854:51:17", + "nodeType": "YulFunctionCall", + "src": "20854:51:17" + }, + "nativeSrc": "20854:51:17", + "nodeType": "YulExpressionStatement", + "src": "20854:51:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "20925:9:17", + "nodeType": "YulIdentifier", + "src": "20925:9:17" + }, + { + "kind": "number", + "nativeSrc": "20936:2:17", + "nodeType": "YulLiteral", + "src": "20936:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "20921:3:17", + "nodeType": "YulIdentifier", + "src": "20921:3:17" + }, + "nativeSrc": "20921:18:17", + "nodeType": "YulFunctionCall", + "src": "20921:18:17" + }, + { + "name": "value1", + "nativeSrc": "20941:6:17", + "nodeType": "YulIdentifier", + "src": "20941:6:17" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "20914:6:17", + "nodeType": "YulIdentifier", + "src": "20914:6:17" + }, + "nativeSrc": "20914:34:17", + "nodeType": "YulFunctionCall", + "src": "20914:34:17" + }, + "nativeSrc": "20914:34:17", + "nodeType": "YulExpressionStatement", + "src": "20914:34:17" + } + ] + }, + "name": "abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed", + "nativeSrc": "20680:274:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "20770:9:17", + "nodeType": "YulTypedName", + "src": "20770:9:17", + "type": "" + }, + { + "name": "value1", + "nativeSrc": "20781:6:17", + "nodeType": "YulTypedName", + "src": "20781:6:17", + "type": "" + }, + { + "name": "value0", + "nativeSrc": "20789:6:17", + "nodeType": "YulTypedName", + "src": "20789:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "20800:4:17", + "nodeType": "YulTypedName", + "src": "20800:4:17", + "type": "" + } + ], + "src": "20680:274:17" + }, + { + "body": { + "nativeSrc": "21133:235:17", + "nodeType": "YulBlock", + "src": "21133:235:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21150:9:17", + "nodeType": "YulIdentifier", + "src": "21150:9:17" + }, + { + "kind": "number", + "nativeSrc": "21161:2:17", + "nodeType": "YulLiteral", + "src": "21161:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21143:6:17", + "nodeType": "YulIdentifier", + "src": "21143:6:17" + }, + "nativeSrc": "21143:21:17", + "nodeType": "YulFunctionCall", + "src": "21143:21:17" + }, + "nativeSrc": "21143:21:17", + "nodeType": "YulExpressionStatement", + "src": "21143:21:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21184:9:17", + "nodeType": "YulIdentifier", + "src": "21184:9:17" + }, + { + "kind": "number", + "nativeSrc": "21195:2:17", + "nodeType": "YulLiteral", + "src": "21195:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21180:3:17", + "nodeType": "YulIdentifier", + "src": "21180:3:17" + }, + "nativeSrc": "21180:18:17", + "nodeType": "YulFunctionCall", + "src": "21180:18:17" + }, + { + "kind": "number", + "nativeSrc": "21200:2:17", + "nodeType": "YulLiteral", + "src": "21200:2:17", + "type": "", + "value": "45" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21173:6:17", + "nodeType": "YulIdentifier", + "src": "21173:6:17" + }, + "nativeSrc": "21173:30:17", + "nodeType": "YulFunctionCall", + "src": "21173:30:17" + }, + "nativeSrc": "21173:30:17", + "nodeType": "YulExpressionStatement", + "src": "21173:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21223:9:17", + "nodeType": "YulIdentifier", + "src": "21223:9:17" + }, + { + "kind": "number", + "nativeSrc": "21234:2:17", + "nodeType": "YulLiteral", + "src": "21234:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21219:3:17", + "nodeType": "YulIdentifier", + "src": "21219:3:17" + }, + "nativeSrc": "21219:18:17", + "nodeType": "YulFunctionCall", + "src": "21219:18:17" + }, + { + "hexValue": "5472616e7366657248656c7065723a3a736166655472616e736665723a207472", + "kind": "string", + "nativeSrc": "21239:34:17", + "nodeType": "YulLiteral", + "src": "21239:34:17", + "type": "", + "value": "TransferHelper::safeTransfer: tr" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21212:6:17", + "nodeType": "YulIdentifier", + "src": "21212:6:17" + }, + "nativeSrc": "21212:62:17", + "nodeType": "YulFunctionCall", + "src": "21212:62:17" + }, + "nativeSrc": "21212:62:17", + "nodeType": "YulExpressionStatement", + "src": "21212:62:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21294:9:17", + "nodeType": "YulIdentifier", + "src": "21294:9:17" + }, + { + "kind": "number", + "nativeSrc": "21305:2:17", + "nodeType": "YulLiteral", + "src": "21305:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21290:3:17", + "nodeType": "YulIdentifier", + "src": "21290:3:17" + }, + "nativeSrc": "21290:18:17", + "nodeType": "YulFunctionCall", + "src": "21290:18:17" + }, + { + "hexValue": "616e73666572206661696c6564", + "kind": "string", + "nativeSrc": "21310:15:17", + "nodeType": "YulLiteral", + "src": "21310:15:17", + "type": "", + "value": "ansfer failed" + } + ], + "functionName": { + "name": "mstore", + "nativeSrc": "21283:6:17", + "nodeType": "YulIdentifier", + "src": "21283:6:17" + }, + "nativeSrc": "21283:43:17", + "nodeType": "YulFunctionCall", + "src": "21283:43:17" + }, + "nativeSrc": "21283:43:17", + "nodeType": "YulExpressionStatement", + "src": "21283:43:17" + }, + { + "nativeSrc": "21335:27:17", + "nodeType": "YulAssignment", + "src": "21335:27:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nativeSrc": "21347:9:17", + "nodeType": "YulIdentifier", + "src": "21347:9:17" + }, + { + "kind": "number", + "nativeSrc": "21358:3:17", + "nodeType": "YulLiteral", + "src": "21358:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nativeSrc": "21343:3:17", + "nodeType": "YulIdentifier", + "src": "21343:3:17" + }, + "nativeSrc": "21343:19:17", + "nodeType": "YulFunctionCall", + "src": "21343:19:17" + }, + "variableNames": [ + { + "name": "tail", + "nativeSrc": "21335:4:17", + "nodeType": "YulIdentifier", + "src": "21335:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_daea69421eeb1164e163c36f3d4349f0db3ec4e0d1381bd5bf4faf53496c2611__to_t_string_memory_ptr__fromStack_reversed", + "nativeSrc": "20959:409:17", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nativeSrc": "21110:9:17", + "nodeType": "YulTypedName", + "src": "21110:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nativeSrc": "21124:4:17", + "nodeType": "YulTypedName", + "src": "21124:4:17", + "type": "" + } + ], + "src": "20959:409:17" + } + ] + }, + "contents": "{\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_2890() -> memPtr\n {\n memPtr := mload(64)\n let newFreePtr := add(memPtr, 0xc0)\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\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_string(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_available_length_string(src, length, end) -> array\n {\n array := allocate_memory(array_allocation_size_string(length))\n mstore(array, length)\n if gt(add(src, length), end) { revert(0, 0) }\n calldatacopy(add(array, 0x20), src, length)\n mstore(add(add(array, length), 0x20), 0)\n }\n function abi_decode_string(offset, end) -> array\n {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n array := abi_decode_available_length_string(add(offset, 0x20), calldataload(offset), end)\n }\n function abi_decode_tuple_t_string_memory_ptrt_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let offset := calldataload(headStart)\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value0 := abi_decode_string(add(headStart, offset), dataEnd)\n value1 := calldataload(add(headStart, 32))\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_string(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_address(value, pos)\n {\n mstore(pos, and(value, sub(shl(160, 1), 1)))\n }\n function panic_error_0x21()\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n function abi_encode_enum_TaskStatus(value, pos)\n {\n if iszero(lt(value, 4))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n mstore(pos, value)\n }\n function abi_encode_uint8(value, pos)\n { mstore(pos, and(value, 0xff)) }\n function abi_encode_tuple_t_struct$_TaskData_$2617_memory_ptr__to_t_struct$_TaskData_$2617_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), mload(value0))\n let memberValue0 := mload(add(value0, 32))\n let _1 := 0x0100\n mstore(add(headStart, 64), _1)\n let tail_1 := abi_encode_string(memberValue0, add(headStart, 288))\n mstore(add(headStart, 96), and(mload(add(value0, 64)), sub(shl(160, 1), 1)))\n let memberValue0_1 := mload(add(value0, 96))\n abi_encode_enum_TaskStatus(memberValue0_1, add(headStart, 128))\n let memberValue0_2 := mload(add(value0, 128))\n abi_encode_address(memberValue0_2, add(headStart, 160))\n mstore(add(headStart, 192), mload(add(value0, 160)))\n let memberValue0_3 := mload(add(value0, 192))\n mstore(add(headStart, 224), add(sub(tail_1, headStart), not(31)))\n let tail_2 := abi_encode_string(memberValue0_3, tail_1)\n let memberValue0_4 := mload(add(value0, 224))\n abi_encode_uint8(memberValue0_4, add(headStart, _1))\n tail := tail_2\n }\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := calldataload(headStart)\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 abi_encode_tuple_t_contract$_AgentsRegistryUpgradeable_$2363__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 validator_revert_address(value)\n {\n if iszero(eq(value, and(value, sub(shl(160, 1), 1)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n value1 := calldataload(add(headStart, 32))\n }\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\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 validator_revert_address(value)\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 value1 := abi_decode_available_length_string(add(_1, 32), calldataload(_1), dataEnd)\n }\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, value0)\n }\n function abi_encode_tuple_t_enum$_TaskStatus_$2599__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n abi_encode_enum_TaskStatus(value0, headStart)\n }\n function abi_decode_tuple_t_uint256t_uint8(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n if iszero(eq(value, and(value, 0xff))) { revert(0, 0) }\n value1 := value\n }\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n let value := calldataload(headStart)\n validator_revert_address(value)\n value0 := value\n }\n function abi_encode_tuple_t_array$_t_uint256_$dyn_memory_ptr__to_t_array$_t_uint256_$dyn_memory_ptr__fromStack_reversed(headStart, value0) -> tail\n {\n let _1 := 32\n let tail_1 := add(headStart, 32)\n mstore(headStart, 32)\n let pos := tail_1\n let length := mload(value0)\n mstore(tail_1, length)\n pos := add(headStart, 64)\n let srcPtr := add(value0, 32)\n let i := 0\n for { } lt(i, length) { i := add(i, 1) }\n {\n mstore(pos, mload(srcPtr))\n pos := add(pos, _1)\n srcPtr := add(srcPtr, _1)\n }\n tail := pos\n }\n function abi_decode_tuple_t_uint256t_string_memory_ptr(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n value1 := abi_decode_string(add(headStart, offset), dataEnd)\n }\n function abi_encode_tuple_t_uint256_t_string_memory_ptr_t_address_t_enum$_TaskStatus_$2599_t_address_t_uint256_t_string_memory_ptr_t_uint8__to_t_uint256_t_string_memory_ptr_t_address_t_uint8_t_address_t_uint256_t_string_memory_ptr_t_uint8__fromStack_reversed(headStart, value7, value6, value5, value4, value3, value2, value1, value0) -> tail\n {\n let _1 := 256\n mstore(headStart, value0)\n mstore(add(headStart, 32), _1)\n let tail_1 := abi_encode_string(value1, add(headStart, _1))\n let _2 := sub(shl(160, 1), 1)\n mstore(add(headStart, 64), and(value2, _2))\n abi_encode_enum_TaskStatus(value3, add(headStart, 96))\n mstore(add(headStart, 128), and(value4, _2))\n mstore(add(headStart, 160), value5)\n mstore(add(headStart, 192), sub(tail_1, headStart))\n tail := abi_encode_string(value6, tail_1)\n mstore(add(headStart, 224), and(value7, 0xff))\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_string(value0, add(headStart, 32))\n }\n function abi_decode_tuple_t_uint256t_contract$_AgentsRegistryUpgradeable_$2363(headStart, dataEnd) -> value0, value1\n {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n value0 := calldataload(headStart)\n let value := calldataload(add(headStart, 32))\n validator_revert_address(value)\n value1 := value\n }\n function abi_decode_address_fromMemory(offset) -> value\n {\n value := mload(offset)\n validator_revert_address(value)\n }\n function abi_decode_bool_fromMemory(offset) -> value\n {\n value := mload(offset)\n if iszero(eq(value, iszero(iszero(value)))) { revert(0, 0) }\n }\n function abi_decode_tuple_t_struct$_ServiceProposal_$3273_memory_ptr_fromMemory(headStart, dataEnd) -> value0\n {\n let _1 := 32\n if slt(sub(dataEnd, headStart), _1) { revert(0, 0) }\n let offset := mload(headStart)\n let _2 := 0xffffffffffffffff\n if gt(offset, _2) { revert(0, 0) }\n let _3 := add(headStart, offset)\n if slt(sub(dataEnd, _3), 0xc0) { revert(0, 0) }\n let value := allocate_memory_2890()\n let value_1 := mload(_3)\n validator_revert_address(value_1)\n mstore(value, value_1)\n let offset_1 := mload(add(_3, _1))\n if gt(offset_1, _2) { revert(0, 0) }\n let _4 := add(_3, offset_1)\n if iszero(slt(add(_4, 0x1f), dataEnd)) { revert(0, 0) }\n let _5 := mload(_4)\n let array := allocate_memory(array_allocation_size_string(_5))\n mstore(array, _5)\n if gt(add(add(_4, _5), _1), dataEnd) { revert(0, 0) }\n copy_memory_to_memory_with_cleanup(add(_4, _1), add(array, _1), _5)\n mstore(add(value, _1), array)\n mstore(add(value, 64), mload(add(_3, 64)))\n mstore(add(value, 96), abi_decode_address_fromMemory(add(_3, 96)))\n mstore(add(value, 128), mload(add(_3, 128)))\n mstore(add(value, 160), abi_decode_bool_fromMemory(add(_3, 160)))\n value0 := value\n }\n function abi_encode_tuple_t_stringliteral_add139ef5e0ce81551c750d068d2eb9f9e6c61a45817f3add2fc789b89b93829__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 25)\n mstore(add(headStart, 64), \"ServiceProposal not found\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_eaa01effe6abd0543e9529d3961b0f5d26980f0661c156a79b89c39a093463f7__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 13)\n mstore(add(headStart, 64), \"Invalid price\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_1b1b03f60ebe259831055a7aaca661444a58af4e39e114790f599b56dce96127__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 40)\n mstore(add(headStart, 64), \"No ETH should be sent for ERC20 \")\n mstore(add(headStart, 96), \"payments\")\n tail := add(headStart, 128)\n }\n function extract_byte_array_length(data) -> length\n {\n length := shr(1, data)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) { length := and(length, 0x7f) }\n if eq(outOfPlaceEncoding, lt(length, 32))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n }\n function array_dataslot_string_storage(ptr) -> data\n {\n mstore(0, ptr)\n data := keccak256(0, 0x20)\n }\n function clean_up_bytearray_end_slots_string_storage(array, len, startIndex)\n {\n if gt(len, 31)\n {\n let _1 := 0\n mstore(0, array)\n let data := keccak256(0, 0x20)\n let deleteStart := add(data, shr(5, add(startIndex, 31)))\n if lt(startIndex, 0x20) { deleteStart := data }\n let _2 := add(data, shr(5, add(len, 31)))\n let start := deleteStart\n for { } lt(start, _2) { start := add(start, 1) }\n { sstore(start, _1) }\n }\n }\n function extract_used_part_and_set_length_of_short_byte_array(data, len) -> used\n {\n used := or(and(data, not(shr(shl(3, len), not(0)))), shl(1, len))\n }\n function copy_byte_array_to_storage_from_t_string_memory_ptr_to_t_string_storage(slot, src)\n {\n let newLen := mload(src)\n if gt(newLen, 0xffffffffffffffff) { panic_error_0x41() }\n clean_up_bytearray_end_slots_string_storage(slot, extract_byte_array_length(sload(slot)), newLen)\n let srcOffset := 0\n let srcOffset_1 := 0x20\n srcOffset := 0x20\n switch gt(newLen, 31)\n case 1 {\n let loopEnd := and(newLen, not(31))\n let dstPtr := array_dataslot_string_storage(slot)\n let i := 0\n for { } lt(i, loopEnd) { i := add(i, srcOffset_1) }\n {\n sstore(dstPtr, mload(add(src, srcOffset)))\n dstPtr := add(dstPtr, 1)\n srcOffset := add(srcOffset, srcOffset_1)\n }\n if lt(loopEnd, newLen)\n {\n let lastValue := mload(add(src, srcOffset))\n sstore(dstPtr, and(lastValue, not(shr(and(shl(3, newLen), 248), not(0)))))\n }\n sstore(slot, add(shl(1, newLen), 1))\n }\n default {\n let value := 0\n if newLen\n {\n value := mload(add(src, srcOffset))\n }\n sstore(slot, extract_used_part_and_set_length_of_short_byte_array(value, newLen))\n }\n }\n function abi_encode_tuple_t_uint256_t_uint256_t_string_memory_ptr__to_t_uint256_t_uint256_t_string_memory_ptr__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n mstore(headStart, value0)\n mstore(add(headStart, 32), value1)\n mstore(add(headStart, 64), 96)\n tail := abi_encode_string(value2, add(headStart, 96))\n }\n function increment_t_uint256(value) -> ret\n {\n if eq(value, not(0))\n {\n mstore(0, shl(224, 0x4e487b71))\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n ret := add(value, 1)\n }\n function abi_encode_tuple_t_stringliteral_8b01433edf8e1c1ecc76c5925a92e74cb9845acafce91ff571223021d8950f7c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 26)\n mstore(add(headStart, 64), \"Not the issuer of the task\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_a08755c006bba216d153388cc97acf5e536a500c0ec88cade64bd6b2f0d0e27d__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 21)\n mstore(add(headStart, 64), \"Task is not completed\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_306fe74d51ecec7b72bc35613a90b4c93840ded0ff8f63d0daef622fd6053b19__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"Task got rating already\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_c137d625e69877210f78bfe5d3113cccc58db43b2ac3bb8f673d723a397aae3e__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), \"Rating must be between 0 and 100\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_address_t_uint8__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), and(value1, 0xff))\n }\n function abi_decode_tuple_t_uint256_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_uint8__to_t_uint8__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xff))\n }\n function abi_encode_tuple_t_stringliteral_fac3bac318c0d00994f57b0f2f4c643c313072b71db2302bf4b900309cc50b36__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 14)\n mstore(add(headStart, 64), \"Not authorized\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_35c761622bcc8ab75f9adfaf21a4872a39cd06f2745d5488272d29f1f753f270__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 19)\n mstore(add(headStart, 64), \"Invalid task status\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_stringliteral_784e567ba03dff6623f8e7bbee52b701bfd622c294c48e22d5da37cfabe25ac0__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 23)\n mstore(add(headStart, 64), \"Task cannot be canceled\")\n tail := add(headStart, 96)\n }\n function abi_encode_tuple_t_rational_1_by_1__to_t_uint64__fromStack_reversed(headStart, value0) -> tail\n {\n tail := add(headStart, 32)\n mstore(headStart, and(value0, 0xffffffffffffffff))\n }\n function abi_encode_tuple_t_address_t_address_t_uint256__to_t_address_t_address_t_uint256__fromStack_reversed(headStart, value2, value1, value0) -> tail\n {\n tail := add(headStart, 96)\n let _1 := sub(shl(160, 1), 1)\n mstore(headStart, and(value0, _1))\n mstore(add(headStart, 32), and(value1, _1))\n mstore(add(headStart, 64), value2)\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_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0\n {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n value0 := abi_decode_bool_fromMemory(headStart)\n }\n function abi_encode_tuple_t_stringliteral_3f8faf98afe9344b6d4b0e75b0101259bf282914b3b5a9320c6918b6e27ede1c__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 49)\n mstore(add(headStart, 64), \"TransferHelper::transferFrom: tr\")\n mstore(add(headStart, 96), \"ansferFrom failed\")\n tail := add(headStart, 128)\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_43d7bec223ecf9eb06ea147e7d564bc71c2448662d62a4ea86ce71fc4518b350__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 52)\n mstore(add(headStart, 64), \"TransferHelper::safeTransferETH:\")\n mstore(add(headStart, 96), \" ETH transfer failed\")\n tail := add(headStart, 128)\n }\n function abi_encode_tuple_t_address_t_uint256__to_t_address_t_uint256__fromStack_reversed(headStart, value1, value0) -> tail\n {\n tail := add(headStart, 64)\n mstore(headStart, and(value0, sub(shl(160, 1), 1)))\n mstore(add(headStart, 32), value1)\n }\n function abi_encode_tuple_t_stringliteral_daea69421eeb1164e163c36f3d4349f0db3ec4e0d1381bd5bf4faf53496c2611__to_t_string_memory_ptr__fromStack_reversed(headStart) -> tail\n {\n mstore(headStart, 32)\n mstore(add(headStart, 32), 45)\n mstore(add(headStart, 64), \"TransferHelper::safeTransfer: tr\")\n mstore(add(headStart, 96), \"ansfer failed\")\n tail := add(headStart, 128)\n }\n}", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": { + "482": [ + { + "length": 32, + "start": 5785 + }, + { + "length": 32, + "start": 5826 + }, + { + "length": 32, + "start": 6152 + } + ] + }, + "linkReferences": {}, + "object": "6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed1565b6103f8565b60405161012e9190611f9e565b60405180910390f35b34801561014357600080fd5b50610170610152366004612048565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612048565b610853565b3480156101d457600080fd5b506101e86101e3366004612076565b610a1f565b60405190815260200161012e565b6102096102043660046120a2565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612048565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612106565b34801561027357600080fd5b50610209610282366004612114565b610a8c565b34801561029357600080fd5b506102a76102a236600461214a565b610d56565b60405161012e9190612167565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ab565b610dd6565b3480156102f557600080fd5b50610209610304366004612048565b61100f565b34801561031557600080fd5b50610329610324366004612048565b611282565b60405161012e9897969594939291906121e8565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225b565b3480156103c457600080fd5b506102096103d336600461226e565b6113ed565b3480156103e457600080fd5b506102096103f336600461214a565b611512565b610400611d7d565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b3565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612423565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e3565b60405180910390a36002805490600061069083612502565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a1565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f66565b600381111561078357610783611f66565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a1565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7d565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a1565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f66565b600381111561095457610954611f66565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a1565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257a83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f66565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b3565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190612529565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f66565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612423565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b3565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612106565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225b565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f66565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f66565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b3565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612106565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a1565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a1565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a1565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612542565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255e565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257a833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f1916820190925261179291810190612529565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257a83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612542565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612542565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255e565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612542565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d6457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dba57611dba611f66565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1457611e14611ddb565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4357611e43611ddb565b604052919050565b600067ffffffffffffffff821115611e6557611e65611ddb565b50601f01601f191660200190565b6000611e86611e8184611e4b565b611e1a565b9050828152838383011115611e9a57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec257600080fd5b611d4e83833560208501611e73565b60008060408385031215611ee457600080fd5b823567ffffffffffffffff811115611efb57600080fd5b611f0785828601611eb1565b95602094909401359450505050565b60005b83811015611f31578181015183820152602001611f19565b50506000910152565b60008151808452611f52816020860160208601611f16565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9a57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc7610120850183611f3a565b915060018060a01b0360408601511660608501526060850151611fed6080860182611f7c565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120288382611f3a565b92505060e085015161203e8286018260ff169052565b5090949350505050565b60006020828403121561205a57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208957600080fd5b823561209481612061565b946020939093013593505050565b600080604083850312156120b557600080fd5b82356120c081612061565b9150602083013567ffffffffffffffff8111156120dc57600080fd5b8301601f810185136120ed57600080fd5b6120fc85823560208401611e73565b9150509250929050565b6020810161084d8284611f7c565b6000806040838503121561212757600080fd5b82359150602083013560ff8116811461213f57600080fd5b809150509250929050565b60006020828403121561215c57600080fd5b8135611d4e81612061565b6020808252825182820181905260009190848201906040850190845b8181101561219f57835183529284019291840191600101612183565b50909695505050505050565b600080604083850312156121be57600080fd5b82359150602083013567ffffffffffffffff8111156121dc57600080fd5b6120fc85828601611eb1565b60006101008a83528060208401526122028184018b611f3a565b6001600160a01b038a81166040860152909150612222606085018a611f7c565b8716608084015260a0830186905282810360c08401526122428186611f3a565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3a565b6000806040838503121561228157600080fd5b82359150602083013561213f81612061565b805161229e81612061565b919050565b8051801515811461229e57600080fd5b600060208083850312156122c657600080fd5b825167ffffffffffffffff808211156122de57600080fd5b9084019060c082870312156122f257600080fd5b6122fa611df1565b825161230581612061565b8152828401518281111561231857600080fd5b83019150601f8201871361232b57600080fd5b8151612339611e8182611e4b565b818152888683860101111561234d57600080fd5b61235c82878301888701611f16565b82860152506040838101519082015261237760608401612293565b60608201526080830151608082015261239260a084016122a3565b60a08201529695505050505050565b600181811c908216806123b557607f821691505b6020821081036123d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124045750805b601f850160051c820191505b8181101561168657828155600101612410565b815167ffffffffffffffff81111561243d5761243d611ddb565b6124518161244b84546123a1565b846123db565b602080601f831160018114612486576000841561246e5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b557888601518255948401946001909101908401612496565b50858210156124d35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3a565b60006001820161252257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253b57600080fd5b5051919050565b60008251612554818460208701611f16565b9190910192915050565b60006020828403121561257057600080fd5b611d4e826122a356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d3b080e19c883e02f2c45a696f8fc9ffe9b7d894958f1142da9c3a68737d889a64736f6c63430008160033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x109 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x639241AB GT PUSH2 0x95 JUMPI DUP1 PUSH4 0x8D977672 GT PUSH2 0x64 JUMPI DUP1 PUSH4 0x8D977672 EQ PUSH2 0x309 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x33D JUMPI DUP1 PUSH4 0xAD3CB1CC EQ PUSH2 0x37A JUMPI DUP1 PUSH4 0xDA35A26F EQ PUSH2 0x3B8 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x639241AB EQ PUSH2 0x287 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x2B4 JUMPI DUP1 PUSH4 0x74AAA760 EQ PUSH2 0x2C9 JUMPI DUP1 PUSH4 0x7EEC20A8 EQ PUSH2 0x2E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x2A2B3A9D GT PUSH2 0xDC JUMPI DUP1 PUSH4 0x2A2B3A9D EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0x4F1EF286 EQ PUSH2 0x1F6 JUMPI DUP1 PUSH4 0x52D1902D EQ PUSH2 0x20B JUMPI DUP1 PUSH4 0x5C622A0E EQ PUSH2 0x220 JUMPI DUP1 PUSH4 0x6298EEE0 EQ PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 PUSH4 0x4FE2B34 EQ PUSH2 0x10E JUMPI DUP1 PUSH4 0x7B31818 EQ PUSH2 0x137 JUMPI DUP1 PUSH4 0xD1CFCAE EQ PUSH2 0x188 JUMPI DUP1 PUSH4 0x1D65E77E EQ PUSH2 0x1A8 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x121 PUSH2 0x11C CALLDATASIZE PUSH1 0x4 PUSH2 0x1ED1 JUMP JUMPDEST PUSH2 0x3F8 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x1F9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x143 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x170 PUSH2 0x152 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x194 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x3 SLOAD PUSH2 0x170 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x121 PUSH2 0x1C3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x853 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0x1E3 CALLDATASIZE PUSH1 0x4 PUSH2 0x2076 JUMP JUMPDEST PUSH2 0xA1F JUMP JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH2 0x12E JUMP JUMPDEST PUSH2 0x209 PUSH2 0x204 CALLDATASIZE PUSH1 0x4 PUSH2 0x20A2 JUMP JUMPDEST PUSH2 0xA50 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x217 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1E8 PUSH2 0xA6F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x25A PUSH2 0x23B CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2106 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x273 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x282 CALLDATASIZE PUSH1 0x4 PUSH2 0x2114 JUMP JUMPDEST PUSH2 0xA8C JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x293 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A7 PUSH2 0x2A2 CALLDATASIZE PUSH1 0x4 PUSH2 0x214A JUMP JUMPDEST PUSH2 0xD56 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x2167 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0xDC2 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2D5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x2E4 CALLDATASIZE PUSH1 0x4 PUSH2 0x21AB JUMP JUMPDEST PUSH2 0xDD6 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x304 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x100F JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x315 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x329 PUSH2 0x324 CALLDATASIZE PUSH1 0x4 PUSH2 0x2048 JUMP JUMPDEST PUSH2 0x1282 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP9 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x21E8 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x349 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x170 JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x386 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3AB PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x5 DUP2 MSTORE PUSH1 0x20 ADD PUSH5 0x352E302E3 PUSH1 0xDC SHL DUP2 MSTORE POP DUP2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x12E SWAP2 SWAP1 PUSH2 0x225B JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3D3 CALLDATASIZE PUSH1 0x4 PUSH2 0x226E JUMP JUMPDEST PUSH2 0x13ED JUMP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x209 PUSH2 0x3F3 CALLDATASIZE PUSH1 0x4 PUSH2 0x214A JUMP JUMPDEST PUSH2 0x1512 JUMP JUMPDEST PUSH2 0x400 PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP5 SWAP1 MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x44A JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x472 SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST DUP1 MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x4D1 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x19 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5365727669636550726F706F73616C206E6F7420666F756E6400000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x52B JUMPI CALLVALUE DUP2 PUSH1 0x40 ADD MLOAD EQ PUSH2 0x526 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xD PUSH1 0x24 DUP3 ADD MSTORE PUSH13 0x496E76616C6964207072696365 PUSH1 0x98 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0x58A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x28 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F204554482073686F756C642062652073656E7420666F7220455243323020 PUSH1 0x44 DUP3 ADD MSTORE PUSH8 0x7061796D656E7473 PUSH1 0xC0 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x59E DUP2 PUSH1 0x60 ADD MLOAD CALLER ADDRESS DUP5 PUSH1 0x40 ADD MLOAD PUSH2 0x1550 JUMP JUMPDEST PUSH1 0x2 SLOAD PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 SWAP1 DUP2 SSTORE PUSH1 0x1 DUP2 ADD PUSH2 0x5C0 DUP7 DUP3 PUSH2 0x2423 JUMP JUMPDEST POP PUSH1 0x2 DUP2 DUP2 ADD DUP1 SLOAD CALLER PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT SWAP2 DUP3 AND DUP2 OR DUP4 SSTORE PUSH1 0x4 DUP6 ADD DUP9 SWAP1 SSTORE DUP6 MLOAD PUSH1 0x3 DUP7 ADD DUP1 SLOAD SWAP1 SWAP4 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP2 AND OR SWAP1 SWAP2 SSTORE PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP4 KECCAK256 SWAP5 SLOAD DUP6 SLOAD DUP1 DUP5 ADD DUP8 SSTORE SWAP6 DUP5 MSTORE SWAP3 KECCAK256 SWAP1 SWAP4 ADD SSTORE DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA0 SHL DUP4 MUL OR SWAP1 SSTORE POP DUP2 MLOAD PUSH1 0x2 SLOAD PUSH1 0x80 DUP5 ADD MLOAD PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP1 SWAP4 AND SWAP3 CALLER SWAP3 PUSH32 0x5C005BBBB9DA508C37935B1A9F270836E0BE1FD11D4D47119F925A3FF33820E9 SWAP3 PUSH2 0x678 SWAP3 DUP12 SWAP1 PUSH2 0x24E3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x2 DUP1 SLOAD SWAP1 PUSH1 0x0 PUSH2 0x690 DUP4 PUSH2 0x2502 JUMP JUMPDEST SWAP2 SWAP1 POP SSTORE POP DUP1 PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD SLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD DUP1 SLOAD PUSH2 0x6BC SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x6E8 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x735 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x70A JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x735 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x718 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x772 JUMPI PUSH2 0x772 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x783 JUMPI PUSH2 0x783 PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x7B7 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E3 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x830 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x805 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x830 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x813 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 POP POP POP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x85B PUSH2 0x1D7D JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP3 MLOAD PUSH2 0x100 DUP2 ADD SWAP1 SWAP4 MSTORE DUP1 SLOAD DUP4 MSTORE PUSH1 0x1 DUP2 ADD DUP1 SLOAD SWAP2 SWAP3 DUP5 ADD SWAP2 PUSH2 0x88D SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8B9 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x906 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8DB JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x906 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8E9 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x20 DUP4 ADD MSTORE PUSH1 0x40 SWAP1 SWAP2 ADD SWAP1 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x943 JUMPI PUSH2 0x943 PUSH2 0x1F66 JUMP JUMPDEST PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x954 JUMPI PUSH2 0x954 PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x3 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x4 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x5 DUP3 ADD DUP1 SLOAD PUSH1 0x60 SWAP1 SWAP3 ADD SWAP2 PUSH2 0x988 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x9B4 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xA01 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9D6 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xA01 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9E4 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP SWAP2 DUP4 MSTORE POP POP PUSH1 0x6 SWAP2 SWAP1 SWAP2 ADD SLOAD PUSH1 0xFF AND PUSH1 0x20 SWAP1 SWAP2 ADD MSTORE SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0xA3B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 ADD PUSH1 0x0 SWAP2 POP SWAP2 POP POP SLOAD DUP2 JUMP JUMPDEST PUSH2 0xA58 PUSH2 0x168E JUMP JUMPDEST PUSH2 0xA61 DUP3 PUSH2 0x1733 JUMP JUMPDEST PUSH2 0xA6B DUP3 DUP3 PUSH2 0x173B JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xA79 PUSH2 0x17FD JUMP JUMPDEST POP PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP3 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xAF7 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xB26 JUMPI PUSH2 0xB26 PUSH2 0x1F66 JUMP JUMPDEST EQ PUSH2 0xB6B JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x15 PUSH1 0x24 DUP3 ADD MSTORE PUSH21 0x15185CDAC81A5CC81B9BDD0818DBDB5C1B195D1959 PUSH1 0x5A SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD SLOAD PUSH1 0xFF AND ISZERO PUSH2 0xBC0 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B20676F7420726174696E6720616C7265616479000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x64 DUP4 PUSH1 0xFF AND GT ISZERO PUSH2 0xC14 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 0x526174696E67206D757374206265206265747765656E203020616E6420313030 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x6 DUP2 ADD DUP1 SLOAD PUSH1 0xFF NOT AND PUSH1 0xFF DUP6 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xC72 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xC9A SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 MLOAD PUSH1 0x40 MLOAD PUSH4 0x70370A81 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP2 DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xFF DUP9 AND PUSH1 0x24 DUP3 ADD MSTORE SWAP3 SWAP4 POP AND SWAP1 PUSH4 0x70370A81 SWAP1 PUSH1 0x44 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP8 GAS CALL ISZERO DUP1 ISZERO PUSH2 0xCF2 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 0xD16 SWAP2 SWAP1 PUSH2 0x2529 JUMP JUMPDEST POP PUSH1 0x40 MLOAD PUSH1 0xFF DUP6 AND DUP2 MSTORE DUP6 SWAP1 PUSH32 0xF9189BFC5977D44B1A00920E53A6A0E00229F6C53E76B73FC7E0581AE99ABDC SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP2 DUP3 SWAP1 KECCAK256 DUP1 SLOAD DUP4 MLOAD DUP2 DUP5 MUL DUP2 ADD DUP5 ADD SWAP1 SWAP5 MSTORE DUP1 DUP5 MSTORE PUSH1 0x60 SWAP4 SWAP3 DUP4 ADD DUP3 DUP3 DUP1 ISZERO PUSH2 0xDB6 JUMPI PUSH1 0x20 MUL DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 PUSH1 0x1 ADD SWAP1 DUP1 DUP4 GT PUSH2 0xDA2 JUMPI JUMPDEST POP POP POP POP POP SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCA PUSH2 0x1846 JUMP JUMPDEST PUSH2 0xDD4 PUSH1 0x0 PUSH2 0x18A1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x3 DUP2 ADD SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0xE31 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0xE PUSH1 0x24 DUP3 ADD MSTORE PUSH14 0x139BDD08185D5D1A1BDC9A5E9959 PUSH1 0x92 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0xE53 JUMPI PUSH2 0xE53 PUSH2 0x1F66 JUMP JUMPDEST EQ PUSH2 0xE96 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH19 0x496E76616C6964207461736B20737461747573 PUSH1 0x68 SHL PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0xFF PUSH1 0xA0 SHL NOT AND PUSH1 0x1 PUSH1 0xA1 SHL OR SWAP1 SSTORE PUSH1 0x5 DUP2 ADD PUSH2 0xEB9 DUP4 DUP3 PUSH2 0x2423 JUMP JUMPDEST POP PUSH1 0x3 SLOAD PUSH1 0x4 DUP3 DUP2 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0xF07 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0xF2F SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0xF66 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0xF61 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0xF89 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0xF89 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0xFC9 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 DUP4 PUSH32 0x7E6FFC29FE63759579D96A0457A8F2E08339ACA345BD469F59DC2E61F82A5AEB DUP5 PUSH1 0x40 MLOAD PUSH2 0x1001 SWAP2 SWAP1 PUSH2 0x225B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 ADD SLOAD DUP2 SWAP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND CALLER EQ PUSH2 0x107A JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1A PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x4E6F742074686520697373756572206F6620746865207461736B000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 KECCAK256 PUSH1 0x2 DUP1 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10A9 JUMPI PUSH2 0x10A9 PUSH2 0x1F66 JUMP JUMPDEST EQ ISZERO DUP1 ISZERO PUSH2 0x10D7 JUMPI POP PUSH1 0x3 PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x10D4 JUMPI PUSH2 0x10D4 PUSH2 0x1F66 JUMP JUMPDEST EQ ISZERO JUMPDEST PUSH2 0x1123 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x17 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5461736B2063616E6E6F742062652063616E63656C6564000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE PUSH1 0x64 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x2 DUP2 ADD DUP1 SLOAD PUSH1 0x3 PUSH1 0xA0 SHL PUSH1 0xFF PUSH1 0xA0 SHL NOT SWAP1 SWAP2 AND OR SWAP1 SSTORE PUSH1 0x3 SLOAD PUSH1 0x4 DUP1 DUP4 ADD SLOAD PUSH1 0x40 MLOAD PUSH4 0x18FEEB15 PUSH1 0xE3 SHL DUP2 MSTORE SWAP2 DUP3 ADD MSTORE PUSH1 0x0 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH4 0xC7F758A8 SWAP1 PUSH1 0x24 ADD PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1187 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x0 DUP3 RETURNDATACOPY PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD PUSH1 0x40 MSTORE PUSH2 0x11AF SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH2 0x22B3 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD SWAP1 SWAP2 POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x11E6 JUMPI PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 DUP3 ADD MLOAD PUSH2 0x11E1 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x1912 JUMP JUMPDEST PUSH2 0x1209 JUMP JUMPDEST PUSH1 0x60 DUP2 ADD MLOAD PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x1209 SWAP3 SWAP2 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 PUSH2 0x19EC JUMP JUMPDEST PUSH1 0x2 DUP3 ADD SLOAD PUSH1 0x40 MLOAD DUP6 SWAP2 PUSH32 0xD76EF80CFB1CE0C70D0CBC0AB1B9F2F298A78F9FCA5C841BE963AE9A5D721BB4 SWAP2 PUSH2 0x1249 SWAP2 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 DIV PUSH1 0xFF AND SWAP1 PUSH2 0x2106 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x40 MLOAD DUP5 SWAP1 PUSH32 0x1AA8A90C7D7A86BAC690072D3F3D726BB8EBBE1989E158530440963F04C11EB2 SWAP1 PUSH1 0x0 SWAP1 LOG2 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP2 SWAP1 MSTORE SWAP1 DUP2 MSTORE PUSH1 0x40 SWAP1 KECCAK256 DUP1 SLOAD PUSH1 0x1 DUP3 ADD DUP1 SLOAD SWAP2 SWAP3 SWAP2 PUSH2 0x12A4 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x12D0 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x131D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x12F2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x131D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1300 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP PUSH1 0x2 DUP4 ADD SLOAD PUSH1 0x3 DUP5 ADD SLOAD PUSH1 0x4 DUP6 ADD SLOAD PUSH1 0x5 DUP7 ADD DUP1 SLOAD SWAP6 SWAP7 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP1 DUP7 AND SWAP8 PUSH1 0x1 PUSH1 0xA0 SHL SWAP1 SWAP7 DIV PUSH1 0xFF AND SWAP7 POP SWAP1 SWAP4 AND SWAP4 SWAP2 SWAP3 SWAP2 PUSH2 0x1361 SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x138D SWAP1 PUSH2 0x23A1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x13DA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x13AF JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x13DA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x13BD JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP PUSH1 0x6 SWAP1 SWAP4 ADD SLOAD SWAP2 SWAP3 POP POP PUSH1 0xFF AND DUP9 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x13F7 PUSH2 0x1B1D JUMP JUMPDEST DUP1 SLOAD SWAP1 SWAP2 POP PUSH1 0xFF PUSH1 0x1 PUSH1 0x40 SHL DUP3 DIV AND ISZERO SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x0 DUP2 ISZERO DUP1 ISZERO PUSH2 0x141F JUMPI POP DUP3 JUMPDEST SWAP1 POP PUSH1 0x0 DUP3 PUSH8 0xFFFFFFFFFFFFFFFF AND PUSH1 0x1 EQ DUP1 ISZERO PUSH2 0x143C JUMPI POP ADDRESS EXTCODESIZE ISZERO JUMPDEST SWAP1 POP DUP2 ISZERO DUP1 ISZERO PUSH2 0x144A JUMPI POP DUP1 ISZERO JUMPDEST ISZERO PUSH2 0x1468 JUMPI PUSH1 0x40 MLOAD PUSH4 0xF92EE8A9 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 SLOAD PUSH8 0xFFFFFFFFFFFFFFFF NOT AND PUSH1 0x1 OR DUP6 SSTORE DUP4 ISZERO PUSH2 0x1492 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND PUSH1 0x1 PUSH1 0x40 SHL OR DUP6 SSTORE JUMPDEST PUSH2 0x149B CALLER PUSH2 0x1B46 JUMP JUMPDEST PUSH2 0x14A3 PUSH2 0x1B57 JUMP JUMPDEST PUSH1 0x2 DUP8 SWAP1 SSTORE PUSH1 0x3 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP9 AND OR SWAP1 SSTORE DUP4 ISZERO PUSH2 0x1509 JUMPI DUP5 SLOAD PUSH1 0xFF PUSH1 0x40 SHL NOT AND DUP6 SSTORE PUSH1 0x40 MLOAD PUSH1 0x1 DUP2 MSTORE PUSH32 0xC7F505B2F371AE2175EE4913F4499E1F2633A7B5936321EED1CDAEB6115181D2 SWAP1 PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 JUMPDEST POP POP POP POP POP POP POP JUMP JUMPDEST PUSH2 0x151A PUSH2 0x1846 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH2 0x1544 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1E4FBDF7 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x0 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x18A1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE DUP5 DUP2 AND PUSH1 0x44 DUP4 ADD MSTORE PUSH1 0x64 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x84 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0x23B872DD PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP9 AND SWAP2 PUSH2 0x15B4 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x15F1 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 0x15F6 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1620 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1620 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1620 SWAP2 SWAP1 PUSH2 0x255E JUMP JUMPDEST PUSH2 0x1686 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x31 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A7472616E7366657246726F6D3A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH17 0x185B9CD9995C919C9BDB4819985A5B1959 PUSH1 0x7A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ DUP1 PUSH2 0x1715 JUMPI POP PUSH32 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND PUSH2 0x1709 PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ ISZERO JUMPDEST ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x154D PUSH2 0x1846 JUMP JUMPDEST DUP2 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 SWAP3 POP POP POP DUP1 ISZERO PUSH2 0x1795 JUMPI POP PUSH1 0x40 DUP1 MLOAD PUSH1 0x1F RETURNDATASIZE SWAP1 DUP2 ADD PUSH1 0x1F NOT AND DUP3 ADD SWAP1 SWAP3 MSTORE PUSH2 0x1792 SWAP2 DUP2 ADD SWAP1 PUSH2 0x2529 JUMP JUMPDEST PUSH1 0x1 JUMPDEST PUSH2 0x17BD JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP2 EQ PUSH2 0x17EE JUMPI PUSH1 0x40 MLOAD PUSH4 0x2A875269 PUSH1 0xE2 SHL DUP2 MSTORE PUSH1 0x4 DUP2 ADD DUP3 SWAP1 MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH2 0x17F8 DUP4 DUP4 PUSH2 0x1B5F JUMP JUMPDEST POP POP POP JUMP JUMPDEST ADDRESS PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB PUSH32 0x0 AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x703E46DD PUSH1 0xE1 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH2 0x1878 PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND SWAP1 JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EQ PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x118CDAA7 PUSH1 0xE0 SHL DUP2 MSTORE CALLER PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH32 0x9016D09D72D40FDAE2FD8CEAC6B6234C7706214FD39C1CD1E609A0528C199300 DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT DUP2 AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND SWAP2 DUP3 OR DUP5 SSTORE PUSH1 0x40 MLOAD SWAP3 AND SWAP2 DUP3 SWAP1 PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 SWAP1 PUSH1 0x0 SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x0 DUP1 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 SWAP3 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND SWAP1 DUP4 SWAP1 PUSH1 0x40 MLOAD PUSH2 0x193C SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1979 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 0x197E JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x34 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665724554483A PUSH1 0x44 DUP3 ADD MSTORE PUSH20 0x8115512081D1C985B9CD9995C8819985A5B1959 PUSH1 0x62 SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 DUP2 AND PUSH1 0x24 DUP4 ADD MSTORE PUSH1 0x44 DUP1 DUP4 ADD DUP6 SWAP1 MSTORE DUP4 MLOAD DUP1 DUP5 SUB SWAP1 SWAP2 ADD DUP2 MSTORE PUSH1 0x64 SWAP1 SWAP3 ADD DUP4 MSTORE PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xE0 SHL SUB AND PUSH4 0xA9059CBB PUSH1 0xE0 SHL OR SWAP1 MSTORE SWAP2 MLOAD PUSH1 0x0 SWAP3 DUP4 SWAP3 SWAP1 DUP8 AND SWAP2 PUSH2 0x1A48 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 PUSH1 0x0 DUP7 GAS CALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1A85 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 0x1A8A JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP DUP2 DUP1 ISZERO PUSH2 0x1AB4 JUMPI POP DUP1 MLOAD ISZERO DUP1 PUSH2 0x1AB4 JUMPI POP DUP1 DUP1 PUSH1 0x20 ADD SWAP1 MLOAD DUP2 ADD SWAP1 PUSH2 0x1AB4 SWAP2 SWAP1 PUSH2 0x255E JUMP JUMPDEST PUSH2 0x1B16 JUMPI PUSH1 0x40 MLOAD PUSH3 0x461BCD PUSH1 0xE5 SHL DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x2D PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x5472616E7366657248656C7065723A3A736166655472616E736665723A207472 PUSH1 0x44 DUP3 ADD MSTORE PUSH13 0x185B9CD9995C8819985A5B1959 PUSH1 0x9A SHL PUSH1 0x64 DUP3 ADD MSTORE PUSH1 0x84 ADD PUSH2 0x4C8 JUMP JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH32 0xF0C57E16840DF040F15088DC2F81FE391C3923BEC73E23A9662EFC9C229C6A00 PUSH2 0x84D JUMP JUMPDEST PUSH2 0x1B4E PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x154D DUP2 PUSH2 0x1BDA JUMP JUMPDEST PUSH2 0xDD4 PUSH2 0x1BB5 JUMP JUMPDEST PUSH2 0x1B68 DUP3 PUSH2 0x1BE2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP4 AND SWAP1 PUSH32 0xBC7CD75A20EE27FD9ADEBAB32041F755214DBC6BFFA90CC0225B39DA2E5C2D3B SWAP1 PUSH1 0x0 SWAP1 LOG2 DUP1 MLOAD ISZERO PUSH2 0x1BAD JUMPI PUSH2 0x17F8 DUP3 DUP3 PUSH2 0x1C47 JUMP JUMPDEST PUSH2 0xA6B PUSH2 0x1CBD JUMP JUMPDEST PUSH2 0x1BBD PUSH2 0x1CDC JUMP JUMPDEST PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0x1AFCD79F PUSH1 0xE3 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x151A PUSH2 0x1BB5 JUMP JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND EXTCODESIZE PUSH1 0x0 SUB PUSH2 0x1C18 JUMPI PUSH1 0x40 MLOAD PUSH4 0x4C9C8CE3 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP3 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST PUSH1 0x0 DUP1 MLOAD PUSH1 0x20 PUSH2 0x257A DUP4 CODECOPY DUP2 MLOAD SWAP2 MSTORE DUP1 SLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB NOT AND PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB SWAP3 SWAP1 SWAP3 AND SWAP2 SWAP1 SWAP2 OR SWAP1 SSTORE JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 DUP1 DUP5 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP5 PUSH1 0x40 MLOAD PUSH2 0x1C64 SWAP2 SWAP1 PUSH2 0x2542 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 GAS DELEGATECALL SWAP2 POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x1C9F 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 0x1CA4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP SWAP2 POP SWAP2 POP PUSH2 0x1CB4 DUP6 DUP4 DUP4 PUSH2 0x1CF6 JUMP JUMPDEST SWAP6 SWAP5 POP POP POP POP POP JUMP JUMPDEST CALLVALUE ISZERO PUSH2 0xDD4 JUMPI PUSH1 0x40 MLOAD PUSH4 0xB398979F PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1CE6 PUSH2 0x1B1D JUMP JUMPDEST SLOAD PUSH1 0x1 PUSH1 0x40 SHL SWAP1 DIV PUSH1 0xFF AND SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 DUP3 PUSH2 0x1D0B JUMPI PUSH2 0x1D06 DUP3 PUSH2 0x1D55 JUMP JUMPDEST PUSH2 0x1D4E JUMP JUMPDEST DUP2 MLOAD ISZERO DUP1 ISZERO PUSH2 0x1D22 JUMPI POP PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP5 AND EXTCODESIZE ISZERO JUMPDEST ISZERO PUSH2 0x1D4B JUMPI PUSH1 0x40 MLOAD PUSH4 0x9996B315 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP6 AND PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x24 ADD PUSH2 0x4C8 JUMP JUMPDEST POP DUP1 JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST DUP1 MLOAD ISZERO PUSH2 0x1D64 JUMPI DUP1 MLOAD PUSH1 0x20 DUP3 ADD REVERT JUMPDEST PUSH1 0x40 MLOAD PUSH4 0xD6BDA275 PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH2 0x100 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x3 DUP2 GT ISZERO PUSH2 0x1DBA JUMPI PUSH2 0x1DBA PUSH2 0x1F66 JUMP JUMPDEST DUP2 MSTORE PUSH1 0x0 PUSH1 0x20 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x40 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x60 DUP1 DUP4 ADD MSTORE PUSH1 0x80 SWAP1 SWAP2 ADD MSTORE SWAP1 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 0xC0 DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E14 JUMPI PUSH2 0x1E14 PUSH2 0x1DDB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x1F DUP3 ADD PUSH1 0x1F NOT AND DUP2 ADD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT DUP3 DUP3 LT OR ISZERO PUSH2 0x1E43 JUMPI PUSH2 0x1E43 PUSH2 0x1DDB JUMP JUMPDEST PUSH1 0x40 MSTORE SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x1E65 JUMPI PUSH2 0x1E65 PUSH2 0x1DDB JUMP JUMPDEST POP PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1E86 PUSH2 0x1E81 DUP5 PUSH2 0x1E4B JUMP JUMPDEST PUSH2 0x1E1A JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE DUP4 DUP4 DUP4 ADD GT ISZERO PUSH2 0x1E9A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 DUP3 PUSH1 0x20 DUP4 ADD CALLDATACOPY PUSH1 0x0 PUSH1 0x20 DUP5 DUP4 ADD ADD MSTORE SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x1EC2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP4 DUP4 CALLDATALOAD PUSH1 0x20 DUP6 ADD PUSH2 0x1E73 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1EE4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1F07 DUP6 DUP3 DUP7 ADD PUSH2 0x1EB1 JUMP JUMPDEST SWAP6 PUSH1 0x20 SWAP5 SWAP1 SWAP5 ADD CALLDATALOAD SWAP5 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1F31 JUMPI DUP2 DUP2 ADD MLOAD DUP4 DUP3 ADD MSTORE PUSH1 0x20 ADD PUSH2 0x1F19 JUMP JUMPDEST POP POP PUSH1 0x0 SWAP2 ADD MSTORE JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD DUP1 DUP5 MSTORE PUSH2 0x1F52 DUP2 PUSH1 0x20 DUP7 ADD PUSH1 0x20 DUP7 ADD PUSH2 0x1F16 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x1F NOT AND SWAP3 SWAP1 SWAP3 ADD PUSH1 0x20 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x4 DUP2 LT PUSH2 0x1F9A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST SWAP1 MSTORE JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE DUP2 MLOAD PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x0 PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x100 DUP1 PUSH1 0x40 DUP6 ADD MSTORE PUSH2 0x1FC7 PUSH2 0x120 DUP6 ADD DUP4 PUSH2 0x1F3A JUMP JUMPDEST SWAP2 POP PUSH1 0x1 DUP1 PUSH1 0xA0 SHL SUB PUSH1 0x40 DUP7 ADD MLOAD AND PUSH1 0x60 DUP6 ADD MSTORE PUSH1 0x60 DUP6 ADD MLOAD PUSH2 0x1FED PUSH1 0x80 DUP7 ADD DUP3 PUSH2 0x1F7C JUMP JUMPDEST POP PUSH1 0x80 DUP6 ADD MLOAD PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND PUSH1 0xA0 DUP7 ADD MSTORE POP PUSH1 0xA0 DUP6 ADD MLOAD PUSH1 0xC0 DUP6 ADD MSTORE PUSH1 0xC0 DUP6 ADD MLOAD PUSH1 0x1F NOT DUP6 DUP5 SUB ADD PUSH1 0xE0 DUP7 ADD MSTORE PUSH2 0x2028 DUP4 DUP3 PUSH2 0x1F3A JUMP JUMPDEST SWAP3 POP POP PUSH1 0xE0 DUP6 ADD MLOAD PUSH2 0x203E DUP3 DUP7 ADD DUP3 PUSH1 0xFF AND SWAP1 MSTORE JUMP JUMPDEST POP SWAP1 SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x205A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP2 AND DUP2 EQ PUSH2 0x154D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2089 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x2094 DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP5 PUSH1 0x20 SWAP4 SWAP1 SWAP4 ADD CALLDATALOAD SWAP4 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x20B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD PUSH2 0x20C0 DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x20DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD PUSH1 0x1F DUP2 ADD DUP6 SGT PUSH2 0x20ED JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FC DUP6 DUP3 CALLDATALOAD PUSH1 0x20 DUP5 ADD PUSH2 0x1E73 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x20 DUP2 ADD PUSH2 0x84D DUP3 DUP5 PUSH2 0x1F7C JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2127 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH1 0xFF DUP2 AND DUP2 EQ PUSH2 0x213F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x215C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x1D4E DUP2 PUSH2 0x2061 JUMP JUMPDEST PUSH1 0x20 DUP1 DUP3 MSTORE DUP3 MLOAD DUP3 DUP3 ADD DUP2 SWAP1 MSTORE PUSH1 0x0 SWAP2 SWAP1 DUP5 DUP3 ADD SWAP1 PUSH1 0x40 DUP6 ADD SWAP1 DUP5 JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x219F JUMPI DUP4 MLOAD DUP4 MSTORE SWAP3 DUP5 ADD SWAP3 SWAP2 DUP5 ADD SWAP2 PUSH1 0x1 ADD PUSH2 0x2183 JUMP JUMPDEST POP SWAP1 SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x21BE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x21DC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x20FC DUP6 DUP3 DUP7 ADD PUSH2 0x1EB1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x100 DUP11 DUP4 MSTORE DUP1 PUSH1 0x20 DUP5 ADD MSTORE PUSH2 0x2202 DUP2 DUP5 ADD DUP12 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x1 PUSH1 0x1 PUSH1 0xA0 SHL SUB DUP11 DUP2 AND PUSH1 0x40 DUP7 ADD MSTORE SWAP1 SWAP2 POP PUSH2 0x2222 PUSH1 0x60 DUP6 ADD DUP11 PUSH2 0x1F7C JUMP JUMPDEST DUP8 AND PUSH1 0x80 DUP5 ADD MSTORE PUSH1 0xA0 DUP4 ADD DUP7 SWAP1 MSTORE DUP3 DUP2 SUB PUSH1 0xC0 DUP5 ADD MSTORE PUSH2 0x2242 DUP2 DUP7 PUSH2 0x1F3A JUMP JUMPDEST SWAP2 POP POP PUSH1 0xFF DUP4 AND PUSH1 0xE0 DUP4 ADD MSTORE SWAP10 SWAP9 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x20 DUP2 MSTORE PUSH1 0x0 PUSH2 0x1D4E PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2281 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 CALLDATALOAD SWAP2 POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH2 0x213F DUP2 PUSH2 0x2061 JUMP JUMPDEST DUP1 MLOAD PUSH2 0x229E DUP2 PUSH2 0x2061 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST DUP1 MLOAD DUP1 ISZERO ISZERO DUP2 EQ PUSH2 0x229E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP1 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x22C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP1 DUP3 GT ISZERO PUSH2 0x22DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 DUP5 ADD SWAP1 PUSH1 0xC0 DUP3 DUP8 SUB SLT ISZERO PUSH2 0x22F2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x22FA PUSH2 0x1DF1 JUMP JUMPDEST DUP3 MLOAD PUSH2 0x2305 DUP2 PUSH2 0x2061 JUMP JUMPDEST DUP2 MSTORE DUP3 DUP5 ADD MLOAD DUP3 DUP2 GT ISZERO PUSH2 0x2318 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 ADD SWAP2 POP PUSH1 0x1F DUP3 ADD DUP8 SGT PUSH2 0x232B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH2 0x2339 PUSH2 0x1E81 DUP3 PUSH2 0x1E4B JUMP JUMPDEST DUP2 DUP2 MSTORE DUP9 DUP7 DUP4 DUP7 ADD ADD GT ISZERO PUSH2 0x234D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x235C DUP3 DUP8 DUP4 ADD DUP9 DUP8 ADD PUSH2 0x1F16 JUMP JUMPDEST DUP3 DUP7 ADD MSTORE POP PUSH1 0x40 DUP4 DUP2 ADD MLOAD SWAP1 DUP3 ADD MSTORE PUSH2 0x2377 PUSH1 0x60 DUP5 ADD PUSH2 0x2293 JUMP JUMPDEST PUSH1 0x60 DUP3 ADD MSTORE PUSH1 0x80 DUP4 ADD MLOAD PUSH1 0x80 DUP3 ADD MSTORE PUSH2 0x2392 PUSH1 0xA0 DUP5 ADD PUSH2 0x22A3 JUMP JUMPDEST PUSH1 0xA0 DUP3 ADD MSTORE SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 DUP2 SHR SWAP1 DUP3 AND DUP1 PUSH2 0x23B5 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 SUB PUSH2 0x23D5 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x1F DUP3 GT ISZERO PUSH2 0x17F8 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP2 ADD PUSH1 0x20 DUP7 LT ISZERO PUSH2 0x2404 JUMPI POP DUP1 JUMPDEST PUSH1 0x1F DUP6 ADD PUSH1 0x5 SHR DUP3 ADD SWAP2 POP JUMPDEST DUP2 DUP2 LT ISZERO PUSH2 0x1686 JUMPI DUP3 DUP2 SSTORE PUSH1 0x1 ADD PUSH2 0x2410 JUMP JUMPDEST DUP2 MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x243D JUMPI PUSH2 0x243D PUSH2 0x1DDB JUMP JUMPDEST PUSH2 0x2451 DUP2 PUSH2 0x244B DUP5 SLOAD PUSH2 0x23A1 JUMP JUMPDEST DUP5 PUSH2 0x23DB JUMP JUMPDEST PUSH1 0x20 DUP1 PUSH1 0x1F DUP4 GT PUSH1 0x1 DUP2 EQ PUSH2 0x2486 JUMPI PUSH1 0x0 DUP5 ISZERO PUSH2 0x246E JUMPI POP DUP6 DUP4 ADD MLOAD JUMPDEST PUSH1 0x0 NOT PUSH1 0x3 DUP7 SWAP1 SHL SHR NOT AND PUSH1 0x1 DUP6 SWAP1 SHL OR DUP6 SSTORE PUSH2 0x1686 JUMP JUMPDEST PUSH1 0x0 DUP6 DUP2 MSTORE PUSH1 0x20 DUP2 KECCAK256 PUSH1 0x1F NOT DUP7 AND SWAP2 JUMPDEST DUP3 DUP2 LT ISZERO PUSH2 0x24B5 JUMPI DUP9 DUP7 ADD MLOAD DUP3 SSTORE SWAP5 DUP5 ADD SWAP5 PUSH1 0x1 SWAP1 SWAP2 ADD SWAP1 DUP5 ADD PUSH2 0x2496 JUMP JUMPDEST POP DUP6 DUP3 LT ISZERO PUSH2 0x24D3 JUMPI DUP8 DUP6 ADD MLOAD PUSH1 0x0 NOT PUSH1 0x3 DUP9 SWAP1 SHL PUSH1 0xF8 AND SHR NOT AND DUP2 SSTORE JUMPDEST POP POP POP POP POP PUSH1 0x1 SWAP1 DUP2 SHL ADD SWAP1 SSTORE POP JUMP JUMPDEST DUP4 DUP2 MSTORE DUP3 PUSH1 0x20 DUP3 ADD MSTORE PUSH1 0x60 PUSH1 0x40 DUP3 ADD MSTORE PUSH1 0x0 PUSH2 0x1CB4 PUSH1 0x60 DUP4 ADD DUP5 PUSH2 0x1F3A JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 DUP3 ADD PUSH2 0x2522 JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST POP PUSH1 0x1 ADD SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x253B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP MLOAD SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 MLOAD PUSH2 0x2554 DUP2 DUP5 PUSH1 0x20 DUP8 ADD PUSH2 0x1F16 JUMP JUMPDEST SWAP2 SWAP1 SWAP2 ADD SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2570 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x1D4E DUP3 PUSH2 0x22A3 JUMP INVALID CALLDATASIZE ADDMOD SWAP5 LOG1 EXTCODESIZE LOG1 LOG3 0x21 MOD PUSH8 0xC828492DB98DCA3E KECCAK256 PUSH23 0xCC3735A920A3CA505D382BBCA2646970667358221220D3 0xB0 DUP1 0xE1 SWAP13 DUP9 RETURNDATACOPY MUL CALLCODE 0xC4 GAS PUSH10 0x6F8FC9FFE9B7D894958F GT TIMESTAMP 0xDA SWAP13 GASPRICE PUSH9 0x737D889A64736F6C63 NUMBER STOP ADDMOD AND STOP CALLER ", + "sourceMap": "632:6620:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2658:1096;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6770:115;;;;;;;;;;-1:-1:-1;6770:115:13;;;;;:::i;:::-;6830:7;6856:13;;;;;;;;;;:22;;;-1:-1:-1;;;;;6856:22:13;;6770:115;;;;-1:-1:-1;;;;;4439:32:17;;;4421:51;;4409:2;4394:18;6770:115:13;4275:203:17;1166:46:13;;;;;;;;;;-1:-1:-1;1166:46:13;;;;-1:-1:-1;;;;;1166:46:13;;;6530:110;;;;;;;;;;-1:-1:-1;6530:110:13;;;;;:::i;:::-;;:::i;1080:48::-;;;;;;;;;;-1:-1:-1;1080:48:13;;;;;:::i;:::-;;:::i;:::-;;;5327:25:17;;;5315:2;5300:18;1080:48:13;5181:177:17;4161:214:2;;;;;;:::i;:::-;;:::i;:::-;;3708:134;;;;;;;;;;;;;:::i;6646:114:13:-;;;;;;;;;;-1:-1:-1;6646:114:13;;;;;:::i;:::-;6704:10;6733:13;;;;;;;;;;:20;;;-1:-1:-1;;;6733:20:13;;;;;6646:114;;;;;;;;:::i;4886:584::-;;;;;;;;;;-1:-1:-1;4886:584:13;;;;;:::i;:::-;;:::i;6398:126::-;;;;;;;;;;-1:-1:-1;6398:126:13;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;3155:101:0:-;;;;;;;;;;;;;:::i;3930:783:13:-;;;;;;;;;;-1:-1:-1;3930:783:13;;;;;:::i;:::-;;:::i;5619:773::-;;;;;;;;;;-1:-1:-1;5619:773:13;;;;;:::i;:::-;;:::i;1033:41::-;;;;;;;;;;-1:-1:-1;1033:41:13;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;;:::i;2441:144:0:-;;;;;;;;;;-1:-1:-1;1313:22:0;2570:8;-1:-1:-1;;;;;2570:8:0;2441:144;;1819:58:2;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1819:58:2;;;;;;;;;;;;:::i;1644:291:13:-;;;;;;;;;;-1:-1:-1;1644:291:13;;;;;:::i;:::-;;:::i;3405:215:0:-;;;;;;;;;;-1:-1:-1;3405:215:0;;;;;:::i;:::-;;:::i;2658:1096:13:-;2768:15;;:::i;:::-;2829:13;;:37;;-1:-1:-1;;;2829:37:13;;;;;5327:25:17;;;2795:31:13;;-1:-1:-1;;;;;2829:13:13;;:25;;5300:18:17;;2829:37:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2829:37:13;;;;;;;;;;;;:::i;:::-;2884:15;;2795:71;;-1:-1:-1;;;;;;2884:29:13;2876:67;;;;-1:-1:-1;;;2876:67:13;;11345:2:17;2876:67:13;;;11327:21:17;11384:2;11364:18;;;11357:30;11423:27;11403:18;;;11396:55;11468:18;;2876:67:13;;;;;;;;;2966:21;;;;-1:-1:-1;;;;;2966:35:13;2962:328;;3043:9;3025:8;:14;;;:27;3017:53;;;;-1:-1:-1;;;3017:53:13;;11699:2:17;3017:53:13;;;11681:21:17;11738:2;11718:18;;;11711:30;-1:-1:-1;;;11757:18:17;;;11750:43;11810:18;;3017:53:13;11497:337:17;3017:53:13;2962:328;;;3109:9;:14;3101:67;;;;-1:-1:-1;;;3101:67:13;;12041:2:17;3101:67:13;;;12023:21:17;12080:2;12060:18;;;12053:30;12119:34;12099:18;;;12092:62;-1:-1:-1;;;12170:18:17;;;12163:38;12218:19;;3101:67:13;11839:404:17;3101:67:13;3182:97;3214:8;:21;;;3237:10;3257:4;3264:8;:14;;;3182:31;:97::i;:::-;3330:10;;3300:21;3324:17;;;;;;;;;;3351:20;;;3381:11;;;:20;3395:6;3381:11;:20;:::i;:::-;-1:-1:-1;3411:11:13;;;;:24;;3425:10;-1:-1:-1;;;;;;3411:24:13;;;;;;;3445:15;;;:28;;;3499:15;;3483:13;;;:31;;;;;-1:-1:-1;;;;;3483:31:13;;;;;;;-1:-1:-1;3524:23:13;;;-1:-1:-1;3524:23:13;;;;;;;3553:10;;3524:40;;;;;;;;;;;;;;;;3574:33;;-1:-1:-1;;;;3574:33:13;-1:-1:-1;;;;3574:33:13;;;;-1:-1:-1;3646:15:13;;3663:10;;3675:19;;;;3622:81;;-1:-1:-1;;;;;3622:81:13;;;;3634:10;;3622:81;;;;3696:6;;3622:81;:::i;:::-;;;;;;;;3714:10;:12;;;:10;:12;;;:::i;:::-;;;;;;3743:4;3736:11;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3736:11:13;;;-1:-1:-1;;3736:11:13;;;;-1:-1:-1;;;;;3736:11:13;;;;;;;;;;;-1:-1:-1;;;3736:11:13;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;3736:11:13;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3736:11:13;;;-1:-1:-1;;3736:11:13;;;;;;;;;;;;;;-1:-1:-1;;;2658:1096:13;;;;;:::o;6530:110::-;6586:15;;:::i;:::-;6620:5;:13;;;;;;;;;;;;6613:20;;;;;;;;;;;;;;;;;6620:13;;6613:20;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6613:20:13;;;-1:-1:-1;;6613:20:13;;;;-1:-1:-1;;;;;6613:20:13;;;;;;;;;;;-1:-1:-1;;;6613:20:13;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;6613:20:13;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;6613:20:13;;;-1:-1:-1;;6613:20:13;;;;;;;;;;;;;;6530:110;-1:-1:-1;;6530:110:13:o;1080:48::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4161:214:2:-;2655:13;:11;:13::i;:::-;4276:36:::1;4294:17;4276;:36::i;:::-;4322:46;4344:17;4363:4;4322:21;:46::i;:::-;4161:214:::0;;:::o;3708:134::-;3777:7;2926:20;:18;:20::i;:::-;-1:-1:-1;;;;;;;;;;;;3708:134:2;:::o;4886:584:13:-;1291:5;:13;;;;;;;;;;:20;;;:13;;-1:-1:-1;;;;;1291:20:13;1277:10;:34;1269:73;;;;-1:-1:-1;;;1269:73:13;;15634:2:17;1269:73:13;;;15616:21:17;15673:2;15653:18;;;15646:30;15712:28;15692:18;;;15685:56;15758:18;;1269:73:13;15432:350:17;1269:73:13;4976:21:::1;5000:13:::0;;;::::1;::::0;;;;;;5047:20:::1;5032:11:::0;;::::1;::::0;-1:-1:-1;;;5032:11:13;::::1;;;:35;::::0;::::1;;;;;;:::i;:::-;;5024:69;;;::::0;-1:-1:-1;;;5024:69:13;;15989:2:17;5024:69:13::1;::::0;::::1;15971:21:17::0;16028:2;16008:18;;;16001:30;-1:-1:-1;;;16047:18:17;;;16040:51;16108:18;;5024:69:13::1;15787:345:17::0;5024:69:13::1;5111:11;::::0;::::1;::::0;::::1;;:16:::0;5103:52:::1;;;::::0;-1:-1:-1;;;5103:52:13;;16339:2:17;5103:52:13::1;::::0;::::1;16321:21:17::0;16378:2;16358:18;;;16351:30;16417:25;16397:18;;;16390:53;16460:18;;5103:52:13::1;16137:347:17::0;5103:52:13::1;5198:3;5188:6;:13;;;;5165:73;;;::::0;-1:-1:-1;;;5165:73:13;;16691:2:17;5165:73:13::1;::::0;::::1;16673:21:17::0;;;16710:18;;;16703:30;16769:34;16749:18;;;16742:62;16821:18;;5165:73:13::1;16489:356:17::0;5165:73:13::1;5257:11;::::0;::::1;:20:::0;;-1:-1:-1;;5257:20:13::1;;::::0;::::1;;::::0;;5321:13:::1;::::0;5347:15:::1;::::0;;::::1;::::0;5321:42:::1;::::0;-1:-1:-1;;;5321:42:13;;;;::::1;5327:25:17::0;-1:-1:-1;;;;;;;5321:13:13::1;::::0;:25:::1;::::0;5300:18:17;;5321:42:13::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;5321:42:13::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;5374:13;::::0;5398:15;;5374:48:::1;::::0;-1:-1:-1;;;5374:48:13;;-1:-1:-1;;;;;17040:32:17;;;5374:48:13::1;::::0;::::1;17022:51:17::0;17121:4;17109:17;;17089:18;;;17082:45;5398:15:13;;-1:-1:-1;5374:13:13::1;::::0;:23:::1;::::0;16995:18:17;;5374:48:13::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;5438:25:13::1;::::0;17499:4:17;17487:17;;17469:36;;5448:6:13;;5438:25:::1;::::0;17457:2:17;17442:18;5438:25:13::1;;;;;;;4966:504;;4886:584:::0;;;:::o;6398:126::-;-1:-1:-1;;;;;6498:19:13;;;;;;:11;:19;;;;;;;;;6491:26;;;;;;;;;;;;;;;;;6463:16;;6491:26;;;6498:19;6491:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6398:126;;;:::o;3155:101:0:-;2334:13;:11;:13::i;:::-;3219:30:::1;3246:1;3219:18;:30::i;:::-;3155:101::o:0;3930:783:13:-;4009:21;4033:13;;;;;;;;;;4078;;;;-1:-1:-1;;;;;4078:13:13;4064:10;:27;4056:54;;;;-1:-1:-1;;;4056:54:13;;17718:2:17;4056:54:13;;;17700:21:17;17757:2;17737:18;;;17730:30;-1:-1:-1;;;17776:18:17;;;17769:44;17830:18;;4056:54:13;17516:338:17;4056:54:13;4143:19;4128:11;;;;-1:-1:-1;;;4128:11:13;;;;:34;;;;;;;;:::i;:::-;;4120:66;;;;-1:-1:-1;;;4120:66:13;;18061:2:17;4120:66:13;;;18043:21:17;18100:2;18080:18;;;18073:30;-1:-1:-1;;;18119:18:17;;;18112:49;18178:18;;4120:66:13;17859:343:17;4120:66:13;4211:20;4197:11;;:34;;-1:-1:-1;;;;4197:34:13;-1:-1:-1;;;4197:34:13;;;4241:11;;;:20;4255:6;4241:11;:20;:::i;:::-;-1:-1:-1;4305:13:13;;4331:15;;;;;4305:42;;-1:-1:-1;;;4305:42:13;;;;;5327:25:17;4271:31:13;;-1:-1:-1;;;;;4305:13:13;;:25;;5300:18:17;;4305:42:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4305:42:13;;;;;;;;;;;;:::i;:::-;4370:21;;;;4271:76;;-1:-1:-1;;;;;;4370:35:13;4366:235;;4452:11;;;;4465:14;;;;4421:59;;-1:-1:-1;;;;;4452:11:13;;4421:30;:59::i;:::-;4366:235;;;4539:21;;;;4562:11;;;;4575:14;;;;4511:79;;4539:21;-1:-1:-1;;;;;4562:11:13;;4511:27;:79::i;:::-;4650:11;;;;4624:38;;4642:6;;4624:38;;;;-1:-1:-1;;;4650:11:13;;;;;4624:38;:::i;:::-;;;;;;;;4691:6;4677:29;4699:6;4677:29;;;;;;:::i;:::-;;;;;;;;3999:714;;3930:783;;:::o;5619:773::-;1291:5;:13;;;;;;;;;;:20;;;:13;;-1:-1:-1;;;;;1291:20:13;1277:10;:34;1269:73;;;;-1:-1:-1;;;1269:73:13;;15634:2:17;1269:73:13;;;15616:21:17;15673:2;15653:18;;;15646:30;15712:28;15692:18;;;15685:56;15758:18;;1269:73:13;15432:350:17;1269:73:13;5697:21:::1;5721:13:::0;;;::::1;::::0;;;;;;5767:20:::1;5752:11:::0;;::::1;::::0;-1:-1:-1;;;5752:11:13;::::1;;;:35;::::0;::::1;;;;;;:::i;:::-;;;:73;;;;-1:-1:-1::0;5806:19:13::1;5791:11;::::0;::::1;::::0;-1:-1:-1;;;5791:11:13;::::1;;;:34;::::0;::::1;;;;;;:::i;:::-;;;5752:73;5744:109;;;::::0;-1:-1:-1;;;5744:109:13;;18409:2:17;5744:109:13::1;::::0;::::1;18391:21:17::0;18448:2;18428:18;;;18421:30;18487:25;18467:18;;;18460:53;18530:18;;5744:109:13::1;18207:347:17::0;5744:109:13::1;5872:11;::::0;::::1;:33:::0;;-1:-1:-1;;;;;;;5872:33:13;;::::1;;::::0;;5886:19:::1;5949:13:::0;5975:15:::1;::::0;;::::1;::::0;5949:42:::1;::::0;-1:-1:-1;;;5949:42:13;;;;::::1;5327:25:17::0;-1:-1:-1;;;;;;;5949:13:13::1;::::0;:25:::1;::::0;5300:18:17;;5949:42:13::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;::::0;;::::1;-1:-1:-1::0;;5949:42:13::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;:::i;:::-;6058:21;::::0;::::1;::::0;5915:76;;-1:-1:-1;;;;;;6058:35:13::1;6054:235;;6140:11;::::0;::::1;::::0;6153:14:::1;::::0;::::1;::::0;6109:59:::1;::::0;-1:-1:-1;;;;;6140:11:13::1;::::0;6109:30:::1;:59::i;:::-;6054:235;;;6227:21;::::0;::::1;::::0;6250:11:::1;::::0;::::1;::::0;6263:14:::1;::::0;::::1;::::0;6199:79:::1;::::0;6227:21;-1:-1:-1;;;;;6250:11:13::1;::::0;6199:27:::1;:79::i;:::-;6338:11;::::0;::::1;::::0;6312:38:::1;::::0;6330:6;;6312:38:::1;::::0;::::1;::::0;-1:-1:-1;;;6338:11:13;::::1;;;::::0;6312:38:::1;:::i;:::-;;;;;;;;6365:20;::::0;6378:6;;6365:20:::1;::::0;;;::::1;5687:705;;5619:773:::0;;:::o;1033:41::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;1033:41:13;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1033:41:13;;;;-1:-1:-1;;;1033:41:13;;;;;;-1:-1:-1;1033:41:13;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1033:41:13;;;;;;;-1:-1:-1;;1033:41:13;;;:::o;1644:291::-;4158:30:1;4191:26;:24;:26::i;:::-;4302:15;;4158:59;;-1:-1:-1;4302:15:1;-1:-1:-1;;;4302:15:1;;;4301:16;;4348:14;;4279:19;4724:16;;:34;;;;;4744:14;4724:34;4704:54;;4768:17;4788:11;:16;;4803:1;4788:16;:50;;;;-1:-1:-1;4816:4:1;4808:25;:30;4788:50;4768:70;;4854:12;4853:13;:30;;;;;4871:12;4870:13;4853:30;4849:91;;;4906:23;;-1:-1:-1;;;4906:23:1;;;;;;;;;;;4849:91;4949:18;;-1:-1:-1;;4949:18:1;4966:1;4949:18;;;4977:67;;;;5011:22;;-1:-1:-1;;;;5011:22:1;-1:-1:-1;;;5011:22:1;;;4977:67;1782:26:13::1;1797:10;1782:14;:26::i;:::-;1818:24;:22;:24::i;:::-;1861:10;:27:::0;;;1898:13:::1;:30:::0;;-1:-1:-1;;;;;;1898:30:13::1;-1:-1:-1::0;;;;;1898:30:13;::::1;;::::0;;5064:101:1;;;;5098:23;;-1:-1:-1;;;;5098:23:1;;;5140:14;;-1:-1:-1;18712:50:17;;5140:14:1;;18700:2:17;18685:18;5140:14:1;;;;;;;5064:101;4092:1079;;;;;1644:291:13;;:::o;3405:215:0:-;2334:13;:11;:13::i;:::-;-1:-1:-1;;;;;3489:22:0;::::1;3485:91;;3534:31;::::0;-1:-1:-1;;;3534:31:0;;3562:1:::1;3534:31;::::0;::::1;4421:51:17::0;4394:18;;3534:31:0::1;4275:203:17::0;3485:91:0::1;3585:28;3604:8;3585:18;:28::i;:::-;3405:215:::0;:::o;1081:486:16:-;1345:51;;;-1:-1:-1;;;;;19031:15:17;;;1345:51:16;;;19013:34:17;19083:15;;;19063:18;;;19056:43;19115:18;;;;19108:34;;;1345:51:16;;;;;;;;;;18948:18:17;;;;1345:51:16;;;;;;;-1:-1:-1;;;;;1345:51:16;-1:-1:-1;;;1345:51:16;;;1334:63;;-1:-1:-1;;;;1334:10:16;;;;:63;;1345:51;1334:63;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1298:99;;;;1428:7;:57;;;;-1:-1:-1;1440:11:16;;:16;;:44;;;1471:4;1460:24;;;;;;;;;;;;:::i;:::-;1407:153;;;;-1:-1:-1;;;1407:153:16;;19854:2:17;1407:153:16;;;19836:21:17;19893:2;19873:18;;;19866:30;19932:34;19912:18;;;19905:62;-1:-1:-1;;;19983:18:17;;;19976:47;20040:19;;1407:153:16;19652:413:17;1407:153:16;1210:357;;1081:486;;;;:::o;4578:312:2:-;4658:4;-1:-1:-1;;;;;4667:6:2;4650:23;;;:120;;;4764:6;-1:-1:-1;;;;;4728:42:2;:32;-1:-1:-1;;;;;;;;;;;1519:53:6;-1:-1:-1;;;;;1519:53:6;;1441:138;4728:32:2;-1:-1:-1;;;;;4728:42:2;;;4650:120;4633:251;;;4844:29;;-1:-1:-1;;;4844:29:2;;;;;;;;;;;7074:84:13;2334:13:0;:11;:13::i;6032:538:2:-;6149:17;-1:-1:-1;;;;;6131:50:2;;:52;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6131:52:2;;;;;;;;-1:-1:-1;;6131:52:2;;;;;;;;;;;;:::i;:::-;;;6127:437;;6493:60;;-1:-1:-1;;;6493:60:2;;-1:-1:-1;;;;;4439:32:17;;6493:60:2;;;4421:51:17;4394:18;;6493:60:2;4275:203:17;6127:437:2;-1:-1:-1;;;;;;;;;;;6225:40:2;;6221:120;;6292:34;;-1:-1:-1;;;6292:34:2;;;;;5327:25:17;;;5300:18;;6292:34:2;5181:177:17;6221:120:2;6354:54;6384:17;6403:4;6354:29;:54::i;:::-;6184:235;6032:538;;:::o;5007:213::-;5081:4;-1:-1:-1;;;;;5090:6:2;5073:23;;5069:145;;5174:29;;-1:-1:-1;;;5174:29:2;;;;;;;;;;;2658:162:0;966:10:3;2717:7:0;1313:22;2570:8;-1:-1:-1;;;;;2570:8:0;;2441:144;2717:7;-1:-1:-1;;;;;2717:23:0;;2713:101;;2763:40;;-1:-1:-1;;;2763:40:0;;966:10:3;2763:40:0;;;4421:51:17;4394:18;;2763:40:0;4275:203:17;3774:248:0;1313:22;3923:8;;-1:-1:-1;;;;;;3941:19:0;;-1:-1:-1;;;;;3941:19:0;;;;;;;;3975:40;;3923:8;;;;;3975:40;;3847:24;;3975:40;3837:185;;3774:248;:::o;1573:214:16:-;1685:12;;;1645;1685;;;;;;;;;-1:-1:-1;;;;;1663:7:16;;;1678:5;;1663:35;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1644:54;;;1716:7;1708:72;;;;-1:-1:-1;;;1708:72:16;;20461:2:17;1708:72:16;;;20443:21:17;20500:2;20480:18;;;20473:30;20539:34;20519:18;;;20512:62;-1:-1:-1;;;20590:18:17;;;20583:50;20650:19;;1708:72:16;20259:416:17;637:438:16;863:45;;;-1:-1:-1;;;;;20872:32:17;;;863:45:16;;;20854:51:17;20921:18;;;;20914:34;;;863:45:16;;;;;;;;;;20827:18:17;;;;863:45:16;;;;;;;-1:-1:-1;;;;;863:45:16;-1:-1:-1;;;863:45:16;;;852:57;;-1:-1:-1;;;;852:10:16;;;;:57;;863:45;852:57;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;816:93;;;;940:7;:57;;;;-1:-1:-1;952:11:16;;:16;;:44;;;983:4;972:24;;;;;;;;;;;;:::i;:::-;919:149;;;;-1:-1:-1;;;919:149:16;;21161:2:17;919:149:16;;;21143:21:17;21200:2;21180:18;;;21173:30;21239:34;21219:18;;;21212:62;-1:-1:-1;;;21290:18:17;;;21283:43;21343:19;;919:149:16;20959:409:17;919:149:16;740:335;;637:438;;;:::o;9071:205:1:-;9129:30;;3147:66;9186:27;8819:122;1847:127:0;6929:20:1;:18;:20::i;:::-;1929:38:0::1;1954:12;1929:24;:38::i;2970:67:2:-:0;6929:20:1;:18;:20::i;2264:344:6:-;2355:37;2374:17;2355:18;:37::i;:::-;2407:36;;-1:-1:-1;;;;;2407:36:6;;;;;;;;2458:11;;:15;2454:148;;2489:53;2518:17;2537:4;2489:28;:53::i;2454:148::-;2573:18;:16;:18::i;7082:141:1:-;7149:17;:15;:17::i;:::-;7144:73;;7189:17;;-1:-1:-1;;;7189:17:1;;;;;;;;;;;1980:235:0;6929:20:1;:18;:20::i;1671:281:6:-;1748:17;-1:-1:-1;;;;;1748:29:6;;1781:1;1748:34;1744:119;;1805:47;;-1:-1:-1;;;1805:47:6;;-1:-1:-1;;;;;4439:32:17;;1805:47:6;;;4421:51:17;4394:18;;1805:47:6;4275:203:17;1744:119:6;-1:-1:-1;;;;;;;;;;;1872:73:6;;-1:-1:-1;;;;;;1872:73:6;-1:-1:-1;;;;;1872:73:6;;;;;;;;;;1671:281::o;3916:253:8:-;3999:12;4024;4038:23;4065:6;-1:-1:-1;;;;;4065:19:8;4085:4;4065:25;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4023:67;;;;4107:55;4134:6;4142:7;4151:10;4107:26;:55::i;:::-;4100:62;3916:253;-1:-1:-1;;;;;3916:253:8:o;6113:122:6:-;6163:9;:13;6159:70;;6199:19;;-1:-1:-1;;;6199:19:6;;;;;;;;;;;8485:120:1;8535:4;8558:26;:24;:26::i;:::-;:40;-1:-1:-1;;;8558:40:1;;;;;;-1:-1:-1;8485:120:1:o;4437:582:8:-;4581:12;4610:7;4605:408;;4633:19;4641:10;4633:7;:19::i;:::-;4605:408;;;4857:17;;:22;:49;;;;-1:-1:-1;;;;;;4883:18:8;;;:23;4857:49;4853:119;;;4933:24;;-1:-1:-1;;;4933:24:8;;-1:-1:-1;;;;;4439:32:17;;4933:24:8;;;4421:51:17;4394:18;;4933:24:8;4275:203:17;4853:119:8;-1:-1:-1;4992:10:8;4605:408;4437:582;;;;;:::o;5559:434::-;5690:17;;:21;5686:301;;5894:10;5888:17;5881:4;5869:10;5865:21;5858:48;5686:301;5957:19;;-1:-1:-1;;;5957:19:8;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14:127:17:-;75:10;70:3;66:20;63:1;56:31;106:4;103:1;96:15;130:4;127:1;120:15;146:253;218:2;212:9;260:4;248:17;;295:18;280:34;;316:22;;;277:62;274:88;;;342:18;;:::i;:::-;378:2;371:22;146:253;:::o;404:275::-;475:2;469:9;540:2;521:13;;-1:-1:-1;;517:27:17;505:40;;575:18;560:34;;596:22;;;557:62;554:88;;;622:18;;:::i;:::-;658:2;651:22;404:275;;-1:-1:-1;404:275:17:o;684:187::-;733:4;766:18;758:6;755:30;752:56;;;788:18;;:::i;:::-;-1:-1:-1;854:2:17;833:15;-1:-1:-1;;829:29:17;860:4;825:40;;684:187::o;876:338::-;941:5;970:53;986:36;1015:6;986:36;:::i;:::-;970:53;:::i;:::-;961:62;;1046:6;1039:5;1032:21;1086:3;1077:6;1072:3;1068:16;1065:25;1062:45;;;1103:1;1100;1093:12;1062:45;1152:6;1147:3;1140:4;1133:5;1129:16;1116:43;1206:1;1199:4;1190:6;1183:5;1179:18;1175:29;1168:40;876:338;;;;;:::o;1219:222::-;1262:5;1315:3;1308:4;1300:6;1296:17;1292:27;1282:55;;1333:1;1330;1323:12;1282:55;1355:80;1431:3;1422:6;1409:20;1402:4;1394:6;1390:17;1355:80;:::i;1446:390::-;1524:6;1532;1585:2;1573:9;1564:7;1560:23;1556:32;1553:52;;;1601:1;1598;1591:12;1553:52;1641:9;1628:23;1674:18;1666:6;1663:30;1660:50;;;1706:1;1703;1696:12;1660:50;1729;1771:7;1762:6;1751:9;1747:22;1729:50;:::i;:::-;1719:60;1826:2;1811:18;;;;1798:32;;-1:-1:-1;;;;1446:390:17:o;1841:250::-;1926:1;1936:113;1950:6;1947:1;1944:13;1936:113;;;2026:11;;;2020:18;2007:11;;;2000:39;1972:2;1965:10;1936:113;;;-1:-1:-1;;2083:1:17;2065:16;;2058:27;1841:250::o;2096:271::-;2138:3;2176:5;2170:12;2203:6;2198:3;2191:19;2219:76;2288:6;2281:4;2276:3;2272:14;2265:4;2258:5;2254:16;2219:76;:::i;:::-;2349:2;2328:15;-1:-1:-1;;2324:29:17;2315:39;;;;2356:4;2311:50;;2096:271;-1:-1:-1;;2096:271:17:o;2481:127::-;2542:10;2537:3;2533:20;2530:1;2523:31;2573:4;2570:1;2563:15;2597:4;2594:1;2587:15;2613:238;2695:1;2688:5;2685:12;2675:143;;2740:10;2735:3;2731:20;2728:1;2721:31;2775:4;2772:1;2765:15;2803:4;2800:1;2793:15;2675:143;2827:18;;2613:238::o;2936:1149::-;3117:2;3106:9;3099:21;3162:6;3156:13;3151:2;3140:9;3136:18;3129:41;3080:4;3217:2;3209:6;3205:15;3199:22;3240:6;3282:2;3277;3266:9;3262:18;3255:30;3308:52;3355:3;3344:9;3340:19;3326:12;3308:52;:::i;:::-;3294:66;;3441:1;3437;3432:3;3428:11;3424:19;3418:2;3410:6;3406:15;3400:22;3396:48;3391:2;3380:9;3376:18;3369:76;3494:2;3486:6;3482:15;3476:22;3507:63;3565:3;3554:9;3550:19;3534:14;3507:63;:::i;:::-;-1:-1:-1;3619:3:17;3607:16;;3601:23;-1:-1:-1;;;;;2438:31:17;;3683:3;3668:19;;2426:44;3633:55;3743:3;3735:6;3731:16;3725:23;3719:3;3708:9;3704:19;3697:52;3798:3;3790:6;3786:16;3780:23;3872:2;3868:7;3856:9;3848:6;3844:22;3840:36;3834:3;3823:9;3819:19;3812:65;3900:41;3934:6;3918:14;3900:41;:::i;:::-;3886:55;;;3990:3;3982:6;3978:16;3972:23;4004:52;4052:2;4041:9;4037:18;4021:14;2923:4;2912:16;2900:29;;2856:75;4004:52;-1:-1:-1;4073:6:17;;2936:1149;-1:-1:-1;;;;2936:1149:17:o;4090:180::-;4149:6;4202:2;4190:9;4181:7;4177:23;4173:32;4170:52;;;4218:1;4215;4208:12;4170:52;-1:-1:-1;4241:23:17;;4090:180;-1:-1:-1;4090:180:17:o;4725:131::-;-1:-1:-1;;;;;4800:31:17;;4790:42;;4780:70;;4846:1;4843;4836:12;4861:315;4929:6;4937;4990:2;4978:9;4969:7;4965:23;4961:32;4958:52;;;5006:1;5003;4996:12;4958:52;5045:9;5032:23;5064:31;5089:5;5064:31;:::i;:::-;5114:5;5166:2;5151:18;;;;5138:32;;-1:-1:-1;;;4861:315:17:o;5363:585::-;5440:6;5448;5501:2;5489:9;5480:7;5476:23;5472:32;5469:52;;;5517:1;5514;5507:12;5469:52;5556:9;5543:23;5575:31;5600:5;5575:31;:::i;:::-;5625:5;-1:-1:-1;5681:2:17;5666:18;;5653:32;5708:18;5697:30;;5694:50;;;5740:1;5737;5730:12;5694:50;5763:22;;5816:4;5808:13;;5804:27;-1:-1:-1;5794:55:17;;5845:1;5842;5835:12;5794:55;5868:74;5934:7;5929:2;5916:16;5911:2;5907;5903:11;5868:74;:::i;:::-;5858:84;;;5363:585;;;;;:::o;6135:210::-;6282:2;6267:18;;6294:45;6271:9;6321:6;6294:45;:::i;6350:337::-;6416:6;6424;6477:2;6465:9;6456:7;6452:23;6448:32;6445:52;;;6493:1;6490;6483:12;6445:52;6529:9;6516:23;6506:33;;6589:2;6578:9;6574:18;6561:32;6633:4;6626:5;6622:16;6615:5;6612:27;6602:55;;6653:1;6650;6643:12;6602:55;6676:5;6666:15;;;6350:337;;;;;:::o;6692:247::-;6751:6;6804:2;6792:9;6783:7;6779:23;6775:32;6772:52;;;6820:1;6817;6810:12;6772:52;6859:9;6846:23;6878:31;6903:5;6878:31;:::i;6944:632::-;7115:2;7167:21;;;7237:13;;7140:18;;;7259:22;;;7086:4;;7115:2;7338:15;;;;7312:2;7297:18;;;7086:4;7381:169;7395:6;7392:1;7389:13;7381:169;;;7456:13;;7444:26;;7525:15;;;;7490:12;;;;7417:1;7410:9;7381:169;;;-1:-1:-1;7567:3:17;;6944:632;-1:-1:-1;;;;;;6944:632:17:o;7581:390::-;7659:6;7667;7720:2;7708:9;7699:7;7695:23;7691:32;7688:52;;;7736:1;7733;7726:12;7688:52;7772:9;7759:23;7749:33;;7833:2;7822:9;7818:18;7805:32;7860:18;7852:6;7849:30;7846:50;;;7892:1;7889;7882:12;7846:50;7915;7957:7;7948:6;7937:9;7933:22;7915:50;:::i;7976:931::-;8313:4;8342:3;8372:6;8361:9;8354:25;8415:2;8410;8399:9;8395:18;8388:30;8441:45;8482:2;8471:9;8467:18;8459:6;8441:45;:::i;:::-;-1:-1:-1;;;;;8560:15:17;;;8555:2;8540:18;;8533:43;8427:59;;-1:-1:-1;8585:54:17;8635:2;8620:18;;8612:6;8585:54;:::i;:::-;8676:15;;8670:3;8655:19;;8648:44;8723:3;8708:19;;8701:35;;;8773:22;;;8767:3;8752:19;;8745:51;8813:33;8777:6;8831;8813:33;:::i;:::-;8805:41;;;8895:4;8887:6;8883:17;8877:3;8866:9;8862:19;8855:46;7976:931;;;;;;;;;;;:::o;8912:220::-;9061:2;9050:9;9043:21;9024:4;9081:45;9122:2;9111:9;9107:18;9099:6;9081:45;:::i;9137:349::-;9239:6;9247;9300:2;9288:9;9279:7;9275:23;9271:32;9268:52;;;9316:1;9313;9306:12;9268:52;9352:9;9339:23;9329:33;;9412:2;9401:9;9397:18;9384:32;9425:31;9450:5;9425:31;:::i;9491:138::-;9570:13;;9592:31;9570:13;9592:31;:::i;:::-;9491:138;;;:::o;9634:164::-;9710:13;;9759;;9752:21;9742:32;;9732:60;;9788:1;9785;9778:12;9803:1335;9906:6;9937:2;9980;9968:9;9959:7;9955:23;9951:32;9948:52;;;9996:1;9993;9986:12;9948:52;10029:9;10023:16;10058:18;10099:2;10091:6;10088:14;10085:34;;;10115:1;10112;10105:12;10085:34;10138:22;;;;10194:4;10176:16;;;10172:27;10169:47;;;10212:1;10209;10202:12;10169:47;10238:22;;:::i;:::-;10290:2;10284:9;10302:33;10327:7;10302:33;:::i;:::-;10344:22;;10397:11;;;10391:18;10421:16;;;10418:36;;;10450:1;10447;10440:12;10418:36;10473:17;;;-1:-1:-1;10521:4:17;10513:13;;10509:27;-1:-1:-1;10499:55:17;;10550:1;10547;10540:12;10499:55;10579:2;10573:9;10604:49;10620:32;10649:2;10620:32;:::i;10604:49::-;10676:2;10669:5;10662:17;10716:7;10711:2;10706;10702;10698:11;10694:20;10691:33;10688:53;;;10737:1;10734;10727:12;10688:53;10750:67;10814:2;10809;10802:5;10798:14;10793:2;10789;10785:11;10750:67;:::i;:::-;10833:14;;;10826:29;-1:-1:-1;10901:2:17;10893:11;;;10887:18;10871:14;;;10864:42;10938;10976:2;10968:11;;10938:42;:::i;:::-;10933:2;10926:5;10922:14;10915:66;11028:3;11024:2;11020:12;11014:19;11008:3;11001:5;10997:15;10990:44;11067:40;11102:3;11098:2;11094:12;11067:40;:::i;:::-;11061:3;11050:15;;11043:65;11054:5;9803:1335;-1:-1:-1;;;;;;9803:1335:17:o;12248:380::-;12327:1;12323:12;;;;12370;;;12391:61;;12445:4;12437:6;12433:17;12423:27;;12391:61;12498:2;12490:6;12487:14;12467:18;12464:38;12461:161;;12544:10;12539:3;12535:20;12532:1;12525:31;12579:4;12576:1;12569:15;12607:4;12604:1;12597:15;12461:161;;12248:380;;;:::o;12759:543::-;12861:2;12856:3;12853:11;12850:446;;;12897:1;12921:5;12918:1;12911:16;12965:4;12962:1;12952:18;13035:2;13023:10;13019:19;13016:1;13012:27;13006:4;13002:38;13071:4;13059:10;13056:20;13053:47;;;-1:-1:-1;13094:4:17;13053:47;13149:2;13144:3;13140:12;13137:1;13133:20;13127:4;13123:31;13113:41;;13204:82;13222:2;13215:5;13212:13;13204:82;;;13267:17;;;13248:1;13237:13;13204:82;;13478:1345;13604:3;13598:10;13631:18;13623:6;13620:30;13617:56;;;13653:18;;:::i;:::-;13682:97;13772:6;13732:38;13764:4;13758:11;13732:38;:::i;:::-;13726:4;13682:97;:::i;:::-;13834:4;;13891:2;13880:14;;13908:1;13903:663;;;;14610:1;14627:6;14624:89;;;-1:-1:-1;14679:19:17;;;14673:26;14624:89;-1:-1:-1;;13435:1:17;13431:11;;;13427:24;13423:29;13413:40;13459:1;13455:11;;;13410:57;14726:81;;13873:944;;13903:663;12706:1;12699:14;;;12743:4;12730:18;;-1:-1:-1;;13939:20:17;;;14057:236;14071:7;14068:1;14065:14;14057:236;;;14160:19;;;14154:26;14139:42;;14252:27;;;;14220:1;14208:14;;;;14087:19;;14057:236;;;14061:3;14321:6;14312:7;14309:19;14306:201;;;14382:19;;;14376:26;-1:-1:-1;;14465:1:17;14461:14;;;14477:3;14457:24;14453:37;14449:42;14434:58;14419:74;;14306:201;-1:-1:-1;;;;;14553:1:17;14537:14;;;14533:22;14520:36;;-1:-1:-1;13478:1345:17:o;14828:362::-;15033:6;15022:9;15015:25;15076:6;15071:2;15060:9;15056:18;15049:34;15119:2;15114;15103:9;15099:18;15092:30;14996:4;15139:45;15180:2;15169:9;15165:18;15157:6;15139:45;:::i;15195:232::-;15234:3;15255:17;;;15252:140;;15314:10;15309:3;15305:20;15302:1;15295:31;15349:4;15346:1;15339:15;15377:4;15374:1;15367:15;15252:140;-1:-1:-1;15419:1:17;15408:13;;15195:232::o;17138:184::-;17208:6;17261:2;17249:9;17240:7;17236:23;17232:32;17229:52;;;17277:1;17274;17267:12;17229:52;-1:-1:-1;17300:16:17;;17138:184;-1:-1:-1;17138:184:17:o;19153:287::-;19282:3;19320:6;19314:13;19336:66;19395:6;19390:3;19383:4;19375:6;19371:17;19336:66;:::i;:::-;19418:16;;;;;19153:287;-1:-1:-1;;19153:287:17:o;19445:202::-;19512:6;19565:2;19553:9;19544:7;19540:23;19536:32;19533:52;;;19581:1;19578;19571:12;19533:52;19604:37;19631:9;19604:37;:::i" + }, + "methodIdentifiers": { + "UPGRADE_INTERFACE_VERSION()": "ad3cb1cc", + "agentRegistry()": "0d1cfcae", + "cancelTask(uint256)": "7eec20a8", + "completeTask(uint256,string)": "74aaa760", + "createTask(string,uint256)": "04fe2b34", + "getAssignee(uint256)": "07b31818", + "getStatus(uint256)": "5c622a0e", + "getTask(uint256)": "1d65e77e", + "getTasksByIssuer(address)": "639241ab", + "initialize(uint256,address)": "da35a26f", + "issuerTasks(address,uint256)": "2a2b3a9d", + "owner()": "8da5cb5b", + "proxiableUUID()": "52d1902d", + "rateTask(uint256,uint8)": "6298eee0", + "renounceOwnership()": "715018a6", + "tasks(uint256)": "8d977672", + "transferOwnership(address)": "f2fde38b", + "upgradeToAndCall(address,bytes)": "4f1ef286" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"ERC1967InvalidImplementation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ERC1967NonPayable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidInitialization\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotInitializing\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UUPSUnauthorizedCallContext\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"UUPSUnsupportedProxiableUUID\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"tokenAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"indexed\":false,\"internalType\":\"struct IProposalStruct.ServiceProposal\",\"name\":\"proposal\",\"type\":\"tuple\"}],\"name\":\"ProposalApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"}],\"name\":\"TaskAssigned\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"TaskCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"}],\"name\":\"TaskCompleted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"}],\"name\":\"TaskCreated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"name\":\"TaskRated\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"name\":\"TaskStatusChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"}],\"name\":\"Upgraded\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"UPGRADE_INTERFACE_VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"agentRegistry\",\"outputs\":[{\"internalType\":\"contract AgentsRegistryUpgradeable\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"cancelTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"}],\"name\":\"completeTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"}],\"name\":\"createTask\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"internalType\":\"struct TaskRegistryUpgradeable.TaskData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getAssignee\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getStatus\",\"outputs\":[{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"}],\"name\":\"getTask\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"internalType\":\"struct TaskRegistryUpgradeable.TaskData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"}],\"name\":\"getTasksByIssuer\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_initialTaskId\",\"type\":\"uint256\"},{\"internalType\":\"contract AgentsRegistryUpgradeable\",\"name\":\"_agentRegistry\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"issuerTasks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxiableUUID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"taskId\",\"type\":\"uint256\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"name\":\"rateTask\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"tasks\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"id\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"prompt\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"enum TaskRegistryUpgradeable.TaskStatus\",\"name\":\"status\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"assignee\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"result\",\"type\":\"string\"},{\"internalType\":\"uint8\",\"name\":\"rating\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newImplementation\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"upgradeToAndCall\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"leonprou\",\"details\":\"Upgradeable version using UUPS proxy pattern\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}],\"ERC1967InvalidImplementation(address)\":[{\"details\":\"The `implementation` of the proxy is invalid.\"}],\"ERC1967NonPayable()\":[{\"details\":\"An upgrade function sees `msg.value > 0` that may be lost.\"}],\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InvalidInitialization()\":[{\"details\":\"The contract is already initialized.\"}],\"NotInitializing()\":[{\"details\":\"The contract is not initializing.\"}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}],\"UUPSUnauthorizedCallContext()\":[{\"details\":\"The call is from an unauthorized context.\"}],\"UUPSUnsupportedProxiableUUID(bytes32)\":[{\"details\":\"The storage `slot` is unsupported as a UUID.\"}]},\"events\":{\"Initialized(uint64)\":{\"details\":\"Triggered when the contract has been initialized or reinitialized.\"},\"Upgraded(address)\":{\"details\":\"Emitted when the implementation is upgraded.\"}},\"kind\":\"dev\",\"methods\":{\"cancelTask(uint256)\":{\"details\":\"Cancels a task that is in ASSIGNED status and refunds the payment.\",\"params\":{\"taskId\":\"The ID of the task to cancel.\"}},\"completeTask(uint256,string)\":{\"details\":\"Completes a task with the given result.\",\"params\":{\"result\":\"The result or output of the completed task.\",\"taskId\":\"The ID of the task.\"}},\"constructor\":{\"custom:oz-upgrades-unsafe-allow\":\"constructor\"},\"createTask(string,uint256)\":{\"details\":\"Creates a new task with the given prompt and task type.\",\"params\":{\"prompt\":\"The description or prompt of the task.\"},\"returns\":{\"_0\":\"taskId The ID of the newly created task.\"}},\"initialize(uint256,address)\":{\"details\":\"Initializes the contract\",\"params\":{\"_agentRegistry\":\"The address of the agent registry\",\"_initialTaskId\":\"The starting task ID\"}},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"proxiableUUID()\":{\"details\":\"Implementation of the ERC-1822 {proxiableUUID} function. This returns the storage slot used by the implementation. It is used to validate the implementation's compatibility when performing an upgrade. IMPORTANT: A proxy pointing at a proxiable contract should not be considered proxiable itself, because this risks bricking a proxy that upgrades to it, by delegating to itself until out of gas. Thus it is critical that this function revert if invoked through a proxy. This is guaranteed by the `notDelegated` modifier.\"},\"rateTask(uint256,uint8)\":{\"details\":\"Rated a completed task, called by the task issuer\",\"params\":{\"rating\":\"task rating from 0 to 100.\",\"taskId\":\"The ID of the task.\"}},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"},\"upgradeToAndCall(address,bytes)\":{\"custom:oz-upgrades-unsafe-allow-reachable\":\"delegatecall\",\"details\":\"Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call encoded in `data`. Calls {_authorizeUpgrade}. Emits an {Upgraded} event.\"}},\"stateVariables\":{\"__gap\":{\"details\":\"Storage gap for future upgrades\"}},\"title\":\"TaskRegistryUpgradeable\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"A smart contract that stores information about the tasks issued for the agent service providers.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/TaskRegistryUpgradeable.sol\":\"TaskRegistryUpgradeable\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol\":{\"keccak256\":\"0xc163fcf9bb10138631a9ba5564df1fa25db9adff73bd9ee868a8ae1858fe093a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9706d43a0124053d9880f6e31a59f31bc0a6a3dc1acd66ce0a16e1111658c5f6\",\"dweb:/ipfs/QmUFmfowzkRwGtDu36cXV9SPTBHJ3n7dG9xQiK5B28jTf2\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol\":{\"keccak256\":\"0xdb4d24ee2c087c391d587cd17adfe5b3f9d93b3110b1388c2ab6c7c0ad1dcd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7b6d5b9e2b88176312967fe0f0e78f3d9a1422fa5e4b64e2440c35869b5d08\",\"dweb:/ipfs/QmXKYWWyzcLg1B2k7Sb1qkEXgLCYfXecR9wYW5obRzWP1Q\"]},\"@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol\":{\"keccak256\":\"0x574a7451e42724f7de29e2855c392a8a5020acd695169466a18459467d719d63\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bc189f63b639ee173dd7b6fecc39baf7113bf161776aea22b34c57fdd1872ec\",\"dweb:/ipfs/QmZAf2VtjDLRULqjJkde6LNsxAg12tUqpPqgUQQZbAjgtZ\"]},\"@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol\":{\"keccak256\":\"0xdbef5f0c787055227243a7318ef74c8a5a1108ca3a07f2b3a00ef67769e1e397\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08e39f23d5b4692f9a40803e53a8156b72b4c1f9902a88cd65ba964db103dab9\",\"dweb:/ipfs/QmPKn6EYDgpga7KtpkA8wV2yJCYGMtc9K4LkJfhKX2RVSV\"]},\"@openzeppelin/contracts/interfaces/IERC1967.sol\":{\"keccak256\":\"0xbf2aefe54b76d7f7bcd4f6da1080b7b1662611937d870b880db584d09cea56b5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e7e2f12e0feec75296e57f51f82fdaa8bd1551f4b8cc6560442c0bf60f818c\",\"dweb:/ipfs/QmcW9wDMaQ8RbQibMarfp17a3bABzY5KraWe2YDwuUrUoz\"]},\"@openzeppelin/contracts/interfaces/draft-IERC1822.sol\":{\"keccak256\":\"0x82f757819bf2429a0d4db141b99a4bbe5039e4ef86dfb94e2e6d40577ed5b28b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://37c30ed931e19fb71fdb806bb504cfdb9913b7127545001b64d4487783374422\",\"dweb:/ipfs/QmUBHpv4hm3ZmwJ4GH8BeVzK4mv41Q6vBbWXxn8HExPXza\"]},\"@openzeppelin/contracts/proxy/ERC1967/ERC1967Utils.sol\":{\"keccak256\":\"0xa1ad192cd45317c788618bef5cb1fb3ca4ce8b230f6433ac68cc1d850fb81618\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b43447bb85a53679d269a403c693b9d88d6c74177dfb35eddca63abaf7cf110a\",\"dweb:/ipfs/QmXSDmpd4bNZj1PDgegr6C4w1jDaWHXCconC3rYiw9TSkQ\"]},\"@openzeppelin/contracts/proxy/beacon/IBeacon.sol\":{\"keccak256\":\"0x20462ddb2665e9521372c76b001d0ce196e59dbbd989de9af5576cad0bd5628b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f417fd12aeec8fbfaceaa30e3a08a0724c0bc39de363e2acf6773c897abbaf6d\",\"dweb:/ipfs/QmU4Hko6sApdweVM92CsiuLKkCk8HfyBeutF89PCTz5Tye\"]},\"@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0x6d0ae6e206645341fd122d278c2cb643dea260c190531f2f3f6a0426e77b00c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032d1201d839435be2c85b72e33206b3ea980c569d6ebf7fa57d811ab580a82f\",\"dweb:/ipfs/QmeqQjAtMvdZT2tG7zm39itcRJkuwu8AEReK6WRnLJ18DD\"]},\"@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"contracts/AgentsRegistryUpgradeable.sol\":{\"keccak256\":\"0xe5149f631a8e1a7a69acb078fe71de57ee8cceafd8fbd853f7e06608123c76a6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://31c481c3cc50228da8d41963f7c84a3d1c29a5ef31e6fee38857a7cdbe4e884e\",\"dweb:/ipfs/QmYFgcoeARWkTwEks7Vie9ezcFmHssGYAqxDfo5TnUkdBc\"]},\"contracts/ServiceRegistryUpgradeable.sol\":{\"keccak256\":\"0x86494f732446eaa4c596e864270ae6f5199602521e5392f3e38a8b6b61c077f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5c78125c06ca8cdc580b26613a7da85bca4dfcb7094b3223352dd2861da0258e\",\"dweb:/ipfs/QmNupwQuJGQj4UAf44ZgyBTHnq43Mr2s16ZgQBf4HEL1PT\"]},\"contracts/TaskRegistryUpgradeable.sol\":{\"keccak256\":\"0x8c98c70f875182d2dbe2a48f876c5cb2a1390a870f141da866bbddb942b85412\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1c14e11e8c0f847a45a2a51883331be3d7f6a19a2acf07155348573bb1691641\",\"dweb:/ipfs/QmZB7g57f3qv8Hj3WwssBhMVjPyf9wcQt5zs1WzNYC8Hvd\"]},\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]},\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]},\"contracts/lib/TransferHelper.sol\":{\"keccak256\":\"0x65e08c88e7925dc1d5c0f7e774896f11af45bca8067ceeaa35ff4c93128c62c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd6919f03addec5eb18403934c51848d7e4f71f44359d429755cc82155d3e072\",\"dweb:/ipfs/QmeNazpowCEm8Q54cSoHPtvF5wofLnrAwVh4g71G4oVZ1w\"]}},\"version\":1}", + "storageLayout": { + "storage": [ + { + "astId": 2622, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "tasks", + "offset": 0, + "slot": "0", + "type": "t_mapping(t_uint256,t_struct(TaskData)2617_storage)" + }, + { + "astId": 2627, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "issuerTasks", + "offset": 0, + "slot": "1", + "type": "t_mapping(t_address,t_array(t_uint256)dyn_storage)" + }, + { + "astId": 2629, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "nextTaskId", + "offset": 0, + "slot": "2", + "type": "t_uint256" + }, + { + "astId": 2632, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "agentRegistry", + "offset": 0, + "slot": "3", + "type": "t_contract(AgentsRegistryUpgradeable)2363" + }, + { + "astId": 3204, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "__gap", + "offset": 0, + "slot": "4", + "type": "t_array(t_uint256)50_storage" + } + ], + "types": { + "t_address": { + "encoding": "inplace", + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)50_storage": { + "base": "t_uint256", + "encoding": "inplace", + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_array(t_uint256)dyn_storage": { + "base": "t_uint256", + "encoding": "dynamic_array", + "label": "uint256[]", + "numberOfBytes": "32" + }, + "t_contract(AgentsRegistryUpgradeable)2363": { + "encoding": "inplace", + "label": "contract AgentsRegistryUpgradeable", + "numberOfBytes": "20" + }, + "t_enum(TaskStatus)2599": { + "encoding": "inplace", + "label": "enum TaskRegistryUpgradeable.TaskStatus", + "numberOfBytes": "1" + }, + "t_mapping(t_address,t_array(t_uint256)dyn_storage)": { + "encoding": "mapping", + "key": "t_address", + "label": "mapping(address => uint256[])", + "numberOfBytes": "32", + "value": "t_array(t_uint256)dyn_storage" + }, + "t_mapping(t_uint256,t_struct(TaskData)2617_storage)": { + "encoding": "mapping", + "key": "t_uint256", + "label": "mapping(uint256 => struct TaskRegistryUpgradeable.TaskData)", + "numberOfBytes": "32", + "value": "t_struct(TaskData)2617_storage" + }, + "t_string_storage": { + "encoding": "bytes", + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(TaskData)2617_storage": { + "encoding": "inplace", + "label": "struct TaskRegistryUpgradeable.TaskData", + "members": [ + { + "astId": 2601, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "id", + "offset": 0, + "slot": "0", + "type": "t_uint256" + }, + { + "astId": 2603, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "prompt", + "offset": 0, + "slot": "1", + "type": "t_string_storage" + }, + { + "astId": 2605, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "issuer", + "offset": 0, + "slot": "2", + "type": "t_address" + }, + { + "astId": 2608, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "status", + "offset": 20, + "slot": "2", + "type": "t_enum(TaskStatus)2599" + }, + { + "astId": 2610, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "assignee", + "offset": 0, + "slot": "3", + "type": "t_address" + }, + { + "astId": 2612, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "proposalId", + "offset": 0, + "slot": "4", + "type": "t_uint256" + }, + { + "astId": 2614, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "result", + "offset": 0, + "slot": "5", + "type": "t_string_storage" + }, + { + "astId": 2616, + "contract": "contracts/TaskRegistryUpgradeable.sol:TaskRegistryUpgradeable", + "label": "rating", + "offset": 0, + "slot": "6", + "type": "t_uint8" + } + ], + "numberOfBytes": "224" + }, + "t_uint256": { + "encoding": "inplace", + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "encoding": "inplace", + "label": "uint8", + "numberOfBytes": "1" + } + } + } + } + }, + "contracts/interfaces/IAgentRegistryV1.sol": { + "IAgentRegistryV1": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "_agent", + "type": "address" + } + ], + "name": "getAgentData", + "outputs": [ + { + "components": [ + { + "internalType": "string", + "name": "name", + "type": "string" + }, + { + "internalType": "string", + "name": "agentUri", + "type": "string" + }, + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "agent", + "type": "address" + }, + { + "internalType": "uint256", + "name": "reputation", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "totalRatings", + "type": "uint256" + } + ], + "internalType": "struct IAgentRegistryV1.AgentData", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "_proposalId", + "type": "uint256" + } + ], + "name": "getProposal", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "issuer", + "type": "address" + }, + { + "internalType": "string", + "name": "serviceName", + "type": "string" + }, + { + "internalType": "uint256", + "name": "price", + "type": "uint256" + }, + { + "internalType": "uint256", + "name": "proposalId", + "type": "uint256" + }, + { + "internalType": "bool", + "name": "isActive", + "type": "bool" + } + ], + "internalType": "struct IAgentRegistryV1.Proposal", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "nextProposalId", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "serviceRegistry", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "getAgentData(address)": "aac9f15a", + "getProposal(uint256)": "c7f758a8", + "nextProposalId()": "2ab09d14", + "serviceRegistry()": "cbcf252a" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_agent\",\"type\":\"address\"}],\"name\":\"getAgentData\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"agentUri\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"agent\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"reputation\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"totalRatings\",\"type\":\"uint256\"}],\"internalType\":\"struct IAgentRegistryV1.AgentData\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_proposalId\",\"type\":\"uint256\"}],\"name\":\"getProposal\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"serviceName\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"price\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"proposalId\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"isActive\",\"type\":\"bool\"}],\"internalType\":\"struct IAgentRegistryV1.Proposal\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nextProposalId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"serviceRegistry\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IAgentRegistryV1.sol\":\"IAgentRegistryV1\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IAgentRegistryV1.sol\":{\"keccak256\":\"0x78eed762f2f6e236843fae980ef66a30c5ffd2f57ee08fc09ae350b53d1a8ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://21804e3d4339789cd0ed866a9eac9f2def1305fc8014c1192a2d4d0b48c41b7c\",\"dweb:/ipfs/Qma9Lr2sYciw9cuU7gnvhcvdi3ocfZzV8v9RX3fWKY6Uwu\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "contracts/interfaces/IProposalStruct.sol": { + "IProposalStruct": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/interfaces/IProposalStruct.sol\":\"IProposalStruct\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/interfaces/IProposalStruct.sol\":{\"keccak256\":\"0x382970d4712bd868a7889834b9bbaad748ce3e32dff621bba5a7bc1e3356b641\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b68ba4d6217c240a6de5bfbdfd7325638362ff2121902dc40fb740d66c7c3fea\",\"dweb:/ipfs/QmdAF54xNRa97VdS5bDk4U679NJdBuppiGtHumnqtUmyUS\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + }, + "contracts/lib/TransferHelper.sol": { + "TransferHelper": { + "abi": [], + "evm": { + "bytecode": { + "functionDebugData": {}, + "generatedSources": [], + "linkReferences": {}, + "object": "60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220450e0bacf752a69ec1e5916059d28cac6b160b59c9f75ce0aa6f20649e87099b64736f6c63430008160033", + "opcodes": "PUSH1 0x56 PUSH1 0x37 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x2A JUMPI PUSH4 0x4E487B71 PUSH1 0xE0 SHL PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASLIMIT 0xE SIGNEXTEND 0xAC 0xF7 MSTORE 0xA6 SWAP15 0xC1 0xE5 SWAP2 PUSH1 0x59 0xD2 DUP13 0xAC PUSH12 0x160B59C9F75CE0AA6F20649E DUP8 MULMOD SWAP12 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "168:1621:16:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;168:1621:16;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "functionDebugData": {}, + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220450e0bacf752a69ec1e5916059d28cac6b160b59c9f75ce0aa6f20649e87099b64736f6c63430008160033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 GASLIMIT 0xE SIGNEXTEND 0xAC 0xF7 MSTORE 0xA6 SWAP15 0xC1 0xE5 SWAP2 PUSH1 0x59 0xD2 DUP13 0xAC PUSH12 0x160B59C9F75CE0AA6F20649E DUP8 MULMOD SWAP12 PUSH5 0x736F6C6343 STOP ADDMOD AND STOP CALLER ", + "sourceMap": "168:1621:16:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/lib/TransferHelper.sol\":\"TransferHelper\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"contracts/lib/TransferHelper.sol\":{\"keccak256\":\"0x65e08c88e7925dc1d5c0f7e774896f11af45bca8067ceeaa35ff4c93128c62c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd6919f03addec5eb18403934c51848d7e4f71f44359d429755cc82155d3e072\",\"dweb:/ipfs/QmeNazpowCEm8Q54cSoHPtvF5wofLnrAwVh4g71G4oVZ1w\"]}},\"version\":1}", + "storageLayout": { + "storage": [], + "types": null + } + } + } + } + } +} \ No newline at end of file diff --git a/packages/contracts/ignition/deployments/chain-84532/deployed_addresses.json b/packages/contracts/ignition/deployments/chain-84532/deployed_addresses.json index 6e700ef..e2df22c 100644 --- a/packages/contracts/ignition/deployments/chain-84532/deployed_addresses.json +++ b/packages/contracts/ignition/deployments/chain-84532/deployed_addresses.json @@ -1,12 +1,12 @@ { - "AgentsRegistryUpgradeableModule#AgentsRegistryImpl": "0x54D38F096926915daae83f4F2a774EfA27a5Bc97", - "EnsembleCreditsModule#EnsembleCredits": "0x42b3286d260036568E1447Ff7D4F45a21E5120F1", - "ServiceRegistryUpgradeableModule#ServiceRegistryImpl": "0xa426a6874aCA4Af6A645F215c650a1643AC3E2fe", - "TaskRegistryUpgradeableModule#TaskRegistryImpl": "0x025a5d27FF77d77019e21e64B857D825B2082DBa", - "ServiceRegistryUpgradeableModule#ServiceRegistryProxy": "0x3Acbf1Ca047a18bE88E7160738A9B0bB64203244", - "ServiceRegistryUpgradeableModule#ServiceRegistryProxied": "0x3Acbf1Ca047a18bE88E7160738A9B0bB64203244", - "AgentsRegistryUpgradeableModule#AgentsRegistryProxy": "0xDbF645cC23066cc364C4Db915c78135eE52f11B2", - "AgentsRegistryUpgradeableModule#AgentsRegistryProxied": "0xDbF645cC23066cc364C4Db915c78135eE52f11B2", - "TaskRegistryUpgradeableModule#TaskRegistryProxy": "0x847fA49b999489fD2780fe2843A7b1608106b49b", - "TaskRegistryUpgradeableModule#TaskRegistryProxied": "0x847fA49b999489fD2780fe2843A7b1608106b49b" + "AgentsRegistryUpgradeableModule#AgentsRegistryImpl": "0xAb38118AD1768baAa59bDB982029F08750274364", + "EnsembleCreditsModule#EnsembleCredits": "0x5C1fef4B208f56C6ebdF4e9dD52364CE5f921DD8", + "ServiceRegistryUpgradeableModule#ServiceRegistryImpl": "0x8C19A576158de60Cab40207C1d2E4D1D7fb43F31", + "TaskRegistryUpgradeableModule#TaskRegistryImpl": "0x89c33DEdd6e579131FbD3fCD07513653a0E812eD", + "ServiceRegistryUpgradeableModule#ServiceRegistryProxy": "0x05506f4eA523C103820b4733663Bbbd0D119806f", + "ServiceRegistryUpgradeableModule#ServiceRegistryProxied": "0x05506f4eA523C103820b4733663Bbbd0D119806f", + "AgentsRegistryUpgradeableModule#AgentsRegistryProxy": "0xdc9Cdb9A7Bc2CE2bF19dEc0058dd587DE0456EE9", + "AgentsRegistryUpgradeableModule#AgentsRegistryProxied": "0xdc9Cdb9A7Bc2CE2bF19dEc0058dd587DE0456EE9", + "TaskRegistryUpgradeableModule#TaskRegistryProxy": "0xa16e7A279931712a651822a8A4035B5733c7f811", + "TaskRegistryUpgradeableModule#TaskRegistryProxied": "0xa16e7A279931712a651822a8A4035B5733c7f811" } diff --git a/packages/contracts/ignition/deployments/chain-84532/journal.jsonl b/packages/contracts/ignition/deployments/chain-84532/journal.jsonl index edafe0f..663ce4e 100644 --- a/packages/contracts/ignition/deployments/chain-84532/journal.jsonl +++ b/packages/contracts/ignition/deployments/chain-84532/journal.jsonl @@ -1,48 +1,56 @@ {"chainId":84532,"type":"DEPLOYMENT_INITIALIZE"} {"artifactId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","constructorArgs":[],"contractName":"AgentsRegistryUpgradeable","dependencies":[],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","networkInteraction":{"data":"0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb162000104600039600081816118f0015281816119190152611a5a0152612eb16000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d4565b610544565b6040516101b89695949392919061223d565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f5565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ac565b610736565b6101e16102353660046124e5565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612548565b6108a8565b34801561027b57600080fd5b506101f961028a366004612565565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612591565b610bd9565b3480156102d057600080fd5b506102e46102df366004612565565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612591565b610d9d565b34801561034d57600080fd5b506101e161035c366004612548565b610ecf565b34801561036d57600080fd5b506101f961037c366004612548565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612548565b611035565b6040516101b89190612606565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612682565b34801561043157600080fd5b506101e1610440366004612695565b611207565b34801561045157600080fd5b506101e1610460366004612548565b61130e565b34801561047157600080fd5b506104856104803660046121d4565b611380565b6040516101b89190612700565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612548565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612548565b61153a565b34801561051e57600080fd5b5061053261052d366004612548565b611578565b6040516101b896959493929190612768565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bc565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f6565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612682565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612842565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5c83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f6565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b5565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612994565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a7565b6001600160a01b038616600090815260036020526040902060040154610b3491906129ba565b610b3e9190612994565b610b4891906129d1565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f6565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f3565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a72565b506001600160a01b0384166000908152600360205260409020600101610e858382612a72565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b31565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f3565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612186565b610fc7600183016000612186565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bc565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bc565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f3565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612682565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612842565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bc565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bc565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bc565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bc565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bc565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bc565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a72565b50600181016116fd8582612a72565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b31565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a72565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b56565b60405180910390a26005805490600061189783612b90565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5c833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba9565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5c8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba9565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc2565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612186565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612682565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612842565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c66565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612682565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c83565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d48565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8b565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5c83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3f565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612192906127bc565b6000825580601f106121a2575050565b601f01602090049060005260206000209081019061157591905b808211156121d057600081556001016121bc565b5090565b6000602082840312156121e657600080fd5b5035919050565b60005b838110156122085781810151838201526020016121f0565b50506000910152565b600081518084526122298160208601602086016121ed565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225f60c0840189612211565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d4576122d461229c565b60405290565b60405160a081016001600160401b03811182821017156122d4576122d461229c565b604051608081016001600160401b03811182821017156122d4576122d461229c565b604051606081016001600160401b03811182821017156122d4576122d461229c565b604051601f8201601f191681016001600160401b03811182821017156123685761236861229c565b604052919050565b60006001600160401b038211156123895761238961229c565b50601f01601f191660200190565b60006123aa6123a584612370565b612340565b90508281528383830111156123be57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e657600080fd5b61215683833560208501612397565b60008060008060008060c0878903121561240e57600080fd5b863561241981612287565b955060208701356001600160401b038082111561243557600080fd5b6124418a838b016123d5565b9650604089013591508082111561245757600080fd5b6124638a838b016123d5565b9550606089013591508082111561247957600080fd5b5061248689828a016123d5565b9350506080870135915060a087013561249e81612287565b809150509295509295509295565b600080604083850312156124bf57600080fd5b82356124ca81612287565b915060208301356124da81612287565b809150509250929050565b600080604083850312156124f857600080fd5b823561250381612287565b915060208301356001600160401b0381111561251e57600080fd5b8301601f8101851361252f57600080fd5b61253e85823560208401612397565b9150509250929050565b60006020828403121561255a57600080fd5b813561215681612287565b6000806040838503121561257857600080fd5b823561258381612287565b946020939093013593505050565b6000806000606084860312156125a657600080fd5b83356125b181612287565b925060208401356001600160401b03808211156125cd57600080fd5b6125d9878388016123d5565b935060408601359150808211156125ef57600080fd5b506125fc868287016123d5565b9150509250925092565b602081526000825160c0602084015261262260e0840182612211565b90506020840151601f1984830301604085015261263f8282612211565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612211565b600080600080608085870312156126ab57600080fd5b84356126b681612287565b935060208501356001600160401b038111156126d157600080fd5b6126dd878288016123d5565b9350506040850135915060608501356126f581612287565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272f60e0850182612211565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277b60c0830189612211565b828103602084015261278d8189612211565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127d057607f821691505b6020821081036127f057634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283d57600080fd5b919050565b60006020828403121561285457600080fd5b6121568261282d565b600082601f83011261286e57600080fd5b815161287c6123a582612370565b81815284602083860101111561289157600080fd5b6128a28260208301602087016121ed565b949350505050565b805161283d81612287565b6000602082840312156128c757600080fd5b81516001600160401b03808211156128de57600080fd5b9083019060c082860312156128f257600080fd5b6128fa6122b2565b82518281111561290957600080fd5b6129158782860161285d565b82525060208301518281111561292a57600080fd5b6129368782860161285d565b602083015250612948604084016128aa565b6040820152612959606084016128aa565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297e565b81810381811115610bbf57610bbf61297e565b8082028115828204841417610bbf57610bbf61297e565b6000826129ee57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a535750805b601f850160051c820191505b8181101561072e57828155600101612a5f565b81516001600160401b03811115612a8b57612a8b61229c565b612a9f81612a9984546127bc565b84612a2a565b602080601f831160018114612ad45760008415612abc5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0357888601518255948401946001909101908401612ae4565b5085821015612b215787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b446040830185612211565b82810360208401526120d68185612211565b848152608060208201526000612b6f6080830186612211565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba257612ba261297e565b5060010190565b600060208284031215612bbb57600080fd5b5051919050565b600060208284031215612bd457600080fd5b81516001600160401b0380821115612beb57600080fd5b9083019060a08286031215612bff57600080fd5b612c076122da565b8251612c1281612287565b8152602083015182811115612c2657600080fd5b612c328782860161285d565b6020830152506040830151604082015260608301516060820152612c586080840161282d565b608082015295945050505050565b600060208284031215612c7857600080fd5b815161215681612287565b600060208284031215612c9557600080fd5b81516001600160401b0380821115612cac57600080fd5b9083019060808286031215612cc057600080fd5b612cc86122fc565b825182811115612cd757600080fd5b612ce38782860161285d565b825250602083015182811115612cf857600080fd5b612d048782860161285d565b602083015250604083015182811115612d1c57600080fd5b612d288782860161285d565b604083015250612d3a6060840161282d565b606082015295945050505050565b606081526000612d5b6060830186612211565b8281036020840152612d6d8186612211565b90508281036040840152612d818185612211565b9695505050505050565b600060208284031215612d9d57600080fd5b81516001600160401b0380821115612db457600080fd5b9083019060608286031215612dc857600080fd5b612dd061231e565b825182811115612ddf57600080fd5b612deb8782860161285d565b825250602083015182811115612e0057600080fd5b612e0c8782860161285d565b602083015250604083015182811115612e2457600080fd5b612e308782860161285d565b60408301525095945050505050565b60008251612e518184602087016121ed565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c34ae9367ae33ccdec2ae0c3c4929f6e386373f088b7309b6dccdc0f92542dcf64736f6c63430008160033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","networkInteractionId":1,"nonce":673,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"941034"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"940900"}},"hash":"0xc6e7d63d5a291334f13d08e770dae8102462e5bb32da542cb951022038746e4c"},"type":"TRANSACTION_SEND"} +{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","networkInteraction":{"data":"0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051612eb062000104600039600081816118f0015281816119190152611a5a0152612eb06000f3fe6080604052600436106101815760003560e01c806397a6278e116100d1578063b2d780691161008a578063d7071b1f11610064578063d7071b1f146104b2578063dca60776146104d2578063f2fde38b146104f2578063fd66091e1461051257600080fd5b8063b2d7806914610445578063c7f758a814610465578063cbcf252a1461049257600080fd5b806397a6278e146103415780639c89a0e2146103615780639e498f161461039a578063aac9f15a146103ba578063ad3cb1cc146103e7578063aebfd80e1461042557600080fd5b80635c8a48391161013e5780637216fe48116101185780637216fe48146102a45780637b5c219d146102c45780638da5cb5b146102f457806396a451391461032157600080fd5b80635c8a48391461024f57806370370a811461026f578063715018a61461028f57600080fd5b8063013cf08b14610186578063270baaa8146101c15780632ab09d14146101e3578063485cc955146102075780634f1ef2861461022757806352d1902d1461023a575b600080fd5b34801561019257600080fd5b506101a66101a13660046121d3565b610544565b6040516101b89695949392919061223c565b60405180910390f35b3480156101cd57600080fd5b506101e16101dc3660046123f4565b610619565b005b3480156101ef57600080fd5b506101f960055481565b6040519081526020016101b8565b34801561021357600080fd5b506101e16102223660046124ab565b610736565b6101e16102353660046124e4565b61086c565b34801561024657600080fd5b506101f961088b565b34801561025b57600080fd5b506101e161026a366004612547565b6108a8565b34801561027b57600080fd5b506101f961028a366004612564565b610a07565b34801561029b57600080fd5b506101e1610bc5565b3480156102b057600080fd5b506101e16102bf366004612590565b610bd9565b3480156102d057600080fd5b506102e46102df366004612564565b610c28565b60405190151581526020016101b8565b34801561030057600080fd5b50610309610d6f565b6040516001600160a01b0390911681526020016101b8565b34801561032d57600080fd5b506101e161033c366004612590565b610d9d565b34801561034d57600080fd5b506101e161035c366004612547565b610ecf565b34801561036d57600080fd5b506101f961037c366004612547565b6001600160a01b031660009081526003602052604090206004015490565b3480156103a657600080fd5b50600254610309906001600160a01b031681565b3480156103c657600080fd5b506103da6103d5366004612547565b611035565b6040516101b89190612605565b3480156103f357600080fd5b50610418604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101b89190612681565b34801561043157600080fd5b506101e1610440366004612694565b611207565b34801561045157600080fd5b506101e1610460366004612547565b61130e565b34801561047157600080fd5b506104856104803660046121d3565b611380565b6040516101b891906126ff565b34801561049e57600080fd5b50600154610309906001600160a01b031681565b3480156104be57600080fd5b506101e16104cd366004612547565b6114c8565b3480156104de57600080fd5b50600054610309906001600160a01b031681565b3480156104fe57600080fd5b506101e161050d366004612547565b61153a565b34801561051e57600080fd5b5061053261052d366004612547565b611578565b6040516101b896959493929190612767565b600460205260009081526040902080546001820180546001600160a01b039092169291610570906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461059c906127bb565b80156105e95780601f106105be576101008083540402835291602001916105e9565b820191906000526020600020905b8154815290600101906020018083116105cc57829003601f168201915b50505050600283015460038401546004850154600590950154939491936001600160a01b03909116925060ff1686565b6001600160a01b0386811660009081526003602081905260409091200154161561065e5760405162461bcd60e51b8152600401610655906127f5565b60405180910390fd5b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b9061068e908690600401612681565b602060405180830381865afa1580156106ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cf9190612841565b6107145760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6107228686863360006116cb565b61072e8684848461177b565b505050505050565b60006107406118a3565b805490915060ff600160401b82041615906001600160401b03166000811580156107675750825b90506000826001600160401b031660011480156107835750303b155b905081158015610791575080155b156107af5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156107d957845460ff60401b1916600160401b1785555b6107e2336118cc565b6107ea6118dd565b600080546001600160a01b03808a166001600160a01b0319928316179092556001805492891692909116919091178155600555831561086357845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b6108746118e5565b61087d8261198a565b6108878282611992565b5050565b6000610895611a4f565b50600080516020612e5b83398151915290565b6001600160a01b038181166000908152600360208190526040909120015416156108e45760405162461bcd60e51b8152600401610655906127f5565b60008054604051635564f8ad60e11b81526001600160a01b0384811660048301529091169063aac9f15a90602401600060405180830381865afa15801561092f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261095791908101906128b4565b905080604001516001600160a01b0316336001600160a01b031614806109955750610980610d6f565b6001600160a01b0316336001600160a01b0316145b6109e15760405162461bcd60e51b815260206004820152601860248201527f4e6f74206f776e6572206f72206167656e74206f776e657200000000000000006044820152606401610655565b6109fe8282600001518360200151846040015185608001516116cb565b61088782611a98565b6002546000906001600160a01b03163314610a645760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420746865205461736b526567697374727920636f6e74726163740000006044820152606401610655565b6064821115610ab55760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e64203130306044820152606401610655565b6001600160a01b0383166000908152600360205260408120600501805460019290610ae1908490612993565b90915550506001600160a01b03831660009081526003602052604090206005015482610b0e6001836129a6565b6001600160a01b038616600090815260036020526040902060040154610b3491906129b9565b610b3e9190612993565b610b4891906129d0565b6001600160a01b038416600081815260036020526040908190206004018390555190917ffc577563f1b9a0461e24abef1e1fcc0d33d3d881f20b5df6dda59de4aae2c82191610b9991815260200190565b60405180910390a2506001600160a01b0382166000908152600360205260409020600401545b92915050565b610bcd611bef565b610bd76000611c21565b565b6001600160a01b03838116600090815260036020819052604090912001541615610c155760405162461bcd60e51b8152600401610655906127f5565b610c238383833360006116cb565b505050565b6001600160a01b0380831660009081526003602052604081206002015490918491163314610c685760405162461bcd60e51b8152600401610655906129f2565b6000838152600460205260409020546001600160a01b03858116911614610cd15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e64000000000000006044820152606401610655565b600083815260046020526040812080546001600160a01b031916815590610cfb6001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518381526001600160a01b038516907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25060019392505050565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b038084166000908152600360205260409020600201548491163314610ddb5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038481166000908152600360208190526040909120015416610e3d5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0384166000908152600360205260409020610e5f8482612a71565b506001600160a01b0384166000908152600360205260409020600101610e858382612a71565b50836001600160a01b03167f244b747f2ac491b7662c44209b5f6110934a8725f40d2bd91805f9d919a78b108484604051610ec1929190612b30565b60405180910390a250505050565b6001600160a01b038082166000908152600360205260409020600201548291163314610f0d5760405162461bcd60e51b8152600401610655906129f2565b6001600160a01b038281166000908152600360208190526040909120015416610f6f5760405162461bcd60e51b81526020600482015260146024820152731059d95b9d081b9bdd081c9959da5cdd195c995960621b6044820152606401610655565b6001600160a01b0380831660009081526003602052604090206002015416610f9683611c92565b6001600160a01b038316600090815260036020526040812090610fb98282612185565b610fc7600183016000612185565b506002810180546001600160a01b0319908116909155600382018054909116905560006004820181905560059091018190556040516001600160a01b0383811692908616917f4ce8b3fe8e0bf47a6fefbecdfd7c799755cede6061655521b10fc2e4b1fcc6b39190a3505050565b6110806040518060c00160405280606081526020016060815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160008152602001600081525090565b6001600160a01b03821660009081526003602052604090819020815160c0810190925280549091908290829082906110b7906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546110e3906127bb565b80156111305780601f1061110557610100808354040283529160200191611130565b820191906000526020600020905b81548152906001019060200180831161111357829003601f168201915b50505050508152602001600182018054611149906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611175906127bb565b80156111c25780601f10611197576101008083540402835291602001916111c2565b820191906000526020600020905b8154815290600101906020018083116111a557829003601f168201915b505050918352505060028201546001600160a01b0390811660208301526003830154166040820152600482015460608201526005909101546080909101529392505050565b6001600160a01b0380851660009081526003602052604090206002015485911633146112455760405162461bcd60e51b8152600401610655906129f2565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611275908790600401612681565b602060405180830381865afa158015611292573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112b69190612841565b6112fb5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b6044820152606401610655565b6113078585858561177b565b5050505050565b611316611bef565b6001600160a01b03811661135e5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6113cd6040518060c0016040528060006001600160a01b03168152602001606081526020016000815260200160006001600160a01b03168152602001600081526020016000151581525090565b600082815260046020908152604091829020825160c0810190935280546001600160a01b031683526001810180549192840191611409906127bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611435906127bb565b80156114825780601f1061145757610100808354040283529160200191611482565b820191906000526020600020905b81548152906001019060200180831161146557829003601f168201915b50505091835250506002820154602082015260038201546001600160a01b031660408201526004820154606082015260059091015460ff16151560809091015292915050565b6114d0611bef565b6001600160a01b0381166115185760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b6044820152606401610655565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b611542611bef565b6001600160a01b03811661156c57604051631e4fbdf760e01b815260006004820152602401610655565b61157581611c21565b50565b600360205260009081526040902080548190611593906127bb565b80601f01602080910402602001604051908101604052809291908181526020018280546115bf906127bb565b801561160c5780601f106115e15761010080835404028352916020019161160c565b820191906000526020600020905b8154815290600101906020018083116115ef57829003601f168201915b505050505090806001018054611621906127bb565b80601f016020809104026020016040519081016040528092919081815260200182805461164d906127bb565b801561169a5780601f1061166f5761010080835404028352916020019161169a565b820191906000526020600020905b81548152906001019060200180831161167d57829003601f168201915b5050505060028301546003840154600485015460059095015493946001600160a01b03928316949290911692509086565b6001600160a01b0385166000908152600360205260409020806116ee8682612a71565b50600181016116fd8582612a71565b506002810180546001600160a01b038086166001600160a01b03199283168117909355600384018054918a16919092168117909155600483018490556040517f2a562efb52e7cec209321f57200606311256da6d2a1b19d44db7837a3209de289061176b9089908990612b30565b60405180910390a3505050505050565b6040805160c0810182526001600160a01b0386811682526020808301878152838501879052858316606085015260055460808501819052600160a086018190526000918252600490935294909420835181546001600160a01b0319169316929092178255925191928392908201906117f39082612a71565b50604082810151600283015560608301516003830180546001600160a01b0319166001600160a01b039283161790556080840151600484015560a0909301516005928301805460ff191691151591909117905590549051918716917fa6e87a4ba187a506bb81720f5fbd241c879ec33df712de8c1bfccc354dbe450f9161187f91889088908890612b55565b60405180910390a26005805490600061189783612b8f565b91905055505050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610bbf565b6118d4611d7b565b61157581611da0565b610bd7611d7b565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061196c57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611960600080516020612e5b833981519152546001600160a01b031690565b6001600160a01b031614155b15610bd75760405163703e46dd60e11b815260040160405180910390fd5b611575611bef565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156119ec575060408051601f3d908101601f191682019092526119e991810190612ba8565b60015b611a1457604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610655565b600080516020612e5b8339815191528114611a4557604051632a87526960e21b815260048101829052602401610655565b610c238383611da8565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bd75760405163703e46dd60e11b815260040160405180910390fd5b60008060009054906101000a90046001600160a01b03166001600160a01b0316632ab09d146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611aec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b109190612ba8565b905060005b81811015610c2357600080546040516318feeb1560e31b8152600481018490526001600160a01b039091169063c7f758a890602401600060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611b8f9190810190612bc1565b9050836001600160a01b031681600001516001600160a01b0316141580611bb857508060800151155b15611bc35750611be7565b611bd08160200151611dfe565b611be58482602001518360400151600061177b565b505b600101611b15565b33611bf8610d6f565b6001600160a01b031614610bd75760405163118cdaa760e01b8152336004820152602401610655565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b60015b600554811015610887576000818152600460205260409020546001600160a01b038381169116148015611cd9575060008181526004602052604090206005015460ff165b15611d7357600081815260046020526040812080546001600160a01b031916815590611d086001830182612185565b506000600282018190556003820180546001600160a01b03191690556004820155600501805460ff191690556040518181526001600160a01b038316907f45204680e8152470a4bb058a5049426c93d82614d97945e5b6541e67aba4a8f29060200160405180910390a25b600101611c95565b611d83611fea565b610bd757604051631afcd79f60e31b815260040160405180910390fd5b611542611d7b565b611db182612004565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611df657610c238282612069565b6108876120df565b60015460405163b405166b60e01b81526001600160a01b039091169063b405166b90611e2e908490600401612681565b602060405180830381865afa158015611e4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e6f9190612841565b6115755760008060009054906101000a90046001600160a01b03166001600160a01b031663cbcf252a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611ec7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eeb9190612c65565b604051633ca3ac5f60e11b815290915081906000906001600160a01b0383169063794758be90611f1f908790600401612681565b600060405180830381865afa158015611f3c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611f649190810190612c82565b600154815160208301516040808501519051633bd5f62160e21b81529495506001600160a01b039093169363ef57d88493611fa3939291600401612d47565b6000604051808303816000875af1158015611fc2573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526113079190810190612d8a565b6000611ff46118a3565b54600160401b900460ff16919050565b806001600160a01b03163b60000361203a57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610655565b600080516020612e5b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b0316846040516120869190612e3e565b600060405180830381855af49150503d80600081146120c1576040519150601f19603f3d011682016040523d82523d6000602084013e6120c6565b606091505b50915091506120d68583836120fe565b95945050505050565b3415610bd75760405163b398979f60e01b815260040160405180910390fd5b6060826121135761210e8261215d565b612156565b815115801561212a57506001600160a01b0384163b155b1561215357604051639996b31560e01b81526001600160a01b0385166004820152602401610655565b50805b9392505050565b80511561216c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b508054612191906127bb565b6000825580601f106121a1575050565b601f01602090049060005260206000209081019061157591905b808211156121cf57600081556001016121bb565b5090565b6000602082840312156121e557600080fd5b5035919050565b60005b838110156122075781810151838201526020016121ef565b50506000910152565b600081518084526122288160208601602086016121ec565b601f01601f19169290920160200192915050565b600060018060a01b03808916835260c0602084015261225e60c0840189612210565b60408401979097529490941660608201526080810192909252151560a0909101525092915050565b6001600160a01b038116811461157557600080fd5b634e487b7160e01b600052604160045260246000fd5b60405160c081016001600160401b03811182821017156122d3576122d361229b565b60405290565b60405160a081016001600160401b03811182821017156122d3576122d361229b565b604051608081016001600160401b03811182821017156122d3576122d361229b565b604051606081016001600160401b03811182821017156122d3576122d361229b565b604051601f8201601f191681016001600160401b03811182821017156123675761236761229b565b604052919050565b60006001600160401b038211156123885761238861229b565b50601f01601f191660200190565b60006123a96123a48461236f565b61233f565b90508281528383830111156123bd57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126123e557600080fd5b61215683833560208501612396565b60008060008060008060c0878903121561240d57600080fd5b863561241881612286565b955060208701356001600160401b038082111561243457600080fd5b6124408a838b016123d4565b9650604089013591508082111561245657600080fd5b6124628a838b016123d4565b9550606089013591508082111561247857600080fd5b5061248589828a016123d4565b9350506080870135915060a087013561249d81612286565b809150509295509295509295565b600080604083850312156124be57600080fd5b82356124c981612286565b915060208301356124d981612286565b809150509250929050565b600080604083850312156124f757600080fd5b823561250281612286565b915060208301356001600160401b0381111561251d57600080fd5b8301601f8101851361252e57600080fd5b61253d85823560208401612396565b9150509250929050565b60006020828403121561255957600080fd5b813561215681612286565b6000806040838503121561257757600080fd5b823561258281612286565b946020939093013593505050565b6000806000606084860312156125a557600080fd5b83356125b081612286565b925060208401356001600160401b03808211156125cc57600080fd5b6125d8878388016123d4565b935060408601359150808211156125ee57600080fd5b506125fb868287016123d4565b9150509250925092565b602081526000825160c0602084015261262160e0840182612210565b90506020840151601f1984830301604085015261263e8282612210565b915050604084015160018060a01b0380821660608601528060608701511660808601525050608084015160a084015260a084015160c08401528091505092915050565b6020815260006121566020830184612210565b600080600080608085870312156126aa57600080fd5b84356126b581612286565b935060208501356001600160401b038111156126d057600080fd5b6126dc878288016123d4565b9350506040850135915060608501356126f481612286565b939692955090935050565b60208152600060018060a01b03808451166020840152602084015160c0604085015261272e60e0850182612210565b905060408501516060850152816060860151166080850152608085015160a085015260a0850151151560c0850152809250505092915050565b60c08152600061277a60c0830189612210565b828103602084015261278c8189612210565b6001600160a01b03978816604085015295909616606083015250608081019290925260a0909101529392505050565b600181811c908216806127cf57607f821691505b6020821081036127ef57634e487b7160e01b600052602260045260246000fd5b50919050565b60208082526018908201527f4167656e7420616c726561647920726567697374657265640000000000000000604082015260600190565b8051801515811461283c57600080fd5b919050565b60006020828403121561285357600080fd5b6121568261282c565b600082601f83011261286d57600080fd5b815161287b6123a48261236f565b81815284602083860101111561289057600080fd5b6128a18260208301602087016121ec565b949350505050565b805161283c81612286565b6000602082840312156128c657600080fd5b81516001600160401b03808211156128dd57600080fd5b9083019060c082860312156128f157600080fd5b6128f96122b1565b82518281111561290857600080fd5b6129148782860161285c565b82525060208301518281111561292957600080fd5b6129358782860161285c565b602083015250612947604084016128a9565b6040820152612958606084016128a9565b60608201526080830151608082015260a083015160a082015280935050505092915050565b634e487b7160e01b600052601160045260246000fd5b80820180821115610bbf57610bbf61297d565b81810381811115610bbf57610bbf61297d565b8082028115828204841417610bbf57610bbf61297d565b6000826129ed57634e487b7160e01b600052601260045260246000fd5b500490565b6020808252601a908201527f4e6f7420746865206f776e6572206f6620746865206167656e74000000000000604082015260600190565b601f821115610c23576000816000526020600020601f850160051c81016020861015612a525750805b601f850160051c820191505b8181101561072e57828155600101612a5e565b81516001600160401b03811115612a8a57612a8a61229b565b612a9e81612a9884546127bb565b84612a29565b602080601f831160018114612ad35760008415612abb5750858301515b600019600386901b1c1916600185901b17855561072e565b600085815260208120601f198616915b82811015612b0257888601518255948401946001909101908401612ae3565b5085821015612b205787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b604081526000612b436040830185612210565b82810360208401526120d68185612210565b848152608060208201526000612b6e6080830186612210565b6040830194909452506001600160a01b039190911660609091015292915050565b600060018201612ba157612ba161297d565b5060010190565b600060208284031215612bba57600080fd5b5051919050565b600060208284031215612bd357600080fd5b81516001600160401b0380821115612bea57600080fd5b9083019060a08286031215612bfe57600080fd5b612c066122d9565b8251612c1181612286565b8152602083015182811115612c2557600080fd5b612c318782860161285c565b6020830152506040830151604082015260608301516060820152612c576080840161282c565b608082015295945050505050565b600060208284031215612c7757600080fd5b815161215681612286565b600060208284031215612c9457600080fd5b81516001600160401b0380821115612cab57600080fd5b9083019060808286031215612cbf57600080fd5b612cc76122fb565b825182811115612cd657600080fd5b612ce28782860161285c565b825250602083015182811115612cf757600080fd5b612d038782860161285c565b602083015250604083015182811115612d1b57600080fd5b612d278782860161285c565b604083015250612d396060840161282c565b606082015295945050505050565b606081526000612d5a6060830186612210565b8281036020840152612d6c8186612210565b90508281036040840152612d808185612210565b9695505050505050565b600060208284031215612d9c57600080fd5b81516001600160401b0380821115612db357600080fd5b9083019060608286031215612dc757600080fd5b612dcf61231d565b825182811115612dde57600080fd5b612dea8782860161285c565b825250602083015182811115612dff57600080fd5b612e0b8782860161285c565b602083015250604083015182811115612e2357600080fd5b612e2f8782860161285c565b60408301525095945050505050565b60008251612e508184602087016121ec565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220e67b6b991d09fef792e3db660bfacd5075339c91e8cddad24262b3c4c2fcdce164736f6c63430008160033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","networkInteractionId":1,"nonce":690,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","networkInteractionId":1,"nonce":690,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000126"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x87b0292731621ebfec940a546e51baa3705d06f89974d6bc643a93a71f46be42"},"type":"TRANSACTION_SEND"} {"artifactId":"EnsembleCreditsModule#EnsembleCredits","constructorArgs":["Ensemble Credits","EC","0x2c37691967de1a1e4ee68ae4d745059720a6db7f",0],"contractName":"EnsembleCredits","dependencies":[],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","futureId":"EnsembleCreditsModule#EnsembleCredits","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"EnsembleCreditsModule#EnsembleCredits","networkInteraction":{"data":"0x60806040523480156200001157600080fd5b50604051620015c8380380620015c88339810160408190526200003491620004a6565b83836003620000448382620005ca565b506004620000538282620005ca565b5050506001600160a01b038216620000c85760405162461bcd60e51b815260206004820152602d60248201527f456e73656d626c65437265646974733a2061646d696e2063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084015b60405180910390fd5b620000d56000836200016f565b50620000f1600080516020620015a8833981519152836200016f565b506200010d600080516020620015a88339815191528062000222565b801562000165576200012082826200026d565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040516200015c91815260200190565b60405180910390a25b50505050620006b8565b60008281526005602090815260408083206001600160a01b038516845290915281205460ff16620002185760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055620001cf3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016200021c565b5060005b92915050565b600082815260056020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6001600160a01b038216620002995760405163ec442f0560e01b815260006004820152602401620000bf565b620002a760008383620002ab565b5050565b6001600160a01b038316620002da578060026000828254620002ce919062000696565b909155506200034e9050565b6001600160a01b038316600090815260208190526040902054818110156200032f5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000bf565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166200036c576002805482900390556200038b565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003d191815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200040657600080fd5b81516001600160401b0380821115620004235762000423620003de565b604051601f8301601f19908116603f011681019082821181831017156200044e576200044e620003de565b81604052838152602092508660208588010111156200046c57600080fd5b600091505b8382101562000490578582018301518183018401529082019062000471565b6000602085830101528094505050505092915050565b60008060008060808587031215620004bd57600080fd5b84516001600160401b0380821115620004d557600080fd5b620004e388838901620003f4565b95506020870151915080821115620004fa57600080fd5b506200050987828801620003f4565b604087015190945090506001600160a01b03811681146200052957600080fd5b6060959095015193969295505050565b600181811c908216806200054e57607f821691505b6020821081036200056f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005c5576000816000526020600020601f850160051c81016020861015620005a05750805b601f850160051c820191505b81811015620005c157828155600101620005ac565b5050505b505050565b81516001600160401b03811115620005e657620005e6620003de565b620005fe81620005f7845462000539565b8462000575565b602080601f8311600181146200063657600084156200061d5750858301515b600019600386901b1c1916600185901b178555620005c1565b600085815260208120601f198616915b82811015620006675788860151825594840194600190910190840162000646565b5085821015620006865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200021c57634e487b7160e01b600052601160045260246000fd5b610ee080620006c86000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a217fddf11610097578063aa271e1a11610071578063aa271e1a14610300578063d539139314610313578063d547741f14610328578063dd62ed3e1461033b57600080fd5b8063a217fddf146102ea578063a457c2d7146101b5578063a9059cbb146102f257600080fd5b806342966c681461026d57806370a082311461028057806379cc6790146102a957806391d14854146102bc57806395d89b41146102cf578063983b2d56146102d757600080fd5b80632f2ff15d116101305780632f2ff15d146102105780633092afd514610225578063313ce5671461023857806336568abe1461024757806339509351146101b557806340c10f191461025a57600080fd5b806301ffc9a71461017857806306fdde03146101a0578063095ea7b3146101b557806318160ddd146101c857806323b872dd146101da578063248a9ca3146101ed575b600080fd5b61018b610186366004610ca3565b610349565b60405190151581526020015b60405180910390f35b6101a8610380565b6040516101979190610cd4565b61018b6101c3366004610d3f565b610412565b6002545b604051908152602001610197565b61018b6101e8366004610d69565b61042d565b6101cc6101fb366004610da5565b60009081526005602052604090206001015490565b61022361021e366004610dbe565b610448565b005b610223610233366004610dea565b610473565b60405160068152602001610197565b610223610255366004610dbe565b6105ca565b610223610268366004610d3f565b610602565b61022361027b366004610da5565b6106d7565b6101cc61028e366004610dea565b6001600160a01b031660009081526020819052604090205490565b6102236102b7366004610d3f565b610729565b61018b6102ca366004610dbe565b61086f565b6101a861089a565b6102236102e5366004610dea565b6108a9565b6101cc600081565b61018b6101e8366004610d3f565b61018b61030e366004610dea565b610983565b6101cc600080516020610e8b83398151915281565b610223610336366004610dbe565b61099d565b6101cc6101c3366004610e05565b60006001600160e01b03198216637965db0b60e01b148061037a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461038f90610e2f565b80601f01602080910402602001604051908101604052809291908181526020018280546103bb90610e2f565b80156104085780601f106103dd57610100808354040283529160200191610408565b820191906000526020600020905b8154815290600101906020018083116103eb57829003601f168201915b5050505050905090565b600060405163043038b760e11b815260040160405180910390fd5b6000604051638cd22d1960e01b815260040160405180910390fd5b600082815260056020526040902060010154610463816109c2565b61046d83836109cf565b50505050565b600080516020610e8b83398151915261048b816109c2565b6001600160a01b0382166105045760405162461bcd60e51b815260206004820152603560248201527f456e73656d626c65437265646974733a2063616e6e6f742072656d6f7665207a60448201527432b9379030b2323932b9b99030b99036b4b73a32b960591b60648201526084015b60405180910390fd5b61051c600080516020610e8b8339815191528361086f565b6105795760405162461bcd60e51b815260206004820152602860248201527f456e73656d626c65437265646974733a2061646472657373206973206e6f7420604482015267309036b4b73a32b960c11b60648201526084016104fb565b610591600080516020610e8b83398151915283610a63565b506040516001600160a01b038316907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a25050565b6001600160a01b03811633146105f35760405163334bd91960e11b815260040160405180910390fd5b6105fd8282610a63565b505050565b600080516020610e8b83398151915261061a816109c2565b6001600160a01b0383166106855760405162461bcd60e51b815260206004820152602c60248201527f456e73656d626c65437265646974733a2063616e6e6f74206d696e7420746f2060448201526b7a65726f206164647265737360a01b60648201526084016104fb565b61068f8383610ad0565b826001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040516106ca91815260200190565b60405180910390a2505050565b336106e28183610b0a565b806001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161071d91815260200190565b60405180910390a25050565b610741600080516020610e8b8339815191523361086f565b6107bd5760405162461bcd60e51b815260206004820152604160248201527f456e73656d626c65437265646974733a2063616c6c6572206d7573742068617660448201527f65206d696e74657220726f6c6520746f206275726e2066726f6d206f746865726064820152607360f81b608482015260a4016104fb565b6001600160a01b03821661082a5760405162461bcd60e51b815260206004820152602e60248201527f456e73656d626c65437265646974733a2063616e6e6f74206275726e2066726f60448201526d6d207a65726f206164647265737360901b60648201526084016104fb565b6108348282610b0a565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161071d91815260200190565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461038f90610e2f565b600080516020610e8b8339815191526108c1816109c2565b6001600160a01b0382166109325760405162461bcd60e51b815260206004820152603260248201527f456e73656d626c65437265646974733a2063616e6e6f7420616464207a65726f6044820152711030b2323932b9b99030b99036b4b73a32b960711b60648201526084016104fb565b61094a600080516020610e8b833981519152836109cf565b506040516001600160a01b038316907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a25050565b600061037a600080516020610e8b8339815191528361086f565b6000828152600560205260409020600101546109b8816109c2565b61046d8383610a63565b6109cc8133610b40565b50565b60006109db838361086f565b610a5b5760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055610a133390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161037a565b50600061037a565b6000610a6f838361086f565b15610a5b5760008381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161037a565b6001600160a01b038216610afa5760405163ec442f0560e01b8152600060048201526024016104fb565b610b0660008383610b79565b5050565b6001600160a01b038216610b3457604051634b637e8f60e11b8152600060048201526024016104fb565b610b0682600083610b79565b610b4a828261086f565b610b065760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104fb565b6001600160a01b038316610ba4578060026000828254610b999190610e69565b90915550610c169050565b6001600160a01b03831660009081526020819052604090205481811015610bf75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104fb565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610c3257600280548290039055610c51565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c9691815260200190565b60405180910390a3505050565b600060208284031215610cb557600080fd5b81356001600160e01b031981168114610ccd57600080fd5b9392505050565b60006020808352835180602085015260005b81811015610d0257858101830151858201604001528201610ce6565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d3a57600080fd5b919050565b60008060408385031215610d5257600080fd5b610d5b83610d23565b946020939093013593505050565b600080600060608486031215610d7e57600080fd5b610d8784610d23565b9250610d9560208501610d23565b9150604084013590509250925092565b600060208284031215610db757600080fd5b5035919050565b60008060408385031215610dd157600080fd5b82359150610de160208401610d23565b90509250929050565b600060208284031215610dfc57600080fd5b610ccd82610d23565b60008060408385031215610e1857600080fd5b610e2183610d23565b9150610de160208401610d23565b600181811c90821680610e4357607f821691505b602082108103610e6357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561037a57634e487b7160e01b600052601160045260246000fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a26469706673582212205ead6f3848d5c78edab3a1db539091a373142a54f11a8364018847bf49705e2564736f6c634300081600339f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010456e73656d626c6520437265646974730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024543000000000000000000000000000000000000000000000000000000000000","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","hash":"0xc6e7d63d5a291334f13d08e770dae8102462e5bb32da542cb951022038746e4c","networkInteractionId":1,"receipt":{"blockHash":"0xd6bea3df9d0a9b821d15cf2d6282a9317fbedd534c3b4b89a90929e83384b973","blockNumber":27712985,"contractAddress":"0x54D38F096926915daae83f4F2a774EfA27a5Bc97","logs":[{"address":"0x54D38F096926915daae83f4F2a774EfA27a5Bc97","data":"0x000000000000000000000000000000000000000000000000ffffffffffffffff","logIndex":32,"topics":["0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","result":{"address":"0x54D38F096926915daae83f4F2a774EfA27a5Bc97","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} -{"futureId":"EnsembleCreditsModule#EnsembleCredits","networkInteractionId":1,"nonce":674,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"941032"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"940900"}},"hash":"0x34d4be26d5358e503c19d8f415cd58c3908947184b2482c867fbbce2bffe55d8"},"type":"TRANSACTION_SEND"} +{"futureId":"EnsembleCreditsModule#EnsembleCredits","networkInteraction":{"data":"0x60806040523480156200001157600080fd5b50604051620015c8380380620015c88339810160408190526200003491620004a6565b83836003620000448382620005ca565b506004620000538282620005ca565b5050506001600160a01b038216620000c85760405162461bcd60e51b815260206004820152602d60248201527f456e73656d626c65437265646974733a2061646d696e2063616e6e6f7420626560448201526c207a65726f206164647265737360981b60648201526084015b60405180910390fd5b620000d56000836200016f565b50620000f1600080516020620015a8833981519152836200016f565b506200010d600080516020620015a88339815191528062000222565b801562000165576200012082826200026d565b816001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040516200015c91815260200190565b60405180910390a25b50505050620006b8565b60008281526005602090815260408083206001600160a01b038516845290915281205460ff16620002185760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055620001cf3390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45060016200021c565b5060005b92915050565b600082815260056020526040808220600101805490849055905190918391839186917fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff9190a4505050565b6001600160a01b038216620002995760405163ec442f0560e01b815260006004820152602401620000bf565b620002a760008383620002ab565b5050565b6001600160a01b038316620002da578060026000828254620002ce919062000696565b909155506200034e9050565b6001600160a01b038316600090815260208190526040902054818110156200032f5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000bf565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166200036c576002805482900390556200038b565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003d191815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200040657600080fd5b81516001600160401b0380821115620004235762000423620003de565b604051601f8301601f19908116603f011681019082821181831017156200044e576200044e620003de565b81604052838152602092508660208588010111156200046c57600080fd5b600091505b8382101562000490578582018301518183018401529082019062000471565b6000602085830101528094505050505092915050565b60008060008060808587031215620004bd57600080fd5b84516001600160401b0380821115620004d557600080fd5b620004e388838901620003f4565b95506020870151915080821115620004fa57600080fd5b506200050987828801620003f4565b604087015190945090506001600160a01b03811681146200052957600080fd5b6060959095015193969295505050565b600181811c908216806200054e57607f821691505b6020821081036200056f57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620005c5576000816000526020600020601f850160051c81016020861015620005a05750805b601f850160051c820191505b81811015620005c157828155600101620005ac565b5050505b505050565b81516001600160401b03811115620005e657620005e6620003de565b620005fe81620005f7845462000539565b8462000575565b602080601f8311600181146200063657600084156200061d5750858301515b600019600386901b1c1916600185901b178555620005c1565b600085815260208120601f198616915b82811015620006675788860151825594840194600190910190840162000646565b5085821015620006865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b808201808211156200021c57634e487b7160e01b600052601160045260246000fd5b610ee080620006c86000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c806342966c68116100de578063a217fddf11610097578063aa271e1a11610071578063aa271e1a14610300578063d539139314610313578063d547741f14610328578063dd62ed3e1461033b57600080fd5b8063a217fddf146102ea578063a457c2d7146101b5578063a9059cbb146102f257600080fd5b806342966c681461026d57806370a082311461028057806379cc6790146102a957806391d14854146102bc57806395d89b41146102cf578063983b2d56146102d757600080fd5b80632f2ff15d116101305780632f2ff15d146102105780633092afd514610225578063313ce5671461023857806336568abe1461024757806339509351146101b557806340c10f191461025a57600080fd5b806301ffc9a71461017857806306fdde03146101a0578063095ea7b3146101b557806318160ddd146101c857806323b872dd146101da578063248a9ca3146101ed575b600080fd5b61018b610186366004610ca3565b610349565b60405190151581526020015b60405180910390f35b6101a8610380565b6040516101979190610cd4565b61018b6101c3366004610d3f565b610412565b6002545b604051908152602001610197565b61018b6101e8366004610d69565b61042d565b6101cc6101fb366004610da5565b60009081526005602052604090206001015490565b61022361021e366004610dbe565b610448565b005b610223610233366004610dea565b610473565b60405160068152602001610197565b610223610255366004610dbe565b6105ca565b610223610268366004610d3f565b610602565b61022361027b366004610da5565b6106d7565b6101cc61028e366004610dea565b6001600160a01b031660009081526020819052604090205490565b6102236102b7366004610d3f565b610729565b61018b6102ca366004610dbe565b61086f565b6101a861089a565b6102236102e5366004610dea565b6108a9565b6101cc600081565b61018b6101e8366004610d3f565b61018b61030e366004610dea565b610983565b6101cc600080516020610e8b83398151915281565b610223610336366004610dbe565b61099d565b6101cc6101c3366004610e05565b60006001600160e01b03198216637965db0b60e01b148061037a57506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606003805461038f90610e2f565b80601f01602080910402602001604051908101604052809291908181526020018280546103bb90610e2f565b80156104085780601f106103dd57610100808354040283529160200191610408565b820191906000526020600020905b8154815290600101906020018083116103eb57829003601f168201915b5050505050905090565b600060405163043038b760e11b815260040160405180910390fd5b6000604051638cd22d1960e01b815260040160405180910390fd5b600082815260056020526040902060010154610463816109c2565b61046d83836109cf565b50505050565b600080516020610e8b83398151915261048b816109c2565b6001600160a01b0382166105045760405162461bcd60e51b815260206004820152603560248201527f456e73656d626c65437265646974733a2063616e6e6f742072656d6f7665207a60448201527432b9379030b2323932b9b99030b99036b4b73a32b960591b60648201526084015b60405180910390fd5b61051c600080516020610e8b8339815191528361086f565b6105795760405162461bcd60e51b815260206004820152602860248201527f456e73656d626c65437265646974733a2061646472657373206973206e6f7420604482015267309036b4b73a32b960c11b60648201526084016104fb565b610591600080516020610e8b83398151915283610a63565b506040516001600160a01b038316907fe94479a9f7e1952cc78f2d6baab678adc1b772d936c6583def489e524cb6669290600090a25050565b6001600160a01b03811633146105f35760405163334bd91960e11b815260040160405180910390fd5b6105fd8282610a63565b505050565b600080516020610e8b83398151915261061a816109c2565b6001600160a01b0383166106855760405162461bcd60e51b815260206004820152602c60248201527f456e73656d626c65437265646974733a2063616e6e6f74206d696e7420746f2060448201526b7a65726f206164647265737360a01b60648201526084016104fb565b61068f8383610ad0565b826001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885836040516106ca91815260200190565b60405180910390a2505050565b336106e28183610b0a565b806001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405161071d91815260200190565b60405180910390a25050565b610741600080516020610e8b8339815191523361086f565b6107bd5760405162461bcd60e51b815260206004820152604160248201527f456e73656d626c65437265646974733a2063616c6c6572206d7573742068617660448201527f65206d696e74657220726f6c6520746f206275726e2066726f6d206f746865726064820152607360f81b608482015260a4016104fb565b6001600160a01b03821661082a5760405162461bcd60e51b815260206004820152602e60248201527f456e73656d626c65437265646974733a2063616e6e6f74206275726e2066726f60448201526d6d207a65726f206164647265737360901b60648201526084016104fb565b6108348282610b0a565b816001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58260405161071d91815260200190565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606004805461038f90610e2f565b600080516020610e8b8339815191526108c1816109c2565b6001600160a01b0382166109325760405162461bcd60e51b815260206004820152603260248201527f456e73656d626c65437265646974733a2063616e6e6f7420616464207a65726f6044820152711030b2323932b9b99030b99036b4b73a32b960711b60648201526084016104fb565b61094a600080516020610e8b833981519152836109cf565b506040516001600160a01b038316907f6ae172837ea30b801fbfcdd4108aa1d5bf8ff775444fd70256b44e6bf3dfc3f690600090a25050565b600061037a600080516020610e8b8339815191528361086f565b6000828152600560205260409020600101546109b8816109c2565b61046d8383610a63565b6109cc8133610b40565b50565b60006109db838361086f565b610a5b5760008381526005602090815260408083206001600160a01b03861684529091529020805460ff19166001179055610a133390565b6001600160a01b0316826001600160a01b0316847f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a450600161037a565b50600061037a565b6000610a6f838361086f565b15610a5b5760008381526005602090815260408083206001600160a01b0386168085529252808320805460ff1916905551339286917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a450600161037a565b6001600160a01b038216610afa5760405163ec442f0560e01b8152600060048201526024016104fb565b610b0660008383610b79565b5050565b6001600160a01b038216610b3457604051634b637e8f60e11b8152600060048201526024016104fb565b610b0682600083610b79565b610b4a828261086f565b610b065760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016104fb565b6001600160a01b038316610ba4578060026000828254610b999190610e69565b90915550610c169050565b6001600160a01b03831660009081526020819052604090205481811015610bf75760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016104fb565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216610c3257600280548290039055610c51565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610c9691815260200190565b60405180910390a3505050565b600060208284031215610cb557600080fd5b81356001600160e01b031981168114610ccd57600080fd5b9392505050565b60006020808352835180602085015260005b81811015610d0257858101830151858201604001528201610ce6565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610d3a57600080fd5b919050565b60008060408385031215610d5257600080fd5b610d5b83610d23565b946020939093013593505050565b600080600060608486031215610d7e57600080fd5b610d8784610d23565b9250610d9560208501610d23565b9150604084013590509250925092565b600060208284031215610db757600080fd5b5035919050565b60008060408385031215610dd157600080fd5b82359150610de160208401610d23565b90509250929050565b600060208284031215610dfc57600080fd5b610ccd82610d23565b60008060408385031215610e1857600080fd5b610e2183610d23565b9150610de160208401610d23565b600181811c90821680610e4357607f821691505b602082108103610e6357634e487b7160e01b600052602260045260246000fd5b50919050565b8082018082111561037a57634e487b7160e01b600052601160045260246000fdfe9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6a2646970667358221220cbcbaafbce63d8ac619a22d4e837fc602232386c5248b061ca0f8706e5c5be4564736f6c634300081600339f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010456e73656d626c6520437265646974730000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000024543000000000000000000000000000000000000000000000000000000000000","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"EnsembleCreditsModule#EnsembleCredits","networkInteractionId":1,"nonce":691,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"EnsembleCreditsModule#EnsembleCredits","networkInteractionId":1,"nonce":691,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000126"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xd4e8b02a98f62cab514f131310df0ded9afa889d2b33547eb96e93ed3d626aa6"},"type":"TRANSACTION_SEND"} {"artifactId":"ServiceRegistryUpgradeableModule#ServiceRegistryImpl","constructorArgs":[],"contractName":"ServiceRegistryUpgradeable","dependencies":[],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryImpl","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryImpl","networkInteraction":{"data":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516115ac6100fd60003960008181610bce01528181610bf70152610d3d01526115ac6000f3fe6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611132565b6102b5565b6040516100e7939291906111bf565b61013261012d36600461121e565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611132565b6104ca565b6040516100e79190611280565b34801561019757600080fd5b506101326101a63660046112d8565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e79190611360565b34801561025157600080fd5b50610265610260366004611132565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d8565b6109da565b3480156102a157600080fd5b506101326102b0366004611373565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138e565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138e565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138e565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155783398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c8565b90815260200160405180910390206040518060600160405290816000820180546105279061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138e565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138e565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138e565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138e565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff908690600401611360565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e4565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c8565b908152604051908190036020019020815181906107d29082611456565b50602082015160018201906107e79082611456565b50604082015160028201906107fc9082611456565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111bf565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c8565b90815260405190819003602001902080546109d09061138e565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a21908790600401611360565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e4565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c8565b90815260405190819003602001902081518190610afc9082611456565b5060208201516001820190610b119082611456565b5060408201516002820190610b269082611456565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111bf565b60405180910390a160018054906000610b7583611516565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611557833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153d565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115578339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155783398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c8565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106d5780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b7576110b7611086565b604051601f8501601f19908116603f011681019082821181831017156110df576110df611086565b816040528093508581528686860111156110f857600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112357600080fd5b610b7e8383356020850161109c565b60006020828403121561114457600080fd5b813567ffffffffffffffff81111561115b57600080fd5b61116784828501611112565b949350505050565b60005b8381101561118a578181015183820152602001611172565b50506000910152565b600081518084526111ab81602086016020860161116f565b601f01601f19169290920160200192915050565b6060815260006111d26060830186611193565b82810360208401526111e48186611193565b905082810360408401526111f88185611193565b9695505050505050565b80356001600160a01b038116811461121957600080fd5b919050565b6000806040838503121561123157600080fd5b61123a83611202565b9150602083013567ffffffffffffffff81111561125657600080fd5b8301601f8101851361126757600080fd5b6112768582356020840161109c565b9150509250929050565b60208152600082516060602084015261129c6080840182611193565b90506020840151601f19808584030160408601526112ba8383611193565b9250604086015191508085840301606086015250610fd98282611193565b6000806000606084860312156112ed57600080fd5b833567ffffffffffffffff8082111561130557600080fd5b61131187838801611112565b9450602086013591508082111561132757600080fd5b61133387838801611112565b9350604086013591508082111561134957600080fd5b5061135686828701611112565b9150509250925092565b602081526000610b7e6020830184611193565b60006020828403121561138557600080fd5b610b7e82611202565b600181811c908216806113a257607f821691505b6020821081036113c257634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113da81846020870161116f565b9190910192915050565b6000602082840312156113f657600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142f5750805b601f850160051c820191505b8181101561144e5782815560010161143b565b505050505050565b815167ffffffffffffffff81111561147057611470611086565b6114848161147e845461138e565b84611406565b602080601f8311600181146114b957600084156114a15750858301515b600019600386901b1c1916600185901b17855561144e565b600085815260208120601f198616915b828110156114e8578886015182559484019460019091019084016114c9565b50858210156115065787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153657634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154f57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c75f83ec32a46ec4d9bba6a16b97fd7f4f8b4040e24571dde401082ff2399d0564736f6c63430008160033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryImpl","networkInteractionId":1,"nonce":675,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"941030"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"940900"}},"hash":"0xc03cd049f408bb47041c5f316c5b58c8bed4e6069b7f1ee3cce70473e98110a4"},"type":"TRANSACTION_SEND"} +{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryImpl","networkInteraction":{"data":"0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516115ab6100fd60003960008181610bce01528181610bf70152610d3d01526115ab6000f3fe6080604052600436106100c25760003560e01c80637f3ed7191161007f578063ad3cb1cc11610059578063ad3cb1cc14610207578063b405166b14610245578063ef57d88414610275578063f2fde38b1461029557600080fd5b80637f3ed7191461018b5780638129fc1c146101ab5780638da5cb5b146101c057600080fd5b806306237526146100c75780633017ba09146100f05780634f1ef2861461011f57806352d1902d14610134578063715018a614610149578063794758be1461015e575b600080fd5b3480156100d357600080fd5b506100dd60015481565b6040519081526020015b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004611131565b6102b5565b6040516100e7939291906111be565b61013261012d36600461121d565b61047a565b005b34801561014057600080fd5b506100dd610499565b34801561015557600080fd5b506101326104b6565b34801561016a57600080fd5b5061017e610179366004611131565b6104ca565b6040516100e7919061127f565b34801561019757600080fd5b506101326101a63660046112d7565b6106d4565b3480156101b757600080fd5b50610132610840565b3480156101cc57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100e7565b34801561021357600080fd5b50610238604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100e7919061135f565b34801561025157600080fd5b50610265610260366004611131565b61095c565b60405190151581526020016100e7565b34801561028157600080fd5b5061017e6102903660046112d7565b6109da565b3480156102a157600080fd5b506101326102b0366004611372565b610b85565b80516020818301810180516000825292820191909301209152805481906102db9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103079061138d565b80156103545780601f1061032957610100808354040283529160200191610354565b820191906000526020600020905b81548152906001019060200180831161033757829003601f168201915b5050505050908060010180546103699061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546103959061138d565b80156103e25780601f106103b7576101008083540402835291602001916103e2565b820191906000526020600020905b8154815290600101906020018083116103c557829003601f168201915b5050505050908060020180546103f79061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546104239061138d565b80156104705780601f1061044557610100808354040283529160200191610470565b820191906000526020600020905b81548152906001019060200180831161045357829003601f168201915b5050505050905083565b610482610bc3565b61048b82610c68565b6104958282610c70565b5050565b60006104a3610d32565b5060008051602061155683398151915290565b6104be610d7b565b6104c86000610dd6565b565b6104ee60405180606001604052806060815260200160608152602001606081525090565b6000826040516104fe91906113c7565b90815260200160405180910390206040518060600160405290816000820180546105279061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105539061138d565b80156105a05780601f10610575576101008083540402835291602001916105a0565b820191906000526020600020905b81548152906001019060200180831161058357829003601f168201915b505050505081526020016001820180546105b99061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546105e59061138d565b80156106325780601f1061060757610100808354040283529160200191610632565b820191906000526020600020905b81548152906001019060200180831161061557829003601f168201915b5050505050815260200160028201805461064b9061138d565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061138d565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b5050505050815250509050919050565b6106dc610d7b565b60405163b405166b60e01b8152309063b405166b906106ff90869060040161135f565b602060405180830381865afa15801561071c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074091906113e3565b61078a5760405162461bcd60e51b815260206004820152601660248201527514d95c9d9a58d9481b9bdd081c9959da5cdd195c995960521b60448201526064015b60405180910390fd5b6040518060600160405280848152602001838152602001828152506000846040516107b591906113c7565b908152604051908190036020019020815181906107d29082611455565b50602082015160018201906107e79082611455565b50604082015160028201906107fc9082611455565b509050507f4cd09e35844ccdf25aac9862af453cedf05d8a8b765f2763be8373b55215df8d838383604051610833939291906111be565b60405180910390a1505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156108865750825b905060008267ffffffffffffffff1660011480156108a35750303b155b9050811580156108b1575080155b156108cf5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff1916600117855583156108f957845460ff60401b1916600160401b1785555b61090233610e47565b61090a610e58565b6000600155831561095557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6000808251116109a55760405162461bcd60e51b8152602060048201526014602482015273496e76616c69642073657276696365206e616d6560601b6044820152606401610781565b600080836040516109b691906113c7565b90815260405190819003602001902080546109d09061138d565b9050119050919050565b6109fe60405180606001604052806060815260200160608152602001606081525090565b60405163b405166b60e01b8152309063b405166b90610a2190879060040161135f565b602060405180830381865afa158015610a3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a6291906113e3565b15610aaf5760405162461bcd60e51b815260206004820152601a60248201527f5365727669636520616c726561647920726567697374657265640000000000006044820152606401610781565b6000604051806060016040528086815260200185815260200184815250905080600086604051610adf91906113c7565b90815260405190819003602001902081518190610afc9082611455565b5060208201516001820190610b119082611455565b5060408201516002820190610b269082611455565b509050507fc182fe36565be4905be53a8ed353f07898b528f1625e778edf77c13674806486858585604051610b5d939291906111be565b60405180910390a160018054906000610b7583611515565b90915550909150505b9392505050565b610b8d610d7b565b6001600160a01b038116610bb757604051631e4fbdf760e01b815260006004820152602401610781565b610bc081610dd6565b50565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610c4a57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c3e600080516020611556833981519152546001600160a01b031690565b6001600160a01b031614155b156104c85760405163703e46dd60e11b815260040160405180910390fd5b610bc0610d7b565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610cca575060408051601f3d908101601f19168201909252610cc79181019061153c565b60015b610cf257604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610781565b6000805160206115568339815191528114610d2357604051632a87526960e21b815260048101829052602401610781565b610d2d8383610e60565b505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104c85760405163703e46dd60e11b815260040160405180910390fd5b33610dad7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b0316146104c85760405163118cdaa760e01b8152336004820152602401610781565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b610e4f610eb6565b610bc081610eff565b6104c8610eb6565b610e6982610f07565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610eae57610d2d8282610f6c565b610495610fe2565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff166104c857604051631afcd79f60e31b815260040160405180910390fd5b610b8d610eb6565b806001600160a01b03163b600003610f3d57604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610781565b60008051602061155683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051610f8991906113c7565b600060405180830381855af49150503d8060008114610fc4576040519150601f19603f3d011682016040523d82523d6000602084013e610fc9565b606091505b5091509150610fd9858383611001565b95945050505050565b34156104c85760405163b398979f60e01b815260040160405180910390fd5b606082611016576110118261105d565b610b7e565b815115801561102d57506001600160a01b0384163b155b1561105657604051639996b31560e01b81526001600160a01b0385166004820152602401610781565b5080610b7e565b80511561106c57805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff808411156110b6576110b6611085565b604051601f8501601f19908116603f011681019082821181831017156110de576110de611085565b816040528093508581528686860111156110f757600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261112257600080fd5b610b7e8383356020850161109b565b60006020828403121561114357600080fd5b813567ffffffffffffffff81111561115a57600080fd5b61116684828501611111565b949350505050565b60005b83811015611189578181015183820152602001611171565b50506000910152565b600081518084526111aa81602086016020860161116e565b601f01601f19169290920160200192915050565b6060815260006111d16060830186611192565b82810360208401526111e38186611192565b905082810360408401526111f78185611192565b9695505050505050565b80356001600160a01b038116811461121857600080fd5b919050565b6000806040838503121561123057600080fd5b61123983611201565b9150602083013567ffffffffffffffff81111561125557600080fd5b8301601f8101851361126657600080fd5b6112758582356020840161109b565b9150509250929050565b60208152600082516060602084015261129b6080840182611192565b90506020840151601f19808584030160408601526112b98383611192565b9250604086015191508085840301606086015250610fd98282611192565b6000806000606084860312156112ec57600080fd5b833567ffffffffffffffff8082111561130457600080fd5b61131087838801611111565b9450602086013591508082111561132657600080fd5b61133287838801611111565b9350604086013591508082111561134857600080fd5b5061135586828701611111565b9150509250925092565b602081526000610b7e6020830184611192565b60006020828403121561138457600080fd5b610b7e82611201565b600181811c908216806113a157607f821691505b6020821081036113c157634e487b7160e01b600052602260045260246000fd5b50919050565b600082516113d981846020870161116e565b9190910192915050565b6000602082840312156113f557600080fd5b81518015158114610b7e57600080fd5b601f821115610d2d576000816000526020600020601f850160051c8101602086101561142e5750805b601f850160051c820191505b8181101561144d5782815560010161143a565b505050505050565b815167ffffffffffffffff81111561146f5761146f611085565b6114838161147d845461138d565b84611405565b602080601f8311600181146114b857600084156114a05750858301515b600019600386901b1c1916600185901b17855561144d565b600085815260208120601f198616915b828110156114e7578886015182559484019460019091019084016114c8565b50858210156115055787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60006001820161153557634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561154e57600080fd5b505191905056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212202bfc3b81f904787b5ab23808a04349a17cd56f161fa1b7a96ecce2619be06d4264736f6c63430008160033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryImpl","networkInteractionId":1,"nonce":692,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryImpl","networkInteractionId":1,"nonce":692,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000126"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xa3e59ac897033f5788666958871aa1f7f8171203d3fa0c63a83b382281297371"},"type":"TRANSACTION_SEND"} {"artifactId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","constructorArgs":[],"contractName":"TaskRegistryUpgradeable","dependencies":[],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","futureId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","networkInteraction":{"data":"0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125d06200010460003960008181611699015281816116c2015261180801526125d06000f3fe6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed2565b6103f8565b60405161012e9190611f9f565b60405180910390f35b34801561014357600080fd5b50610170610152366004612049565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612049565b610853565b3480156101d457600080fd5b506101e86101e3366004612077565b610a1f565b60405190815260200161012e565b6102096102043660046120a3565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612049565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612107565b34801561027357600080fd5b50610209610282366004612115565b610a8c565b34801561029357600080fd5b506102a76102a236600461214b565b610d56565b60405161012e9190612168565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ac565b610dd6565b3480156102f557600080fd5b50610209610304366004612049565b61100f565b34801561031557600080fd5b50610329610324366004612049565b611282565b60405161012e9897969594939291906121e9565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225c565b3480156103c457600080fd5b506102096103d336600461226f565b6113ed565b3480156103e457600080fd5b506102096103f336600461214b565b611512565b610400611d7e565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b4565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612424565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e4565b60405180910390a36002805490600061069083612503565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a2565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f67565b600381111561078357610783611f67565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a2565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7e565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a2565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f67565b600381111561095457610954611f67565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a2565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257b83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f67565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b4565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d16919061252a565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f67565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612424565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b4565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612107565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225c565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f67565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f67565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b4565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612107565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a2565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a2565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a2565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a2565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612543565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255f565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257b833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f191682019092526117929181019061252a565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257b83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612543565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612543565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255f565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612543565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d655780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dbb57611dbb611f67565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1557611e15611ddc565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4457611e44611ddc565b604052919050565b600067ffffffffffffffff821115611e6657611e66611ddc565b50601f01601f191660200190565b6000611e87611e8284611e4c565b611e1b565b9050828152838383011115611e9b57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec357600080fd5b611d4e83833560208501611e74565b60008060408385031215611ee557600080fd5b823567ffffffffffffffff811115611efc57600080fd5b611f0885828601611eb2565b95602094909401359450505050565b60005b83811015611f32578181015183820152602001611f1a565b50506000910152565b60008151808452611f53816020860160208601611f17565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9b57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc8610120850183611f3b565b915060018060a01b0360408601511660608501526060850151611fee6080860182611f7d565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120298382611f3b565b92505060e085015161203f8286018260ff169052565b5090949350505050565b60006020828403121561205b57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208a57600080fd5b823561209581612062565b946020939093013593505050565b600080604083850312156120b657600080fd5b82356120c181612062565b9150602083013567ffffffffffffffff8111156120dd57600080fd5b8301601f810185136120ee57600080fd5b6120fd85823560208401611e74565b9150509250929050565b6020810161084d8284611f7d565b6000806040838503121561212857600080fd5b82359150602083013560ff8116811461214057600080fd5b809150509250929050565b60006020828403121561215d57600080fd5b8135611d4e81612062565b6020808252825182820181905260009190848201906040850190845b818110156121a057835183529284019291840191600101612184565b50909695505050505050565b600080604083850312156121bf57600080fd5b82359150602083013567ffffffffffffffff8111156121dd57600080fd5b6120fd85828601611eb2565b60006101008a83528060208401526122038184018b611f3b565b6001600160a01b038a81166040860152909150612223606085018a611f7d565b8716608084015260a0830186905282810360c08401526122438186611f3b565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3b565b6000806040838503121561228257600080fd5b82359150602083013561214081612062565b805161229f81612062565b919050565b8051801515811461229f57600080fd5b600060208083850312156122c757600080fd5b825167ffffffffffffffff808211156122df57600080fd5b9084019060c082870312156122f357600080fd5b6122fb611df2565b825161230681612062565b8152828401518281111561231957600080fd5b83019150601f8201871361232c57600080fd5b815161233a611e8282611e4c565b818152888683860101111561234e57600080fd5b61235d82878301888701611f17565b82860152506040838101519082015261237860608401612294565b60608201526080830151608082015261239360a084016122a4565b60a08201529695505050505050565b600181811c908216806123b657607f821691505b6020821081036123d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124055750805b601f850160051c820191505b8181101561168657828155600101612411565b815167ffffffffffffffff81111561243e5761243e611ddc565b6124528161244c84546123a2565b846123dc565b602080601f831160018114612487576000841561246f5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b657888601518255948401946001909101908401612497565b50858210156124d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3b565b60006001820161252357634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253c57600080fd5b5051919050565b60008251612555818460208701611f17565b9190910192915050565b60006020828403121561257157600080fd5b611d4e826122a456fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca26469706673582212200206fb8c32e5b0ca19955dd0cd96c2c0092a360b74e8402ac6b25e22e2d4295e64736f6c63430008160033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","networkInteractionId":1,"nonce":676,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"941030"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"940900"}},"hash":"0x9ade8b61acfb698236111a45f03b8a1806cc2c701a7092d97b5be0f9996becf0"},"type":"TRANSACTION_SEND"} -{"futureId":"EnsembleCreditsModule#EnsembleCredits","hash":"0x34d4be26d5358e503c19d8f415cd58c3908947184b2482c867fbbce2bffe55d8","networkInteractionId":1,"receipt":{"blockHash":"0x92e8fe5c72a5b9e75f912664e3134a6caf490fbb1a907fd910654de5a263e4a6","blockNumber":27712992,"contractAddress":"0x42b3286d260036568E1447Ff7D4F45a21E5120F1","logs":[{"address":"0x42b3286d260036568E1447Ff7D4F45a21E5120F1","data":"0x","logIndex":52,"topics":["0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f"]},{"address":"0x42b3286d260036568E1447Ff7D4F45a21E5120F1","data":"0x","logIndex":53,"topics":["0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f"]},{"address":"0x42b3286d260036568E1447Ff7D4F45a21E5120F1","data":"0x","logIndex":54,"topics":["0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","0x0000000000000000000000000000000000000000000000000000000000000000","0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"EnsembleCreditsModule#EnsembleCredits","result":{"address":"0x42b3286d260036568E1447Ff7D4F45a21E5120F1","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} -{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryImpl","hash":"0xc03cd049f408bb47041c5f316c5b58c8bed4e6069b7f1ee3cce70473e98110a4","networkInteractionId":1,"receipt":{"blockHash":"0x92e8fe5c72a5b9e75f912664e3134a6caf490fbb1a907fd910654de5a263e4a6","blockNumber":27712992,"contractAddress":"0xa426a6874aCA4Af6A645F215c650a1643AC3E2fe","logs":[{"address":"0xa426a6874aCA4Af6A645F215c650a1643AC3E2fe","data":"0x000000000000000000000000000000000000000000000000ffffffffffffffff","logIndex":89,"topics":["0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryImpl","result":{"address":"0xa426a6874aCA4Af6A645F215c650a1643AC3E2fe","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} -{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","hash":"0x9ade8b61acfb698236111a45f03b8a1806cc2c701a7092d97b5be0f9996becf0","networkInteractionId":1,"receipt":{"blockHash":"0x44238ade0c08279c234cce0c574d2665f3e1a10057c886ae7eabdb8df5ee70eb","blockNumber":27712993,"contractAddress":"0x025a5d27FF77d77019e21e64B857D825B2082DBa","logs":[{"address":"0x025a5d27FF77d77019e21e64B857D825B2082DBa","data":"0x000000000000000000000000000000000000000000000000ffffffffffffffff","logIndex":86,"topics":["0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","result":{"address":"0x025a5d27FF77d77019e21e64B857D825B2082DBa","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} -{"args":["0x2c37691967de1a1e4ee68ae4d745059720a6db7f"],"artifactId":"EnsembleCreditsModule#EnsembleCredits","contractAddress":"0x42b3286d260036568E1447Ff7D4F45a21E5120F1","dependencies":["EnsembleCreditsModule#EnsembleCredits"],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","functionName":"isMinter","futureId":"EnsembleCreditsModule#EnsembleCredits.isMinter","strategy":"basic","strategyConfig":{},"type":"CALL_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"EnsembleCreditsModule#EnsembleCredits.isMinter","networkInteraction":{"data":"0xaa271e1a0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f","id":1,"to":"0x42b3286d260036568E1447Ff7D4F45a21E5120F1","type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"EnsembleCreditsModule#EnsembleCredits.isMinter","networkInteractionId":1,"nonce":677,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"941032"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"940900"}},"hash":"0xba5bafc8a305a8279e923f609fa10f640106e9cab0addb49d0bb1fdfc7021e50"},"type":"TRANSACTION_SEND"} +{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","networkInteraction":{"data":"0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000da565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000775760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620000d75780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516125cf6200010460003960008181611699015281816116c2015261180801526125cf6000f3fe6080604052600436106101095760003560e01c8063639241ab116100955780638d977672116100645780638d977672146103095780638da5cb5b1461033d578063ad3cb1cc1461037a578063da35a26f146103b8578063f2fde38b146103d857600080fd5b8063639241ab14610287578063715018a6146102b457806374aaa760146102c95780637eec20a8146102e957600080fd5b80632a2b3a9d116100dc5780632a2b3a9d146101c85780634f1ef286146101f657806352d1902d1461020b5780635c622a0e146102205780636298eee01461026757600080fd5b806304fe2b341461010e57806307b31818146101375780630d1cfcae146101885780631d65e77e146101a8575b600080fd5b61012161011c366004611ed1565b6103f8565b60405161012e9190611f9e565b60405180910390f35b34801561014357600080fd5b50610170610152366004612048565b6000908152602081905260409020600301546001600160a01b031690565b6040516001600160a01b03909116815260200161012e565b34801561019457600080fd5b50600354610170906001600160a01b031681565b3480156101b457600080fd5b506101216101c3366004612048565b610853565b3480156101d457600080fd5b506101e86101e3366004612076565b610a1f565b60405190815260200161012e565b6102096102043660046120a2565b610a50565b005b34801561021757600080fd5b506101e8610a6f565b34801561022c57600080fd5b5061025a61023b366004612048565b600090815260208190526040902060020154600160a01b900460ff1690565b60405161012e9190612106565b34801561027357600080fd5b50610209610282366004612114565b610a8c565b34801561029357600080fd5b506102a76102a236600461214a565b610d56565b60405161012e9190612167565b3480156102c057600080fd5b50610209610dc2565b3480156102d557600080fd5b506102096102e43660046121ab565b610dd6565b3480156102f557600080fd5b50610209610304366004612048565b61100f565b34801561031557600080fd5b50610329610324366004612048565b611282565b60405161012e9897969594939291906121e8565b34801561034957600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b0316610170565b34801561038657600080fd5b506103ab604051806040016040528060058152602001640352e302e360dc1b81525081565b60405161012e919061225b565b3480156103c457600080fd5b506102096103d336600461226e565b6113ed565b3480156103e457600080fd5b506102096103f336600461214a565b611512565b610400611d7d565b6003546040516318feeb1560e31b8152600481018490526000916001600160a01b03169063c7f758a890602401600060405180830381865afa15801561044a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261047291908101906122b3565b80519091506001600160a01b03166104d15760405162461bcd60e51b815260206004820152601960248201527f5365727669636550726f706f73616c206e6f7420666f756e640000000000000060448201526064015b60405180910390fd5b60608101516001600160a01b031661052b57348160400151146105265760405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420707269636560981b60448201526064016104c8565b61059e565b341561058a5760405162461bcd60e51b815260206004820152602860248201527f4e6f204554482073686f756c642062652073656e7420666f72204552433230206044820152677061796d656e747360c01b60648201526084016104c8565b61059e816060015133308460400151611550565b6002546000818152602081905260409020908155600181016105c08682612423565b5060028181018054336001600160a01b0319918216811783556004850188905585516003860180549093166001600160a01b039091161790915560009081526001602081815260408320945485548084018755958452922090930155805460ff60a01b1916600160a01b830217905550815160025460808401516040516001600160a01b039093169233927f5c005bbbb9da508c37935b1a9f270836e0be1fd11d4d47119f925a3ff33820e992610678928b906124e3565b60405180910390a36002805490600061069083612502565b91905055508060405180610100016040529081600082015481526020016001820180546106bc906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546106e8906123a1565b80156107355780601f1061070a57610100808354040283529160200191610735565b820191906000526020600020905b81548152906001019060200180831161071857829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561077257610772611f66565b600381111561078357610783611f66565b815260038201546001600160a01b03166020820152600482015460408201526005820180546060909201916107b7906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e3906123a1565b80156108305780601f1061080557610100808354040283529160200191610830565b820191906000526020600020905b81548152906001019060200180831161081357829003601f168201915b50505091835250506006919091015460ff16602090910152925050505b92915050565b61085b611d7d565b600082815260208181526040918290208251610100810190935280548352600181018054919284019161088d906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546108b9906123a1565b80156109065780601f106108db57610100808354040283529160200191610906565b820191906000526020600020905b8154815290600101906020018083116108e957829003601f168201915b505050918352505060028201546001600160a01b0381166020830152604090910190600160a01b900460ff16600381111561094357610943611f66565b600381111561095457610954611f66565b815260038201546001600160a01b0316602082015260048201546040820152600582018054606090920191610988906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546109b4906123a1565b8015610a015780601f106109d657610100808354040283529160200191610a01565b820191906000526020600020905b8154815290600101906020018083116109e457829003601f168201915b50505091835250506006919091015460ff1660209091015292915050565b60016020528160005260406000208181548110610a3b57600080fd5b90600052602060002001600091509150505481565b610a5861168e565b610a6182611733565b610a6b828261173b565b5050565b6000610a796117fd565b5060008051602061257a83398151915290565b60008281526020819052604090206002015482906001600160a01b03163314610af75760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000838152602081905260409020600280820154600160a01b900460ff166003811115610b2657610b26611f66565b14610b6b5760405162461bcd60e51b815260206004820152601560248201527415185cdac81a5cc81b9bdd0818dbdb5c1b195d1959605a1b60448201526064016104c8565b600681015460ff1615610bc05760405162461bcd60e51b815260206004820152601760248201527f5461736b20676f7420726174696e6720616c726561647900000000000000000060448201526064016104c8565b60648360ff161115610c145760405162461bcd60e51b815260206004820181905260248201527f526174696e67206d757374206265206265747765656e203020616e642031303060448201526064016104c8565b60068101805460ff191660ff85161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610c9a91908101906122b3565b60035481516040516370370a8160e01b81526001600160a01b03918216600482015260ff8816602482015292935016906370370a81906044016020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d169190612529565b5060405160ff8516815285907f0f9189bfc5977d44b1a00920e53a6a0e00229f6c53e76b73fc7e0581ae99abdc9060200160405180910390a25050505050565b6001600160a01b038116600090815260016020908152604091829020805483518184028101840190945280845260609392830182828015610db657602002820191906000526020600020905b815481526020019060010190808311610da2575b50505050509050919050565b610dca611846565b610dd460006118a1565b565b600082815260208190526040902060038101546001600160a01b03163314610e315760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016104c8565b60016002820154600160a01b900460ff166003811115610e5357610e53611f66565b14610e965760405162461bcd60e51b8152602060048201526013602482015272496e76616c6964207461736b2073746174757360681b60448201526064016104c8565b60028101805460ff60a01b1916600160a11b17905560058101610eb98382612423565b506003546004828101546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015610f07573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f2f91908101906122b3565b60608101519091506001600160a01b0316610f665760028201546040820151610f61916001600160a01b031690611912565b610f89565b606081015160028301546040830151610f8992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb491610fc991600160a01b900460ff1690612106565b60405180910390a2837f7e6ffc29fe63759579d96a0457a8f2e08339aca345bd469f59dc2e61f82a5aeb84604051611001919061225b565b60405180910390a250505050565b60008181526020819052604090206002015481906001600160a01b0316331461107a5760405162461bcd60e51b815260206004820152601a60248201527f4e6f742074686520697373756572206f6620746865207461736b00000000000060448201526064016104c8565b6000828152602081905260409020600280820154600160a01b900460ff1660038111156110a9576110a9611f66565b141580156110d7575060036002820154600160a01b900460ff1660038111156110d4576110d4611f66565b14155b6111235760405162461bcd60e51b815260206004820152601760248201527f5461736b2063616e6e6f742062652063616e63656c656400000000000000000060448201526064016104c8565b600281018054600360a01b60ff60a01b199091161790556003546004808301546040516318feeb1560e31b8152918201526000916001600160a01b03169063c7f758a890602401600060405180830381865afa158015611187573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111af91908101906122b3565b60608101519091506001600160a01b03166111e657600282015460408201516111e1916001600160a01b031690611912565b611209565b60608101516002830154604083015161120992916001600160a01b0316906119ec565b600282015460405185917fd76ef80cfb1ce0c70d0cbc0ab1b9f2f298a78f9fca5c841be963ae9a5d721bb49161124991600160a01b900460ff1690612106565b60405180910390a260405184907f1aa8a90c7d7a86bac690072d3f3d726bb8ebbe1989e158530440963f04c11eb290600090a250505050565b600060208190529081526040902080546001820180549192916112a4906123a1565b80601f01602080910402602001604051908101604052809291908181526020018280546112d0906123a1565b801561131d5780601f106112f25761010080835404028352916020019161131d565b820191906000526020600020905b81548152906001019060200180831161130057829003601f168201915b5050505060028301546003840154600485015460058601805495966001600160a01b0380861697600160a01b90960460ff16965090931693919291611361906123a1565b80601f016020809104026020016040519081016040528092919081815260200182805461138d906123a1565b80156113da5780601f106113af576101008083540402835291602001916113da565b820191906000526020600020905b8154815290600101906020018083116113bd57829003601f168201915b5050506006909301549192505060ff1688565b60006113f7611b1d565b805490915060ff600160401b820416159067ffffffffffffffff1660008115801561141f5750825b905060008267ffffffffffffffff16600114801561143c5750303b155b90508115801561144a575080155b156114685760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561149257845460ff60401b1916600160401b1785555b61149b33611b46565b6114a3611b57565b6002879055600380546001600160a01b0319166001600160a01b038816179055831561150957845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50505050505050565b61151a611846565b6001600160a01b03811661154457604051631e4fbdf760e01b8152600060048201526024016104c8565b61154d816118a1565b50565b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b17905291516000928392908816916115b49190612542565b6000604051808303816000865af19150503d80600081146115f1576040519150601f19603f3d011682016040523d82523d6000602084013e6115f6565b606091505b5091509150818015611620575080511580611620575080806020019051810190611620919061255e565b6116865760405162461bcd60e51b815260206004820152603160248201527f5472616e7366657248656c7065723a3a7472616e7366657246726f6d3a207472604482015270185b9cd9995c919c9bdb4819985a5b1959607a1b60648201526084016104c8565b505050505050565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061171557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031661170960008051602061257a833981519152546001600160a01b031690565b6001600160a01b031614155b15610dd45760405163703e46dd60e11b815260040160405180910390fd5b61154d611846565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015611795575060408051601f3d908101601f1916820190925261179291810190612529565b60015b6117bd57604051634c9c8ce360e01b81526001600160a01b03831660048201526024016104c8565b60008051602061257a83398151915281146117ee57604051632a87526960e21b8152600481018290526024016104c8565b6117f88383611b5f565b505050565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610dd45760405163703e46dd60e11b815260040160405180910390fd5b336118787f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b031614610dd45760405163118cdaa760e01b81523360048201526024016104c8565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b604080516000808252602082019092526001600160a01b03841690839060405161193c9190612542565b60006040518083038185875af1925050503d8060008114611979576040519150601f19603f3d011682016040523d82523d6000602084013e61197e565b606091505b50509050806117f85760405162461bcd60e51b815260206004820152603460248201527f5472616e7366657248656c7065723a3a736166655472616e736665724554483a60448201527308115512081d1c985b9cd9995c8819985a5b195960621b60648201526084016104c8565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1790529151600092839290871691611a489190612542565b6000604051808303816000865af19150503d8060008114611a85576040519150601f19603f3d011682016040523d82523d6000602084013e611a8a565b606091505b5091509150818015611ab4575080511580611ab4575080806020019051810190611ab4919061255e565b611b165760405162461bcd60e51b815260206004820152602d60248201527f5472616e7366657248656c7065723a3a736166655472616e736665723a20747260448201526c185b9cd9995c8819985a5b1959609a1b60648201526084016104c8565b5050505050565b6000807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0061084d565b611b4e611bb5565b61154d81611bda565b610dd4611bb5565b611b6882611be2565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115611bad576117f88282611c47565b610a6b611cbd565b611bbd611cdc565b610dd457604051631afcd79f60e31b815260040160405180910390fd5b61151a611bb5565b806001600160a01b03163b600003611c1857604051634c9c8ce360e01b81526001600160a01b03821660048201526024016104c8565b60008051602061257a83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611c649190612542565b600060405180830381855af49150503d8060008114611c9f576040519150601f19603f3d011682016040523d82523d6000602084013e611ca4565b606091505b5091509150611cb4858383611cf6565b95945050505050565b3415610dd45760405163b398979f60e01b815260040160405180910390fd5b6000611ce6611b1d565b54600160401b900460ff16919050565b606082611d0b57611d0682611d55565b611d4e565b8151158015611d2257506001600160a01b0384163b155b15611d4b57604051639996b31560e01b81526001600160a01b03851660048201526024016104c8565b50805b9392505050565b805115611d6457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b604051806101000160405280600081526020016060815260200160006001600160a01b0316815260200160006003811115611dba57611dba611f66565b81526000602082018190526040820181905260608083015260809091015290565b634e487b7160e01b600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715611e1457611e14611ddb565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715611e4357611e43611ddb565b604052919050565b600067ffffffffffffffff821115611e6557611e65611ddb565b50601f01601f191660200190565b6000611e86611e8184611e4b565b611e1a565b9050828152838383011115611e9a57600080fd5b828260208301376000602084830101529392505050565b600082601f830112611ec257600080fd5b611d4e83833560208501611e73565b60008060408385031215611ee457600080fd5b823567ffffffffffffffff811115611efb57600080fd5b611f0785828601611eb1565b95602094909401359450505050565b60005b83811015611f31578181015183820152602001611f19565b50506000910152565b60008151808452611f52816020860160208601611f16565b601f01601f19169290920160200192915050565b634e487b7160e01b600052602160045260246000fd5b60048110611f9a57634e487b7160e01b600052602160045260246000fd5b9052565b602081528151602082015260006020830151610100806040850152611fc7610120850183611f3a565b915060018060a01b0360408601511660608501526060850151611fed6080860182611f7c565b5060808501516001600160a01b03811660a08601525060a085015160c085015260c0850151601f198584030160e08601526120288382611f3a565b92505060e085015161203e8286018260ff169052565b5090949350505050565b60006020828403121561205a57600080fd5b5035919050565b6001600160a01b038116811461154d57600080fd5b6000806040838503121561208957600080fd5b823561209481612061565b946020939093013593505050565b600080604083850312156120b557600080fd5b82356120c081612061565b9150602083013567ffffffffffffffff8111156120dc57600080fd5b8301601f810185136120ed57600080fd5b6120fc85823560208401611e73565b9150509250929050565b6020810161084d8284611f7c565b6000806040838503121561212757600080fd5b82359150602083013560ff8116811461213f57600080fd5b809150509250929050565b60006020828403121561215c57600080fd5b8135611d4e81612061565b6020808252825182820181905260009190848201906040850190845b8181101561219f57835183529284019291840191600101612183565b50909695505050505050565b600080604083850312156121be57600080fd5b82359150602083013567ffffffffffffffff8111156121dc57600080fd5b6120fc85828601611eb1565b60006101008a83528060208401526122028184018b611f3a565b6001600160a01b038a81166040860152909150612222606085018a611f7c565b8716608084015260a0830186905282810360c08401526122428186611f3a565b91505060ff831660e08301529998505050505050505050565b602081526000611d4e6020830184611f3a565b6000806040838503121561228157600080fd5b82359150602083013561213f81612061565b805161229e81612061565b919050565b8051801515811461229e57600080fd5b600060208083850312156122c657600080fd5b825167ffffffffffffffff808211156122de57600080fd5b9084019060c082870312156122f257600080fd5b6122fa611df1565b825161230581612061565b8152828401518281111561231857600080fd5b83019150601f8201871361232b57600080fd5b8151612339611e8182611e4b565b818152888683860101111561234d57600080fd5b61235c82878301888701611f16565b82860152506040838101519082015261237760608401612293565b60608201526080830151608082015261239260a084016122a3565b60a08201529695505050505050565b600181811c908216806123b557607f821691505b6020821081036123d557634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156117f8576000816000526020600020601f850160051c810160208610156124045750805b601f850160051c820191505b8181101561168657828155600101612410565b815167ffffffffffffffff81111561243d5761243d611ddb565b6124518161244b84546123a1565b846123db565b602080601f831160018114612486576000841561246e5750858301515b600019600386901b1c1916600185901b178555611686565b600085815260208120601f198616915b828110156124b557888601518255948401946001909101908401612496565b50858210156124d35787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b838152826020820152606060408201526000611cb46060830184611f3a565b60006001820161252257634e487b7160e01b600052601160045260246000fd5b5060010190565b60006020828403121561253b57600080fd5b5051919050565b60008251612554818460208701611f16565b9190910192915050565b60006020828403121561257057600080fd5b611d4e826122a356fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220d3b080e19c883e02f2c45a696f8fc9ffe9b7d894958f1142da9c3a68737d889a64736f6c63430008160033","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","networkInteractionId":1,"nonce":693,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","networkInteractionId":1,"nonce":693,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000126"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x1ac12a8e46ece165a3c625c687f8f97083cb0d601da31f689b7797dbfca82e80"},"type":"TRANSACTION_SEND"} +{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","hash":"0x87b0292731621ebfec940a546e51baa3705d06f89974d6bc643a93a71f46be42","networkInteractionId":1,"receipt":{"blockHash":"0x09ccf22d39c14fd526e4c450f8a6b9363424ef650b7dbd99b1f1ed60d2d23ce4","blockNumber":33194678,"contractAddress":"0xAb38118AD1768baAa59bDB982029F08750274364","logs":[{"address":"0xAb38118AD1768baAa59bDB982029F08750274364","data":"0x000000000000000000000000000000000000000000000000ffffffffffffffff","logIndex":108,"topics":["0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","result":{"address":"0xAb38118AD1768baAa59bDB982029F08750274364","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"futureId":"EnsembleCreditsModule#EnsembleCredits","hash":"0xd4e8b02a98f62cab514f131310df0ded9afa889d2b33547eb96e93ed3d626aa6","networkInteractionId":1,"receipt":{"blockHash":"0x7c8d067a8e4841a2918abbeb77c3758eefe1fb2ba3f3840a33226bde4c09ab89","blockNumber":33194679,"contractAddress":"0x5C1fef4B208f56C6ebdF4e9dD52364CE5f921DD8","logs":[{"address":"0x5C1fef4B208f56C6ebdF4e9dD52364CE5f921DD8","data":"0x","logIndex":4,"topics":["0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f"]},{"address":"0x5C1fef4B208f56C6ebdF4e9dD52364CE5f921DD8","data":"0x","logIndex":5,"topics":["0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d","0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f"]},{"address":"0x5C1fef4B208f56C6ebdF4e9dD52364CE5f921DD8","data":"0x","logIndex":6,"topics":["0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff","0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6","0x0000000000000000000000000000000000000000000000000000000000000000","0x9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"EnsembleCreditsModule#EnsembleCredits","result":{"address":"0x5C1fef4B208f56C6ebdF4e9dD52364CE5f921DD8","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryImpl","hash":"0xa3e59ac897033f5788666958871aa1f7f8171203d3fa0c63a83b382281297371","networkInteractionId":1,"receipt":{"blockHash":"0x7c8d067a8e4841a2918abbeb77c3758eefe1fb2ba3f3840a33226bde4c09ab89","blockNumber":33194679,"contractAddress":"0x8C19A576158de60Cab40207C1d2E4D1D7fb43F31","logs":[{"address":"0x8C19A576158de60Cab40207C1d2E4D1D7fb43F31","data":"0x000000000000000000000000000000000000000000000000ffffffffffffffff","logIndex":97,"topics":["0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryImpl","result":{"address":"0x8C19A576158de60Cab40207C1d2E4D1D7fb43F31","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","hash":"0x1ac12a8e46ece165a3c625c687f8f97083cb0d601da31f689b7797dbfca82e80","networkInteractionId":1,"receipt":{"blockHash":"0x7c8d067a8e4841a2918abbeb77c3758eefe1fb2ba3f3840a33226bde4c09ab89","blockNumber":33194679,"contractAddress":"0x89c33DEdd6e579131FbD3fCD07513653a0E812eD","logs":[{"address":"0x89c33DEdd6e579131FbD3fCD07513653a0E812eD","data":"0x000000000000000000000000000000000000000000000000ffffffffffffffff","logIndex":293,"topics":["0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","result":{"address":"0x89c33DEdd6e579131FbD3fCD07513653a0E812eD","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"args":["0x2c37691967de1a1e4ee68ae4d745059720a6db7f"],"artifactId":"EnsembleCreditsModule#EnsembleCredits","contractAddress":"0x5C1fef4B208f56C6ebdF4e9dD52364CE5f921DD8","dependencies":["EnsembleCreditsModule#EnsembleCredits"],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","functionName":"isMinter","futureId":"EnsembleCreditsModule#EnsembleCredits.isMinter","strategy":"basic","strategyConfig":{},"type":"CALL_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"EnsembleCreditsModule#EnsembleCredits.isMinter","networkInteraction":{"data":"0xaa271e1a0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f","id":1,"to":"0x5C1fef4B208f56C6ebdF4e9dD52364CE5f921DD8","type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"EnsembleCreditsModule#EnsembleCredits.isMinter","networkInteractionId":1,"nonce":694,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"EnsembleCreditsModule#EnsembleCredits.isMinter","networkInteractionId":1,"nonce":694,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000130"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0xf669e0a5a585c31521a168b474ff6a4f1bcac45d14363ecd0923f186f1cc8f99"},"type":"TRANSACTION_SEND"} {"args":[],"artifactId":"ServiceRegistryUpgradeableModule#ServiceRegistryImpl","dependencies":["ServiceRegistryUpgradeableModule#ServiceRegistryImpl"],"functionName":"initialize","futureId":"ServiceRegistryUpgradeableModule#encodeFunctionCall(ServiceRegistryUpgradeableModule#ServiceRegistryImpl.initialize)","result":"0x8129fc1c","strategy":"basic","strategyConfig":{},"type":"ENCODE_FUNCTION_CALL_EXECUTION_STATE_INITIALIZE"} -{"futureId":"EnsembleCreditsModule#EnsembleCredits.isMinter","hash":"0xba5bafc8a305a8279e923f609fa10f640106e9cab0addb49d0bb1fdfc7021e50","networkInteractionId":1,"receipt":{"blockHash":"0xe9a80c94240f3edacac74fb466a63ae437c34603f89866aaff437b2f870cdf3f","blockNumber":27712999,"logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"EnsembleCreditsModule#EnsembleCredits.isMinter","hash":"0xf669e0a5a585c31521a168b474ff6a4f1bcac45d14363ecd0923f186f1cc8f99","networkInteractionId":1,"receipt":{"blockHash":"0x8678e3aa81079dc744d4be21d0d64f776b3e9da0ac30f490d144139e4c299cb6","blockNumber":33194684,"logs":[],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} {"futureId":"EnsembleCreditsModule#EnsembleCredits.isMinter","result":{"type":"SUCCESS"},"type":"CALL_EXECUTION_STATE_COMPLETE"} -{"artifactId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","constructorArgs":["0xa426a6874aCA4Af6A645F215c650a1643AC3E2fe","0x8129fc1c"],"contractName":"ERC1967Proxy","dependencies":["ServiceRegistryUpgradeableModule#ServiceRegistryImpl","ServiceRegistryUpgradeableModule#encodeFunctionCall(ServiceRegistryUpgradeableModule#ServiceRegistryImpl.initialize)"],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","networkInteraction":{"data":"0x608060405260405161040a38038061040a83398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60aa806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212201d1e675cd71e57bb3f08113f3040612bee9b14a06a3515aeb6fc806b55a6323764736f6c63430008160033000000000000000000000000a426a6874aca4af6a645f215c650a1643ac3e2fe000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000048129fc1c00000000000000000000000000000000000000000000000000000000","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","networkInteractionId":1,"nonce":678,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"941032"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"940900"}},"hash":"0x0b438c1d70ad5afa79290feca76cfa76bcc69ffa58548f5e084e947ea9f1e55b"},"type":"TRANSACTION_SEND"} -{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","hash":"0x0b438c1d70ad5afa79290feca76cfa76bcc69ffa58548f5e084e947ea9f1e55b","networkInteractionId":1,"receipt":{"blockHash":"0x98931648221a61212c06e978ca9509281f4db200a52f47264fd2badf26d61f25","blockNumber":27713005,"contractAddress":"0x3Acbf1Ca047a18bE88E7160738A9B0bB64203244","logs":[{"address":"0x3Acbf1Ca047a18bE88E7160738A9B0bB64203244","data":"0x","logIndex":89,"topics":["0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","0x000000000000000000000000a426a6874aca4af6a645f215c650a1643ac3e2fe"]},{"address":"0x3Acbf1Ca047a18bE88E7160738A9B0bB64203244","data":"0x","logIndex":90,"topics":["0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f"]},{"address":"0x3Acbf1Ca047a18bE88E7160738A9B0bB64203244","data":"0x0000000000000000000000000000000000000000000000000000000000000001","logIndex":91,"topics":["0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","result":{"address":"0x3Acbf1Ca047a18bE88E7160738A9B0bB64203244","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} -{"artifactId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxied","contractAddress":"0x3Acbf1Ca047a18bE88E7160738A9B0bB64203244","contractName":"ServiceRegistryUpgradeable","dependencies":["ServiceRegistryUpgradeableModule#ServiceRegistryProxy"],"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxied","futureType":"NAMED_ARTIFACT_CONTRACT_AT","strategy":"basic","strategyConfig":{},"type":"CONTRACT_AT_EXECUTION_STATE_INITIALIZE"} -{"args":["0x0000000000000000000000000000000000000000","0x3Acbf1Ca047a18bE88E7160738A9B0bB64203244"],"artifactId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","dependencies":["AgentsRegistryUpgradeableModule#AgentsRegistryImpl","ServiceRegistryUpgradeableModule#ServiceRegistryProxied"],"functionName":"initialize","futureId":"AgentsRegistryUpgradeableModule#encodeFunctionCall(AgentsRegistryUpgradeableModule#AgentsRegistryImpl.initialize)","result":"0x485cc95500000000000000000000000000000000000000000000000000000000000000000000000000000000000000003acbf1ca047a18be88e7160738a9b0bb64203244","strategy":"basic","strategyConfig":{},"type":"ENCODE_FUNCTION_CALL_EXECUTION_STATE_INITIALIZE"} -{"artifactId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","constructorArgs":["0x54D38F096926915daae83f4F2a774EfA27a5Bc97","0x485cc95500000000000000000000000000000000000000000000000000000000000000000000000000000000000000003acbf1ca047a18be88e7160738a9b0bb64203244"],"contractName":"ERC1967Proxy","dependencies":["AgentsRegistryUpgradeableModule#AgentsRegistryImpl","AgentsRegistryUpgradeableModule#encodeFunctionCall(AgentsRegistryUpgradeableModule#AgentsRegistryImpl.initialize)"],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","networkInteraction":{"data":"0x608060405260405161040a38038061040a83398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60aa806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212201d1e675cd71e57bb3f08113f3040612bee9b14a06a3515aeb6fc806b55a6323764736f6c6343000816003300000000000000000000000054d38f096926915daae83f4f2a774efa27a5bc9700000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044485cc95500000000000000000000000000000000000000000000000000000000000000000000000000000000000000003acbf1ca047a18be88e7160738a9b0bb6420324400000000000000000000000000000000000000000000000000000000","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","networkInteractionId":1,"nonce":679,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"912805"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"912673"}},"hash":"0x6651fe794e053d85a8107e0712e11fada779af15d799b30adc50d62a59f92256"},"type":"TRANSACTION_SEND"} -{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","hash":"0x6651fe794e053d85a8107e0712e11fada779af15d799b30adc50d62a59f92256","networkInteractionId":1,"receipt":{"blockHash":"0x1bcc60e6413ff172fe921b18ef19d4b77112d198a83abadbeb49094024f57246","blockNumber":27713011,"contractAddress":"0xDbF645cC23066cc364C4Db915c78135eE52f11B2","logs":[{"address":"0xDbF645cC23066cc364C4Db915c78135eE52f11B2","data":"0x","logIndex":28,"topics":["0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","0x00000000000000000000000054d38f096926915daae83f4f2a774efa27a5bc97"]},{"address":"0xDbF645cC23066cc364C4Db915c78135eE52f11B2","data":"0x","logIndex":29,"topics":["0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f"]},{"address":"0xDbF645cC23066cc364C4Db915c78135eE52f11B2","data":"0x0000000000000000000000000000000000000000000000000000000000000001","logIndex":30,"topics":["0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","result":{"address":"0xDbF645cC23066cc364C4Db915c78135eE52f11B2","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} -{"artifactId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxied","contractAddress":"0xDbF645cC23066cc364C4Db915c78135eE52f11B2","contractName":"AgentsRegistryUpgradeable","dependencies":["AgentsRegistryUpgradeableModule#AgentsRegistryProxy"],"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxied","futureType":"NAMED_ARTIFACT_CONTRACT_AT","strategy":"basic","strategyConfig":{},"type":"CONTRACT_AT_EXECUTION_STATE_INITIALIZE"} -{"args":[1,"0xDbF645cC23066cc364C4Db915c78135eE52f11B2"],"artifactId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","dependencies":["TaskRegistryUpgradeableModule#TaskRegistryImpl","AgentsRegistryUpgradeableModule#AgentsRegistryProxied"],"functionName":"initialize","futureId":"TaskRegistryUpgradeableModule#encodeFunctionCall(TaskRegistryUpgradeableModule#TaskRegistryImpl.initialize)","result":"0xda35a26f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dbf645cc23066cc364c4db915c78135ee52f11b2","strategy":"basic","strategyConfig":{},"type":"ENCODE_FUNCTION_CALL_EXECUTION_STATE_INITIALIZE"} -{"artifactId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","constructorArgs":["0x025a5d27FF77d77019e21e64B857D825B2082DBa","0xda35a26f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dbf645cc23066cc364c4db915c78135ee52f11b2"],"contractName":"ERC1967Proxy","dependencies":["TaskRegistryUpgradeableModule#TaskRegistryImpl","TaskRegistryUpgradeableModule#encodeFunctionCall(TaskRegistryUpgradeableModule#TaskRegistryImpl.initialize)"],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} -{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","networkInteraction":{"data":"0x608060405260405161040a38038061040a83398101604081905261002291610268565b61002c8282610033565b5050610352565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610336565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b8051156102155780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025f578181015183820152602001610247565b50506000910152565b6000806040838503121561027b57600080fd5b82516001600160a01b038116811461029257600080fd5b60208401519092506001600160401b03808211156102af57600080fd5b818501915085601f8301126102c357600080fd5b8151818111156102d5576102d561022e565b604051601f8201601f19908116603f011681019083821181831017156102fd576102fd61022e565b8160405282815288602084870101111561031657600080fd5b610327836020830160208801610244565b80955050505050509250929050565b60008251610348818460208701610244565b9190910192915050565b60aa806103606000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea26469706673582212201d1e675cd71e57bb3f08113f3040612bee9b14a06a3515aeb6fc806b55a6323764736f6c63430008160033000000000000000000000000025a5d27ff77d77019e21e64b857d825b2082dba00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044da35a26f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dbf645cc23066cc364c4db915c78135ee52f11b200000000000000000000000000000000000000000000000000000000","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} -{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","networkInteractionId":1,"nonce":680,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"912805"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"912673"}},"hash":"0x24cc0316b662b2571548a067a492edc818c55cbb6990344402f76127c1c0f37c"},"type":"TRANSACTION_SEND"} -{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","hash":"0x24cc0316b662b2571548a067a492edc818c55cbb6990344402f76127c1c0f37c","networkInteractionId":1,"receipt":{"blockHash":"0x9c7b6d56272b63ca586a0f5a5918549d28d921a17b95e26f446f6c9a2fe7f658","blockNumber":27713017,"contractAddress":"0x847fA49b999489fD2780fe2843A7b1608106b49b","logs":[{"address":"0x847fA49b999489fD2780fe2843A7b1608106b49b","data":"0x","logIndex":20,"topics":["0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","0x000000000000000000000000025a5d27ff77d77019e21e64b857d825b2082dba"]},{"address":"0x847fA49b999489fD2780fe2843A7b1608106b49b","data":"0x","logIndex":21,"topics":["0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f"]},{"address":"0x847fA49b999489fD2780fe2843A7b1608106b49b","data":"0x0000000000000000000000000000000000000000000000000000000000000001","logIndex":22,"topics":["0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} -{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","result":{"address":"0x847fA49b999489fD2780fe2843A7b1608106b49b","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} -{"artifactId":"TaskRegistryUpgradeableModule#TaskRegistryProxied","contractAddress":"0x847fA49b999489fD2780fe2843A7b1608106b49b","contractName":"TaskRegistryUpgradeable","dependencies":["TaskRegistryUpgradeableModule#TaskRegistryProxy"],"futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxied","futureType":"NAMED_ARTIFACT_CONTRACT_AT","strategy":"basic","strategyConfig":{},"type":"CONTRACT_AT_EXECUTION_STATE_INITIALIZE"} \ No newline at end of file +{"artifactId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","constructorArgs":["0x8C19A576158de60Cab40207C1d2E4D1D7fb43F31","0x8129fc1c"],"contractName":"ERC1967Proxy","dependencies":["ServiceRegistryUpgradeableModule#ServiceRegistryImpl","ServiceRegistryUpgradeableModule#encodeFunctionCall(ServiceRegistryUpgradeableModule#ServiceRegistryImpl.initialize)"],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","networkInteraction":{"data":"0x608060405260405161040938038061040983398101604081905261002291610267565b61002c8282610033565b5050610351565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610335565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b80511561021457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025e578181015183820152602001610246565b50506000910152565b6000806040838503121561027a57600080fd5b82516001600160a01b038116811461029157600080fd5b60208401519092506001600160401b03808211156102ae57600080fd5b818501915085601f8301126102c257600080fd5b8151818111156102d4576102d461022d565b604051601f8201601f19908116603f011681019083821181831017156102fc576102fc61022d565b8160405282815288602084870101111561031557600080fd5b610326836020830160208801610243565b80955050505050509250929050565b60008251610347818460208701610243565b9190910192915050565b60aa8061035f6000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea264697066735822122060aeada43c964f1fbb27c2d9cbef9ca57ecc24f36b6aed0059d5371ade8a972f64736f6c634300081600330000000000000000000000008c19a576158de60cab40207c1d2e4d1d7fb43f31000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000048129fc1c00000000000000000000000000000000000000000000000000000000","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","networkInteractionId":1,"nonce":695,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","networkInteractionId":1,"nonce":695,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000134"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x1c4c9686d03b56d7abcb09805f63a67e72f827445ab58a8198609755841aae79"},"type":"TRANSACTION_SEND"} +{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","hash":"0x1c4c9686d03b56d7abcb09805f63a67e72f827445ab58a8198609755841aae79","networkInteractionId":1,"receipt":{"blockHash":"0x0f2c671414bf85a4e750d67f7f1f1e56ff20e05a74e92369970feb3fdeb7c73c","blockNumber":33194690,"contractAddress":"0x05506f4eA523C103820b4733663Bbbd0D119806f","logs":[{"address":"0x05506f4eA523C103820b4733663Bbbd0D119806f","data":"0x","logIndex":1,"topics":["0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","0x0000000000000000000000008c19a576158de60cab40207c1d2e4d1d7fb43f31"]},{"address":"0x05506f4eA523C103820b4733663Bbbd0D119806f","data":"0x","logIndex":2,"topics":["0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f"]},{"address":"0x05506f4eA523C103820b4733663Bbbd0D119806f","data":"0x0000000000000000000000000000000000000000000000000000000000000001","logIndex":3,"topics":["0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxy","result":{"address":"0x05506f4eA523C103820b4733663Bbbd0D119806f","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"artifactId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxied","contractAddress":"0x05506f4eA523C103820b4733663Bbbd0D119806f","contractName":"ServiceRegistryUpgradeable","dependencies":["ServiceRegistryUpgradeableModule#ServiceRegistryProxy"],"futureId":"ServiceRegistryUpgradeableModule#ServiceRegistryProxied","futureType":"NAMED_ARTIFACT_CONTRACT_AT","strategy":"basic","strategyConfig":{},"type":"CONTRACT_AT_EXECUTION_STATE_INITIALIZE"} +{"args":["0x0000000000000000000000000000000000000000","0x05506f4eA523C103820b4733663Bbbd0D119806f"],"artifactId":"AgentsRegistryUpgradeableModule#AgentsRegistryImpl","dependencies":["AgentsRegistryUpgradeableModule#AgentsRegistryImpl","ServiceRegistryUpgradeableModule#ServiceRegistryProxied"],"functionName":"initialize","futureId":"AgentsRegistryUpgradeableModule#encodeFunctionCall(AgentsRegistryUpgradeableModule#AgentsRegistryImpl.initialize)","result":"0x485cc955000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005506f4ea523c103820b4733663bbbd0d119806f","strategy":"basic","strategyConfig":{},"type":"ENCODE_FUNCTION_CALL_EXECUTION_STATE_INITIALIZE"} +{"artifactId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","constructorArgs":["0xAb38118AD1768baAa59bDB982029F08750274364","0x485cc955000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005506f4ea523c103820b4733663bbbd0d119806f"],"contractName":"ERC1967Proxy","dependencies":["AgentsRegistryUpgradeableModule#AgentsRegistryImpl","AgentsRegistryUpgradeableModule#encodeFunctionCall(AgentsRegistryUpgradeableModule#AgentsRegistryImpl.initialize)"],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","networkInteraction":{"data":"0x608060405260405161040938038061040983398101604081905261002291610267565b61002c8282610033565b5050610351565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610335565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b80511561021457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025e578181015183820152602001610246565b50506000910152565b6000806040838503121561027a57600080fd5b82516001600160a01b038116811461029157600080fd5b60208401519092506001600160401b03808211156102ae57600080fd5b818501915085601f8301126102c257600080fd5b8151818111156102d4576102d461022d565b604051601f8201601f19908116603f011681019083821181831017156102fc576102fc61022d565b8160405282815288602084870101111561031557600080fd5b610326836020830160208801610243565b80955050505050509250929050565b60008251610347818460208701610243565b9190910192915050565b60aa8061035f6000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea264697066735822122060aeada43c964f1fbb27c2d9cbef9ca57ecc24f36b6aed0059d5371ade8a972f64736f6c63430008160033000000000000000000000000ab38118ad1768baaa59bdb982029f0875027436400000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044485cc955000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005506f4ea523c103820b4733663bbbd0d119806f00000000000000000000000000000000000000000000000000000000","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","networkInteractionId":1,"nonce":696,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","networkInteractionId":1,"nonce":696,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000136"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x3671c7afef64062456e29a797a89ba2c57cb93ac56723139c42865ea6a89f92e"},"type":"TRANSACTION_SEND"} +{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","hash":"0x3671c7afef64062456e29a797a89ba2c57cb93ac56723139c42865ea6a89f92e","networkInteractionId":1,"receipt":{"blockHash":"0xe3c775112f2067ff2db7de337a481c46f6f6bfcc8e42ee9cde62d9766958e82d","blockNumber":33194695,"contractAddress":"0xdc9Cdb9A7Bc2CE2bF19dEc0058dd587DE0456EE9","logs":[{"address":"0xdc9Cdb9A7Bc2CE2bF19dEc0058dd587DE0456EE9","data":"0x","logIndex":126,"topics":["0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","0x000000000000000000000000ab38118ad1768baaa59bdb982029f08750274364"]},{"address":"0xdc9Cdb9A7Bc2CE2bF19dEc0058dd587DE0456EE9","data":"0x","logIndex":127,"topics":["0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f"]},{"address":"0xdc9Cdb9A7Bc2CE2bF19dEc0058dd587DE0456EE9","data":"0x0000000000000000000000000000000000000000000000000000000000000001","logIndex":128,"topics":["0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxy","result":{"address":"0xdc9Cdb9A7Bc2CE2bF19dEc0058dd587DE0456EE9","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"artifactId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxied","contractAddress":"0xdc9Cdb9A7Bc2CE2bF19dEc0058dd587DE0456EE9","contractName":"AgentsRegistryUpgradeable","dependencies":["AgentsRegistryUpgradeableModule#AgentsRegistryProxy"],"futureId":"AgentsRegistryUpgradeableModule#AgentsRegistryProxied","futureType":"NAMED_ARTIFACT_CONTRACT_AT","strategy":"basic","strategyConfig":{},"type":"CONTRACT_AT_EXECUTION_STATE_INITIALIZE"} +{"args":[1,"0xdc9Cdb9A7Bc2CE2bF19dEc0058dd587DE0456EE9"],"artifactId":"TaskRegistryUpgradeableModule#TaskRegistryImpl","dependencies":["TaskRegistryUpgradeableModule#TaskRegistryImpl","AgentsRegistryUpgradeableModule#AgentsRegistryProxied"],"functionName":"initialize","futureId":"TaskRegistryUpgradeableModule#encodeFunctionCall(TaskRegistryUpgradeableModule#TaskRegistryImpl.initialize)","result":"0xda35a26f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dc9cdb9a7bc2ce2bf19dec0058dd587de0456ee9","strategy":"basic","strategyConfig":{},"type":"ENCODE_FUNCTION_CALL_EXECUTION_STATE_INITIALIZE"} +{"artifactId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","constructorArgs":["0x89c33DEdd6e579131FbD3fCD07513653a0E812eD","0xda35a26f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dc9cdb9a7bc2ce2bf19dec0058dd587de0456ee9"],"contractName":"ERC1967Proxy","dependencies":["TaskRegistryUpgradeableModule#TaskRegistryImpl","TaskRegistryUpgradeableModule#encodeFunctionCall(TaskRegistryUpgradeableModule#TaskRegistryImpl.initialize)"],"from":"0x2c37691967de1a1e4ee68ae4d745059720a6db7f","futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","futureType":"NAMED_ARTIFACT_CONTRACT_DEPLOYMENT","libraries":{},"strategy":"basic","strategyConfig":{},"type":"DEPLOYMENT_EXECUTION_STATE_INITIALIZE","value":{"_kind":"bigint","value":"0"}} +{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","networkInteraction":{"data":"0x608060405260405161040938038061040983398101604081905261002291610267565b61002c8282610033565b5050610351565b61003c82610092565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a280511561008657610081828261010e565b505050565b61008e610185565b5050565b806001600160a01b03163b6000036100cd57604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161012b9190610335565b600060405180830381855af49150503d8060008114610166576040519150601f19603f3d011682016040523d82523d6000602084013e61016b565b606091505b50909250905061017c8583836101a6565b95945050505050565b34156101a45760405163b398979f60e01b815260040160405180910390fd5b565b6060826101bb576101b682610205565b6101fe565b81511580156101d257506001600160a01b0384163b155b156101fb57604051639996b31560e01b81526001600160a01b03851660048201526024016100c4565b50805b9392505050565b80511561021457805160208201fd5b60405163d6bda27560e01b815260040160405180910390fd5b634e487b7160e01b600052604160045260246000fd5b60005b8381101561025e578181015183820152602001610246565b50506000910152565b6000806040838503121561027a57600080fd5b82516001600160a01b038116811461029157600080fd5b60208401519092506001600160401b03808211156102ae57600080fd5b818501915085601f8301126102c257600080fd5b8151818111156102d4576102d461022d565b604051601f8201601f19908116603f011681019083821181831017156102fc576102fc61022d565b8160405282815288602084870101111561031557600080fd5b610326836020830160208801610243565b80955050505050509250929050565b60008251610347818460208701610243565b9190910192915050565b60aa8061035f6000396000f3fe6080604052600a600c565b005b60186014601a565b6051565b565b6000604c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b3660008037600080366000845af43d6000803e808015606f573d6000f35b3d6000fdfea264697066735822122060aeada43c964f1fbb27c2d9cbef9ca57ecc24f36b6aed0059d5371ade8a972f64736f6c6343000816003300000000000000000000000089c33dedd6e579131fbd3fcd07513653a0e812ed00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000044da35a26f0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000dc9cdb9a7bc2ce2bf19dec0058dd587de0456ee900000000000000000000000000000000000000000000000000000000","id":1,"type":"ONCHAIN_INTERACTION","value":{"_kind":"bigint","value":"0"}},"type":"NETWORK_INTERACTION_REQUEST"} +{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","networkInteractionId":1,"nonce":697,"type":"TRANSACTION_PREPARE_SEND"} +{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","networkInteractionId":1,"nonce":697,"transaction":{"fees":{"maxFeePerGas":{"_kind":"bigint","value":"1000138"},"maxPriorityFeePerGas":{"_kind":"bigint","value":"1000000"}},"hash":"0x1ff3430c356b58997db2a4683442bb6b6eb3693636a72b7d3f18395145e9e581"},"type":"TRANSACTION_SEND"} +{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","hash":"0x1ff3430c356b58997db2a4683442bb6b6eb3693636a72b7d3f18395145e9e581","networkInteractionId":1,"receipt":{"blockHash":"0xf8dd44aab81936a9251f29183d258c289bb3d28fd3152aec1e152b40a02c622a","blockNumber":33194700,"contractAddress":"0xa16e7A279931712a651822a8A4035B5733c7f811","logs":[{"address":"0xa16e7A279931712a651822a8A4035B5733c7f811","data":"0x","logIndex":167,"topics":["0xbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b","0x00000000000000000000000089c33dedd6e579131fbd3fcd07513653a0e812ed"]},{"address":"0xa16e7A279931712a651822a8A4035B5733c7f811","data":"0x","logIndex":168,"topics":["0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0","0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000002c37691967de1a1e4ee68ae4d745059720a6db7f"]},{"address":"0xa16e7A279931712a651822a8A4035B5733c7f811","data":"0x0000000000000000000000000000000000000000000000000000000000000001","logIndex":169,"topics":["0xc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2"]}],"status":"SUCCESS"},"type":"TRANSACTION_CONFIRM"} +{"futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxy","result":{"address":"0xa16e7A279931712a651822a8A4035B5733c7f811","type":"SUCCESS"},"type":"DEPLOYMENT_EXECUTION_STATE_COMPLETE"} +{"artifactId":"TaskRegistryUpgradeableModule#TaskRegistryProxied","contractAddress":"0xa16e7A279931712a651822a8A4035B5733c7f811","contractName":"TaskRegistryUpgradeable","dependencies":["TaskRegistryUpgradeableModule#TaskRegistryProxy"],"futureId":"TaskRegistryUpgradeableModule#TaskRegistryProxied","futureType":"NAMED_ARTIFACT_CONTRACT_AT","strategy":"basic","strategyConfig":{},"type":"CONTRACT_AT_EXECUTION_STATE_INITIALIZE"} \ No newline at end of file diff --git a/packages/contracts/scripts/deploy-ensemble-credits.js b/packages/contracts/scripts/deploy-ensemble-credits.js deleted file mode 100644 index d6544e9..0000000 --- a/packages/contracts/scripts/deploy-ensemble-credits.js +++ /dev/null @@ -1,51 +0,0 @@ -const { ethers } = require("hardhat"); - -async function main() { - const [deployer] = await ethers.getSigners(); - - console.log("Deploying EnsembleCredits with the account:", deployer.address); - console.log("Account balance:", (await ethers.provider.getBalance(deployer.address)).toString()); - - // Deployment parameters - const TOKEN_NAME = "Ensemble Credits"; - const TOKEN_SYMBOL = "EC"; - const INITIAL_ADMIN = deployer.address; // Can be changed to a different address if needed - const INITIAL_SUPPLY = 0; // Set to 0 for no initial supply, or specify amount (in 6 decimals) - - // Deploy the contract - const EnsembleCredits = await ethers.getContractFactory("EnsembleCredits"); - const ensembleCredits = await EnsembleCredits.deploy( - TOKEN_NAME, - TOKEN_SYMBOL, - INITIAL_ADMIN, - INITIAL_SUPPLY - ); - - await ensembleCredits.waitForDeployment(); - - console.log("EnsembleCredits deployed to:", await ensembleCredits.getAddress()); - console.log("Token name:", await ensembleCredits.name()); - console.log("Token symbol:", await ensembleCredits.symbol()); - console.log("Decimals:", await ensembleCredits.decimals()); - console.log("Initial admin:", INITIAL_ADMIN); - console.log("Initial supply:", INITIAL_SUPPLY); - console.log("Total supply:", (await ensembleCredits.totalSupply()).toString()); - - // Verify deployer has correct roles - const DEFAULT_ADMIN_ROLE = "0x0000000000000000000000000000000000000000000000000000000000000000"; - const MINTER_ROLE = ethers.keccak256(ethers.toUtf8Bytes("MINTER_ROLE")); - - console.log("Deployer has admin role:", await ensembleCredits.hasRole(DEFAULT_ADMIN_ROLE, deployer.address)); - console.log("Deployer has minter role:", await ensembleCredits.hasRole(MINTER_ROLE, deployer.address)); - - console.log("\nDeployment completed successfully!"); - console.log("\nContract address for verification:"); - console.log(await ensembleCredits.getAddress()); -} - -main() - .then(() => process.exit(0)) - .catch((error) => { - console.error(error); - process.exit(1); - }); \ No newline at end of file