From a5845e3ed39b89dd687f1af07056357d35ebecaf Mon Sep 17 00:00:00 2001 From: Defi Boy Date: Wed, 29 Jul 2020 13:38:29 +0100 Subject: [PATCH] improve code for debuggin and changee template rendering of dev functions --- src/utils/template.ts | 55 ++++++++++++++++++++++++----------------- src/utils/utils.test.ts | 28 +++++++++++++++++++++ src/utils/utils.ts | 30 +++++++++++----------- 3 files changed, 75 insertions(+), 38 deletions(-) diff --git a/src/utils/template.ts b/src/utils/template.ts index 7c5f472c94..4f1de62ab6 100644 --- a/src/utils/template.ts +++ b/src/utils/template.ts @@ -54,26 +54,27 @@ export const template = (
${ - functions.length === 0 - ? "No contract to display" - : renderHeader(name, contractDoc) - } + functions.length === 0 + ? "No contract to display" + : renderHeader(name, contractDoc) + } ${functions - .map( - (item) => ` -
${item.name} - ${item.type}
-
- ${renderParameterDocumentation(item.inputs)} - + .map( + (item) => ` +
+
${item.name} - ${item.type}
+ ${getMethodDetails(item.devdoc)} + ${renderParameterDocumentation(item.inputs)} +

Returns:

${renderParameterDocumentation(item.outputs)} ` - ) - .join("\n")} + ) + .join("\n")}
`; @@ -93,7 +94,7 @@ export const renderHeader = ( ) => `

${name} ${ contractDoc.title ? `: ${contractDoc.title}` : "" -}

+ } ${contractDoc.notice ? `

${contractDoc.notice}

` : ""} @@ -106,8 +107,8 @@ export const renderParameterDocumentation = ( parameters: ParameterDocumentation[] ) => `${ - parameters.length > 0 - ? ` + parameters.length > 0 + ? `
@@ -127,16 +128,26 @@ export const renderParameterDocumentation = ( .join("")}
Name
` - : "

No parameters

" + : "

No parameters

" }`; export const getMethodDetails = (devMethod?: Partial) => { - return !devMethod + const finalResult = !devMethod ? "

**Add Documentation for the method here**

" : Object.keys(devMethod) - .filter((key) => key !== "params") - .map((key) => { - return (devMethodDocTemplate as any)[key]((devMethod as any)[key]); - }) - .join("\n"); + .filter((key) => key !== "params") + .map((key) => { + const funcToGetTemplate = (devMethodDocTemplate as any)[key]; + + if (!funcToGetTemplate) { + return '' + } + const funcParameter = (devMethod as any)[key] + const result = funcToGetTemplate(funcParameter) + return result + }) + .join("\n"); + + console.log('finalResult', finalResult) + return finalResult }; diff --git a/src/utils/utils.test.ts b/src/utils/utils.test.ts index 144e248680..04d204a150 100644 --- a/src/utils/utils.test.ts +++ b/src/utils/utils.test.ts @@ -36,6 +36,34 @@ describe("Publisher tests", () => { expect(result).toBeDefined(); }); + + test('getContract with ballot', () => { + const contract = { + "abi": + [{ + "inputs": + [{ "internalType": "bytes32[]", "name": "proposalNames", "type": "bytes32[]" }], "stateMutability": "nonpayable", "type": "constructor" + }, { "inputs": [], "name": "chairperson", "outputs": [{ "internalType": "address", "name": "", "type": "address" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "to", "type": "address" }], "name": "delegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "voter", "type": "address" }], "name": "giveRightToVote", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], "name": "proposals", "outputs": [{ "internalType": "bytes32", "name": "name", "type": "bytes32" }, { "internalType": "uint256", "name": "voteCount", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "proposal", "type": "uint256" }], "name": "vote", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "address", "name": "", "type": "address" }], "name": "voters", "outputs": [{ "internalType": "uint256", "name": "weight", "type": "uint256" }, { "internalType": "bool", "name": "voted", "type": "bool" }, { "internalType": "address", "name": "delegate", "type": "address" }, { "internalType": "uint256", "name": "vote", "type": "uint256" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "winnerName", "outputs": [{ "internalType": "bytes32", "name": "winnerName_", "type": "bytes32" }], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "winningProposal", "outputs": [{ "internalType": "uint256", "name": "winningProposal_", "type": "uint256" }], "stateMutability": "view", "type": "function" }], "devdoc": + { + "details": + "Implements voting process along with vote delegation", + "methods": + { + "constructor": + { + "details": "Create a new ballot to choose one of 'proposalNames'.", + "params": { "proposalNames": "names of proposals" } + }, "delegate(address)": { "details": "Delegate your vote to the voter 'to'.", "params": { "to": "address to which vote is delegated" } }, "giveRightToVote(address)": { "details": "Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.", "params": { "voter": "address of voter" } }, "vote(uint256)": { "details": "Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.", "params": { "proposal": "index of proposal in the proposals array" } }, "winnerName()": { "details": "Calls winningProposal() function to get the index of the winner contained in the proposals array and then", "returns": { "winnerName_": "the name of the winner" } }, "winningProposal()": { "details": "Computes the winning proposal taking all previous votes into account.", "returns": { "winningProposal_": "index of winning proposal in the proposals array" } } + }, "title": "Ballot" + }, + "evm": { "bytecode": { "linkReferences": {}, "object": "608060405234801561001057600080fd5b50604051610e27380380610e278339818101604052602081101561003357600080fd5b810190808051604051939291908464010000000082111561005357600080fd5b8382019150602082018581111561006957600080fd5b825186602082028301116401000000008211171561008657600080fd5b8083526020830192505050908051906020019060200280838360005b838110156100bd5780820151818401526020810190506100a2565b50505050905001604052505050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555060008090505b81518110156101f8576002604051806040016040528084848151811061019a57fe5b6020026020010151815260200160008152509080600181540180825580915050600190039060005260206000209060020201600090919091909150600082015181600001556020820151816001015550508080600101915050610178565b5050610c1e806102096000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063609ff1bd1161005b578063609ff1bd146101925780639e7b8d61146101b0578063a3ec138d146101f4578063e2ba53f01461029157610088565b80630121b93f1461008d578063013cf08b146100bb5780632e4176cf146101045780635c19a95c1461014e575b600080fd5b6100b9600480360360208110156100a357600080fd5b81019080803590602001909291905050506102af565b005b6100e7600480360360208110156100d157600080fd5b810190808035906020019092919050505061044c565b604051808381526020018281526020019250505060405180910390f35b61010c61047d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101906004803603602081101561016457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104a2565b005b61019a6108be565b6040518082815260200191505060405180910390f35b6101f2600480360360208110156101c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610935565b005b6102366004803603602081101561020a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b36565b60405180858152602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b610299610b93565b6040518082815260200191505060405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000154141561036d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f486173206e6f20726967687420746f20766f746500000000000000000000000081525060200191505060405180910390fd5b8060010160009054906101000a900460ff16156103f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f416c726561647920766f7465642e00000000000000000000000000000000000081525060200191505060405180910390fd5b60018160010160006101000a81548160ff02191690831515021790555081816002018190555080600001546002838154811061042a57fe5b9060005260206000209060020201600101600082825401925050819055505050565b6002818154811061045957fe5b90600052602060002090600202016000915090508060000154908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff161561056a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f596f7520616c726561647920766f7465642e000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561060c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f53656c662d64656c65676174696f6e20697320646973616c6c6f7765642e000081525060200191505060405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107af57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f466f756e64206c6f6f7020696e2064656c65676174696f6e2e0000000000000081525060200191505060405180910390fd5b61060d565b60018160010160006101000a81548160ff021916908315150217905550818160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff16156108a2578160000154600282600201548154811061087f57fe5b9060005260206000209060020201600101600082825401925050819055506108b9565b816000015481600001600082825401925050819055505b505050565b6000806000905060008090505b6002805490508110156109305781600282815481106108e657fe5b9060005260206000209060020201600101541115610923576002818154811061090b57fe5b90600052602060002090600202016001015491508092505b80806001019150506108cb565b505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610bc16028913960400191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff1615610a9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f54686520766f74657220616c726561647920766f7465642e000000000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414610aec57600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905084565b60006002610b9f6108be565b81548110610ba957fe5b90600052602060002090600202016000015490509056fe4f6e6c79206368616972706572736f6e2063616e206769766520726967687420746f20766f74652ea26469706673582212201d31a2570bf00292ffec872de1729aa45f08cd0033271a9509f9a2b12fc3d1d464736f6c63430006060033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH2 0xE27 CODESIZE SUB DUP1 PUSH2 0xE27 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x33 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 MLOAD PUSH1 0x40 MLOAD SWAP4 SWAP3 SWAP2 SWAP1 DUP5 PUSH5 0x100000000 DUP3 GT ISZERO PUSH2 0x53 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP4 DUP3 ADD SWAP2 POP PUSH1 0x20 DUP3 ADD DUP6 DUP2 GT ISZERO PUSH2 0x69 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 MLOAD DUP7 PUSH1 0x20 DUP3 MUL DUP4 ADD GT PUSH5 0x100000000 DUP3 GT OR ISZERO PUSH2 0x86 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 DUP4 MSTORE PUSH1 0x20 DUP4 ADD SWAP3 POP POP POP SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH1 0x20 MUL DUP1 DUP4 DUP4 PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0xBD JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0xA2 JUMP JUMPDEST POP POP POP POP SWAP1 POP ADD PUSH1 0x40 MSTORE POP POP POP CALLER PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x1 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD DUP2 SWAP1 SSTORE POP PUSH1 0x0 DUP1 SWAP1 POP JUMPDEST DUP2 MLOAD DUP2 LT ISZERO PUSH2 0x1F8 JUMPI PUSH1 0x2 PUSH1 0x40 MLOAD DUP1 PUSH1 0x40 ADD PUSH1 0x40 MSTORE DUP1 DUP5 DUP5 DUP2 MLOAD DUP2 LT PUSH2 0x19A JUMPI INVALID JUMPDEST PUSH1 0x20 MUL PUSH1 0x20 ADD ADD MLOAD DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP2 MSTORE POP SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 POP PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD SSTORE PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD SSTORE POP POP DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x178 JUMP JUMPDEST POP POP PUSH2 0xC1E DUP1 PUSH2 0x209 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 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x609FF1BD GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x609FF1BD EQ PUSH2 0x192 JUMPI DUP1 PUSH4 0x9E7B8D61 EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0xA3EC138D EQ PUSH2 0x1F4 JUMPI DUP1 PUSH4 0xE2BA53F0 EQ PUSH2 0x291 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x121B93F EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x13CF08B EQ PUSH2 0xBB JUMPI DUP1 PUSH4 0x2E4176CF EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0x5C19A95C EQ PUSH2 0x14E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2AF JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE7 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x44C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10C PUSH2 0x47D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x190 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x164 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x4A2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x19A PUSH2 0x8BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F2 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x935 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x236 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x20A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xB36 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP5 POP POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x299 PUSH2 0xB93 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD EQ ISZERO PUSH2 0x36D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x486173206E6F20726967687420746F20766F7465000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x3F2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x416C726561647920766F7465642E000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x42A JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x459 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x56A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x596F7520616C726561647920766F7465642E0000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x60C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x53656C662D64656C65676174696F6E20697320646973616C6C6F7765642E0000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x7AF JUMPI PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x7AA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x466F756E64206C6F6F7020696E2064656C65676174696F6E2E00000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x60D JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x1 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x8A2 JUMPI DUP2 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP3 PUSH1 0x2 ADD SLOAD DUP2 SLOAD DUP2 LT PUSH2 0x87F JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x8B9 JUMP JUMPDEST DUP2 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 DUP1 SWAP1 POP JUMPDEST PUSH1 0x2 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x930 JUMPI DUP2 PUSH1 0x2 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x8E6 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD GT ISZERO PUSH2 0x923 JUMPI PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x90B JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD SWAP2 POP DUP1 SWAP3 POP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x8CB JUMP JUMPDEST POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x9DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0xBC1 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xA9D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x18 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x54686520766F74657220616C726561647920766F7465642E0000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD EQ PUSH2 0xAEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH2 0xB9F PUSH2 0x8BE JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xBA9 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP1 JUMP INVALID 0x4F PUSH15 0x6C79206368616972706572736F6E20 PUSH4 0x616E2067 PUSH10 0x76652072696768742074 PUSH16 0x20766F74652EA2646970667358221220 SAR BALANCE LOG2 JUMPI SIGNEXTEND CREATE MUL SWAP3 SELFDESTRUCT 0xEC DUP8 0x2D 0xE1 PUSH19 0x9AA45F08CD0033271A9509F9A2B12FC3D1D464 PUSH20 0x6F6C634300060600330000000000000000000000 ", "sourceMap": "121:4369:0:-:0;;;922:488;5:9:-1;2:2;;;27:1;24;17:12;2:2;922:488:0;;;;;;;;;;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;922:488:0;;;;;;;;;;;;;19:11:-1;14:3;11:20;8:2;;;44:1;41;34:12;8:2;71:11;66:3;62:21;55:28;;123:4;118:3;114:14;159:9;141:16;138:31;135:2;;;182:1;179;172:12;135:2;219:3;213:10;331:9;325:2;311:12;307:21;289:16;285:44;282:59;261:11;247:12;244:29;233:116;230:2;;;362:1;359;352:12;230:2;385:12;380:3;373:25;421:4;416:3;412:14;405:21;;0:433;;922:488:0;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;922:488:0;;;;;;;;;;;997:10;983:11;;:24;;;;;;;;;;;;;;;;;;1046:1;1017:6;:19;1024:11;;;;;;;;;;;1017:19;;;;;;;;;;;;;;;:26;;:30;;;;1063:6;1072:1;1063:10;;1058:346;1079:13;:20;1075:1;:24;1058:346;;;1283:9;1298:94;;;;;;;;1331:13;1345:1;1331:16;;;;;;;;;;;;;;1298:94;;;;1376:1;1298:94;;;1283:110;;39:1:-1;33:3;27:10;23:18;57:10;52:3;45:23;79:10;72:17;;0:93;1283:110:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1101:3;;;;;;;1058:346;;;;922:488;121:4369;;;;;;" }, "deployedBytecode": { "immutableReferences": {}, "linkReferences": {}, "object": "608060405234801561001057600080fd5b50600436106100885760003560e01c8063609ff1bd1161005b578063609ff1bd146101925780639e7b8d61146101b0578063a3ec138d146101f4578063e2ba53f01461029157610088565b80630121b93f1461008d578063013cf08b146100bb5780632e4176cf146101045780635c19a95c1461014e575b600080fd5b6100b9600480360360208110156100a357600080fd5b81019080803590602001909291905050506102af565b005b6100e7600480360360208110156100d157600080fd5b810190808035906020019092919050505061044c565b604051808381526020018281526020019250505060405180910390f35b61010c61047d565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6101906004803603602081101561016457600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104a2565b005b61019a6108be565b6040518082815260200191505060405180910390f35b6101f2600480360360208110156101c657600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610935565b005b6102366004803603602081101561020a57600080fd5b81019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610b36565b60405180858152602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b610299610b93565b6040518082815260200191505060405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905060008160000154141561036d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260148152602001807f486173206e6f20726967687420746f20766f746500000000000000000000000081525060200191505060405180910390fd5b8060010160009054906101000a900460ff16156103f2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252600e8152602001807f416c726561647920766f7465642e00000000000000000000000000000000000081525060200191505060405180910390fd5b60018160010160006101000a81548160ff02191690831515021790555081816002018190555080600001546002838154811061042a57fe5b9060005260206000209060020201600101600082825401925050819055505050565b6002818154811061045957fe5b90600052602060002090600202016000915090508060000154908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff161561056a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260128152602001807f596f7520616c726561647920766f7465642e000000000000000000000000000081525060200191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561060c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252601e8152602001807f53656c662d64656c65676174696f6e20697320646973616c6c6f7765642e000081525060200191505060405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107af57600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1691503373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260198152602001807f466f756e64206c6f6f7020696e2064656c65676174696f6e2e0000000000000081525060200191505060405180910390fd5b61060d565b60018160010160006101000a81548160ff021916908315150217905550818160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff16156108a2578160000154600282600201548154811061087f57fe5b9060005260206000209060020201600101600082825401925050819055506108b9565b816000015481600001600082825401925050819055505b505050565b6000806000905060008090505b6002805490508110156109305781600282815481106108e657fe5b9060005260206000209060020201600101541115610923576002818154811061090b57fe5b90600052602060002090600202016001015491508092505b80806001019150506108cb565b505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109da576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401808060200182810382526028815260200180610bc16028913960400191505060405180910390fd5b600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff1615610a9d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260188152602001807f54686520766f74657220616c726561647920766f7465642e000000000000000081525060200191505060405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000015414610aec57600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905084565b60006002610b9f6108be565b81548110610ba957fe5b90600052602060002090600202016000015490509056fe4f6e6c79206368616972706572736f6e2063616e206769766520726967687420746f20766f74652ea26469706673582212201d31a2570bf00292ffec872de1729aa45f08cd0033271a9509f9a2b12fc3d1d464736f6c63430006060033", "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x88 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x609FF1BD GT PUSH2 0x5B JUMPI DUP1 PUSH4 0x609FF1BD EQ PUSH2 0x192 JUMPI DUP1 PUSH4 0x9E7B8D61 EQ PUSH2 0x1B0 JUMPI DUP1 PUSH4 0xA3EC138D EQ PUSH2 0x1F4 JUMPI DUP1 PUSH4 0xE2BA53F0 EQ PUSH2 0x291 JUMPI PUSH2 0x88 JUMP JUMPDEST DUP1 PUSH4 0x121B93F EQ PUSH2 0x8D JUMPI DUP1 PUSH4 0x13CF08B EQ PUSH2 0xBB JUMPI DUP1 PUSH4 0x2E4176CF EQ PUSH2 0x104 JUMPI DUP1 PUSH4 0x5C19A95C EQ PUSH2 0x14E JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB9 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xA3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x2AF JUMP JUMPDEST STOP JUMPDEST PUSH2 0xE7 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xD1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x44C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP4 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x10C PUSH2 0x47D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x190 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x164 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x4A2 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x19A PUSH2 0x8BE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1F2 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x1C6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0x935 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x236 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x20A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 ADD SWAP1 DUP1 DUP1 CALLDATALOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 PUSH1 0x20 ADD SWAP1 SWAP3 SWAP2 SWAP1 POP POP POP PUSH2 0xB36 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP6 DUP2 MSTORE PUSH1 0x20 ADD DUP5 ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP5 POP POP POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x299 PUSH2 0xB93 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD EQ ISZERO PUSH2 0x36D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x14 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x486173206E6F20726967687420746F20766F7465000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x3F2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0xE DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x416C726561647920766F7465642E000000000000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x2 ADD DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP4 DUP2 SLOAD DUP2 LT PUSH2 0x42A JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x459 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD SLOAD SWAP1 POP DUP3 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x56A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x12 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x596F7520616C726561647920766F7465642E0000000000000000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x60C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x1E DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x53656C662D64656C65676174696F6E20697320646973616C6C6F7765642E0000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x7AF JUMPI PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP2 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x7AA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x19 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x466F756E64206C6F6F7020696E2064656C65676174696F6E2E00000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x60D JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP DUP2 DUP2 PUSH1 0x1 ADD PUSH1 0x1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SWAP1 POP DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0x8A2 JUMPI DUP2 PUSH1 0x0 ADD SLOAD PUSH1 0x2 DUP3 PUSH1 0x2 ADD SLOAD DUP2 SLOAD DUP2 LT PUSH2 0x87F JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP PUSH2 0x8B9 JUMP JUMPDEST DUP2 PUSH1 0x0 ADD SLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 POP PUSH1 0x0 DUP1 SWAP1 POP JUMPDEST PUSH1 0x2 DUP1 SLOAD SWAP1 POP DUP2 LT ISZERO PUSH2 0x930 JUMPI DUP2 PUSH1 0x2 DUP3 DUP2 SLOAD DUP2 LT PUSH2 0x8E6 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD GT ISZERO PUSH2 0x923 JUMPI PUSH1 0x2 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x90B JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x1 ADD SLOAD SWAP2 POP DUP1 SWAP3 POP JUMPDEST DUP1 DUP1 PUSH1 0x1 ADD SWAP2 POP POP PUSH2 0x8CB JUMP JUMPDEST POP POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x9DA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x28 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH2 0xBC1 PUSH1 0x28 SWAP2 CODECOPY PUSH1 0x40 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 PUSH1 0x0 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO PUSH2 0xA9D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD DUP1 DUP1 PUSH1 0x20 ADD DUP3 DUP2 SUB DUP3 MSTORE PUSH1 0x18 DUP2 MSTORE PUSH1 0x20 ADD DUP1 PUSH32 0x54686520766F74657220616C726561647920766F7465642E0000000000000000 DUP2 MSTORE POP PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD SLOAD EQ PUSH2 0xAEC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x1 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD SLOAD SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x1 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD SLOAD SWAP1 POP DUP5 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH2 0xB9F PUSH2 0x8BE JUMP JUMPDEST DUP2 SLOAD DUP2 LT PUSH2 0xBA9 JUMPI INVALID JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x2 MUL ADD PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP1 JUMP INVALID 0x4F PUSH15 0x6C79206368616972706572736F6E20 PUSH4 0x616E2067 PUSH10 0x76652072696768742074 PUSH16 0x20766F74652EA2646970667358221220 SAR BALANCE LOG2 JUMPI SIGNEXTEND CREATE MUL SWAP3 SELFDESTRUCT 0xEC DUP8 0x2D 0xE1 PUSH19 0x9AA45F08CD0033271A9509F9A2B12FC3D1D464 PUSH20 0x6F6C634300060600330000000000000000000000 ", "sourceMap": "121:4369:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;121:4369:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;3144:458:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;3144:458:0;;;;;;;;;;;;;;;;;:::i;:::-;;758:27;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;758:27:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;679:26;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;2049:907;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;2049:907:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;3788:365;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1570:355;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1570:355:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;712:39;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;712:39:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4344:144;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3144:458;3190:20;3213:6;:18;3220:10;3213:18;;;;;;;;;;;;;;;3190:41;;3266:1;3249:6;:13;;;:18;;3241:51;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3311:6;:12;;;;;;;;;;;;3310:13;3302:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3367:4;3352:6;:12;;;:19;;;;;;;;;;;;;;;;;;3395:8;3381:6;:11;;:22;;;;3582:6;:13;;;3549:9;3559:8;3549:19;;;;;;;;;;;;;;;;;;:29;;;:46;;;;;;;;;;;3144:458;;:::o;758:27::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;679:26::-;;;;;;;;;;;;;:::o;2049:907::-;2096:20;2119:6;:18;2126:10;2119:18;;;;;;;;;;;;;;;2096:41;;2156:6;:12;;;;;;;;;;;;2155:13;2147:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2215:10;2209:16;;:2;:16;;;;2201:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2271:223;2309:1;2278:33;;:6;:10;2285:2;2278:10;;;;;;;;;;;;;;;:19;;;;;;;;;;;;:33;;;2271:223;;2332:6;:10;2339:2;2332:10;;;;;;;;;;;;;;;:19;;;;;;;;;;;;2327:24;;2443:10;2437:16;;:2;:16;;;;2429:54;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2271:223;;;2518:4;2503:6;:12;;;:19;;;;;;;;;;;;;;;;;;2550:2;2532:6;:15;;;:20;;;;;;;;;;;;;;;;;;2562:23;2588:6;:10;2595:2;2588:10;;;;;;;;;;;;;;;2562:36;;2612:9;:15;;;;;;;;;;;;2608:342;;;2779:6;:13;;;2740:9;2750;:14;;;2740:25;;;;;;;;;;;;;;;;;;:35;;;:52;;;;;;;;;;;2608:342;;;2926:6;:13;;;2906:9;:16;;;:33;;;;;;;;;;;2608:342;2049:907;;;:::o;3788:365::-;3848:21;3885;3909:1;3885:25;;3925:6;3934:1;3925:10;;3920:227;3941:9;:16;;;;3937:1;:20;3920:227;;;4007:16;3982:9;3992:1;3982:12;;;;;;;;;;;;;;;;;;:22;;;:41;3978:159;;;4062:9;4072:1;4062:12;;;;;;;;;;;;;;;;;;:22;;;4043:41;;4121:1;4102:20;;3978:159;3959:3;;;;;;;3920:227;;;;3788:365;;:::o;1570:355::-;1662:11;;;;;;;;;;;1648:25;;:10;:25;;;1627:112;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1771:6;:13;1778:5;1771:13;;;;;;;;;;;;;;;:19;;;;;;;;;;;;1770:20;1749:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1882:1;1858:6;:13;1865:5;1858:13;;;;;;;;;;;;;;;:20;;;:25;1850:34;;12:1:-1;9;2:12;1850:34:0;1917:1;1894:6;:13;1901:5;1894:13;;;;;;;;;;;;;;;:20;;:24;;;;1570:355;:::o;712:39::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;4344:144::-;4399:19;4448:9;4458:17;:15;:17::i;:::-;4448:28;;;;;;;;;;;;;;;;;;:33;;;4434:47;;4344:144;:::o" }, "gasEstimates": { "creation": { "codeDepositCost": "620400", "executionCost": "infinite", "totalCost": "infinite" }, "external": { "chairperson()": "1098", "delegate(address)": "infinite", "giveRightToVote(address)": "infinite", "proposals(uint256)": "2860", "vote(uint256)": "65454", "voters(address)": "3869", "winnerName()": "infinite", "winningProposal()": "infinite" } }, "legacyAssembly": { ".code": [{ "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 121, "end": 4490, "name": "MSTORE", "source": 0 }, { "begin": 922, "end": 1410, "name": "CALLVALUE", "source": 0 }, { "begin": 5, "end": 14, "name": "DUP1", "source": -1 }, { "begin": 2, "end": 4, "name": "ISZERO", "source": -1 }, { "begin": 2, "end": 4, "name": "PUSH [tag]", "source": -1, "value": "1" }, { "begin": 2, "end": 4, "name": "JUMPI", "source": -1 }, { "begin": 27, "end": 28, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 24, "end": 25, "name": "DUP1", "source": -1 }, { "begin": 17, "end": 29, "name": "REVERT", "source": -1 }, { "begin": 2, "end": 4, "name": "tag", "source": -1, "value": "1" }, { "begin": 2, "end": 4, "name": "JUMPDEST", "source": -1 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 922, "end": 1410, "name": "MLOAD", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSHSIZE", "source": 0 }, { "begin": 922, "end": 1410, "name": "CODESIZE", "source": 0 }, { "begin": 922, "end": 1410, "name": "SUB", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSHSIZE", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP4", "source": 0 }, { "begin": 922, "end": 1410, "name": "CODECOPY", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP2", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP2", "source": 0 }, { "begin": 922, "end": 1410, "name": "ADD", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 922, "end": 1410, "name": "MSTORE", "source": 0 }, { "begin": 15, "end": 17, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 10, "end": 13, "name": "DUP2", "source": -1 }, { "begin": 7, "end": 18, "name": "LT", "source": -1 }, { "begin": 4, "end": 6, "name": "ISZERO", "source": -1 }, { "begin": 4, "end": 6, "name": "PUSH [tag]", "source": -1, "value": "2" }, { "begin": 4, "end": 6, "name": "JUMPI", "source": -1 }, { "begin": 31, "end": 32, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 28, "end": 29, "name": "DUP1", "source": -1 }, { "begin": 21, "end": 33, "name": "REVERT", "source": -1 }, { "begin": 4, "end": 6, "name": "tag", "source": -1, "value": "2" }, { "begin": 4, "end": 6, "name": "JUMPDEST", "source": -1 }, { "begin": 922, "end": 1410, "name": "DUP2", "source": 0 }, { "begin": 922, "end": 1410, "name": "ADD", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "MLOAD", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 922, "end": 1410, "name": "MLOAD", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP4", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP3", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP2", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP5", "source": 0 }, { "begin": 19, "end": 30, "name": "PUSH", "source": -1, "value": "100000000" }, { "begin": 14, "end": 17, "name": "DUP3", "source": -1 }, { "begin": 11, "end": 31, "name": "GT", "source": -1 }, { "begin": 8, "end": 10, "name": "ISZERO", "source": -1 }, { "begin": 8, "end": 10, "name": "PUSH [tag]", "source": -1, "value": "3" }, { "begin": 8, "end": 10, "name": "JUMPI", "source": -1 }, { "begin": 44, "end": 45, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 41, "end": 42, "name": "DUP1", "source": -1 }, { "begin": 34, "end": 46, "name": "REVERT", "source": -1 }, { "begin": 8, "end": 10, "name": "tag", "source": -1, "value": "3" }, { "begin": 8, "end": 10, "name": "JUMPDEST", "source": -1 }, { "begin": 71, "end": 82, "name": "DUP4", "source": -1 }, { "begin": 66, "end": 69, "name": "DUP3", "source": -1 }, { "begin": 62, "end": 83, "name": "ADD", "source": -1 }, { "begin": 55, "end": 83, "name": "SWAP2", "source": -1 }, { "begin": 55, "end": 83, "name": "POP", "source": -1 }, { "begin": 123, "end": 127, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 118, "end": 121, "name": "DUP3", "source": -1 }, { "begin": 114, "end": 128, "name": "ADD", "source": -1 }, { "begin": 159, "end": 168, "name": "DUP6", "source": -1 }, { "begin": 141, "end": 157, "name": "DUP2", "source": -1 }, { "begin": 138, "end": 169, "name": "GT", "source": -1 }, { "begin": 135, "end": 137, "name": "ISZERO", "source": -1 }, { "begin": 135, "end": 137, "name": "PUSH [tag]", "source": -1, "value": "4" }, { "begin": 135, "end": 137, "name": "JUMPI", "source": -1 }, { "begin": 182, "end": 183, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 179, "end": 180, "name": "DUP1", "source": -1 }, { "begin": 172, "end": 184, "name": "REVERT", "source": -1 }, { "begin": 135, "end": 137, "name": "tag", "source": -1, "value": "4" }, { "begin": 135, "end": 137, "name": "JUMPDEST", "source": -1 }, { "begin": 219, "end": 222, "name": "DUP3", "source": -1 }, { "begin": 213, "end": 223, "name": "MLOAD", "source": -1 }, { "begin": 331, "end": 340, "name": "DUP7", "source": -1 }, { "begin": 325, "end": 327, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 311, "end": 323, "name": "DUP3", "source": -1 }, { "begin": 307, "end": 328, "name": "MUL", "source": -1 }, { "begin": 289, "end": 305, "name": "DUP4", "source": -1 }, { "begin": 285, "end": 329, "name": "ADD", "source": -1 }, { "begin": 282, "end": 341, "name": "GT", "source": -1 }, { "begin": 261, "end": 272, "name": "PUSH", "source": -1, "value": "100000000" }, { "begin": 247, "end": 259, "name": "DUP3", "source": -1 }, { "begin": 244, "end": 273, "name": "GT", "source": -1 }, { "begin": 233, "end": 349, "name": "OR", "source": -1 }, { "begin": 230, "end": 232, "name": "ISZERO", "source": -1 }, { "begin": 230, "end": 232, "name": "PUSH [tag]", "source": -1, "value": "5" }, { "begin": 230, "end": 232, "name": "JUMPI", "source": -1 }, { "begin": 362, "end": 363, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 359, "end": 360, "name": "DUP1", "source": -1 }, { "begin": 352, "end": 364, "name": "REVERT", "source": -1 }, { "begin": 230, "end": 232, "name": "tag", "source": -1, "value": "5" }, { "begin": 230, "end": 232, "name": "JUMPDEST", "source": -1 }, { "begin": 385, "end": 397, "name": "DUP1", "source": -1 }, { "begin": 380, "end": 383, "name": "DUP4", "source": -1 }, { "begin": 373, "end": 398, "name": "MSTORE", "source": -1 }, { "begin": 421, "end": 425, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 416, "end": 419, "name": "DUP4", "source": -1 }, { "begin": 412, "end": 426, "name": "ADD", "source": -1 }, { "begin": 405, "end": 426, "name": "SWAP3", "source": -1 }, { "begin": 405, "end": 426, "name": "POP", "source": -1 }, { "begin": 0, "end": 433, "name": "POP", "source": -1 }, { "begin": 0, "end": 433, "name": "POP", "source": -1 }, { "begin": 922, "end": 1410, "name": "SWAP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "MLOAD", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 922, "end": 1410, "name": "ADD", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 922, "end": 1410, "name": "MUL", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP4", "source": 0 }, { "begin": 922, "end": 1410, "name": "DUP4", "source": 0 }, { "begin": 23, "end": 24, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 8, "end": 108, "name": "tag", "source": -1, "value": "6" }, { "begin": 8, "end": 108, "name": "JUMPDEST", "source": -1 }, { "begin": 33, "end": 36, "name": "DUP4", "source": -1 }, { "begin": 30, "end": 31, "name": "DUP2", "source": -1 }, { "begin": 27, "end": 37, "name": "LT", "source": -1 }, { "begin": 8, "end": 108, "name": "ISZERO", "source": -1 }, { "begin": 8, "end": 108, "name": "PUSH [tag]", "source": -1, "value": "8" }, { "begin": 8, "end": 108, "name": "JUMPI", "source": -1 }, { "begin": 99, "end": 100, "name": "DUP1", "source": -1 }, { "begin": 94, "end": 97, "name": "DUP3", "source": -1 }, { "begin": 90, "end": 101, "name": "ADD", "source": -1 }, { "begin": 84, "end": 102, "name": "MLOAD", "source": -1 }, { "begin": 80, "end": 81, "name": "DUP2", "source": -1 }, { "begin": 75, "end": 78, "name": "DUP5", "source": -1 }, { "begin": 71, "end": 82, "name": "ADD", "source": -1 }, { "begin": 64, "end": 103, "name": "MSTORE", "source": -1 }, { "begin": 52, "end": 54, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 49, "end": 50, "name": "DUP2", "source": -1 }, { "begin": 45, "end": 55, "name": "ADD", "source": -1 }, { "begin": 40, "end": 55, "name": "SWAP1", "source": -1 }, { "begin": 40, "end": 55, "name": "POP", "source": -1 }, { "begin": 8, "end": 108, "name": "PUSH [tag]", "source": -1, "value": "6" }, { "begin": 8, "end": 108, "name": "JUMP", "source": -1 }, { "begin": 8, "end": 108, "name": "tag", "source": -1, "value": "8" }, { "begin": 8, "end": 108, "name": "JUMPDEST", "source": -1 }, { "begin": 12, "end": 26, "name": "POP", "source": -1 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "SWAP1", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "ADD", "source": 0 }, { "begin": 922, "end": 1410, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 922, "end": 1410, "name": "MSTORE", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 997, "end": 1007, "name": "CALLER", "source": 0 }, { "begin": 983, "end": 994, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 983, "end": 994, "name": "DUP1", "source": 0 }, { "begin": 983, "end": 1007, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 983, "end": 1007, "name": "EXP", "source": 0 }, { "begin": 983, "end": 1007, "name": "DUP2", "source": 0 }, { "begin": 983, "end": 1007, "name": "SLOAD", "source": 0 }, { "begin": 983, "end": 1007, "name": "DUP2", "source": 0 }, { "begin": 983, "end": 1007, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 983, "end": 1007, "name": "MUL", "source": 0 }, { "begin": 983, "end": 1007, "name": "NOT", "source": 0 }, { "begin": 983, "end": 1007, "name": "AND", "source": 0 }, { "begin": 983, "end": 1007, "name": "SWAP1", "source": 0 }, { "begin": 983, "end": 1007, "name": "DUP4", "source": 0 }, { "begin": 983, "end": 1007, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 983, "end": 1007, "name": "AND", "source": 0 }, { "begin": 983, "end": 1007, "name": "MUL", "source": 0 }, { "begin": 983, "end": 1007, "name": "OR", "source": 0 }, { "begin": 983, "end": 1007, "name": "SWAP1", "source": 0 }, { "begin": 983, "end": 1007, "name": "SSTORE", "source": 0 }, { "begin": 983, "end": 1007, "name": "POP", "source": 0 }, { "begin": 1046, "end": 1047, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1017, "end": 1023, "name": "DUP1", "source": 0 }, { "begin": 1017, "end": 1036, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1024, "end": 1035, "name": "DUP1", "source": 0 }, { "begin": 1024, "end": 1035, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1024, "end": 1035, "name": "SWAP1", "source": 0 }, { "begin": 1024, "end": 1035, "name": "SLOAD", "source": 0 }, { "begin": 1024, "end": 1035, "name": "SWAP1", "source": 0 }, { "begin": 1024, "end": 1035, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 1024, "end": 1035, "name": "EXP", "source": 0 }, { "begin": 1024, "end": 1035, "name": "SWAP1", "source": 0 }, { "begin": 1024, "end": 1035, "name": "DIV", "source": 0 }, { "begin": 1024, "end": 1035, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1024, "end": 1035, "name": "AND", "source": 0 }, { "begin": 1017, "end": 1036, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1017, "end": 1036, "name": "AND", "source": 0 }, { "begin": 1017, "end": 1036, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1017, "end": 1036, "name": "AND", "source": 0 }, { "begin": 1017, "end": 1036, "name": "DUP2", "source": 0 }, { "begin": 1017, "end": 1036, "name": "MSTORE", "source": 0 }, { "begin": 1017, "end": 1036, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1017, "end": 1036, "name": "ADD", "source": 0 }, { "begin": 1017, "end": 1036, "name": "SWAP1", "source": 0 }, { "begin": 1017, "end": 1036, "name": "DUP2", "source": 0 }, { "begin": 1017, "end": 1036, "name": "MSTORE", "source": 0 }, { "begin": 1017, "end": 1036, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1017, "end": 1036, "name": "ADD", "source": 0 }, { "begin": 1017, "end": 1036, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1017, "end": 1036, "name": "KECCAK256", "source": 0 }, { "begin": 1017, "end": 1043, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1017, "end": 1043, "name": "ADD", "source": 0 }, { "begin": 1017, "end": 1047, "name": "DUP2", "source": 0 }, { "begin": 1017, "end": 1047, "name": "SWAP1", "source": 0 }, { "begin": 1017, "end": 1047, "name": "SSTORE", "source": 0 }, { "begin": 1017, "end": 1047, "name": "POP", "source": 0 }, { "begin": 1063, "end": 1069, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1072, "end": 1073, "name": "DUP1", "source": 0 }, { "begin": 1063, "end": 1073, "name": "SWAP1", "source": 0 }, { "begin": 1063, "end": 1073, "name": "POP", "source": 0 }, { "begin": 1058, "end": 1404, "name": "tag", "source": 0, "value": "11" }, { "begin": 1058, "end": 1404, "name": "JUMPDEST", "source": 0 }, { "begin": 1079, "end": 1092, "name": "DUP2", "source": 0 }, { "begin": 1079, "end": 1099, "name": "MLOAD", "source": 0 }, { "begin": 1075, "end": 1076, "name": "DUP2", "source": 0 }, { "begin": 1075, "end": 1099, "name": "LT", "source": 0 }, { "begin": 1058, "end": 1404, "name": "ISZERO", "source": 0 }, { "begin": 1058, "end": 1404, "name": "PUSH [tag]", "source": 0, "value": "12" }, { "begin": 1058, "end": 1404, "name": "JUMPI", "source": 0 }, { "begin": 1283, "end": 1292, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 1298, "end": 1392, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1298, "end": 1392, "name": "MLOAD", "source": 0 }, { "begin": 1298, "end": 1392, "name": "DUP1", "source": 0 }, { "begin": 1298, "end": 1392, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1298, "end": 1392, "name": "ADD", "source": 0 }, { "begin": 1298, "end": 1392, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1298, "end": 1392, "name": "MSTORE", "source": 0 }, { "begin": 1298, "end": 1392, "name": "DUP1", "source": 0 }, { "begin": 1331, "end": 1344, "name": "DUP5", "source": 0 }, { "begin": 1345, "end": 1346, "name": "DUP5", "source": 0 }, { "begin": 1331, "end": 1347, "name": "DUP2", "source": 0 }, { "begin": 1331, "end": 1347, "name": "MLOAD", "source": 0 }, { "begin": 1331, "end": 1347, "name": "DUP2", "source": 0 }, { "begin": 1331, "end": 1347, "name": "LT", "source": 0 }, { "begin": 1331, "end": 1347, "name": "PUSH [tag]", "source": 0, "value": "14" }, { "begin": 1331, "end": 1347, "name": "JUMPI", "source": 0 }, { "begin": 1331, "end": 1347, "name": "INVALID", "source": 0 }, { "begin": 1331, "end": 1347, "name": "tag", "source": 0, "value": "14" }, { "begin": 1331, "end": 1347, "name": "JUMPDEST", "source": 0 }, { "begin": 1331, "end": 1347, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1331, "end": 1347, "name": "MUL", "source": 0 }, { "begin": 1331, "end": 1347, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1331, "end": 1347, "name": "ADD", "source": 0 }, { "begin": 1331, "end": 1347, "name": "ADD", "source": 0 }, { "begin": 1331, "end": 1347, "name": "MLOAD", "source": 0 }, { "begin": 1298, "end": 1392, "name": "DUP2", "source": 0 }, { "begin": 1298, "end": 1392, "name": "MSTORE", "source": 0 }, { "begin": 1298, "end": 1392, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1298, "end": 1392, "name": "ADD", "source": 0 }, { "begin": 1376, "end": 1377, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1298, "end": 1392, "name": "DUP2", "source": 0 }, { "begin": 1298, "end": 1392, "name": "MSTORE", "source": 0 }, { "begin": 1298, "end": 1392, "name": "POP", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "DUP1", "source": 0 }, { "begin": 39, "end": 40, "name": "PUSH", "source": -1, "value": "1" }, { "begin": 33, "end": 36, "name": "DUP2", "source": -1 }, { "begin": 27, "end": 37, "name": "SLOAD", "source": -1 }, { "begin": 23, "end": 41, "name": "ADD", "source": -1 }, { "begin": 57, "end": 67, "name": "DUP1", "source": -1 }, { "begin": 52, "end": 55, "name": "DUP3", "source": -1 }, { "begin": 45, "end": 68, "name": "SSTORE", "source": -1 }, { "begin": 79, "end": 89, "name": "DUP1", "source": -1 }, { "begin": 72, "end": 89, "name": "SWAP2", "source": -1 }, { "begin": 72, "end": 89, "name": "POP", "source": -1 }, { "begin": 0, "end": 93, "name": "POP", "source": -1 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SUB", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1283, "end": 1393, "name": "MSTORE", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1283, "end": 1393, "name": "KECCAK256", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 1283, "end": 1393, "name": "MUL", "source": 0 }, { "begin": 1283, "end": 1393, "name": "ADD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP2", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP2", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP1", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SWAP2", "source": 0 }, { "begin": 1283, "end": 1393, "name": "POP", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1283, "end": 1393, "name": "DUP3", "source": 0 }, { "begin": 1283, "end": 1393, "name": "ADD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "MLOAD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "DUP2", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1283, "end": 1393, "name": "ADD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SSTORE", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1283, "end": 1393, "name": "DUP3", "source": 0 }, { "begin": 1283, "end": 1393, "name": "ADD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "MLOAD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "DUP2", "source": 0 }, { "begin": 1283, "end": 1393, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1283, "end": 1393, "name": "ADD", "source": 0 }, { "begin": 1283, "end": 1393, "name": "SSTORE", "source": 0 }, { "begin": 1283, "end": 1393, "name": "POP", "source": 0 }, { "begin": 1283, "end": 1393, "name": "POP", "source": 0 }, { "begin": 1101, "end": 1104, "name": "DUP1", "source": 0 }, { "begin": 1101, "end": 1104, "name": "DUP1", "source": 0 }, { "begin": 1101, "end": 1104, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1101, "end": 1104, "name": "ADD", "source": 0 }, { "begin": 1101, "end": 1104, "name": "SWAP2", "source": 0 }, { "begin": 1101, "end": 1104, "name": "POP", "source": 0 }, { "begin": 1101, "end": 1104, "name": "POP", "source": 0 }, { "begin": 1058, "end": 1404, "name": "PUSH [tag]", "source": 0, "value": "11" }, { "begin": 1058, "end": 1404, "name": "JUMP", "source": 0 }, { "begin": 1058, "end": 1404, "name": "tag", "source": 0, "value": "12" }, { "begin": 1058, "end": 1404, "name": "JUMPDEST", "source": 0 }, { "begin": 1058, "end": 1404, "name": "POP", "source": 0 }, { "begin": 922, "end": 1410, "name": "POP", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH #[$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [$]", "source": 0, "value": "0000000000000000000000000000000000000000000000000000000000000000" }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 121, "end": 4490, "name": "CODECOPY", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 121, "end": 4490, "name": "RETURN", "source": 0 }], ".data": { "0": { ".auxdata": "a26469706673582212201d31a2570bf00292ffec872de1729aa45f08cd0033271a9509f9a2b12fc3d1d464736f6c63430006060033", ".code": [{ "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "80" }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 121, "end": 4490, "name": "MSTORE", "source": 0 }, { "begin": 121, "end": 4490, "name": "CALLVALUE", "source": 0 }, { "begin": 5, "end": 14, "name": "DUP1", "source": -1 }, { "begin": 2, "end": 4, "name": "ISZERO", "source": -1 }, { "begin": 2, "end": 4, "name": "PUSH [tag]", "source": -1, "value": "1" }, { "begin": 2, "end": 4, "name": "JUMPI", "source": -1 }, { "begin": 27, "end": 28, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 24, "end": 25, "name": "DUP1", "source": -1 }, { "begin": 17, "end": 29, "name": "REVERT", "source": -1 }, { "begin": 2, "end": 4, "name": "tag", "source": -1, "value": "1" }, { "begin": 2, "end": 4, "name": "JUMPDEST", "source": -1 }, { "begin": 121, "end": 4490, "name": "POP", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 121, "end": 4490, "name": "CALLDATASIZE", "source": 0 }, { "begin": 121, "end": 4490, "name": "LT", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "2" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 121, "end": 4490, "name": "CALLDATALOAD", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "E0" }, { "begin": 121, "end": 4490, "name": "SHR", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "609FF1BD" }, { "begin": 121, "end": 4490, "name": "GT", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "11" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "609FF1BD" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "7" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "9E7B8D61" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "8" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "A3EC138D" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "9" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "E2BA53F0" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "10" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "2" }, { "begin": 121, "end": 4490, "name": "JUMP", "source": 0 }, { "begin": 121, "end": 4490, "name": "tag", "source": 0, "value": "11" }, { "begin": 121, "end": 4490, "name": "JUMPDEST", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "121B93F" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "3" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "13CF08B" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "4" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "2E4176CF" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "5" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "DUP1", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH", "source": 0, "value": "5C19A95C" }, { "begin": 121, "end": 4490, "name": "EQ", "source": 0 }, { "begin": 121, "end": 4490, "name": "PUSH [tag]", "source": 0, "value": "6" }, { "begin": 121, "end": 4490, "name": "JUMPI", "source": 0 }, { "begin": 121, "end": 4490, "name": "tag", "source": 0, "value": "2" }, { "begin": 121, "end": 4490, "name": "JUMPDEST", "source": 0 }, { "begin": 12, "end": 13, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 9, "end": 10, "name": "DUP1", "source": -1 }, { "begin": 2, "end": 14, "name": "REVERT", "source": -1 }, { "begin": 3144, "end": 3602, "name": "tag", "source": 0, "value": "3" }, { "begin": 3144, "end": 3602, "name": "JUMPDEST", "source": 0 }, { "begin": 3144, "end": 3602, "name": "PUSH [tag]", "source": 0, "value": "12" }, { "begin": 3144, "end": 3602, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 3144, "end": 3602, "name": "DUP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "CALLDATASIZE", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SUB", "source": 0 }, { "begin": 15, "end": 17, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 10, "end": 13, "name": "DUP2", "source": -1 }, { "begin": 7, "end": 18, "name": "LT", "source": -1 }, { "begin": 4, "end": 6, "name": "ISZERO", "source": -1 }, { "begin": 4, "end": 6, "name": "PUSH [tag]", "source": -1, "value": "13" }, { "begin": 4, "end": 6, "name": "JUMPI", "source": -1 }, { "begin": 31, "end": 32, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 28, "end": 29, "name": "DUP1", "source": -1 }, { "begin": 21, "end": 33, "name": "REVERT", "source": -1 }, { "begin": 4, "end": 6, "name": "tag", "source": -1, "value": "13" }, { "begin": 4, "end": 6, "name": "JUMPDEST", "source": -1 }, { "begin": 3144, "end": 3602, "name": "DUP2", "source": 0 }, { "begin": 3144, "end": 3602, "name": "ADD", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SWAP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "DUP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "DUP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "CALLDATALOAD", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SWAP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3144, "end": 3602, "name": "ADD", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SWAP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SWAP3", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SWAP2", "source": 0 }, { "begin": 3144, "end": 3602, "name": "SWAP1", "source": 0 }, { "begin": 3144, "end": 3602, "name": "POP", "source": 0 }, { "begin": 3144, "end": 3602, "name": "POP", "source": 0 }, { "begin": 3144, "end": 3602, "name": "POP", "source": 0 }, { "begin": 3144, "end": 3602, "name": "PUSH [tag]", "source": 0, "value": "14" }, { "begin": 3144, "end": 3602, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 3144, "end": 3602, "name": "tag", "source": 0, "value": "12" }, { "begin": 3144, "end": 3602, "name": "JUMPDEST", "source": 0 }, { "begin": 3144, "end": 3602, "name": "STOP", "source": 0 }, { "begin": 758, "end": 785, "name": "tag", "source": 0, "value": "4" }, { "begin": 758, "end": 785, "name": "JUMPDEST", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH [tag]", "source": 0, "value": "15" }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "CALLDATASIZE", "source": 0 }, { "begin": 758, "end": 785, "name": "SUB", "source": 0 }, { "begin": 15, "end": 17, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 10, "end": 13, "name": "DUP2", "source": -1 }, { "begin": 7, "end": 18, "name": "LT", "source": -1 }, { "begin": 4, "end": 6, "name": "ISZERO", "source": -1 }, { "begin": 4, "end": 6, "name": "PUSH [tag]", "source": -1, "value": "16" }, { "begin": 4, "end": 6, "name": "JUMPI", "source": -1 }, { "begin": 31, "end": 32, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 28, "end": 29, "name": "DUP1", "source": -1 }, { "begin": 21, "end": 33, "name": "REVERT", "source": -1 }, { "begin": 4, "end": 6, "name": "tag", "source": -1, "value": "16" }, { "begin": 4, "end": 6, "name": "JUMPDEST", "source": -1 }, { "begin": 758, "end": 785, "name": "DUP2", "source": 0 }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "CALLDATALOAD", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP3", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP2", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH [tag]", "source": 0, "value": "17" }, { "begin": 758, "end": 785, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 758, "end": 785, "name": "tag", "source": 0, "value": "15" }, { "begin": 758, "end": 785, "name": "JUMPDEST", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 758, "end": 785, "name": "MLOAD", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP4", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP2", "source": 0 }, { "begin": 758, "end": 785, "name": "MSTORE", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP3", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP2", "source": 0 }, { "begin": 758, "end": 785, "name": "MSTORE", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP3", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 758, "end": 785, "name": "MLOAD", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP2", "source": 0 }, { "begin": 758, "end": 785, "name": "SUB", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "RETURN", "source": 0 }, { "begin": 679, "end": 705, "name": "tag", "source": 0, "value": "5" }, { "begin": 679, "end": 705, "name": "JUMPDEST", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH [tag]", "source": 0, "value": "18" }, { "begin": 679, "end": 705, "name": "PUSH [tag]", "source": 0, "value": "19" }, { "begin": 679, "end": 705, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 679, "end": 705, "name": "tag", "source": 0, "value": "18" }, { "begin": 679, "end": 705, "name": "JUMPDEST", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 679, "end": 705, "name": "MLOAD", "source": 0 }, { "begin": 679, "end": 705, "name": "DUP1", "source": 0 }, { "begin": 679, "end": 705, "name": "DUP3", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 679, "end": 705, "name": "AND", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 679, "end": 705, "name": "AND", "source": 0 }, { "begin": 679, "end": 705, "name": "DUP2", "source": 0 }, { "begin": 679, "end": 705, "name": "MSTORE", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 679, "end": 705, "name": "ADD", "source": 0 }, { "begin": 679, "end": 705, "name": "SWAP2", "source": 0 }, { "begin": 679, "end": 705, "name": "POP", "source": 0 }, { "begin": 679, "end": 705, "name": "POP", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 679, "end": 705, "name": "MLOAD", "source": 0 }, { "begin": 679, "end": 705, "name": "DUP1", "source": 0 }, { "begin": 679, "end": 705, "name": "SWAP2", "source": 0 }, { "begin": 679, "end": 705, "name": "SUB", "source": 0 }, { "begin": 679, "end": 705, "name": "SWAP1", "source": 0 }, { "begin": 679, "end": 705, "name": "RETURN", "source": 0 }, { "begin": 2049, "end": 2956, "name": "tag", "source": 0, "value": "6" }, { "begin": 2049, "end": 2956, "name": "JUMPDEST", "source": 0 }, { "begin": 2049, "end": 2956, "name": "PUSH [tag]", "source": 0, "value": "20" }, { "begin": 2049, "end": 2956, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 2049, "end": 2956, "name": "DUP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "CALLDATASIZE", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SUB", "source": 0 }, { "begin": 15, "end": 17, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 10, "end": 13, "name": "DUP2", "source": -1 }, { "begin": 7, "end": 18, "name": "LT", "source": -1 }, { "begin": 4, "end": 6, "name": "ISZERO", "source": -1 }, { "begin": 4, "end": 6, "name": "PUSH [tag]", "source": -1, "value": "21" }, { "begin": 4, "end": 6, "name": "JUMPI", "source": -1 }, { "begin": 31, "end": 32, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 28, "end": 29, "name": "DUP1", "source": -1 }, { "begin": 21, "end": 33, "name": "REVERT", "source": -1 }, { "begin": 4, "end": 6, "name": "tag", "source": -1, "value": "21" }, { "begin": 4, "end": 6, "name": "JUMPDEST", "source": -1 }, { "begin": 2049, "end": 2956, "name": "DUP2", "source": 0 }, { "begin": 2049, "end": 2956, "name": "ADD", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SWAP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "DUP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "DUP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "CALLDATALOAD", "source": 0 }, { "begin": 2049, "end": 2956, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2049, "end": 2956, "name": "AND", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SWAP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2049, "end": 2956, "name": "ADD", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SWAP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SWAP3", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SWAP2", "source": 0 }, { "begin": 2049, "end": 2956, "name": "SWAP1", "source": 0 }, { "begin": 2049, "end": 2956, "name": "POP", "source": 0 }, { "begin": 2049, "end": 2956, "name": "POP", "source": 0 }, { "begin": 2049, "end": 2956, "name": "POP", "source": 0 }, { "begin": 2049, "end": 2956, "name": "PUSH [tag]", "source": 0, "value": "22" }, { "begin": 2049, "end": 2956, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 2049, "end": 2956, "name": "tag", "source": 0, "value": "20" }, { "begin": 2049, "end": 2956, "name": "JUMPDEST", "source": 0 }, { "begin": 2049, "end": 2956, "name": "STOP", "source": 0 }, { "begin": 3788, "end": 4153, "name": "tag", "source": 0, "value": "7" }, { "begin": 3788, "end": 4153, "name": "JUMPDEST", "source": 0 }, { "begin": 3788, "end": 4153, "name": "PUSH [tag]", "source": 0, "value": "23" }, { "begin": 3788, "end": 4153, "name": "PUSH [tag]", "source": 0, "value": "24" }, { "begin": 3788, "end": 4153, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 3788, "end": 4153, "name": "tag", "source": 0, "value": "23" }, { "begin": 3788, "end": 4153, "name": "JUMPDEST", "source": 0 }, { "begin": 3788, "end": 4153, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 3788, "end": 4153, "name": "MLOAD", "source": 0 }, { "begin": 3788, "end": 4153, "name": "DUP1", "source": 0 }, { "begin": 3788, "end": 4153, "name": "DUP3", "source": 0 }, { "begin": 3788, "end": 4153, "name": "DUP2", "source": 0 }, { "begin": 3788, "end": 4153, "name": "MSTORE", "source": 0 }, { "begin": 3788, "end": 4153, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3788, "end": 4153, "name": "ADD", "source": 0 }, { "begin": 3788, "end": 4153, "name": "SWAP2", "source": 0 }, { "begin": 3788, "end": 4153, "name": "POP", "source": 0 }, { "begin": 3788, "end": 4153, "name": "POP", "source": 0 }, { "begin": 3788, "end": 4153, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 3788, "end": 4153, "name": "MLOAD", "source": 0 }, { "begin": 3788, "end": 4153, "name": "DUP1", "source": 0 }, { "begin": 3788, "end": 4153, "name": "SWAP2", "source": 0 }, { "begin": 3788, "end": 4153, "name": "SUB", "source": 0 }, { "begin": 3788, "end": 4153, "name": "SWAP1", "source": 0 }, { "begin": 3788, "end": 4153, "name": "RETURN", "source": 0 }, { "begin": 1570, "end": 1925, "name": "tag", "source": 0, "value": "8" }, { "begin": 1570, "end": 1925, "name": "JUMPDEST", "source": 0 }, { "begin": 1570, "end": 1925, "name": "PUSH [tag]", "source": 0, "value": "25" }, { "begin": 1570, "end": 1925, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 1570, "end": 1925, "name": "DUP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "CALLDATASIZE", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SUB", "source": 0 }, { "begin": 15, "end": 17, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 10, "end": 13, "name": "DUP2", "source": -1 }, { "begin": 7, "end": 18, "name": "LT", "source": -1 }, { "begin": 4, "end": 6, "name": "ISZERO", "source": -1 }, { "begin": 4, "end": 6, "name": "PUSH [tag]", "source": -1, "value": "26" }, { "begin": 4, "end": 6, "name": "JUMPI", "source": -1 }, { "begin": 31, "end": 32, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 28, "end": 29, "name": "DUP1", "source": -1 }, { "begin": 21, "end": 33, "name": "REVERT", "source": -1 }, { "begin": 4, "end": 6, "name": "tag", "source": -1, "value": "26" }, { "begin": 4, "end": 6, "name": "JUMPDEST", "source": -1 }, { "begin": 1570, "end": 1925, "name": "DUP2", "source": 0 }, { "begin": 1570, "end": 1925, "name": "ADD", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SWAP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "DUP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "DUP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "CALLDATALOAD", "source": 0 }, { "begin": 1570, "end": 1925, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1570, "end": 1925, "name": "AND", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SWAP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1570, "end": 1925, "name": "ADD", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SWAP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SWAP3", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SWAP2", "source": 0 }, { "begin": 1570, "end": 1925, "name": "SWAP1", "source": 0 }, { "begin": 1570, "end": 1925, "name": "POP", "source": 0 }, { "begin": 1570, "end": 1925, "name": "POP", "source": 0 }, { "begin": 1570, "end": 1925, "name": "POP", "source": 0 }, { "begin": 1570, "end": 1925, "name": "PUSH [tag]", "source": 0, "value": "27" }, { "begin": 1570, "end": 1925, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 1570, "end": 1925, "name": "tag", "source": 0, "value": "25" }, { "begin": 1570, "end": 1925, "name": "JUMPDEST", "source": 0 }, { "begin": 1570, "end": 1925, "name": "STOP", "source": 0 }, { "begin": 712, "end": 751, "name": "tag", "source": 0, "value": "9" }, { "begin": 712, "end": 751, "name": "JUMPDEST", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH [tag]", "source": 0, "value": "28" }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "CALLDATASIZE", "source": 0 }, { "begin": 712, "end": 751, "name": "SUB", "source": 0 }, { "begin": 15, "end": 17, "name": "PUSH", "source": -1, "value": "20" }, { "begin": 10, "end": 13, "name": "DUP2", "source": -1 }, { "begin": 7, "end": 18, "name": "LT", "source": -1 }, { "begin": 4, "end": 6, "name": "ISZERO", "source": -1 }, { "begin": 4, "end": 6, "name": "PUSH [tag]", "source": -1, "value": "29" }, { "begin": 4, "end": 6, "name": "JUMPI", "source": -1 }, { "begin": 31, "end": 32, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 28, "end": 29, "name": "DUP1", "source": -1 }, { "begin": 21, "end": 33, "name": "REVERT", "source": -1 }, { "begin": 4, "end": 6, "name": "tag", "source": -1, "value": "29" }, { "begin": 4, "end": 6, "name": "JUMPDEST", "source": -1 }, { "begin": 712, "end": 751, "name": "DUP2", "source": 0 }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "CALLDATALOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 712, "end": 751, "name": "AND", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP3", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP2", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH [tag]", "source": 0, "value": "30" }, { "begin": 712, "end": 751, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 712, "end": 751, "name": "tag", "source": 0, "value": "28" }, { "begin": 712, "end": 751, "name": "JUMPDEST", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 712, "end": 751, "name": "MLOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP6", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP2", "source": 0 }, { "begin": 712, "end": 751, "name": "MSTORE", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP5", "source": 0 }, { "begin": 712, "end": 751, "name": "ISZERO", "source": 0 }, { "begin": 712, "end": 751, "name": "ISZERO", "source": 0 }, { "begin": 712, "end": 751, "name": "ISZERO", "source": 0 }, { "begin": 712, "end": 751, "name": "ISZERO", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP2", "source": 0 }, { "begin": 712, "end": 751, "name": "MSTORE", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP4", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 712, "end": 751, "name": "AND", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 712, "end": 751, "name": "AND", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP2", "source": 0 }, { "begin": 712, "end": 751, "name": "MSTORE", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP3", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP2", "source": 0 }, { "begin": 712, "end": 751, "name": "MSTORE", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP5", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 712, "end": 751, "name": "MLOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP2", "source": 0 }, { "begin": 712, "end": 751, "name": "SUB", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "RETURN", "source": 0 }, { "begin": 4344, "end": 4488, "name": "tag", "source": 0, "value": "10" }, { "begin": 4344, "end": 4488, "name": "JUMPDEST", "source": 0 }, { "begin": 4344, "end": 4488, "name": "PUSH [tag]", "source": 0, "value": "31" }, { "begin": 4344, "end": 4488, "name": "PUSH [tag]", "source": 0, "value": "32" }, { "begin": 4344, "end": 4488, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 4344, "end": 4488, "name": "tag", "source": 0, "value": "31" }, { "begin": 4344, "end": 4488, "name": "JUMPDEST", "source": 0 }, { "begin": 4344, "end": 4488, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 4344, "end": 4488, "name": "MLOAD", "source": 0 }, { "begin": 4344, "end": 4488, "name": "DUP1", "source": 0 }, { "begin": 4344, "end": 4488, "name": "DUP3", "source": 0 }, { "begin": 4344, "end": 4488, "name": "DUP2", "source": 0 }, { "begin": 4344, "end": 4488, "name": "MSTORE", "source": 0 }, { "begin": 4344, "end": 4488, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 4344, "end": 4488, "name": "ADD", "source": 0 }, { "begin": 4344, "end": 4488, "name": "SWAP2", "source": 0 }, { "begin": 4344, "end": 4488, "name": "POP", "source": 0 }, { "begin": 4344, "end": 4488, "name": "POP", "source": 0 }, { "begin": 4344, "end": 4488, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 4344, "end": 4488, "name": "MLOAD", "source": 0 }, { "begin": 4344, "end": 4488, "name": "DUP1", "source": 0 }, { "begin": 4344, "end": 4488, "name": "SWAP2", "source": 0 }, { "begin": 4344, "end": 4488, "name": "SUB", "source": 0 }, { "begin": 4344, "end": 4488, "name": "SWAP1", "source": 0 }, { "begin": 4344, "end": 4488, "name": "RETURN", "source": 0 }, { "begin": 3144, "end": 3602, "name": "tag", "source": 0, "value": "14" }, { "begin": 3144, "end": 3602, "name": "JUMPDEST", "source": 0 }, { "begin": 3190, "end": 3210, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3213, "end": 3219, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3213, "end": 3231, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3220, "end": 3230, "name": "CALLER", "source": 0 }, { "begin": 3213, "end": 3231, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 3213, "end": 3231, "name": "AND", "source": 0 }, { "begin": 3213, "end": 3231, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 3213, "end": 3231, "name": "AND", "source": 0 }, { "begin": 3213, "end": 3231, "name": "DUP2", "source": 0 }, { "begin": 3213, "end": 3231, "name": "MSTORE", "source": 0 }, { "begin": 3213, "end": 3231, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3213, "end": 3231, "name": "ADD", "source": 0 }, { "begin": 3213, "end": 3231, "name": "SWAP1", "source": 0 }, { "begin": 3213, "end": 3231, "name": "DUP2", "source": 0 }, { "begin": 3213, "end": 3231, "name": "MSTORE", "source": 0 }, { "begin": 3213, "end": 3231, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3213, "end": 3231, "name": "ADD", "source": 0 }, { "begin": 3213, "end": 3231, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3213, "end": 3231, "name": "KECCAK256", "source": 0 }, { "begin": 3190, "end": 3231, "name": "SWAP1", "source": 0 }, { "begin": 3190, "end": 3231, "name": "POP", "source": 0 }, { "begin": 3266, "end": 3267, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3249, "end": 3255, "name": "DUP2", "source": 0 }, { "begin": 3249, "end": 3262, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3249, "end": 3262, "name": "ADD", "source": 0 }, { "begin": 3249, "end": 3262, "name": "SLOAD", "source": 0 }, { "begin": 3249, "end": 3267, "name": "EQ", "source": 0 }, { "begin": 3249, "end": 3267, "name": "ISZERO", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH [tag]", "source": 0, "value": "34" }, { "begin": 3241, "end": 3292, "name": "JUMPI", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 3241, "end": 3292, "name": "MLOAD", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 3241, "end": 3292, "name": "DUP2", "source": 0 }, { "begin": 3241, "end": 3292, "name": "MSTORE", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 3241, "end": 3292, "name": "ADD", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP1", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP1", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3241, "end": 3292, "name": "ADD", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP3", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP2", "source": 0 }, { "begin": 3241, "end": 3292, "name": "SUB", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP3", "source": 0 }, { "begin": 3241, "end": 3292, "name": "MSTORE", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "14" }, { "begin": 3241, "end": 3292, "name": "DUP2", "source": 0 }, { "begin": 3241, "end": 3292, "name": "MSTORE", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3241, "end": 3292, "name": "ADD", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP1", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "486173206E6F20726967687420746F20766F7465000000000000000000000000" }, { "begin": 3241, "end": 3292, "name": "DUP2", "source": 0 }, { "begin": 3241, "end": 3292, "name": "MSTORE", "source": 0 }, { "begin": 3241, "end": 3292, "name": "POP", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3241, "end": 3292, "name": "ADD", "source": 0 }, { "begin": 3241, "end": 3292, "name": "SWAP2", "source": 0 }, { "begin": 3241, "end": 3292, "name": "POP", "source": 0 }, { "begin": 3241, "end": 3292, "name": "POP", "source": 0 }, { "begin": 3241, "end": 3292, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 3241, "end": 3292, "name": "MLOAD", "source": 0 }, { "begin": 3241, "end": 3292, "name": "DUP1", "source": 0 }, { "begin": 3241, "end": 3292, "name": "SWAP2", "source": 0 }, { "begin": 3241, "end": 3292, "name": "SUB", "source": 0 }, { "begin": 3241, "end": 3292, "name": "SWAP1", "source": 0 }, { "begin": 3241, "end": 3292, "name": "REVERT", "source": 0 }, { "begin": 3241, "end": 3292, "name": "tag", "source": 0, "value": "34" }, { "begin": 3241, "end": 3292, "name": "JUMPDEST", "source": 0 }, { "begin": 3311, "end": 3317, "name": "DUP1", "source": 0 }, { "begin": 3311, "end": 3323, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3311, "end": 3323, "name": "ADD", "source": 0 }, { "begin": 3311, "end": 3323, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3311, "end": 3323, "name": "SWAP1", "source": 0 }, { "begin": 3311, "end": 3323, "name": "SLOAD", "source": 0 }, { "begin": 3311, "end": 3323, "name": "SWAP1", "source": 0 }, { "begin": 3311, "end": 3323, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 3311, "end": 3323, "name": "EXP", "source": 0 }, { "begin": 3311, "end": 3323, "name": "SWAP1", "source": 0 }, { "begin": 3311, "end": 3323, "name": "DIV", "source": 0 }, { "begin": 3311, "end": 3323, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 3311, "end": 3323, "name": "AND", "source": 0 }, { "begin": 3310, "end": 3323, "name": "ISZERO", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH [tag]", "source": 0, "value": "35" }, { "begin": 3302, "end": 3342, "name": "JUMPI", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 3302, "end": 3342, "name": "MLOAD", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 3302, "end": 3342, "name": "DUP2", "source": 0 }, { "begin": 3302, "end": 3342, "name": "MSTORE", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 3302, "end": 3342, "name": "ADD", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP1", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP1", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3302, "end": 3342, "name": "ADD", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP3", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP2", "source": 0 }, { "begin": 3302, "end": 3342, "name": "SUB", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP3", "source": 0 }, { "begin": 3302, "end": 3342, "name": "MSTORE", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "E" }, { "begin": 3302, "end": 3342, "name": "DUP2", "source": 0 }, { "begin": 3302, "end": 3342, "name": "MSTORE", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3302, "end": 3342, "name": "ADD", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP1", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "416C726561647920766F7465642E000000000000000000000000000000000000" }, { "begin": 3302, "end": 3342, "name": "DUP2", "source": 0 }, { "begin": 3302, "end": 3342, "name": "MSTORE", "source": 0 }, { "begin": 3302, "end": 3342, "name": "POP", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3302, "end": 3342, "name": "ADD", "source": 0 }, { "begin": 3302, "end": 3342, "name": "SWAP2", "source": 0 }, { "begin": 3302, "end": 3342, "name": "POP", "source": 0 }, { "begin": 3302, "end": 3342, "name": "POP", "source": 0 }, { "begin": 3302, "end": 3342, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 3302, "end": 3342, "name": "MLOAD", "source": 0 }, { "begin": 3302, "end": 3342, "name": "DUP1", "source": 0 }, { "begin": 3302, "end": 3342, "name": "SWAP2", "source": 0 }, { "begin": 3302, "end": 3342, "name": "SUB", "source": 0 }, { "begin": 3302, "end": 3342, "name": "SWAP1", "source": 0 }, { "begin": 3302, "end": 3342, "name": "REVERT", "source": 0 }, { "begin": 3302, "end": 3342, "name": "tag", "source": 0, "value": "35" }, { "begin": 3302, "end": 3342, "name": "JUMPDEST", "source": 0 }, { "begin": 3367, "end": 3371, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3352, "end": 3358, "name": "DUP2", "source": 0 }, { "begin": 3352, "end": 3364, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3352, "end": 3364, "name": "ADD", "source": 0 }, { "begin": 3352, "end": 3364, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3352, "end": 3371, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 3352, "end": 3371, "name": "EXP", "source": 0 }, { "begin": 3352, "end": 3371, "name": "DUP2", "source": 0 }, { "begin": 3352, "end": 3371, "name": "SLOAD", "source": 0 }, { "begin": 3352, "end": 3371, "name": "DUP2", "source": 0 }, { "begin": 3352, "end": 3371, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 3352, "end": 3371, "name": "MUL", "source": 0 }, { "begin": 3352, "end": 3371, "name": "NOT", "source": 0 }, { "begin": 3352, "end": 3371, "name": "AND", "source": 0 }, { "begin": 3352, "end": 3371, "name": "SWAP1", "source": 0 }, { "begin": 3352, "end": 3371, "name": "DUP4", "source": 0 }, { "begin": 3352, "end": 3371, "name": "ISZERO", "source": 0 }, { "begin": 3352, "end": 3371, "name": "ISZERO", "source": 0 }, { "begin": 3352, "end": 3371, "name": "MUL", "source": 0 }, { "begin": 3352, "end": 3371, "name": "OR", "source": 0 }, { "begin": 3352, "end": 3371, "name": "SWAP1", "source": 0 }, { "begin": 3352, "end": 3371, "name": "SSTORE", "source": 0 }, { "begin": 3352, "end": 3371, "name": "POP", "source": 0 }, { "begin": 3395, "end": 3403, "name": "DUP2", "source": 0 }, { "begin": 3381, "end": 3387, "name": "DUP2", "source": 0 }, { "begin": 3381, "end": 3392, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 3381, "end": 3392, "name": "ADD", "source": 0 }, { "begin": 3381, "end": 3403, "name": "DUP2", "source": 0 }, { "begin": 3381, "end": 3403, "name": "SWAP1", "source": 0 }, { "begin": 3381, "end": 3403, "name": "SSTORE", "source": 0 }, { "begin": 3381, "end": 3403, "name": "POP", "source": 0 }, { "begin": 3582, "end": 3588, "name": "DUP1", "source": 0 }, { "begin": 3582, "end": 3595, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3582, "end": 3595, "name": "ADD", "source": 0 }, { "begin": 3582, "end": 3595, "name": "SLOAD", "source": 0 }, { "begin": 3549, "end": 3558, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 3559, "end": 3567, "name": "DUP4", "source": 0 }, { "begin": 3549, "end": 3568, "name": "DUP2", "source": 0 }, { "begin": 3549, "end": 3568, "name": "SLOAD", "source": 0 }, { "begin": 3549, "end": 3568, "name": "DUP2", "source": 0 }, { "begin": 3549, "end": 3568, "name": "LT", "source": 0 }, { "begin": 3549, "end": 3568, "name": "PUSH [tag]", "source": 0, "value": "36" }, { "begin": 3549, "end": 3568, "name": "JUMPI", "source": 0 }, { "begin": 3549, "end": 3568, "name": "INVALID", "source": 0 }, { "begin": 3549, "end": 3568, "name": "tag", "source": 0, "value": "36" }, { "begin": 3549, "end": 3568, "name": "JUMPDEST", "source": 0 }, { "begin": 3549, "end": 3568, "name": "SWAP1", "source": 0 }, { "begin": 3549, "end": 3568, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3549, "end": 3568, "name": "MSTORE", "source": 0 }, { "begin": 3549, "end": 3568, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3549, "end": 3568, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3549, "end": 3568, "name": "KECCAK256", "source": 0 }, { "begin": 3549, "end": 3568, "name": "SWAP1", "source": 0 }, { "begin": 3549, "end": 3568, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 3549, "end": 3568, "name": "MUL", "source": 0 }, { "begin": 3549, "end": 3568, "name": "ADD", "source": 0 }, { "begin": 3549, "end": 3578, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3549, "end": 3578, "name": "ADD", "source": 0 }, { "begin": 3549, "end": 3578, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3549, "end": 3595, "name": "DUP3", "source": 0 }, { "begin": 3549, "end": 3595, "name": "DUP3", "source": 0 }, { "begin": 3549, "end": 3595, "name": "SLOAD", "source": 0 }, { "begin": 3549, "end": 3595, "name": "ADD", "source": 0 }, { "begin": 3549, "end": 3595, "name": "SWAP3", "source": 0 }, { "begin": 3549, "end": 3595, "name": "POP", "source": 0 }, { "begin": 3549, "end": 3595, "name": "POP", "source": 0 }, { "begin": 3549, "end": 3595, "name": "DUP2", "source": 0 }, { "begin": 3549, "end": 3595, "name": "SWAP1", "source": 0 }, { "begin": 3549, "end": 3595, "name": "SSTORE", "source": 0 }, { "begin": 3549, "end": 3595, "name": "POP", "source": 0 }, { "begin": 3144, "end": 3602, "name": "POP", "source": 0 }, { "begin": 3144, "end": 3602, "name": "POP", "source": 0 }, { "begin": 3144, "end": 3602, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 758, "end": 785, "name": "tag", "source": 0, "value": "17" }, { "begin": 758, "end": 785, "name": "JUMPDEST", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 758, "end": 785, "name": "DUP2", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP2", "source": 0 }, { "begin": 758, "end": 785, "name": "SLOAD", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP2", "source": 0 }, { "begin": 758, "end": 785, "name": "LT", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH [tag]", "source": 0, "value": "38" }, { "begin": 758, "end": 785, "name": "JUMPI", "source": 0 }, { "begin": 758, "end": 785, "name": "INVALID", "source": 0 }, { "begin": 758, "end": 785, "name": "tag", "source": 0, "value": "38" }, { "begin": 758, "end": 785, "name": "JUMPDEST", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 758, "end": 785, "name": "MSTORE", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 758, "end": 785, "name": "KECCAK256", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 758, "end": 785, "name": "MUL", "source": 0 }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 758, "end": 785, "name": "SWAP2", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "SLOAD", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP1", "source": 0 }, { "begin": 758, "end": 785, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 758, "end": 785, "name": "ADD", "source": 0 }, { "begin": 758, "end": 785, "name": "SLOAD", "source": 0 }, { "begin": 758, "end": 785, "name": "SWAP1", "source": 0 }, { "begin": 758, "end": 785, "name": "POP", "source": 0 }, { "begin": 758, "end": 785, "name": "DUP3", "source": 0 }, { "begin": 758, "end": 785, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 679, "end": 705, "name": "tag", "source": 0, "value": "19" }, { "begin": 679, "end": 705, "name": "JUMPDEST", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 679, "end": 705, "name": "DUP1", "source": 0 }, { "begin": 679, "end": 705, "name": "SWAP1", "source": 0 }, { "begin": 679, "end": 705, "name": "SLOAD", "source": 0 }, { "begin": 679, "end": 705, "name": "SWAP1", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 679, "end": 705, "name": "EXP", "source": 0 }, { "begin": 679, "end": 705, "name": "SWAP1", "source": 0 }, { "begin": 679, "end": 705, "name": "DIV", "source": 0 }, { "begin": 679, "end": 705, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 679, "end": 705, "name": "AND", "source": 0 }, { "begin": 679, "end": 705, "name": "DUP2", "source": 0 }, { "begin": 679, "end": 705, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 2049, "end": 2956, "name": "tag", "source": 0, "value": "22" }, { "begin": 2049, "end": 2956, "name": "JUMPDEST", "source": 0 }, { "begin": 2096, "end": 2116, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2119, "end": 2125, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2119, "end": 2137, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2126, "end": 2136, "name": "CALLER", "source": 0 }, { "begin": 2119, "end": 2137, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2119, "end": 2137, "name": "AND", "source": 0 }, { "begin": 2119, "end": 2137, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2119, "end": 2137, "name": "AND", "source": 0 }, { "begin": 2119, "end": 2137, "name": "DUP2", "source": 0 }, { "begin": 2119, "end": 2137, "name": "MSTORE", "source": 0 }, { "begin": 2119, "end": 2137, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2119, "end": 2137, "name": "ADD", "source": 0 }, { "begin": 2119, "end": 2137, "name": "SWAP1", "source": 0 }, { "begin": 2119, "end": 2137, "name": "DUP2", "source": 0 }, { "begin": 2119, "end": 2137, "name": "MSTORE", "source": 0 }, { "begin": 2119, "end": 2137, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2119, "end": 2137, "name": "ADD", "source": 0 }, { "begin": 2119, "end": 2137, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2119, "end": 2137, "name": "KECCAK256", "source": 0 }, { "begin": 2096, "end": 2137, "name": "SWAP1", "source": 0 }, { "begin": 2096, "end": 2137, "name": "POP", "source": 0 }, { "begin": 2156, "end": 2162, "name": "DUP1", "source": 0 }, { "begin": 2156, "end": 2168, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2156, "end": 2168, "name": "ADD", "source": 0 }, { "begin": 2156, "end": 2168, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2156, "end": 2168, "name": "SWAP1", "source": 0 }, { "begin": 2156, "end": 2168, "name": "SLOAD", "source": 0 }, { "begin": 2156, "end": 2168, "name": "SWAP1", "source": 0 }, { "begin": 2156, "end": 2168, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 2156, "end": 2168, "name": "EXP", "source": 0 }, { "begin": 2156, "end": 2168, "name": "SWAP1", "source": 0 }, { "begin": 2156, "end": 2168, "name": "DIV", "source": 0 }, { "begin": 2156, "end": 2168, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 2156, "end": 2168, "name": "AND", "source": 0 }, { "begin": 2155, "end": 2168, "name": "ISZERO", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH [tag]", "source": 0, "value": "41" }, { "begin": 2147, "end": 2191, "name": "JUMPI", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2147, "end": 2191, "name": "MLOAD", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 2147, "end": 2191, "name": "DUP2", "source": 0 }, { "begin": 2147, "end": 2191, "name": "MSTORE", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 2147, "end": 2191, "name": "ADD", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP1", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP1", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2147, "end": 2191, "name": "ADD", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP3", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP2", "source": 0 }, { "begin": 2147, "end": 2191, "name": "SUB", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP3", "source": 0 }, { "begin": 2147, "end": 2191, "name": "MSTORE", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "12" }, { "begin": 2147, "end": 2191, "name": "DUP2", "source": 0 }, { "begin": 2147, "end": 2191, "name": "MSTORE", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2147, "end": 2191, "name": "ADD", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP1", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "596F7520616C726561647920766F7465642E0000000000000000000000000000" }, { "begin": 2147, "end": 2191, "name": "DUP2", "source": 0 }, { "begin": 2147, "end": 2191, "name": "MSTORE", "source": 0 }, { "begin": 2147, "end": 2191, "name": "POP", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2147, "end": 2191, "name": "ADD", "source": 0 }, { "begin": 2147, "end": 2191, "name": "SWAP2", "source": 0 }, { "begin": 2147, "end": 2191, "name": "POP", "source": 0 }, { "begin": 2147, "end": 2191, "name": "POP", "source": 0 }, { "begin": 2147, "end": 2191, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2147, "end": 2191, "name": "MLOAD", "source": 0 }, { "begin": 2147, "end": 2191, "name": "DUP1", "source": 0 }, { "begin": 2147, "end": 2191, "name": "SWAP2", "source": 0 }, { "begin": 2147, "end": 2191, "name": "SUB", "source": 0 }, { "begin": 2147, "end": 2191, "name": "SWAP1", "source": 0 }, { "begin": 2147, "end": 2191, "name": "REVERT", "source": 0 }, { "begin": 2147, "end": 2191, "name": "tag", "source": 0, "value": "41" }, { "begin": 2147, "end": 2191, "name": "JUMPDEST", "source": 0 }, { "begin": 2215, "end": 2225, "name": "CALLER", "source": 0 }, { "begin": 2209, "end": 2225, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2209, "end": 2225, "name": "AND", "source": 0 }, { "begin": 2209, "end": 2211, "name": "DUP3", "source": 0 }, { "begin": 2209, "end": 2225, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2209, "end": 2225, "name": "AND", "source": 0 }, { "begin": 2209, "end": 2225, "name": "EQ", "source": 0 }, { "begin": 2209, "end": 2225, "name": "ISZERO", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH [tag]", "source": 0, "value": "42" }, { "begin": 2201, "end": 2260, "name": "JUMPI", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2201, "end": 2260, "name": "MLOAD", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 2201, "end": 2260, "name": "DUP2", "source": 0 }, { "begin": 2201, "end": 2260, "name": "MSTORE", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 2201, "end": 2260, "name": "ADD", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP1", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP1", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2201, "end": 2260, "name": "ADD", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP3", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP2", "source": 0 }, { "begin": 2201, "end": 2260, "name": "SUB", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP3", "source": 0 }, { "begin": 2201, "end": 2260, "name": "MSTORE", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "1E" }, { "begin": 2201, "end": 2260, "name": "DUP2", "source": 0 }, { "begin": 2201, "end": 2260, "name": "MSTORE", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2201, "end": 2260, "name": "ADD", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP1", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "53656C662D64656C65676174696F6E20697320646973616C6C6F7765642E0000" }, { "begin": 2201, "end": 2260, "name": "DUP2", "source": 0 }, { "begin": 2201, "end": 2260, "name": "MSTORE", "source": 0 }, { "begin": 2201, "end": 2260, "name": "POP", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2201, "end": 2260, "name": "ADD", "source": 0 }, { "begin": 2201, "end": 2260, "name": "SWAP2", "source": 0 }, { "begin": 2201, "end": 2260, "name": "POP", "source": 0 }, { "begin": 2201, "end": 2260, "name": "POP", "source": 0 }, { "begin": 2201, "end": 2260, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2201, "end": 2260, "name": "MLOAD", "source": 0 }, { "begin": 2201, "end": 2260, "name": "DUP1", "source": 0 }, { "begin": 2201, "end": 2260, "name": "SWAP2", "source": 0 }, { "begin": 2201, "end": 2260, "name": "SUB", "source": 0 }, { "begin": 2201, "end": 2260, "name": "SWAP1", "source": 0 }, { "begin": 2201, "end": 2260, "name": "REVERT", "source": 0 }, { "begin": 2201, "end": 2260, "name": "tag", "source": 0, "value": "42" }, { "begin": 2201, "end": 2260, "name": "JUMPDEST", "source": 0 }, { "begin": 2271, "end": 2494, "name": "tag", "source": 0, "value": "43" }, { "begin": 2271, "end": 2494, "name": "JUMPDEST", "source": 0 }, { "begin": 2309, "end": 2310, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2278, "end": 2311, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2278, "end": 2311, "name": "AND", "source": 0 }, { "begin": 2278, "end": 2284, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2278, "end": 2288, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2285, "end": 2287, "name": "DUP5", "source": 0 }, { "begin": 2278, "end": 2288, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2278, "end": 2288, "name": "AND", "source": 0 }, { "begin": 2278, "end": 2288, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2278, "end": 2288, "name": "AND", "source": 0 }, { "begin": 2278, "end": 2288, "name": "DUP2", "source": 0 }, { "begin": 2278, "end": 2288, "name": "MSTORE", "source": 0 }, { "begin": 2278, "end": 2288, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2278, "end": 2288, "name": "ADD", "source": 0 }, { "begin": 2278, "end": 2288, "name": "SWAP1", "source": 0 }, { "begin": 2278, "end": 2288, "name": "DUP2", "source": 0 }, { "begin": 2278, "end": 2288, "name": "MSTORE", "source": 0 }, { "begin": 2278, "end": 2288, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2278, "end": 2288, "name": "ADD", "source": 0 }, { "begin": 2278, "end": 2288, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2278, "end": 2288, "name": "KECCAK256", "source": 0 }, { "begin": 2278, "end": 2297, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2278, "end": 2297, "name": "ADD", "source": 0 }, { "begin": 2278, "end": 2297, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2278, "end": 2297, "name": "SWAP1", "source": 0 }, { "begin": 2278, "end": 2297, "name": "SLOAD", "source": 0 }, { "begin": 2278, "end": 2297, "name": "SWAP1", "source": 0 }, { "begin": 2278, "end": 2297, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 2278, "end": 2297, "name": "EXP", "source": 0 }, { "begin": 2278, "end": 2297, "name": "SWAP1", "source": 0 }, { "begin": 2278, "end": 2297, "name": "DIV", "source": 0 }, { "begin": 2278, "end": 2297, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2278, "end": 2297, "name": "AND", "source": 0 }, { "begin": 2278, "end": 2311, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2278, "end": 2311, "name": "AND", "source": 0 }, { "begin": 2278, "end": 2311, "name": "EQ", "source": 0 }, { "begin": 2271, "end": 2494, "name": "PUSH [tag]", "source": 0, "value": "44" }, { "begin": 2271, "end": 2494, "name": "JUMPI", "source": 0 }, { "begin": 2332, "end": 2338, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2332, "end": 2342, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2339, "end": 2341, "name": "DUP4", "source": 0 }, { "begin": 2332, "end": 2342, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2332, "end": 2342, "name": "AND", "source": 0 }, { "begin": 2332, "end": 2342, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2332, "end": 2342, "name": "AND", "source": 0 }, { "begin": 2332, "end": 2342, "name": "DUP2", "source": 0 }, { "begin": 2332, "end": 2342, "name": "MSTORE", "source": 0 }, { "begin": 2332, "end": 2342, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2332, "end": 2342, "name": "ADD", "source": 0 }, { "begin": 2332, "end": 2342, "name": "SWAP1", "source": 0 }, { "begin": 2332, "end": 2342, "name": "DUP2", "source": 0 }, { "begin": 2332, "end": 2342, "name": "MSTORE", "source": 0 }, { "begin": 2332, "end": 2342, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2332, "end": 2342, "name": "ADD", "source": 0 }, { "begin": 2332, "end": 2342, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2332, "end": 2342, "name": "KECCAK256", "source": 0 }, { "begin": 2332, "end": 2351, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2332, "end": 2351, "name": "ADD", "source": 0 }, { "begin": 2332, "end": 2351, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2332, "end": 2351, "name": "SWAP1", "source": 0 }, { "begin": 2332, "end": 2351, "name": "SLOAD", "source": 0 }, { "begin": 2332, "end": 2351, "name": "SWAP1", "source": 0 }, { "begin": 2332, "end": 2351, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 2332, "end": 2351, "name": "EXP", "source": 0 }, { "begin": 2332, "end": 2351, "name": "SWAP1", "source": 0 }, { "begin": 2332, "end": 2351, "name": "DIV", "source": 0 }, { "begin": 2332, "end": 2351, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2332, "end": 2351, "name": "AND", "source": 0 }, { "begin": 2327, "end": 2351, "name": "SWAP2", "source": 0 }, { "begin": 2327, "end": 2351, "name": "POP", "source": 0 }, { "begin": 2443, "end": 2453, "name": "CALLER", "source": 0 }, { "begin": 2437, "end": 2453, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2437, "end": 2453, "name": "AND", "source": 0 }, { "begin": 2437, "end": 2439, "name": "DUP3", "source": 0 }, { "begin": 2437, "end": 2453, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2437, "end": 2453, "name": "AND", "source": 0 }, { "begin": 2437, "end": 2453, "name": "EQ", "source": 0 }, { "begin": 2437, "end": 2453, "name": "ISZERO", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH [tag]", "source": 0, "value": "45" }, { "begin": 2429, "end": 2483, "name": "JUMPI", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2429, "end": 2483, "name": "MLOAD", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 2429, "end": 2483, "name": "DUP2", "source": 0 }, { "begin": 2429, "end": 2483, "name": "MSTORE", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 2429, "end": 2483, "name": "ADD", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP1", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP1", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2429, "end": 2483, "name": "ADD", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP3", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP2", "source": 0 }, { "begin": 2429, "end": 2483, "name": "SUB", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP3", "source": 0 }, { "begin": 2429, "end": 2483, "name": "MSTORE", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "19" }, { "begin": 2429, "end": 2483, "name": "DUP2", "source": 0 }, { "begin": 2429, "end": 2483, "name": "MSTORE", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2429, "end": 2483, "name": "ADD", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP1", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "466F756E64206C6F6F7020696E2064656C65676174696F6E2E00000000000000" }, { "begin": 2429, "end": 2483, "name": "DUP2", "source": 0 }, { "begin": 2429, "end": 2483, "name": "MSTORE", "source": 0 }, { "begin": 2429, "end": 2483, "name": "POP", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2429, "end": 2483, "name": "ADD", "source": 0 }, { "begin": 2429, "end": 2483, "name": "SWAP2", "source": 0 }, { "begin": 2429, "end": 2483, "name": "POP", "source": 0 }, { "begin": 2429, "end": 2483, "name": "POP", "source": 0 }, { "begin": 2429, "end": 2483, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 2429, "end": 2483, "name": "MLOAD", "source": 0 }, { "begin": 2429, "end": 2483, "name": "DUP1", "source": 0 }, { "begin": 2429, "end": 2483, "name": "SWAP2", "source": 0 }, { "begin": 2429, "end": 2483, "name": "SUB", "source": 0 }, { "begin": 2429, "end": 2483, "name": "SWAP1", "source": 0 }, { "begin": 2429, "end": 2483, "name": "REVERT", "source": 0 }, { "begin": 2429, "end": 2483, "name": "tag", "source": 0, "value": "45" }, { "begin": 2429, "end": 2483, "name": "JUMPDEST", "source": 0 }, { "begin": 2271, "end": 2494, "name": "PUSH [tag]", "source": 0, "value": "43" }, { "begin": 2271, "end": 2494, "name": "JUMP", "source": 0 }, { "begin": 2271, "end": 2494, "name": "tag", "source": 0, "value": "44" }, { "begin": 2271, "end": 2494, "name": "JUMPDEST", "source": 0 }, { "begin": 2518, "end": 2522, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2503, "end": 2509, "name": "DUP2", "source": 0 }, { "begin": 2503, "end": 2515, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2503, "end": 2515, "name": "ADD", "source": 0 }, { "begin": 2503, "end": 2515, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2503, "end": 2522, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 2503, "end": 2522, "name": "EXP", "source": 0 }, { "begin": 2503, "end": 2522, "name": "DUP2", "source": 0 }, { "begin": 2503, "end": 2522, "name": "SLOAD", "source": 0 }, { "begin": 2503, "end": 2522, "name": "DUP2", "source": 0 }, { "begin": 2503, "end": 2522, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 2503, "end": 2522, "name": "MUL", "source": 0 }, { "begin": 2503, "end": 2522, "name": "NOT", "source": 0 }, { "begin": 2503, "end": 2522, "name": "AND", "source": 0 }, { "begin": 2503, "end": 2522, "name": "SWAP1", "source": 0 }, { "begin": 2503, "end": 2522, "name": "DUP4", "source": 0 }, { "begin": 2503, "end": 2522, "name": "ISZERO", "source": 0 }, { "begin": 2503, "end": 2522, "name": "ISZERO", "source": 0 }, { "begin": 2503, "end": 2522, "name": "MUL", "source": 0 }, { "begin": 2503, "end": 2522, "name": "OR", "source": 0 }, { "begin": 2503, "end": 2522, "name": "SWAP1", "source": 0 }, { "begin": 2503, "end": 2522, "name": "SSTORE", "source": 0 }, { "begin": 2503, "end": 2522, "name": "POP", "source": 0 }, { "begin": 2550, "end": 2552, "name": "DUP2", "source": 0 }, { "begin": 2532, "end": 2538, "name": "DUP2", "source": 0 }, { "begin": 2532, "end": 2547, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2532, "end": 2547, "name": "ADD", "source": 0 }, { "begin": 2532, "end": 2547, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2532, "end": 2552, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 2532, "end": 2552, "name": "EXP", "source": 0 }, { "begin": 2532, "end": 2552, "name": "DUP2", "source": 0 }, { "begin": 2532, "end": 2552, "name": "SLOAD", "source": 0 }, { "begin": 2532, "end": 2552, "name": "DUP2", "source": 0 }, { "begin": 2532, "end": 2552, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2532, "end": 2552, "name": "MUL", "source": 0 }, { "begin": 2532, "end": 2552, "name": "NOT", "source": 0 }, { "begin": 2532, "end": 2552, "name": "AND", "source": 0 }, { "begin": 2532, "end": 2552, "name": "SWAP1", "source": 0 }, { "begin": 2532, "end": 2552, "name": "DUP4", "source": 0 }, { "begin": 2532, "end": 2552, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2532, "end": 2552, "name": "AND", "source": 0 }, { "begin": 2532, "end": 2552, "name": "MUL", "source": 0 }, { "begin": 2532, "end": 2552, "name": "OR", "source": 0 }, { "begin": 2532, "end": 2552, "name": "SWAP1", "source": 0 }, { "begin": 2532, "end": 2552, "name": "SSTORE", "source": 0 }, { "begin": 2532, "end": 2552, "name": "POP", "source": 0 }, { "begin": 2562, "end": 2585, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2588, "end": 2594, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2588, "end": 2598, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2595, "end": 2597, "name": "DUP5", "source": 0 }, { "begin": 2588, "end": 2598, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2588, "end": 2598, "name": "AND", "source": 0 }, { "begin": 2588, "end": 2598, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 2588, "end": 2598, "name": "AND", "source": 0 }, { "begin": 2588, "end": 2598, "name": "DUP2", "source": 0 }, { "begin": 2588, "end": 2598, "name": "MSTORE", "source": 0 }, { "begin": 2588, "end": 2598, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2588, "end": 2598, "name": "ADD", "source": 0 }, { "begin": 2588, "end": 2598, "name": "SWAP1", "source": 0 }, { "begin": 2588, "end": 2598, "name": "DUP2", "source": 0 }, { "begin": 2588, "end": 2598, "name": "MSTORE", "source": 0 }, { "begin": 2588, "end": 2598, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2588, "end": 2598, "name": "ADD", "source": 0 }, { "begin": 2588, "end": 2598, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2588, "end": 2598, "name": "KECCAK256", "source": 0 }, { "begin": 2562, "end": 2598, "name": "SWAP1", "source": 0 }, { "begin": 2562, "end": 2598, "name": "POP", "source": 0 }, { "begin": 2612, "end": 2621, "name": "DUP1", "source": 0 }, { "begin": 2612, "end": 2627, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2612, "end": 2627, "name": "ADD", "source": 0 }, { "begin": 2612, "end": 2627, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2612, "end": 2627, "name": "SWAP1", "source": 0 }, { "begin": 2612, "end": 2627, "name": "SLOAD", "source": 0 }, { "begin": 2612, "end": 2627, "name": "SWAP1", "source": 0 }, { "begin": 2612, "end": 2627, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 2612, "end": 2627, "name": "EXP", "source": 0 }, { "begin": 2612, "end": 2627, "name": "SWAP1", "source": 0 }, { "begin": 2612, "end": 2627, "name": "DIV", "source": 0 }, { "begin": 2612, "end": 2627, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 2612, "end": 2627, "name": "AND", "source": 0 }, { "begin": 2608, "end": 2950, "name": "ISZERO", "source": 0 }, { "begin": 2608, "end": 2950, "name": "PUSH [tag]", "source": 0, "value": "46" }, { "begin": 2608, "end": 2950, "name": "JUMPI", "source": 0 }, { "begin": 2779, "end": 2785, "name": "DUP2", "source": 0 }, { "begin": 2779, "end": 2792, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2779, "end": 2792, "name": "ADD", "source": 0 }, { "begin": 2779, "end": 2792, "name": "SLOAD", "source": 0 }, { "begin": 2740, "end": 2749, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 2750, "end": 2759, "name": "DUP3", "source": 0 }, { "begin": 2750, "end": 2764, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 2750, "end": 2764, "name": "ADD", "source": 0 }, { "begin": 2750, "end": 2764, "name": "SLOAD", "source": 0 }, { "begin": 2740, "end": 2765, "name": "DUP2", "source": 0 }, { "begin": 2740, "end": 2765, "name": "SLOAD", "source": 0 }, { "begin": 2740, "end": 2765, "name": "DUP2", "source": 0 }, { "begin": 2740, "end": 2765, "name": "LT", "source": 0 }, { "begin": 2740, "end": 2765, "name": "PUSH [tag]", "source": 0, "value": "47" }, { "begin": 2740, "end": 2765, "name": "JUMPI", "source": 0 }, { "begin": 2740, "end": 2765, "name": "INVALID", "source": 0 }, { "begin": 2740, "end": 2765, "name": "tag", "source": 0, "value": "47" }, { "begin": 2740, "end": 2765, "name": "JUMPDEST", "source": 0 }, { "begin": 2740, "end": 2765, "name": "SWAP1", "source": 0 }, { "begin": 2740, "end": 2765, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2740, "end": 2765, "name": "MSTORE", "source": 0 }, { "begin": 2740, "end": 2765, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 2740, "end": 2765, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2740, "end": 2765, "name": "KECCAK256", "source": 0 }, { "begin": 2740, "end": 2765, "name": "SWAP1", "source": 0 }, { "begin": 2740, "end": 2765, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 2740, "end": 2765, "name": "MUL", "source": 0 }, { "begin": 2740, "end": 2765, "name": "ADD", "source": 0 }, { "begin": 2740, "end": 2775, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 2740, "end": 2775, "name": "ADD", "source": 0 }, { "begin": 2740, "end": 2775, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2740, "end": 2792, "name": "DUP3", "source": 0 }, { "begin": 2740, "end": 2792, "name": "DUP3", "source": 0 }, { "begin": 2740, "end": 2792, "name": "SLOAD", "source": 0 }, { "begin": 2740, "end": 2792, "name": "ADD", "source": 0 }, { "begin": 2740, "end": 2792, "name": "SWAP3", "source": 0 }, { "begin": 2740, "end": 2792, "name": "POP", "source": 0 }, { "begin": 2740, "end": 2792, "name": "POP", "source": 0 }, { "begin": 2740, "end": 2792, "name": "DUP2", "source": 0 }, { "begin": 2740, "end": 2792, "name": "SWAP1", "source": 0 }, { "begin": 2740, "end": 2792, "name": "SSTORE", "source": 0 }, { "begin": 2740, "end": 2792, "name": "POP", "source": 0 }, { "begin": 2608, "end": 2950, "name": "PUSH [tag]", "source": 0, "value": "49" }, { "begin": 2608, "end": 2950, "name": "JUMP", "source": 0 }, { "begin": 2608, "end": 2950, "name": "tag", "source": 0, "value": "46" }, { "begin": 2608, "end": 2950, "name": "JUMPDEST", "source": 0 }, { "begin": 2926, "end": 2932, "name": "DUP2", "source": 0 }, { "begin": 2926, "end": 2939, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2926, "end": 2939, "name": "ADD", "source": 0 }, { "begin": 2926, "end": 2939, "name": "SLOAD", "source": 0 }, { "begin": 2906, "end": 2915, "name": "DUP2", "source": 0 }, { "begin": 2906, "end": 2922, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2906, "end": 2922, "name": "ADD", "source": 0 }, { "begin": 2906, "end": 2922, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 2906, "end": 2939, "name": "DUP3", "source": 0 }, { "begin": 2906, "end": 2939, "name": "DUP3", "source": 0 }, { "begin": 2906, "end": 2939, "name": "SLOAD", "source": 0 }, { "begin": 2906, "end": 2939, "name": "ADD", "source": 0 }, { "begin": 2906, "end": 2939, "name": "SWAP3", "source": 0 }, { "begin": 2906, "end": 2939, "name": "POP", "source": 0 }, { "begin": 2906, "end": 2939, "name": "POP", "source": 0 }, { "begin": 2906, "end": 2939, "name": "DUP2", "source": 0 }, { "begin": 2906, "end": 2939, "name": "SWAP1", "source": 0 }, { "begin": 2906, "end": 2939, "name": "SSTORE", "source": 0 }, { "begin": 2906, "end": 2939, "name": "POP", "source": 0 }, { "begin": 2608, "end": 2950, "name": "tag", "source": 0, "value": "49" }, { "begin": 2608, "end": 2950, "name": "JUMPDEST", "source": 0 }, { "begin": 2049, "end": 2956, "name": "POP", "source": 0 }, { "begin": 2049, "end": 2956, "name": "POP", "source": 0 }, { "begin": 2049, "end": 2956, "name": "POP", "source": 0 }, { "begin": 2049, "end": 2956, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 3788, "end": 4153, "name": "tag", "source": 0, "value": "24" }, { "begin": 3788, "end": 4153, "name": "JUMPDEST", "source": 0 }, { "begin": 3848, "end": 3869, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3885, "end": 3906, "name": "DUP1", "source": 0 }, { "begin": 3909, "end": 3910, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3885, "end": 3910, "name": "SWAP1", "source": 0 }, { "begin": 3885, "end": 3910, "name": "POP", "source": 0 }, { "begin": 3925, "end": 3931, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3934, "end": 3935, "name": "DUP1", "source": 0 }, { "begin": 3925, "end": 3935, "name": "SWAP1", "source": 0 }, { "begin": 3925, "end": 3935, "name": "POP", "source": 0 }, { "begin": 3920, "end": 4147, "name": "tag", "source": 0, "value": "51" }, { "begin": 3920, "end": 4147, "name": "JUMPDEST", "source": 0 }, { "begin": 3941, "end": 3950, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 3941, "end": 3957, "name": "DUP1", "source": 0 }, { "begin": 3941, "end": 3957, "name": "SLOAD", "source": 0 }, { "begin": 3941, "end": 3957, "name": "SWAP1", "source": 0 }, { "begin": 3941, "end": 3957, "name": "POP", "source": 0 }, { "begin": 3937, "end": 3938, "name": "DUP2", "source": 0 }, { "begin": 3937, "end": 3957, "name": "LT", "source": 0 }, { "begin": 3920, "end": 4147, "name": "ISZERO", "source": 0 }, { "begin": 3920, "end": 4147, "name": "PUSH [tag]", "source": 0, "value": "52" }, { "begin": 3920, "end": 4147, "name": "JUMPI", "source": 0 }, { "begin": 4007, "end": 4023, "name": "DUP2", "source": 0 }, { "begin": 3982, "end": 3991, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 3992, "end": 3993, "name": "DUP3", "source": 0 }, { "begin": 3982, "end": 3994, "name": "DUP2", "source": 0 }, { "begin": 3982, "end": 3994, "name": "SLOAD", "source": 0 }, { "begin": 3982, "end": 3994, "name": "DUP2", "source": 0 }, { "begin": 3982, "end": 3994, "name": "LT", "source": 0 }, { "begin": 3982, "end": 3994, "name": "PUSH [tag]", "source": 0, "value": "54" }, { "begin": 3982, "end": 3994, "name": "JUMPI", "source": 0 }, { "begin": 3982, "end": 3994, "name": "INVALID", "source": 0 }, { "begin": 3982, "end": 3994, "name": "tag", "source": 0, "value": "54" }, { "begin": 3982, "end": 3994, "name": "JUMPDEST", "source": 0 }, { "begin": 3982, "end": 3994, "name": "SWAP1", "source": 0 }, { "begin": 3982, "end": 3994, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3982, "end": 3994, "name": "MSTORE", "source": 0 }, { "begin": 3982, "end": 3994, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 3982, "end": 3994, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 3982, "end": 3994, "name": "KECCAK256", "source": 0 }, { "begin": 3982, "end": 3994, "name": "SWAP1", "source": 0 }, { "begin": 3982, "end": 3994, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 3982, "end": 3994, "name": "MUL", "source": 0 }, { "begin": 3982, "end": 3994, "name": "ADD", "source": 0 }, { "begin": 3982, "end": 4004, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3982, "end": 4004, "name": "ADD", "source": 0 }, { "begin": 3982, "end": 4004, "name": "SLOAD", "source": 0 }, { "begin": 3982, "end": 4023, "name": "GT", "source": 0 }, { "begin": 3978, "end": 4137, "name": "ISZERO", "source": 0 }, { "begin": 3978, "end": 4137, "name": "PUSH [tag]", "source": 0, "value": "56" }, { "begin": 3978, "end": 4137, "name": "JUMPI", "source": 0 }, { "begin": 4062, "end": 4071, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 4072, "end": 4073, "name": "DUP2", "source": 0 }, { "begin": 4062, "end": 4074, "name": "DUP2", "source": 0 }, { "begin": 4062, "end": 4074, "name": "SLOAD", "source": 0 }, { "begin": 4062, "end": 4074, "name": "DUP2", "source": 0 }, { "begin": 4062, "end": 4074, "name": "LT", "source": 0 }, { "begin": 4062, "end": 4074, "name": "PUSH [tag]", "source": 0, "value": "57" }, { "begin": 4062, "end": 4074, "name": "JUMPI", "source": 0 }, { "begin": 4062, "end": 4074, "name": "INVALID", "source": 0 }, { "begin": 4062, "end": 4074, "name": "tag", "source": 0, "value": "57" }, { "begin": 4062, "end": 4074, "name": "JUMPDEST", "source": 0 }, { "begin": 4062, "end": 4074, "name": "SWAP1", "source": 0 }, { "begin": 4062, "end": 4074, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 4062, "end": 4074, "name": "MSTORE", "source": 0 }, { "begin": 4062, "end": 4074, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 4062, "end": 4074, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 4062, "end": 4074, "name": "KECCAK256", "source": 0 }, { "begin": 4062, "end": 4074, "name": "SWAP1", "source": 0 }, { "begin": 4062, "end": 4074, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 4062, "end": 4074, "name": "MUL", "source": 0 }, { "begin": 4062, "end": 4074, "name": "ADD", "source": 0 }, { "begin": 4062, "end": 4084, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 4062, "end": 4084, "name": "ADD", "source": 0 }, { "begin": 4062, "end": 4084, "name": "SLOAD", "source": 0 }, { "begin": 4043, "end": 4084, "name": "SWAP2", "source": 0 }, { "begin": 4043, "end": 4084, "name": "POP", "source": 0 }, { "begin": 4121, "end": 4122, "name": "DUP1", "source": 0 }, { "begin": 4102, "end": 4122, "name": "SWAP3", "source": 0 }, { "begin": 4102, "end": 4122, "name": "POP", "source": 0 }, { "begin": 3978, "end": 4137, "name": "tag", "source": 0, "value": "56" }, { "begin": 3978, "end": 4137, "name": "JUMPDEST", "source": 0 }, { "begin": 3959, "end": 3962, "name": "DUP1", "source": 0 }, { "begin": 3959, "end": 3962, "name": "DUP1", "source": 0 }, { "begin": 3959, "end": 3962, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 3959, "end": 3962, "name": "ADD", "source": 0 }, { "begin": 3959, "end": 3962, "name": "SWAP2", "source": 0 }, { "begin": 3959, "end": 3962, "name": "POP", "source": 0 }, { "begin": 3959, "end": 3962, "name": "POP", "source": 0 }, { "begin": 3920, "end": 4147, "name": "PUSH [tag]", "source": 0, "value": "51" }, { "begin": 3920, "end": 4147, "name": "JUMP", "source": 0 }, { "begin": 3920, "end": 4147, "name": "tag", "source": 0, "value": "52" }, { "begin": 3920, "end": 4147, "name": "JUMPDEST", "source": 0 }, { "begin": 3920, "end": 4147, "name": "POP", "source": 0 }, { "begin": 3788, "end": 4153, "name": "POP", "source": 0 }, { "begin": 3788, "end": 4153, "name": "SWAP1", "source": 0 }, { "begin": 3788, "end": 4153, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 1570, "end": 1925, "name": "tag", "source": 0, "value": "27" }, { "begin": 1570, "end": 1925, "name": "JUMPDEST", "source": 0 }, { "begin": 1662, "end": 1673, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1662, "end": 1673, "name": "DUP1", "source": 0 }, { "begin": 1662, "end": 1673, "name": "SWAP1", "source": 0 }, { "begin": 1662, "end": 1673, "name": "SLOAD", "source": 0 }, { "begin": 1662, "end": 1673, "name": "SWAP1", "source": 0 }, { "begin": 1662, "end": 1673, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 1662, "end": 1673, "name": "EXP", "source": 0 }, { "begin": 1662, "end": 1673, "name": "SWAP1", "source": 0 }, { "begin": 1662, "end": 1673, "name": "DIV", "source": 0 }, { "begin": 1662, "end": 1673, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1662, "end": 1673, "name": "AND", "source": 0 }, { "begin": 1648, "end": 1673, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1648, "end": 1673, "name": "AND", "source": 0 }, { "begin": 1648, "end": 1658, "name": "CALLER", "source": 0 }, { "begin": 1648, "end": 1673, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1648, "end": 1673, "name": "AND", "source": 0 }, { "begin": 1648, "end": 1673, "name": "EQ", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH [tag]", "source": 0, "value": "60" }, { "begin": 1627, "end": 1739, "name": "JUMPI", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1627, "end": 1739, "name": "MLOAD", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 1627, "end": 1739, "name": "DUP2", "source": 0 }, { "begin": 1627, "end": 1739, "name": "MSTORE", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 1627, "end": 1739, "name": "ADD", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP1", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP1", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1627, "end": 1739, "name": "ADD", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP3", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP2", "source": 0 }, { "begin": 1627, "end": 1739, "name": "SUB", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP3", "source": 0 }, { "begin": 1627, "end": 1739, "name": "MSTORE", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "28" }, { "begin": 1627, "end": 1739, "name": "DUP2", "source": 0 }, { "begin": 1627, "end": 1739, "name": "MSTORE", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1627, "end": 1739, "name": "ADD", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP1", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH data", "source": 0, "value": "80126CE3251AB2B6E4ADE14FE5B2BC11F593510CBE9E3550C09BFF1989E33B95" }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "28" }, { "begin": 1627, "end": 1739, "name": "SWAP2", "source": 0 }, { "begin": 1627, "end": 1739, "name": "CODECOPY", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1627, "end": 1739, "name": "ADD", "source": 0 }, { "begin": 1627, "end": 1739, "name": "SWAP2", "source": 0 }, { "begin": 1627, "end": 1739, "name": "POP", "source": 0 }, { "begin": 1627, "end": 1739, "name": "POP", "source": 0 }, { "begin": 1627, "end": 1739, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1627, "end": 1739, "name": "MLOAD", "source": 0 }, { "begin": 1627, "end": 1739, "name": "DUP1", "source": 0 }, { "begin": 1627, "end": 1739, "name": "SWAP2", "source": 0 }, { "begin": 1627, "end": 1739, "name": "SUB", "source": 0 }, { "begin": 1627, "end": 1739, "name": "SWAP1", "source": 0 }, { "begin": 1627, "end": 1739, "name": "REVERT", "source": 0 }, { "begin": 1627, "end": 1739, "name": "tag", "source": 0, "value": "60" }, { "begin": 1627, "end": 1739, "name": "JUMPDEST", "source": 0 }, { "begin": 1771, "end": 1777, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1771, "end": 1784, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1778, "end": 1783, "name": "DUP3", "source": 0 }, { "begin": 1771, "end": 1784, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1771, "end": 1784, "name": "AND", "source": 0 }, { "begin": 1771, "end": 1784, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1771, "end": 1784, "name": "AND", "source": 0 }, { "begin": 1771, "end": 1784, "name": "DUP2", "source": 0 }, { "begin": 1771, "end": 1784, "name": "MSTORE", "source": 0 }, { "begin": 1771, "end": 1784, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1771, "end": 1784, "name": "ADD", "source": 0 }, { "begin": 1771, "end": 1784, "name": "SWAP1", "source": 0 }, { "begin": 1771, "end": 1784, "name": "DUP2", "source": 0 }, { "begin": 1771, "end": 1784, "name": "MSTORE", "source": 0 }, { "begin": 1771, "end": 1784, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1771, "end": 1784, "name": "ADD", "source": 0 }, { "begin": 1771, "end": 1784, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1771, "end": 1784, "name": "KECCAK256", "source": 0 }, { "begin": 1771, "end": 1790, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1771, "end": 1790, "name": "ADD", "source": 0 }, { "begin": 1771, "end": 1790, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1771, "end": 1790, "name": "SWAP1", "source": 0 }, { "begin": 1771, "end": 1790, "name": "SLOAD", "source": 0 }, { "begin": 1771, "end": 1790, "name": "SWAP1", "source": 0 }, { "begin": 1771, "end": 1790, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 1771, "end": 1790, "name": "EXP", "source": 0 }, { "begin": 1771, "end": 1790, "name": "SWAP1", "source": 0 }, { "begin": 1771, "end": 1790, "name": "DIV", "source": 0 }, { "begin": 1771, "end": 1790, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 1771, "end": 1790, "name": "AND", "source": 0 }, { "begin": 1770, "end": 1790, "name": "ISZERO", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH [tag]", "source": 0, "value": "61" }, { "begin": 1749, "end": 1840, "name": "JUMPI", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1749, "end": 1840, "name": "MLOAD", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "8C379A000000000000000000000000000000000000000000000000000000000" }, { "begin": 1749, "end": 1840, "name": "DUP2", "source": 0 }, { "begin": 1749, "end": 1840, "name": "MSTORE", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "4" }, { "begin": 1749, "end": 1840, "name": "ADD", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP1", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP1", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1749, "end": 1840, "name": "ADD", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP3", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP2", "source": 0 }, { "begin": 1749, "end": 1840, "name": "SUB", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP3", "source": 0 }, { "begin": 1749, "end": 1840, "name": "MSTORE", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "18" }, { "begin": 1749, "end": 1840, "name": "DUP2", "source": 0 }, { "begin": 1749, "end": 1840, "name": "MSTORE", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1749, "end": 1840, "name": "ADD", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP1", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "54686520766F74657220616C726561647920766F7465642E0000000000000000" }, { "begin": 1749, "end": 1840, "name": "DUP2", "source": 0 }, { "begin": 1749, "end": 1840, "name": "MSTORE", "source": 0 }, { "begin": 1749, "end": 1840, "name": "POP", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1749, "end": 1840, "name": "ADD", "source": 0 }, { "begin": 1749, "end": 1840, "name": "SWAP2", "source": 0 }, { "begin": 1749, "end": 1840, "name": "POP", "source": 0 }, { "begin": 1749, "end": 1840, "name": "POP", "source": 0 }, { "begin": 1749, "end": 1840, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 1749, "end": 1840, "name": "MLOAD", "source": 0 }, { "begin": 1749, "end": 1840, "name": "DUP1", "source": 0 }, { "begin": 1749, "end": 1840, "name": "SWAP2", "source": 0 }, { "begin": 1749, "end": 1840, "name": "SUB", "source": 0 }, { "begin": 1749, "end": 1840, "name": "SWAP1", "source": 0 }, { "begin": 1749, "end": 1840, "name": "REVERT", "source": 0 }, { "begin": 1749, "end": 1840, "name": "tag", "source": 0, "value": "61" }, { "begin": 1749, "end": 1840, "name": "JUMPDEST", "source": 0 }, { "begin": 1882, "end": 1883, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1858, "end": 1864, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1858, "end": 1871, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1865, "end": 1870, "name": "DUP4", "source": 0 }, { "begin": 1858, "end": 1871, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1858, "end": 1871, "name": "AND", "source": 0 }, { "begin": 1858, "end": 1871, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1858, "end": 1871, "name": "AND", "source": 0 }, { "begin": 1858, "end": 1871, "name": "DUP2", "source": 0 }, { "begin": 1858, "end": 1871, "name": "MSTORE", "source": 0 }, { "begin": 1858, "end": 1871, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1858, "end": 1871, "name": "ADD", "source": 0 }, { "begin": 1858, "end": 1871, "name": "SWAP1", "source": 0 }, { "begin": 1858, "end": 1871, "name": "DUP2", "source": 0 }, { "begin": 1858, "end": 1871, "name": "MSTORE", "source": 0 }, { "begin": 1858, "end": 1871, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1858, "end": 1871, "name": "ADD", "source": 0 }, { "begin": 1858, "end": 1871, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1858, "end": 1871, "name": "KECCAK256", "source": 0 }, { "begin": 1858, "end": 1878, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1858, "end": 1878, "name": "ADD", "source": 0 }, { "begin": 1858, "end": 1878, "name": "SLOAD", "source": 0 }, { "begin": 1858, "end": 1883, "name": "EQ", "source": 0 }, { "begin": 1850, "end": 1884, "name": "PUSH [tag]", "source": 0, "value": "62" }, { "begin": 1850, "end": 1884, "name": "JUMPI", "source": 0 }, { "begin": 12, "end": 13, "name": "PUSH", "source": -1, "value": "0" }, { "begin": 9, "end": 10, "name": "DUP1", "source": -1 }, { "begin": 2, "end": 14, "name": "REVERT", "source": -1 }, { "begin": 1850, "end": 1884, "name": "tag", "source": 0, "value": "62" }, { "begin": 1850, "end": 1884, "name": "JUMPDEST", "source": 0 }, { "begin": 1917, "end": 1918, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 1894, "end": 1900, "name": "DUP1", "source": 0 }, { "begin": 1894, "end": 1907, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1901, "end": 1906, "name": "DUP4", "source": 0 }, { "begin": 1894, "end": 1907, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1894, "end": 1907, "name": "AND", "source": 0 }, { "begin": 1894, "end": 1907, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 1894, "end": 1907, "name": "AND", "source": 0 }, { "begin": 1894, "end": 1907, "name": "DUP2", "source": 0 }, { "begin": 1894, "end": 1907, "name": "MSTORE", "source": 0 }, { "begin": 1894, "end": 1907, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1894, "end": 1907, "name": "ADD", "source": 0 }, { "begin": 1894, "end": 1907, "name": "SWAP1", "source": 0 }, { "begin": 1894, "end": 1907, "name": "DUP2", "source": 0 }, { "begin": 1894, "end": 1907, "name": "MSTORE", "source": 0 }, { "begin": 1894, "end": 1907, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 1894, "end": 1907, "name": "ADD", "source": 0 }, { "begin": 1894, "end": 1907, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1894, "end": 1907, "name": "KECCAK256", "source": 0 }, { "begin": 1894, "end": 1914, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 1894, "end": 1914, "name": "ADD", "source": 0 }, { "begin": 1894, "end": 1918, "name": "DUP2", "source": 0 }, { "begin": 1894, "end": 1918, "name": "SWAP1", "source": 0 }, { "begin": 1894, "end": 1918, "name": "SSTORE", "source": 0 }, { "begin": 1894, "end": 1918, "name": "POP", "source": 0 }, { "begin": 1570, "end": 1925, "name": "POP", "source": 0 }, { "begin": 1570, "end": 1925, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 712, "end": 751, "name": "tag", "source": 0, "value": "30" }, { "begin": 712, "end": 751, "name": "JUMPDEST", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 712, "end": 751, "name": "MSTORE", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 712, "end": 751, "name": "MSTORE", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "40" }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 712, "end": 751, "name": "KECCAK256", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 712, "end": 751, "name": "SWAP2", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "SLOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "SLOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 712, "end": 751, "name": "EXP", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DIV", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "FF" }, { "begin": 712, "end": 751, "name": "AND", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "1" }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "SLOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "100" }, { "begin": 712, "end": 751, "name": "EXP", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DIV", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF" }, { "begin": 712, "end": 751, "name": "AND", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP1", "source": 0 }, { "begin": 712, "end": 751, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 712, "end": 751, "name": "ADD", "source": 0 }, { "begin": 712, "end": 751, "name": "SLOAD", "source": 0 }, { "begin": 712, "end": 751, "name": "SWAP1", "source": 0 }, { "begin": 712, "end": 751, "name": "POP", "source": 0 }, { "begin": 712, "end": 751, "name": "DUP5", "source": 0 }, { "begin": 712, "end": 751, "name": "JUMP", "source": 0, "value": "[out]" }, { "begin": 4344, "end": 4488, "name": "tag", "source": 0, "value": "32" }, { "begin": 4344, "end": 4488, "name": "JUMPDEST", "source": 0 }, { "begin": 4399, "end": 4418, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 4448, "end": 4457, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 4458, "end": 4475, "name": "PUSH [tag]", "source": 0, "value": "64" }, { "begin": 4458, "end": 4473, "name": "PUSH [tag]", "source": 0, "value": "24" }, { "begin": 4458, "end": 4475, "name": "JUMP", "source": 0, "value": "[in]" }, { "begin": 4458, "end": 4475, "name": "tag", "source": 0, "value": "64" }, { "begin": 4458, "end": 4475, "name": "JUMPDEST", "source": 0 }, { "begin": 4448, "end": 4476, "name": "DUP2", "source": 0 }, { "begin": 4448, "end": 4476, "name": "SLOAD", "source": 0 }, { "begin": 4448, "end": 4476, "name": "DUP2", "source": 0 }, { "begin": 4448, "end": 4476, "name": "LT", "source": 0 }, { "begin": 4448, "end": 4476, "name": "PUSH [tag]", "source": 0, "value": "65" }, { "begin": 4448, "end": 4476, "name": "JUMPI", "source": 0 }, { "begin": 4448, "end": 4476, "name": "INVALID", "source": 0 }, { "begin": 4448, "end": 4476, "name": "tag", "source": 0, "value": "65" }, { "begin": 4448, "end": 4476, "name": "JUMPDEST", "source": 0 }, { "begin": 4448, "end": 4476, "name": "SWAP1", "source": 0 }, { "begin": 4448, "end": 4476, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 4448, "end": 4476, "name": "MSTORE", "source": 0 }, { "begin": 4448, "end": 4476, "name": "PUSH", "source": 0, "value": "20" }, { "begin": 4448, "end": 4476, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 4448, "end": 4476, "name": "KECCAK256", "source": 0 }, { "begin": 4448, "end": 4476, "name": "SWAP1", "source": 0 }, { "begin": 4448, "end": 4476, "name": "PUSH", "source": 0, "value": "2" }, { "begin": 4448, "end": 4476, "name": "MUL", "source": 0 }, { "begin": 4448, "end": 4476, "name": "ADD", "source": 0 }, { "begin": 4448, "end": 4481, "name": "PUSH", "source": 0, "value": "0" }, { "begin": 4448, "end": 4481, "name": "ADD", "source": 0 }, { "begin": 4448, "end": 4481, "name": "SLOAD", "source": 0 }, { "begin": 4434, "end": 4481, "name": "SWAP1", "source": 0 }, { "begin": 4434, "end": 4481, "name": "POP", "source": 0 }, { "begin": 4344, "end": 4488, "name": "SWAP1", "source": 0 }, { "begin": 4344, "end": 4488, "name": "JUMP", "source": 0, "value": "[out]" }], ".data": { "80126CE3251AB2B6E4ADE14FE5B2BC11F593510CBE9E3550C09BFF1989E33B95": "4f6e6c79206368616972706572736f6e2063616e206769766520726967687420746f20766f74652e" } } } }, "methodIdentifiers": { "chairperson()": "2e4176cf", "delegate(address)": "5c19a95c", "giveRightToVote(address)": "9e7b8d61", "proposals(uint256)": "013cf08b", "vote(uint256)": "0121b93f", "voters(address)": "a3ec138d", "winnerName()": "e2ba53f0", "winningProposal()": "609ff1bd" } }, "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"proposalNames\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"chairperson\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"}],\"name\":\"delegate\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"voter\",\"type\":\"address\"}],\"name\":\"giveRightToVote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"proposals\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"name\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"voteCount\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"proposal\",\"type\":\"uint256\"}],\"name\":\"vote\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"voters\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"weight\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"voted\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"delegate\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"vote\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"winnerName\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"winnerName_\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"winningProposal\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"winningProposal_\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Implements voting process along with vote delegation\",\"methods\":{\"constructor\":{\"details\":\"Create a new ballot to choose one of 'proposalNames'.\",\"params\":{\"proposalNames\":\"names of proposals\"}},\"delegate(address)\":{\"details\":\"Delegate your vote to the voter 'to'.\",\"params\":{\"to\":\"address to which vote is delegated\"}},\"giveRightToVote(address)\":{\"details\":\"Give 'voter' the right to vote on this ballot. May only be called by 'chairperson'.\",\"params\":{\"voter\":\"address of voter\"}},\"vote(uint256)\":{\"details\":\"Give your vote (including votes delegated to you) to proposal 'proposals[proposal].name'.\",\"params\":{\"proposal\":\"index of proposal in the proposals array\"}},\"winnerName()\":{\"details\":\"Calls winningProposal() function to get the index of the winner contained in the proposals array and then\",\"returns\":{\"winnerName_\":\"the name of the winner\"}},\"winningProposal()\":{\"details\":\"Computes the winning proposal taking all previous votes into account.\",\"returns\":{\"winningProposal_\":\"index of winning proposal in the proposals array\"}}},\"title\":\"Ballot\"},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"browser/3_Ballot.sol\":\"Ballot\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"browser/3_Ballot.sol\":{\"keccak256\":\"0xb5cf7721806a100913a616711fe86acd30e5ed34e185bce00d552cabec7aa89c\",\"urls\":[\"bzz-raw://f6713ca66de945047eb4295a26498689bfd63ed7cf8f59708483827358c4a0a5\",\"dweb:/ipfs/QmNZtigHzHGEabexfwzaKoKJy5LhPftMirfF6N6qQbFQGk\"]}},\"version\":1}", "userdoc": { "methods": {} } + } + + const result = getContractDocumentation(contract as any); + + expect(result).toBeDefined() + + }) }); describe("getContractDoc", () => { diff --git a/src/utils/utils.ts b/src/utils/utils.ts index 904ebf04c6..e47ead8f18 100644 --- a/src/utils/utils.ts +++ b/src/utils/utils.ts @@ -65,25 +65,23 @@ export const getContractDoc = (name: string, contract: CompiledContract) => { } }); - return template(name, contractDoc, functionsDocumentation); -}; + // console.log("contractDoc", contractDoc) + // console.log("functionsDocumentation", functionsDocumentation) -export const getContractDocumentation = (contract: CompiledContract) => { - const methods: MethodsDocumentation = {}; + try { + const finalResult = template(name, contractDoc, functionsDocumentation); + return finalResult - Object.keys(contract.userdoc.methods).forEach((item) => { - if (contract.devdoc.methods[item]) { - const finalResult = { - ...contract.userdoc.methods[item], - ...contract.devdoc.methods[item], - }; - methods[item] = finalResult; - } else { - methods[item] = contract.userdoc.methods[item]; - } - }); + } catch (error) { + console.log("ERROR", error) + return '' + } + +}; - const contractDoc = { ...contract.userdoc, ...contract.devdoc, methods }; +export const getContractDocumentation = (contract: CompiledContract) => { + const methods = { ...contract.userdoc.methods, ...contract.devdoc.methods } + const contractDoc = { ...contract.userdoc, ...contract.devdoc, ...methods }; return contractDoc; };